From 500988fca64ceb33c55d776dfe6b25be82f662d0 Mon Sep 17 00:00:00 2001 From: dashg Date: Wed, 1 Jul 2026 18:40:24 -0500 Subject: [PATCH 1/5] Add standardized protocol interface builders (src/protocols) One file per protocol (pin, gpio, power, i2c, spi, uart, pwm, analog) exporting typed builder functions that emit InterfaceDef objects with the canonical protocol types, roles, capability tags, and parameter IDs the matching/binding engines understand. Adds defineModule(), a validating constructor that reuses validateProfile to fail bad part definitions at import time. All builders re-exported from the package root. Co-Authored-By: Claude Fable 5 --- src/index.ts | 3 + src/protocols/analog.ts | 69 ++++++++++++++++++++ src/protocols/define-module.ts | 51 +++++++++++++++ src/protocols/gpio.ts | 34 ++++++++++ src/protocols/i2c.ts | 75 ++++++++++++++++++++++ src/protocols/index.ts | 19 ++++++ src/protocols/params.ts | 53 ++++++++++++++++ src/protocols/pin.ts | 113 +++++++++++++++++++++++++++++++++ src/protocols/power.ts | 72 +++++++++++++++++++++ src/protocols/pwm.ts | 56 ++++++++++++++++ src/protocols/spi.ts | 75 ++++++++++++++++++++++ src/protocols/uart.ts | 82 ++++++++++++++++++++++++ 12 files changed, 702 insertions(+) create mode 100644 src/protocols/analog.ts create mode 100644 src/protocols/define-module.ts create mode 100644 src/protocols/gpio.ts create mode 100644 src/protocols/i2c.ts create mode 100644 src/protocols/index.ts create mode 100644 src/protocols/params.ts create mode 100644 src/protocols/pin.ts create mode 100644 src/protocols/power.ts create mode 100644 src/protocols/pwm.ts create mode 100644 src/protocols/spi.ts create mode 100644 src/protocols/uart.ts diff --git a/src/index.ts b/src/index.ts index da4f9ca..a107b4a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,6 +1,9 @@ // Types export * from "./types/index.js"; +// Protocol interface builders (one file per protocol) + defineModule +export * from "./protocols/index.js"; + // Matching export { areRolesCompatible, getCompatibleRoles } from "./matching/roles.js"; export { matchProtocols } from "./matching/protocol-match.js"; diff --git a/src/protocols/analog.ts b/src/protocols/analog.ts new file mode 100644 index 0000000..099f085 --- /dev/null +++ b/src/protocols/analog.ts @@ -0,0 +1,69 @@ +import type { InterfaceDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { voltageV, voltageRangeV, resolutionBits } from "./params.js"; + +/** + * Analog converter interface builders (ADC inputs, DAC outputs). + * + * These describe a converter peripheral as a composed interface with a + * channel slot; the measurable pins themselves are declared with the Pin + * builder using the "analog_in" / "analog_out" capability. + */ +export interface AnalogConfig { + id: string; + name?: string; + /** Converter resolution in bits. */ + resolutionBits?: number; + /** Measurable input range (ADC) or output range (DAC). */ + rangeV?: [number, number]; + voltageV?: number; + /** Pin interface IDs that can serve as channels for this converter. */ + channels?: string[]; + exposed?: boolean; + defaultActive?: boolean; +} + +function analog(config: AnalogConfig, role: "input" | "output", capability: string): InterfaceDef { + const parameters: Parameter[] = []; + if (config.resolutionBits !== undefined) parameters.push(resolutionBits(config.resolutionBits)); + if (config.rangeV) parameters.push(voltageRangeV(config.rangeV[0], config.rangeV[1])); + else if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); + + return { + id: config.id, + name: config.name, + domain: "electrical", + exposed: config.exposed ?? true, + default_active: config.defaultActive ?? false, + protocols: [{ type: "analog", roles: [role] }], + ...(parameters.length > 0 ? { parameters } : {}), + ...(config.channels + ? { + slots: [ + { + id: "channel", + required: true, + count: config.channels.length, + match: { protocol: "analog", role, capability }, + }, + ], + profiles: [ + { + id: `${config.id}_channels`, + bindings: { channel: config.channels }, + }, + ], + } + : {}), + }; +} + +/** An ADC peripheral: analog input converter with optional channel pins. */ +export function ADC(config: AnalogConfig): InterfaceDef { + return analog(config, "input", "analog_in"); +} + +/** A DAC peripheral: analog output converter with optional channel pins. */ +export function DAC(config: AnalogConfig): InterfaceDef { + return analog(config, "output", "analog_out"); +} diff --git a/src/protocols/define-module.ts b/src/protocols/define-module.ts new file mode 100644 index 0000000..78faec0 --- /dev/null +++ b/src/protocols/define-module.ts @@ -0,0 +1,51 @@ +import type { ModuleDef } from "../types/module.js"; +import { validateProfile } from "../binding/profile.js"; + +/** + * Validating constructor for part definitions. + * + * Wrap every part file's ModuleDef in this call. TypeScript checks the + * shape at compile time; this adds the referential checks the type system + * cannot express: + * - interface IDs are unique + * - every declared profile passes validateProfile (bindings exist, + * required slots are bound, bound pins carry the slot's capability) + * - interfaceGroups members reference existing interfaces + * + * Throws an Error listing every problem found, so a bad part fails at + * import time rather than after it reaches the database. + */ +export function defineModule(def: ModuleDef): ModuleDef { + const problems: string[] = []; + const interfaceIds = new Set(); + + for (const iface of def.interfaces) { + if (interfaceIds.has(iface.id)) { + problems.push(`duplicate interface id "${iface.id}"`); + } + interfaceIds.add(iface.id); + } + + for (const iface of def.interfaces) { + for (const profile of iface.profiles ?? []) { + const result = validateProfile(def, iface.id, profile); + for (const error of result.errors) { + problems.push(`interface "${iface.id}" profile "${profile.id}": ${error}`); + } + } + } + + for (const group of def.interfaceGroups ?? []) { + for (const member of group.members) { + if (!interfaceIds.has(member)) { + problems.push(`interface group "${group.id}" references missing interface "${member}"`); + } + } + } + + if (problems.length > 0) { + throw new Error(`Invalid module "${def.id}":\n - ${problems.join("\n - ")}`); + } + + return def; +} diff --git a/src/protocols/gpio.ts b/src/protocols/gpio.ts new file mode 100644 index 0000000..31b4b1b --- /dev/null +++ b/src/protocols/gpio.ts @@ -0,0 +1,34 @@ +import type { InterfaceDef } from "../types/interface.js"; +import { Pin, type PinConfig } from "./pin.js"; + +/** + * GPIO builders. + * + * `GPIO` is the per-pin form — identical to `Pin` but named for part files + * that think in terms of "a GPIO" rather than "a physical pin". + * + * `GPIOBank` builds many pins that share electrical characteristics in one + * call (voltage/drive current applied to each), which keeps MCU part files + * short when 30+ pins differ only by id and capability flags. + */ +export function GPIO(config: PinConfig): InterfaceDef { + return Pin(config); +} + +export interface GPIOBankConfig { + /** Electrical defaults applied to every pin in the bank. */ + voltageV?: number | [number, number]; + driveCurrentmA?: number; + /** Per-pin configs; each may override the bank defaults. */ + pins: PinConfig[]; +} + +export function GPIOBank(config: GPIOBankConfig): InterfaceDef[] { + return config.pins.map((pin) => + Pin({ + voltageV: config.voltageV, + driveCurrentmA: config.driveCurrentmA, + ...pin, + }), + ); +} diff --git a/src/protocols/i2c.ts b/src/protocols/i2c.ts new file mode 100644 index 0000000..c2613cc --- /dev/null +++ b/src/protocols/i2c.ts @@ -0,0 +1,75 @@ +import type { InterfaceDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { clockFreqHz, voltageV } from "./params.js"; + +/** + * I2C bus interface builder. + * + * Emits a composed interface with `sda`/`scl` slots. Slots bind to pin + * interfaces on the same module via profiles; a pin qualifies for a slot + * when it carries the matching capability tag ("i2c_sda" / "i2c_scl", + * set through the Pin builder). + */ +export type I2CRole = "master" | "slave"; + +export interface I2CProfile { + id: string; + label?: string; + /** Pin interface ID bound to the SDA slot. */ + sda: string; + /** Pin interface ID bound to the SCL slot. */ + scl: string; + defaultActive?: boolean; +} + +export interface I2CConfig { + id: string; + name?: string; + /** Roles this controller can take (default ["master"]). */ + roles?: I2CRole[]; + /** Max SCL clock in Hz (default 400 kHz Fast-mode). */ + clockFreqHz?: number | [number, number]; + /** Bus logic voltage. */ + voltageV?: number; + /** 7-bit device address, for slave-only devices such as sensors. */ + address?: number; + /** Named default pin routings (e.g. the conventional GPIO pair). */ + profiles?: I2CProfile[]; + /** Max simultaneous instances of this controller. */ + maxInstances?: number; + exposed?: boolean; + defaultActive?: boolean; +} + +export function I2C(config: I2CConfig): InterfaceDef { + const parameters: Parameter[] = [clockFreqHz(config.clockFreqHz ?? 400_000)]; + if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); + if (config.address !== undefined) { + parameters.push({ id: "i2c_address", unit: "dimensionless", value: config.address }); + } + + return { + id: config.id, + name: config.name, + domain: "electrical", + exposed: config.exposed ?? true, + default_active: config.defaultActive ?? false, + protocols: [{ type: "i2c", roles: config.roles ?? ["master"] }], + parameters, + slots: [ + { id: "sda", required: true, match: { protocol: "i2c", role: "data", capability: "i2c_sda" } }, + { id: "scl", required: true, match: { protocol: "i2c", role: "clock", capability: "i2c_scl" } }, + ], + ...(config.profiles + ? { + profiles: config.profiles.map((p) => ({ + id: p.id, + label: p.label, + bindings: { sda: p.sda, scl: p.scl }, + ...(p.defaultActive !== undefined ? { default_active: p.defaultActive } : {}), + })), + } + : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + }; +} diff --git a/src/protocols/index.ts b/src/protocols/index.ts new file mode 100644 index 0000000..5cebfdd --- /dev/null +++ b/src/protocols/index.ts @@ -0,0 +1,19 @@ +/** + * Standardized protocol interface builders. + * + * One file per protocol. Part definition files import these builders and + * supply part-specific parameters (pins, voltages, currents, frequencies); + * the builders emit InterfaceDef objects with the canonical protocol types, + * roles, capability tags, and parameter IDs that the matching engine + * (matching/roles.ts) and slot binding (binding/) understand. + */ +export * from "./params.js"; +export * from "./pin.js"; +export * from "./gpio.js"; +export * from "./power.js"; +export * from "./i2c.js"; +export * from "./spi.js"; +export * from "./uart.js"; +export * from "./pwm.js"; +export * from "./analog.js"; +export * from "./define-module.js"; diff --git a/src/protocols/params.ts b/src/protocols/params.ts new file mode 100644 index 0000000..c8e4f79 --- /dev/null +++ b/src/protocols/params.ts @@ -0,0 +1,53 @@ +import type { Parameter } from "../types/parameter.js"; + +/** + * Canonical parameter builders. + * + * Every protocol builder emits parameters through these helpers so that + * parameter IDs and units stay identical across all part definitions + * ("voltage" is always volts, "clock_freq" is always Hz, etc.). + * The matching/constraint engines key off these IDs. + */ + +/** Fixed operating voltage, optionally with an allowed range. */ +export function voltageV(value: number, range?: [number, number]): Parameter { + return range + ? { id: "voltage", unit: "V", value, range } + : { id: "voltage", unit: "V", value }; +} + +/** Voltage specified only as a min/max range (no single nominal value). */ +export function voltageRangeV(min: number, max: number, nominal?: number): Parameter { + return nominal !== undefined + ? { id: "voltage", unit: "V", value: nominal, range: [min, max] } + : { id: "voltage", unit: "V", range: [min, max] }; +} + +/** Maximum continuous supply current in amps (power interfaces). */ +export function maxCurrentA(value: number): Parameter { + return { id: "max_current", unit: "A", value }; +} + +/** Per-pin drive/sink current in milliamps (signal pins). */ +export function driveCurrentmA(value: number): Parameter { + return { id: "drive_current", unit: "mA", value }; +} + +/** Bus clock frequency in Hz — a fixed value or a supported range. */ +export function clockFreqHz(value: number | [number, number]): Parameter { + return Array.isArray(value) + ? { id: "clock_freq", unit: "Hz", range: value } + : { id: "clock_freq", unit: "Hz", value }; +} + +/** UART baud rate — a fixed value or a supported range. */ +export function baudRate(value: number | [number, number]): Parameter { + return Array.isArray(value) + ? { id: "baud_rate", unit: "Hz", range: value } + : { id: "baud_rate", unit: "Hz", value }; +} + +/** Converter resolution in bits (ADC/DAC/PWM). */ +export function resolutionBits(value: number): Parameter { + return { id: "resolution", unit: "dimensionless", value }; +} diff --git a/src/protocols/pin.ts b/src/protocols/pin.ts new file mode 100644 index 0000000..b8392b7 --- /dev/null +++ b/src/protocols/pin.ts @@ -0,0 +1,113 @@ +import type { InterfaceDef, ProtocolDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { voltageV, voltageRangeV, driveCurrentmA } from "./params.js"; + +/** + * Physical pin builder. + * + * A pin is a leaf electrical interface. Composed bus interfaces (I2C, SPI, + * UART, ...) never own pins directly — they declare slots that bind to pin + * IDs, and the capability tags set here are what slot matching checks. + * + * Capability tag names are canonical and must match SlotDef.match.capability + * values used by the bus builders in this folder. + */ +export interface PinCapabilities { + /** General-purpose digital I/O (default true). */ + digital?: boolean; + /** Pin is input-only (e.g. ESP32 GPIO34-39): drops output/bidirectional roles. */ + inputOnly?: boolean; + pwm?: boolean; + interrupt?: boolean; + analogIn?: boolean; + analogOut?: boolean; + touch?: boolean; + i2cSda?: boolean; + i2cScl?: boolean; + spiMosi?: boolean; + spiMiso?: boolean; + spiSck?: boolean; + spiSs?: boolean; + uartRx?: boolean; + uartTx?: boolean; + uartRts?: boolean; + uartCts?: boolean; +} + +export interface PinConfig { + id: string; + /** Human label, e.g. "GPIO21 (QFN pin 42)". */ + name?: string; + /** Logic-level voltage: a nominal value or [min, max] range. */ + voltageV?: number | [number, number]; + /** Max continuous source/sink current in mA. */ + driveCurrentmA?: number; + capabilities?: PinCapabilities; + exposed?: boolean; + defaultActive?: boolean; +} + +export function Pin(config: PinConfig): InterfaceDef { + const caps = config.capabilities ?? {}; + const protocols: ProtocolDef[] = []; + const capabilities: string[] = []; + + const digital = caps.digital ?? true; + if (digital) { + protocols.push({ + type: "digital", + roles: caps.inputOnly ? ["input"] : ["input", "output", "bidirectional"], + }); + capabilities.push("digital_io"); + } + if (caps.pwm) { + protocols.push({ type: "pwm", roles: ["output"] }); + capabilities.push("pwm_out"); + } + if (caps.interrupt) { + protocols.push({ type: "interrupt", roles: ["input"] }); + capabilities.push("interrupt"); + } + if (caps.analogIn) { + protocols.push({ type: "analog", roles: ["input"] }); + capabilities.push("analog_in"); + } + if (caps.analogOut) { + protocols.push({ type: "analog", roles: ["output"] }); + capabilities.push("analog_out"); + } + if (caps.touch) capabilities.push("touch"); + if (caps.i2cSda) capabilities.push("i2c_sda"); + if (caps.i2cScl) capabilities.push("i2c_scl"); + if (caps.spiMosi) capabilities.push("spi_mosi"); + if (caps.spiMiso) capabilities.push("spi_miso"); + if (caps.spiSck) capabilities.push("spi_sck"); + if (caps.spiSs) capabilities.push("spi_ss"); + if (caps.uartRx) capabilities.push("uart_rx"); + if (caps.uartTx) capabilities.push("uart_tx"); + if (caps.uartRts) capabilities.push("uart_rts"); + if (caps.uartCts) capabilities.push("uart_cts"); + + const parameters: Parameter[] = []; + if (config.voltageV !== undefined) { + parameters.push( + Array.isArray(config.voltageV) + ? voltageRangeV(config.voltageV[0], config.voltageV[1]) + : voltageV(config.voltageV), + ); + } + if (config.driveCurrentmA !== undefined) { + parameters.push(driveCurrentmA(config.driveCurrentmA)); + } + + return { + id: config.id, + name: config.name, + domain: "electrical", + exposed: config.exposed ?? true, + default_active: config.defaultActive ?? true, + protocols, + capabilities, + ...(parameters.length > 0 ? { parameters } : {}), + }; +} diff --git a/src/protocols/power.ts b/src/protocols/power.ts new file mode 100644 index 0000000..052698e --- /dev/null +++ b/src/protocols/power.ts @@ -0,0 +1,72 @@ +import type { InterfaceDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { voltageV, voltageRangeV, maxCurrentA } from "./params.js"; + +/** + * Power interface builders: supply inputs, regulated outputs, and ground. + * Compatibility is role-based ("input" pairs with "output", see matching/roles.ts). + */ +export interface PowerConfig { + id: string; + name?: string; + /** Nominal voltage or [min, max] acceptable range. */ + voltageV: number | [number, number]; + /** Nominal value when voltageV is a range. */ + nominalV?: number; + /** Max continuous current in amps. */ + maxCurrentA?: number; + exposed?: boolean; + defaultActive?: boolean; +} + +function power(config: PowerConfig, role: "input" | "output"): InterfaceDef { + const parameters: Parameter[] = [ + Array.isArray(config.voltageV) + ? voltageRangeV(config.voltageV[0], config.voltageV[1], config.nominalV) + : voltageV(config.voltageV), + ]; + if (config.maxCurrentA !== undefined) parameters.push(maxCurrentA(config.maxCurrentA)); + + return { + id: config.id, + name: config.name, + domain: "electrical", + exposed: config.exposed ?? true, + default_active: config.defaultActive ?? true, + protocols: [{ type: "power", roles: [role] }], + parameters, + }; +} + +/** A supply rail this part consumes (e.g. VDD input pins). */ +export function PowerIn(config: PowerConfig): InterfaceDef { + return power(config, "input"); +} + +/** A supply rail this part provides (e.g. a regulator output). */ +export function PowerOut(config: PowerConfig): InterfaceDef { + return power(config, "output"); +} + +export interface GroundConfig { + id?: string; + name?: string; + /** Max cumulative return current in amps, if the datasheet specifies one. */ + maxCurrentA?: number; +} + +/** Common ground return. */ +export function Ground(config: GroundConfig = {}): InterfaceDef { + return { + id: config.id ?? "gnd", + name: config.name ?? "Ground", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["ground"] }], + capabilities: ["ground"], + ...(config.maxCurrentA !== undefined + ? { parameters: [maxCurrentA(config.maxCurrentA)] } + : {}), + }; +} diff --git a/src/protocols/pwm.ts b/src/protocols/pwm.ts new file mode 100644 index 0000000..f248f85 --- /dev/null +++ b/src/protocols/pwm.ts @@ -0,0 +1,56 @@ +import type { InterfaceDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { clockFreqHz, resolutionBits, voltageV } from "./params.js"; + +/** + * PWM output interface builder. + * + * For dedicated PWM peripherals (LEDC/MCPWM units, servo/LED driver + * channels). Plain MCU pins that merely support PWM should instead set + * `pwm: true` on the Pin builder, which adds the pwm protocol to the pin. + */ +export interface PWMConfig { + id: string; + name?: string; + /** Output frequency in Hz — fixed or [min, max] supported range. */ + freqHz?: number | [number, number]; + /** Duty-cycle resolution in bits. */ + resolutionBits?: number; + voltageV?: number; + /** Pin interface IDs this PWM unit can drive. */ + channels?: string[]; + maxInstances?: number; + exposed?: boolean; + defaultActive?: boolean; +} + +export function PWM(config: PWMConfig): InterfaceDef { + const parameters: Parameter[] = []; + if (config.freqHz !== undefined) parameters.push(clockFreqHz(config.freqHz)); + if (config.resolutionBits !== undefined) parameters.push(resolutionBits(config.resolutionBits)); + if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); + + return { + id: config.id, + name: config.name, + domain: "electrical", + exposed: config.exposed ?? true, + default_active: config.defaultActive ?? false, + protocols: [{ type: "pwm", roles: ["output"] }], + ...(parameters.length > 0 ? { parameters } : {}), + ...(config.channels + ? { + slots: [ + { + id: "channel", + required: true, + count: config.channels.length, + match: { protocol: "pwm", role: "output", capability: "pwm_out" }, + }, + ], + profiles: [{ id: `${config.id}_channels`, bindings: { channel: config.channels } }], + } + : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + }; +} diff --git a/src/protocols/spi.ts b/src/protocols/spi.ts new file mode 100644 index 0000000..6150060 --- /dev/null +++ b/src/protocols/spi.ts @@ -0,0 +1,75 @@ +import type { InterfaceDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { clockFreqHz, voltageV } from "./params.js"; + +/** + * SPI bus interface builder. + * + * Emits a composed interface with `mosi`/`miso`/`sck` slots and an optional + * `ss` (chip-select) slot. Pins qualify via the "spi_mosi" / "spi_miso" / + * "spi_sck" / "spi_ss" capability tags set through the Pin builder. + */ +export type SPIRole = "master" | "slave"; + +export interface SPIProfile { + id: string; + label?: string; + mosi: string; + miso: string; + sck: string; + /** One or more chip-select pin interface IDs. */ + ss?: string | string[]; + defaultActive?: boolean; +} + +export interface SPIConfig { + id: string; + name?: string; + /** Roles this controller can take (default ["master"]). */ + roles?: SPIRole[]; + /** Clock frequency in Hz — fixed or [min, max] supported range. */ + clockFreqHz?: number | [number, number]; + voltageV?: number; + profiles?: SPIProfile[]; + maxInstances?: number; + exposed?: boolean; + defaultActive?: boolean; +} + +export function SPI(config: SPIConfig): InterfaceDef { + const parameters: Parameter[] = []; + if (config.clockFreqHz !== undefined) parameters.push(clockFreqHz(config.clockFreqHz)); + if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); + + return { + id: config.id, + name: config.name, + domain: "electrical", + exposed: config.exposed ?? true, + default_active: config.defaultActive ?? false, + protocols: [{ type: "spi", roles: config.roles ?? ["master"] }], + ...(parameters.length > 0 ? { parameters } : {}), + slots: [ + { id: "mosi", required: true, match: { protocol: "spi", role: "data_out", capability: "spi_mosi" } }, + { id: "miso", required: true, match: { protocol: "spi", role: "data_in", capability: "spi_miso" } }, + { id: "sck", required: true, match: { protocol: "spi", role: "clock", capability: "spi_sck" } }, + { id: "ss", required: false, match: { protocol: "spi", role: "select", capability: "spi_ss" } }, + ], + ...(config.profiles + ? { + profiles: config.profiles.map((p) => ({ + id: p.id, + label: p.label, + bindings: { + mosi: p.mosi, + miso: p.miso, + sck: p.sck, + ...(p.ss !== undefined ? { ss: p.ss } : {}), + }, + ...(p.defaultActive !== undefined ? { default_active: p.defaultActive } : {}), + })), + } + : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + }; +} diff --git a/src/protocols/uart.ts b/src/protocols/uart.ts new file mode 100644 index 0000000..badb39f --- /dev/null +++ b/src/protocols/uart.ts @@ -0,0 +1,82 @@ +import type { InterfaceDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { baudRate, voltageV } from "./params.js"; + +/** + * UART/serial interface builder. + * + * Emits a composed interface with `rx`/`tx` slots and optional `rts`/`cts` + * flow-control slots. Pins qualify via the "uart_rx" / "uart_tx" / + * "uart_rts" / "uart_cts" capability tags set through the Pin builder. + */ +export type UARTRole = "host" | "device"; + +export interface UARTProfile { + id: string; + label?: string; + rx: string; + tx: string; + rts?: string; + cts?: string; + defaultActive?: boolean; +} + +export interface UARTConfig { + id: string; + name?: string; + /** Roles this port can take (default ["host", "device"]). */ + roles?: UARTRole[]; + /** Baud rate in Hz — fixed or [min, max] supported range. */ + baudRate?: number | [number, number]; + voltageV?: number; + /** Include rts/cts flow-control slots (default false). */ + flowControl?: boolean; + profiles?: UARTProfile[]; + maxInstances?: number; + exposed?: boolean; + defaultActive?: boolean; +} + +export function UART(config: UARTConfig): InterfaceDef { + const parameters: Parameter[] = []; + if (config.baudRate !== undefined) parameters.push(baudRate(config.baudRate)); + if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); + + const slots = [ + { id: "rx", required: true, match: { protocol: "uart", role: "receiver", capability: "uart_rx" } }, + { id: "tx", required: true, match: { protocol: "uart", role: "transmitter", capability: "uart_tx" } }, + ]; + if (config.flowControl) { + slots.push( + { id: "rts", required: false, match: { protocol: "uart", role: "transmitter", capability: "uart_rts" } }, + { id: "cts", required: false, match: { protocol: "uart", role: "receiver", capability: "uart_cts" } }, + ); + } + + return { + id: config.id, + name: config.name, + domain: "electrical", + exposed: config.exposed ?? true, + default_active: config.defaultActive ?? false, + protocols: [{ type: "uart", roles: config.roles ?? ["host", "device"] }], + ...(parameters.length > 0 ? { parameters } : {}), + slots, + ...(config.profiles + ? { + profiles: config.profiles.map((p) => ({ + id: p.id, + label: p.label, + bindings: { + rx: p.rx, + tx: p.tx, + ...(p.rts !== undefined ? { rts: p.rts } : {}), + ...(p.cts !== undefined ? { cts: p.cts } : {}), + }, + ...(p.defaultActive !== undefined ? { default_active: p.defaultActive } : {}), + })), + } + : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + }; +} From fc5bf5e4452a4972fab81bc347cfbb099b292561 Mon Sep 17 00:00:00 2001 From: dashg Date: Wed, 1 Jul 2026 19:00:01 -0500 Subject: [PATCH 2/5] Support inline signal specs, pin numbers, and multi-instance builders Bus builders (I2C/SPI/UART/ADC/DAC/PWM) now accept each signal (SDA, SCL, MOSI, TX, channels, ...) declared inline in the part file: physical pin number, display name, and electrical limits (V, mA, Hz). Builders generate the leaf pin InterfaceDefs and auto-wire the default profile, returning InterfaceDef[] to spread into the module. Signals may still reference pre-declared pin ids (MCU/GPIO-matrix style). New `instance` option numbers repeated peripherals (i2c1 -> SDA1/SCL1, adc2 -> ADC2_CH0). InterfaceDef gains an optional `pin` field for the physical package pin, also settable on Pin/PowerIn/PowerOut/Ground. Co-Authored-By: Claude Fable 5 --- src/protocols/analog.ts | 82 ++++++++++++++++++++++++++---------- src/protocols/i2c.ts | 68 ++++++++++++++++++++++++------ src/protocols/index.ts | 1 + src/protocols/params.ts | 7 ++++ src/protocols/pin.ts | 5 ++- src/protocols/power.ts | 6 +++ src/protocols/pwm.ts | 64 ++++++++++++++++++++++------ src/protocols/signal.ts | 89 +++++++++++++++++++++++++++++++++++++++ src/protocols/spi.ts | 77 +++++++++++++++++++++++++++++----- src/protocols/uart.ts | 93 ++++++++++++++++++++++++++++++++++------- src/types/interface.ts | 3 ++ 11 files changed, 421 insertions(+), 74 deletions(-) create mode 100644 src/protocols/signal.ts diff --git a/src/protocols/analog.ts b/src/protocols/analog.ts index 099f085..96f5fb9 100644 --- a/src/protocols/analog.ts +++ b/src/protocols/analog.ts @@ -1,69 +1,105 @@ -import type { InterfaceDef } from "../types/interface.js"; +import type { InterfaceDef, ProtocolDef } from "../types/interface.js"; import type { Parameter } from "../types/parameter.js"; import { voltageV, voltageRangeV, resolutionBits } from "./params.js"; +import { signalPin, type SignalSpec } from "./signal.js"; /** * Analog converter interface builders (ADC inputs, DAC outputs). * - * These describe a converter peripheral as a composed interface with a - * channel slot; the measurable pins themselves are declared with the Pin - * builder using the "analog_in" / "analog_out" capability. + * Channels may be declared inline (pin number, display name, V/mA/Hz, + * channel number) or reference already-declared pin interface ids. + * Returns generated channel pins + the converter — spread into the + * module's interfaces. Use `instance` for parts with multiple converters + * (ADC1, ADC2, ...), which also prefixes default channel names + * (ADC1_CH0, ADC2_CH3, ...). */ +export type AnalogChannel = string | (SignalSpec & { channel?: number }); + export interface AnalogConfig { - id: string; + /** Interface id. Defaults to "" (e.g. "adc1"). */ + id?: string; + /** Instance number for multi-converter parts; also prefixes default channel names. */ + instance?: number; name?: string; /** Converter resolution in bits. */ resolutionBits?: number; /** Measurable input range (ADC) or output range (DAC). */ rangeV?: [number, number]; voltageV?: number; - /** Pin interface IDs that can serve as channels for this converter. */ - channels?: string[]; + /** Channels: inline specs (pin number, name, params) or existing pin interface ids. */ + channels?: AnalogChannel[]; exposed?: boolean; defaultActive?: boolean; } -function analog(config: AnalogConfig, role: "input" | "output", capability: string): InterfaceDef { +function analog( + config: AnalogConfig, + kind: "adc" | "dac", + role: "input" | "output", + capability: string, +): InterfaceDef[] { + const instance = config.instance; + const id = config.id ?? `${kind}${instance ?? 0}`; + const label = `${kind.toUpperCase()}${instance !== undefined ? instance : ""}`; + const channelProto: ProtocolDef[] = [{ type: "analog", roles: [role] }]; + + const generated: InterfaceDef[] = []; + const channelIds: string[] = []; + + (config.channels ?? []).forEach((channel, index) => { + if (typeof channel === "string") { + channelIds.push(channel); + return; + } + const n = channel.channel ?? index; + const pin = signalPin({ + id: `${id}_ch${n}`, + defaultName: `${label}_CH${n}`, + capability, + protocols: channelProto, + spec: channel, + }); + generated.push(pin); + channelIds.push(pin.id); + }); + const parameters: Parameter[] = []; if (config.resolutionBits !== undefined) parameters.push(resolutionBits(config.resolutionBits)); if (config.rangeV) parameters.push(voltageRangeV(config.rangeV[0], config.rangeV[1])); else if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); - return { - id: config.id, - name: config.name, + const converter: InterfaceDef = { + id, + name: config.name ?? label, domain: "electrical", exposed: config.exposed ?? true, default_active: config.defaultActive ?? false, protocols: [{ type: "analog", roles: [role] }], ...(parameters.length > 0 ? { parameters } : {}), - ...(config.channels + ...(channelIds.length > 0 ? { slots: [ { id: "channel", required: true, - count: config.channels.length, + count: channelIds.length, match: { protocol: "analog", role, capability }, }, ], - profiles: [ - { - id: `${config.id}_channels`, - bindings: { channel: config.channels }, - }, - ], + profiles: [{ id: `${id}_channels`, bindings: { channel: channelIds } }], } : {}), }; + + return [...generated, converter]; } /** An ADC peripheral: analog input converter with optional channel pins. */ -export function ADC(config: AnalogConfig): InterfaceDef { - return analog(config, "input", "analog_in"); +export function ADC(config: AnalogConfig): InterfaceDef[] { + return analog(config, "adc", "input", "analog_in"); } /** A DAC peripheral: analog output converter with optional channel pins. */ -export function DAC(config: AnalogConfig): InterfaceDef { - return analog(config, "output", "analog_out"); +export function DAC(config: AnalogConfig): InterfaceDef[] { + return analog(config, "dac", "output", "analog_out"); } diff --git a/src/protocols/i2c.ts b/src/protocols/i2c.ts index c2613cc..35d4b8a 100644 --- a/src/protocols/i2c.ts +++ b/src/protocols/i2c.ts @@ -1,14 +1,26 @@ import type { InterfaceDef } from "../types/interface.js"; import type { Parameter } from "../types/parameter.js"; import { clockFreqHz, voltageV } from "./params.js"; +import { resolveSignal, DIGITAL_BIDIR, type SignalRef } from "./signal.js"; /** * I2C bus interface builder. * - * Emits a composed interface with `sda`/`scl` slots. Slots bind to pin - * interfaces on the same module via profiles; a pin qualifies for a slot - * when it carries the matching capability tag ("i2c_sda" / "i2c_scl", - * set through the Pin builder). + * Returns the bus InterfaceDef plus any pin InterfaceDefs generated from + * inline signal specs — spread the result into the module's interfaces: + * + * ...I2C({ + * instance: 1, // -> id "i2c1", names SDA1/SCL1 + * roles: ["master"], + * clockFreqHz: 400_000, + * sda: { pin: 42, name: "SDA1", voltageV: [1.8, 3.6], maxCurrentmA: 40 }, + * scl: { pin: 39, name: "SCL1", voltageV: [1.8, 3.6], maxCurrentmA: 40 }, + * }) + * + * A signal may instead be a string referencing an already-declared pin + * interface id (the MCU/GPIO-matrix style). Either way the default + * profile is wired automatically. Declare a second controller by calling + * I2C() again with a different instance number. */ export type I2CRole = "master" | "slave"; @@ -23,7 +35,10 @@ export interface I2CProfile { } export interface I2CConfig { - id: string; + /** Interface id. Defaults to "i2c" (e.g. "i2c0"). */ + id?: string; + /** Instance number for multi-controller parts; also suffixes default signal names. */ + instance?: number; name?: string; /** Roles this controller can take (default ["master"]). */ roles?: I2CRole[]; @@ -33,24 +48,49 @@ export interface I2CConfig { voltageV?: number; /** 7-bit device address, for slave-only devices such as sensors. */ address?: number; - /** Named default pin routings (e.g. the conventional GPIO pair). */ + /** SDA signal: inline spec (pin number, name, V/mA/Hz) or existing pin interface id. */ + sda?: SignalRef; + /** SCL signal: inline spec or existing pin interface id. */ + scl?: SignalRef; + /** Extra named pin routings beyond the auto-generated default. */ profiles?: I2CProfile[]; - /** Max simultaneous instances of this controller. */ + /** Max simultaneous instances (profiles) of this controller. */ maxInstances?: number; exposed?: boolean; defaultActive?: boolean; } -export function I2C(config: I2CConfig): InterfaceDef { +export function I2C(config: I2CConfig): InterfaceDef[] { + const instance = config.instance; + const id = config.id ?? `i2c${instance ?? 0}`; + const sfx = instance !== undefined ? String(instance) : ""; + + const generated: InterfaceDef[] = []; + const profiles = [...(config.profiles ?? [])]; + + if (config.sda !== undefined && config.scl !== undefined) { + const sdaId = resolveSignal( + config.sda, + { id: `${id}_sda`, defaultName: `SDA${sfx}`, capability: "i2c_sda", protocols: DIGITAL_BIDIR }, + generated, + ); + const sclId = resolveSignal( + config.scl, + { id: `${id}_scl`, defaultName: `SCL${sfx}`, capability: "i2c_scl", protocols: DIGITAL_BIDIR }, + generated, + ); + profiles.unshift({ id: `${id}_default`, label: config.name ?? id.toUpperCase(), sda: sdaId, scl: sclId }); + } + const parameters: Parameter[] = [clockFreqHz(config.clockFreqHz ?? 400_000)]; if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); if (config.address !== undefined) { parameters.push({ id: "i2c_address", unit: "dimensionless", value: config.address }); } - return { - id: config.id, - name: config.name, + const bus: InterfaceDef = { + id, + name: config.name ?? `I2C${sfx}`, domain: "electrical", exposed: config.exposed ?? true, default_active: config.defaultActive ?? false, @@ -60,9 +100,9 @@ export function I2C(config: I2CConfig): InterfaceDef { { id: "sda", required: true, match: { protocol: "i2c", role: "data", capability: "i2c_sda" } }, { id: "scl", required: true, match: { protocol: "i2c", role: "clock", capability: "i2c_scl" } }, ], - ...(config.profiles + ...(profiles.length > 0 ? { - profiles: config.profiles.map((p) => ({ + profiles: profiles.map((p) => ({ id: p.id, label: p.label, bindings: { sda: p.sda, scl: p.scl }, @@ -72,4 +112,6 @@ export function I2C(config: I2CConfig): InterfaceDef { : {}), ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), }; + + return [...generated, bus]; } diff --git a/src/protocols/index.ts b/src/protocols/index.ts index 5cebfdd..4196dce 100644 --- a/src/protocols/index.ts +++ b/src/protocols/index.ts @@ -8,6 +8,7 @@ * (matching/roles.ts) and slot binding (binding/) understand. */ export * from "./params.js"; +export * from "./signal.js"; export * from "./pin.js"; export * from "./gpio.js"; export * from "./power.js"; diff --git a/src/protocols/params.ts b/src/protocols/params.ts index c8e4f79..070e40a 100644 --- a/src/protocols/params.ts +++ b/src/protocols/params.ts @@ -47,6 +47,13 @@ export function baudRate(value: number | [number, number]): Parameter { : { id: "baud_rate", unit: "Hz", value }; } +/** Maximum signal frequency a pin supports, in Hz — fixed or [min, max]. */ +export function maxFrequencyHz(value: number | [number, number]): Parameter { + return Array.isArray(value) + ? { id: "max_frequency", unit: "Hz", range: value } + : { id: "max_frequency", unit: "Hz", value }; +} + /** Converter resolution in bits (ADC/DAC/PWM). */ export function resolutionBits(value: number): Parameter { return { id: "resolution", unit: "dimensionless", value }; diff --git a/src/protocols/pin.ts b/src/protocols/pin.ts index b8392b7..157ce53 100644 --- a/src/protocols/pin.ts +++ b/src/protocols/pin.ts @@ -36,8 +36,10 @@ export interface PinCapabilities { export interface PinConfig { id: string; - /** Human label, e.g. "GPIO21 (QFN pin 42)". */ + /** Human label, e.g. "GPIO21". */ name?: string; + /** Physical package pin/pad designator (e.g. 42 or "A7"). */ + pin?: number | string; /** Logic-level voltage: a nominal value or [min, max] range. */ voltageV?: number | [number, number]; /** Max continuous source/sink current in mA. */ @@ -103,6 +105,7 @@ export function Pin(config: PinConfig): InterfaceDef { return { id: config.id, name: config.name, + ...(config.pin !== undefined ? { pin: config.pin } : {}), domain: "electrical", exposed: config.exposed ?? true, default_active: config.defaultActive ?? true, diff --git a/src/protocols/power.ts b/src/protocols/power.ts index 052698e..6d4e2a2 100644 --- a/src/protocols/power.ts +++ b/src/protocols/power.ts @@ -9,6 +9,8 @@ import { voltageV, voltageRangeV, maxCurrentA } from "./params.js"; export interface PowerConfig { id: string; name?: string; + /** Physical package pin/pad designator, when the rail maps to a single pin. */ + pin?: number | string; /** Nominal voltage or [min, max] acceptable range. */ voltageV: number | [number, number]; /** Nominal value when voltageV is a range. */ @@ -30,6 +32,7 @@ function power(config: PowerConfig, role: "input" | "output"): InterfaceDef { return { id: config.id, name: config.name, + ...(config.pin !== undefined ? { pin: config.pin } : {}), domain: "electrical", exposed: config.exposed ?? true, default_active: config.defaultActive ?? true, @@ -51,6 +54,8 @@ export function PowerOut(config: PowerConfig): InterfaceDef { export interface GroundConfig { id?: string; name?: string; + /** Physical package pin/pad designator, when ground maps to a single pin. */ + pin?: number | string; /** Max cumulative return current in amps, if the datasheet specifies one. */ maxCurrentA?: number; } @@ -60,6 +65,7 @@ export function Ground(config: GroundConfig = {}): InterfaceDef { return { id: config.id ?? "gnd", name: config.name ?? "Ground", + ...(config.pin !== undefined ? { pin: config.pin } : {}), domain: "electrical", exposed: true, default_active: true, diff --git a/src/protocols/pwm.ts b/src/protocols/pwm.ts index f248f85..dae70ba 100644 --- a/src/protocols/pwm.ts +++ b/src/protocols/pwm.ts @@ -1,56 +1,94 @@ -import type { InterfaceDef } from "../types/interface.js"; +import type { InterfaceDef, ProtocolDef } from "../types/interface.js"; import type { Parameter } from "../types/parameter.js"; import { clockFreqHz, resolutionBits, voltageV } from "./params.js"; +import { signalPin, type SignalSpec } from "./signal.js"; /** * PWM output interface builder. * * For dedicated PWM peripherals (LEDC/MCPWM units, servo/LED driver - * channels). Plain MCU pins that merely support PWM should instead set - * `pwm: true` on the Pin builder, which adds the pwm protocol to the pin. + * channels). Channels may be declared inline (pin number, display name, + * V/mA/Hz, channel number) or reference already-declared pin interface + * ids. Returns generated channel pins + the unit — spread into the + * module's interfaces. Use `instance` for parts with multiple PWM units. + * Plain MCU pins that merely support PWM should instead set `pwm: true` + * on the Pin builder. */ +export type PWMChannel = string | (SignalSpec & { channel?: number }); + +const PWM_PROTO: ProtocolDef[] = [{ type: "pwm", roles: ["output"] }]; + export interface PWMConfig { - id: string; + /** Interface id. Defaults to "pwm" (e.g. "pwm0"). */ + id?: string; + /** Instance number for multi-unit parts; also prefixes default channel names. */ + instance?: number; name?: string; /** Output frequency in Hz — fixed or [min, max] supported range. */ freqHz?: number | [number, number]; /** Duty-cycle resolution in bits. */ resolutionBits?: number; voltageV?: number; - /** Pin interface IDs this PWM unit can drive. */ - channels?: string[]; + /** Channels: inline specs (pin number, name, params) or existing pin interface ids. */ + channels?: PWMChannel[]; maxInstances?: number; exposed?: boolean; defaultActive?: boolean; } -export function PWM(config: PWMConfig): InterfaceDef { +export function PWM(config: PWMConfig): InterfaceDef[] { + const instance = config.instance; + const id = config.id ?? `pwm${instance ?? 0}`; + const label = `PWM${instance !== undefined ? instance : ""}`; + + const generated: InterfaceDef[] = []; + const channelIds: string[] = []; + + (config.channels ?? []).forEach((channel, index) => { + if (typeof channel === "string") { + channelIds.push(channel); + return; + } + const n = channel.channel ?? index; + const pin = signalPin({ + id: `${id}_ch${n}`, + defaultName: `${label}_CH${n}`, + capability: "pwm_out", + protocols: PWM_PROTO, + spec: channel, + }); + generated.push(pin); + channelIds.push(pin.id); + }); + const parameters: Parameter[] = []; if (config.freqHz !== undefined) parameters.push(clockFreqHz(config.freqHz)); if (config.resolutionBits !== undefined) parameters.push(resolutionBits(config.resolutionBits)); if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); - return { - id: config.id, - name: config.name, + const unit: InterfaceDef = { + id, + name: config.name ?? label, domain: "electrical", exposed: config.exposed ?? true, default_active: config.defaultActive ?? false, protocols: [{ type: "pwm", roles: ["output"] }], ...(parameters.length > 0 ? { parameters } : {}), - ...(config.channels + ...(channelIds.length > 0 ? { slots: [ { id: "channel", required: true, - count: config.channels.length, + count: channelIds.length, match: { protocol: "pwm", role: "output", capability: "pwm_out" }, }, ], - profiles: [{ id: `${config.id}_channels`, bindings: { channel: config.channels } }], + profiles: [{ id: `${id}_channels`, bindings: { channel: channelIds } }], } : {}), ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), }; + + return [...generated, unit]; } diff --git a/src/protocols/signal.ts b/src/protocols/signal.ts new file mode 100644 index 0000000..207acd0 --- /dev/null +++ b/src/protocols/signal.ts @@ -0,0 +1,89 @@ +import type { InterfaceDef, ProtocolDef } from "../types/interface.js"; +import type { Parameter } from "../types/parameter.js"; +import { voltageV, voltageRangeV, driveCurrentmA, maxFrequencyHz } from "./params.js"; + +/** + * Inline signal declaration for bus builders. + * + * Lets a part file describe a bus signal (SDA, SCL, MOSI, TX, an ADC + * channel, ...) directly inside the protocol call: physical pin number, + * display name, and electrical parameters. The builder turns each spec + * into a leaf pin InterfaceDef carrying the signal's canonical capability + * tag and auto-binds it into the bus's default profile. + */ +export interface SignalSpec { + /** Physical package pin/pad designator (e.g. 42 or "A7"). */ + pin: number | string; + /** Display name, e.g. "SDA1" or "GPIO21 / SDA". Defaults to the signal role + instance. */ + name?: string; + /** Interface id override. Defaults to `_`. */ + id?: string; + /** Logic-level voltage: nominal or [min, max]. */ + voltageV?: number | [number, number]; + /** Max continuous source/sink current in mA. */ + maxCurrentmA?: number; + /** Max signal frequency in Hz — fixed or [min, max]. */ + maxFrequencyHz?: number | [number, number]; +} + +/** A bus signal is either a reference to an existing pin interface id, or an inline spec. */ +export type SignalRef = string | SignalSpec; + +export interface SignalPinOptions { + /** Generated interface id (used when spec.id is absent). */ + id: string; + /** Display name fallback (used when spec.name is absent), e.g. "SDA1". */ + defaultName: string; + /** Canonical capability tag for slot matching, e.g. "i2c_sda". */ + capability: string; + /** Protocols the generated pin speaks, e.g. digital bidirectional. */ + protocols: ProtocolDef[]; + spec: SignalSpec; +} + +/** Build a leaf pin InterfaceDef from an inline signal spec. */ +export function signalPin(opts: SignalPinOptions): InterfaceDef { + const { spec } = opts; + const parameters: Parameter[] = []; + if (spec.voltageV !== undefined) { + parameters.push( + Array.isArray(spec.voltageV) + ? voltageRangeV(spec.voltageV[0], spec.voltageV[1]) + : voltageV(spec.voltageV), + ); + } + if (spec.maxCurrentmA !== undefined) parameters.push(driveCurrentmA(spec.maxCurrentmA)); + if (spec.maxFrequencyHz !== undefined) parameters.push(maxFrequencyHz(spec.maxFrequencyHz)); + + return { + id: spec.id ?? opts.id, + name: spec.name ?? opts.defaultName, + pin: spec.pin, + domain: "electrical", + exposed: true, + default_active: true, + protocols: opts.protocols, + capabilities: [opts.capability], + ...(parameters.length > 0 ? { parameters } : {}), + }; +} + +/** + * Resolve one signal of a bus: returns the pin interface id to bind, and + * appends a generated pin InterfaceDef when the signal was declared inline. + */ +export function resolveSignal( + ref: SignalRef, + opts: Omit, + generated: InterfaceDef[], +): string { + if (typeof ref === "string") return ref; + const pin = signalPin({ ...opts, spec: ref }); + generated.push(pin); + return pin.id; +} + +/** Bidirectional digital pin protocol — the default for generated bus signal pins. */ +export const DIGITAL_BIDIR: ProtocolDef[] = [ + { type: "digital", roles: ["input", "output", "bidirectional"] }, +]; diff --git a/src/protocols/spi.ts b/src/protocols/spi.ts index 6150060..45e20c0 100644 --- a/src/protocols/spi.ts +++ b/src/protocols/spi.ts @@ -1,13 +1,15 @@ import type { InterfaceDef } from "../types/interface.js"; import type { Parameter } from "../types/parameter.js"; import { clockFreqHz, voltageV } from "./params.js"; +import { resolveSignal, DIGITAL_BIDIR, type SignalRef } from "./signal.js"; /** * SPI bus interface builder. * - * Emits a composed interface with `mosi`/`miso`/`sck` slots and an optional - * `ss` (chip-select) slot. Pins qualify via the "spi_mosi" / "spi_miso" / - * "spi_sck" / "spi_ss" capability tags set through the Pin builder. + * Signals may be declared inline (pin number, display name, V/mA/Hz) or + * reference already-declared pin interface ids. Returns generated pins + + * the bus — spread into the module's interfaces. Use `instance` for parts + * with multiple SPI controllers (SPI1, SPI2, ...). */ export type SPIRole = "master" | "slave"; @@ -23,27 +25,80 @@ export interface SPIProfile { } export interface SPIConfig { - id: string; + /** Interface id. Defaults to "spi" (e.g. "spi0"). */ + id?: string; + /** Instance number for multi-controller parts; also suffixes default signal names. */ + instance?: number; name?: string; /** Roles this controller can take (default ["master"]). */ roles?: SPIRole[]; /** Clock frequency in Hz — fixed or [min, max] supported range. */ clockFreqHz?: number | [number, number]; voltageV?: number; + /** MOSI signal: inline spec or existing pin interface id. */ + mosi?: SignalRef; + /** MISO signal: inline spec or existing pin interface id. */ + miso?: SignalRef; + /** SCK signal: inline spec or existing pin interface id. */ + sck?: SignalRef; + /** Chip select: inline spec or existing pin interface id (optional). */ + ss?: SignalRef; + /** Extra named pin routings beyond the auto-generated default. */ profiles?: SPIProfile[]; maxInstances?: number; exposed?: boolean; defaultActive?: boolean; } -export function SPI(config: SPIConfig): InterfaceDef { +export function SPI(config: SPIConfig): InterfaceDef[] { + const instance = config.instance; + const id = config.id ?? `spi${instance ?? 0}`; + const sfx = instance !== undefined ? String(instance) : ""; + + const generated: InterfaceDef[] = []; + const profiles = [...(config.profiles ?? [])]; + + if (config.mosi !== undefined && config.miso !== undefined && config.sck !== undefined) { + const mosiId = resolveSignal( + config.mosi, + { id: `${id}_mosi`, defaultName: `MOSI${sfx}`, capability: "spi_mosi", protocols: DIGITAL_BIDIR }, + generated, + ); + const misoId = resolveSignal( + config.miso, + { id: `${id}_miso`, defaultName: `MISO${sfx}`, capability: "spi_miso", protocols: DIGITAL_BIDIR }, + generated, + ); + const sckId = resolveSignal( + config.sck, + { id: `${id}_sck`, defaultName: `SCK${sfx}`, capability: "spi_sck", protocols: DIGITAL_BIDIR }, + generated, + ); + const ssId = + config.ss !== undefined + ? resolveSignal( + config.ss, + { id: `${id}_ss`, defaultName: `SS${sfx}`, capability: "spi_ss", protocols: DIGITAL_BIDIR }, + generated, + ) + : undefined; + profiles.unshift({ + id: `${id}_default`, + label: config.name ?? id.toUpperCase(), + mosi: mosiId, + miso: misoId, + sck: sckId, + ...(ssId !== undefined ? { ss: ssId } : {}), + }); + } + const parameters: Parameter[] = []; if (config.clockFreqHz !== undefined) parameters.push(clockFreqHz(config.clockFreqHz)); if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); - return { - id: config.id, - name: config.name, + const bus: InterfaceDef = { + id, + name: config.name ?? `SPI${sfx}`, domain: "electrical", exposed: config.exposed ?? true, default_active: config.defaultActive ?? false, @@ -55,9 +110,9 @@ export function SPI(config: SPIConfig): InterfaceDef { { id: "sck", required: true, match: { protocol: "spi", role: "clock", capability: "spi_sck" } }, { id: "ss", required: false, match: { protocol: "spi", role: "select", capability: "spi_ss" } }, ], - ...(config.profiles + ...(profiles.length > 0 ? { - profiles: config.profiles.map((p) => ({ + profiles: profiles.map((p) => ({ id: p.id, label: p.label, bindings: { @@ -72,4 +127,6 @@ export function SPI(config: SPIConfig): InterfaceDef { : {}), ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), }; + + return [...generated, bus]; } diff --git a/src/protocols/uart.ts b/src/protocols/uart.ts index badb39f..6e44db5 100644 --- a/src/protocols/uart.ts +++ b/src/protocols/uart.ts @@ -1,16 +1,22 @@ -import type { InterfaceDef } from "../types/interface.js"; +import type { InterfaceDef, ProtocolDef } from "../types/interface.js"; import type { Parameter } from "../types/parameter.js"; import { baudRate, voltageV } from "./params.js"; +import { resolveSignal, type SignalRef } from "./signal.js"; /** * UART/serial interface builder. * - * Emits a composed interface with `rx`/`tx` slots and optional `rts`/`cts` - * flow-control slots. Pins qualify via the "uart_rx" / "uart_tx" / - * "uart_rts" / "uart_cts" capability tags set through the Pin builder. + * Signals may be declared inline (pin number, display name, V/mA/Hz) or + * reference already-declared pin interface ids. Returns generated pins + + * the port — spread into the module's interfaces. Use `instance` for + * parts with multiple ports (UART0, UART1, ...), which also suffixes + * default signal names (TX1/RX1). */ export type UARTRole = "host" | "device"; +const RX_PROTO: ProtocolDef[] = [{ type: "uart", roles: ["receiver"] }]; +const TX_PROTO: ProtocolDef[] = [{ type: "uart", roles: ["transmitter"] }]; + export interface UARTProfile { id: string; label?: string; @@ -22,22 +28,79 @@ export interface UARTProfile { } export interface UARTConfig { - id: string; + /** Interface id. Defaults to "uart" (e.g. "uart0"). */ + id?: string; + /** Instance number for multi-port parts; also suffixes default signal names. */ + instance?: number; name?: string; /** Roles this port can take (default ["host", "device"]). */ roles?: UARTRole[]; /** Baud rate in Hz — fixed or [min, max] supported range. */ baudRate?: number | [number, number]; voltageV?: number; - /** Include rts/cts flow-control slots (default false). */ - flowControl?: boolean; + /** RX signal: inline spec or existing pin interface id. */ + rx?: SignalRef; + /** TX signal: inline spec or existing pin interface id. */ + tx?: SignalRef; + /** RTS flow control: inline spec or existing pin interface id (optional). */ + rts?: SignalRef; + /** CTS flow control: inline spec or existing pin interface id (optional). */ + cts?: SignalRef; + /** Extra named pin routings beyond the auto-generated default. */ profiles?: UARTProfile[]; maxInstances?: number; exposed?: boolean; defaultActive?: boolean; } -export function UART(config: UARTConfig): InterfaceDef { +export function UART(config: UARTConfig): InterfaceDef[] { + const instance = config.instance; + const id = config.id ?? `uart${instance ?? 0}`; + const sfx = instance !== undefined ? String(instance) : ""; + + const generated: InterfaceDef[] = []; + const profiles = [...(config.profiles ?? [])]; + const hasFlowControl = + config.rts !== undefined || config.cts !== undefined || + profiles.some((p) => p.rts !== undefined || p.cts !== undefined); + + if (config.rx !== undefined && config.tx !== undefined) { + const rxId = resolveSignal( + config.rx, + { id: `${id}_rx`, defaultName: `RX${sfx}`, capability: "uart_rx", protocols: RX_PROTO }, + generated, + ); + const txId = resolveSignal( + config.tx, + { id: `${id}_tx`, defaultName: `TX${sfx}`, capability: "uart_tx", protocols: TX_PROTO }, + generated, + ); + const rtsId = + config.rts !== undefined + ? resolveSignal( + config.rts, + { id: `${id}_rts`, defaultName: `RTS${sfx}`, capability: "uart_rts", protocols: TX_PROTO }, + generated, + ) + : undefined; + const ctsId = + config.cts !== undefined + ? resolveSignal( + config.cts, + { id: `${id}_cts`, defaultName: `CTS${sfx}`, capability: "uart_cts", protocols: RX_PROTO }, + generated, + ) + : undefined; + profiles.unshift({ + id: `${id}_default`, + label: config.name ?? id.toUpperCase(), + rx: rxId, + tx: txId, + ...(rtsId !== undefined ? { rts: rtsId } : {}), + ...(ctsId !== undefined ? { cts: ctsId } : {}), + }); + } + const parameters: Parameter[] = []; if (config.baudRate !== undefined) parameters.push(baudRate(config.baudRate)); if (config.voltageV !== undefined) parameters.push(voltageV(config.voltageV)); @@ -46,25 +109,25 @@ export function UART(config: UARTConfig): InterfaceDef { { id: "rx", required: true, match: { protocol: "uart", role: "receiver", capability: "uart_rx" } }, { id: "tx", required: true, match: { protocol: "uart", role: "transmitter", capability: "uart_tx" } }, ]; - if (config.flowControl) { + if (hasFlowControl) { slots.push( { id: "rts", required: false, match: { protocol: "uart", role: "transmitter", capability: "uart_rts" } }, { id: "cts", required: false, match: { protocol: "uart", role: "receiver", capability: "uart_cts" } }, ); } - return { - id: config.id, - name: config.name, + const port: InterfaceDef = { + id, + name: config.name ?? `UART${sfx}`, domain: "electrical", exposed: config.exposed ?? true, default_active: config.defaultActive ?? false, protocols: [{ type: "uart", roles: config.roles ?? ["host", "device"] }], ...(parameters.length > 0 ? { parameters } : {}), slots, - ...(config.profiles + ...(profiles.length > 0 ? { - profiles: config.profiles.map((p) => ({ + profiles: profiles.map((p) => ({ id: p.id, label: p.label, bindings: { @@ -79,4 +142,6 @@ export function UART(config: UARTConfig): InterfaceDef { : {}), ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), }; + + return [...generated, port]; } diff --git a/src/types/interface.ts b/src/types/interface.ts index 756f161..7f2b01d 100644 --- a/src/types/interface.ts +++ b/src/types/interface.ts @@ -40,6 +40,9 @@ export interface InterfaceDef { domain: DomainKind; exposed: boolean; + /** Physical package pin/pad designator (e.g. 42 or "A7"), for leaf pin interfaces */ + pin?: number | string; + /** What this interface speaks — used for ALL inter-module matching */ protocols: ProtocolDef[]; From 92f10580afd3441af83fb7b2c05d798ab05b5795 Mon Sep 17 00:00:00 2001 From: London Yount <74688944+LondonYount@users.noreply.github.com> Date: Wed, 15 Jul 2026 14:55:32 -0500 Subject: [PATCH 3/5] feat: add audited parts library and manifest build Establish library/parts/ as the canonical home for audited ModuleDefs per showcase-plan section 2.3, and add the build step that turns them into a consumable manifest. - library/parts/: 18 audited ModuleDefs (one file per part) spanning the electrical, mechanical, thermal, network, and pneumatic domains, each with a thumbnail artifact, plus an index.ts barrel re-exporting them. Imports were rehomed from ./OpenUHD/src/... to ../../src/... since the defs were authored outside the repo; content is otherwise as-audited. - scripts/build-library.ts + npm run build:library: emits library/dist/index.json (search manifest with id, name, taxonomy, protocols, domains, thumbnail, manufacturer, part_number, version) and library/dist/parts/.json per part. Fails fast on duplicate ids. - tsconfig.json: include library/**/*.ts and scripts/**/*.ts so both are typechecked. tsconfig.build.json stays src-only, so dist is unaffected. - package.json: add tsx devDependency and ship "library" in files. - test: add esp32-d0wdq6 coverage and fixture. library/dist/ stays gitignored as generated output, so consumers must run build:library before publish. Verified: tsc --noEmit clean, 89/89 tests passing, build:library emits 18 parts. Known issue: hcsr04-ultrasonic-sensor.ts declares id "HCSR04-Ultrasonic-Sensor" while the other 17 use lowercase kebab-case. Left as-audited rather than silently edited; it propagates to the dist filename and artifacts path and should be normalized at the source. --- .../artifacts/thumbnail.png | Bin 0 -> 198563 bytes library/parts/adafruit-938-128x64-oled.ts | 604 +++++ .../artifacts/thumbnail.png | Bin 0 -> 85080 bytes ...dafruit-feather-nrf52-bluefruit-le-3406.ts | 1198 +++++++++ .../artifacts/thumbnail.png | Bin 0 -> 248815 bytes library/parts/arduino-nano.ts | 1075 ++++++++ .../arduino-nano/artifacts/thumbnail.png | Bin 0 -> 185100 bytes library/parts/attiny85.ts | 1612 ++++++++++++ .../parts/attiny85/artifacts/thumbnail.png | Bin 0 -> 82963 bytes library/parts/bme280.ts | 824 ++++++ library/parts/bme280/artifacts/thumbnail.png | Bin 0 -> 117074 bytes library/parts/esp32-d0wdq6.ts | 2228 +++++++++++++++++ .../esp32-d0wdq6/artifacts/thumbnail.png | Bin 0 -> 289438 bytes library/parts/esp32-devkitc-v4.ts | 2060 +++++++++++++++ .../esp32-devkitc-v4/artifacts/thumbnail.png | Bin 0 -> 192110 bytes library/parts/frc-pneumatic-piston.ts | 289 +++ .../artifacts/thumbnail.png | Bin 0 -> 83608 bytes library/parts/hcsr04-ultrasonic-sensor.ts | 371 +++ library/parts/icm-42688-p.ts | 1164 +++++++++ .../parts/icm-42688-p/artifacts/thumbnail.png | Bin 0 -> 143316 bytes library/parts/index.ts | 23 + library/parts/l298n-motor-driver.ts | 986 ++++++++ .../artifacts/thumbnail.png | Bin 0 -> 199198 bytes library/parts/pjrc-teensy-4-1.ts | 1077 ++++++++ .../pjrc-teensy-4-1/artifacts/thumbnail.png | Bin 0 -> 134722 bytes .../rev-21-1652-neo-vortex-brushless-motor.ts | 536 ++++ .../artifacts/thumbnail.png | Bin 0 -> 110148 bytes library/parts/rp2040.ts | 2151 ++++++++++++++++ library/parts/rp2040/artifacts/thumbnail.png | Bin 0 -> 95603 bytes library/parts/seeed-xiao-esp32c3.ts | 827 ++++++ .../artifacts/thumbnail.png | Bin 0 -> 96494 bytes library/parts/stepperonline-17hs19-2004s1.ts | 586 +++++ .../artifacts/thumbnail.png | Bin 0 -> 136013 bytes library/parts/towerpro-sg90.ts | 556 ++++ .../towerpro-sg90/artifacts/thumbnail.png | Bin 0 -> 188162 bytes library/parts/vl53l0x.ts | 721 ++++++ library/parts/vl53l0x/artifacts/thumbnail.png | Bin 0 -> 122132 bytes package-lock.json | 504 ++++ package.json | 3 + scripts/build-library.ts | 157 ++ test/esp32-d0wdq6.test.ts | 82 + test/fixtures/esp32-d0wdq6.ts | 1048 ++++++++ tsconfig.json | 2 +- 43 files changed, 20683 insertions(+), 1 deletion(-) create mode 100644 library/parts/HCSR04-Ultrasonic-Sensor/artifacts/thumbnail.png create mode 100644 library/parts/adafruit-938-128x64-oled.ts create mode 100644 library/parts/adafruit-938-128x64-oled/artifacts/thumbnail.png create mode 100644 library/parts/adafruit-feather-nrf52-bluefruit-le-3406.ts create mode 100644 library/parts/adafruit-feather-nrf52-bluefruit-le-3406/artifacts/thumbnail.png create mode 100644 library/parts/arduino-nano.ts create mode 100644 library/parts/arduino-nano/artifacts/thumbnail.png create mode 100644 library/parts/attiny85.ts create mode 100644 library/parts/attiny85/artifacts/thumbnail.png create mode 100644 library/parts/bme280.ts create mode 100644 library/parts/bme280/artifacts/thumbnail.png create mode 100644 library/parts/esp32-d0wdq6.ts create mode 100644 library/parts/esp32-d0wdq6/artifacts/thumbnail.png create mode 100644 library/parts/esp32-devkitc-v4.ts create mode 100644 library/parts/esp32-devkitc-v4/artifacts/thumbnail.png create mode 100644 library/parts/frc-pneumatic-piston.ts create mode 100644 library/parts/frc-pneumatic-piston/artifacts/thumbnail.png create mode 100644 library/parts/hcsr04-ultrasonic-sensor.ts create mode 100644 library/parts/icm-42688-p.ts create mode 100644 library/parts/icm-42688-p/artifacts/thumbnail.png create mode 100644 library/parts/index.ts create mode 100644 library/parts/l298n-motor-driver.ts create mode 100644 library/parts/l298n-motor-driver/artifacts/thumbnail.png create mode 100644 library/parts/pjrc-teensy-4-1.ts create mode 100644 library/parts/pjrc-teensy-4-1/artifacts/thumbnail.png create mode 100644 library/parts/rev-21-1652-neo-vortex-brushless-motor.ts create mode 100644 library/parts/rev-21-1652-neo-vortex-brushless-motor/artifacts/thumbnail.png create mode 100644 library/parts/rp2040.ts create mode 100644 library/parts/rp2040/artifacts/thumbnail.png create mode 100644 library/parts/seeed-xiao-esp32c3.ts create mode 100644 library/parts/seeed-xiao-esp32c3/artifacts/thumbnail.png create mode 100644 library/parts/stepperonline-17hs19-2004s1.ts create mode 100644 library/parts/stepperonline-17hs19-2004s1/artifacts/thumbnail.png create mode 100644 library/parts/towerpro-sg90.ts create mode 100644 library/parts/towerpro-sg90/artifacts/thumbnail.png create mode 100644 library/parts/vl53l0x.ts create mode 100644 library/parts/vl53l0x/artifacts/thumbnail.png create mode 100644 scripts/build-library.ts create mode 100644 test/esp32-d0wdq6.test.ts create mode 100644 test/fixtures/esp32-d0wdq6.ts diff --git a/library/parts/HCSR04-Ultrasonic-Sensor/artifacts/thumbnail.png b/library/parts/HCSR04-Ultrasonic-Sensor/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..58cc1916faca2f6fba419bd7e6b8eab8f64c9b96 GIT binary patch literal 198563 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%0A6o8VHyo@CN;32BnX2s78jhJ&NR^1eNB5WX`z@C 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⪚}s?nz6OQ?;J}O*-~u24<3Irwm=G>F;4xa8KhHpd;e23h1m!k0 zCF3PaKQhx|g*$v+~KvR7}UO}mbZ6a7@r6NxO@b@U1y?7k&yzL^zG6r57b9+8%6@RT^$ukyv z(hApD$}ihQZ5_8IW9bqR~KgUw#E$t9?hHUxvHX+8`f9zp#%H4@5)7K{Omm1 zE5t=bco;p=;iGz+NF{43SMDuAuI%dgL+&PQ~^MslVIe9akIU>y@=-! z@k>{);;hV64hi&;ZOydgIKt|3EK?;pbae;zA!7fD8T6{RjQ6PX~s6Q;5g^M*&2fiK75AG^jE> zOe#0-4~%I$e|vn!#zTM64=7Ckcv)Eg@AQI{*Y%@l!rW+jQ71|ns~xGR03@`+m2sLO z$~cWcW$X+;Wt^)2Kfyx-x>&p;yOw$*+hBOyQr{wCzaLhqPordWTkTloadbv>CA;| z^mvHr@!$~MxO1D1bsnb^C%fo$_jx)e9+11Zq(BEJ-K%|=z~IQd{)g$tu9JczOR z5n9XAlhqm+A85yKC{da$pirUFPPNE%Y-FKi=wH)%0U#1Bj+EXJ9R!=7bnap=VmTn0CkZt^uc%@qm>nwL?{gr;~9aF|0 z(dFzCS;meLWo+V=!>Y!?^wlf}`f!FNO;op`kF^}>0}W?-U)_l&syWa{>h?5I&5l0O zbfEV&?C4!Jn-TC(ccS;yooS+$8~t^f9lbx*hQ83SqrYq0v+5FWHnfivpxe3s6xD9t zOZ8h1NC+qx2o6qqCQh`-!kbOqqS(?So~%3*$SpKWMpM2~xgx5Er$8I5qM*cLviD0Q z8}B%B3C$$ukPNc+P9h7p1ak1pAeVp)vhzxi=Ei`?EXrNIfj4Z~$45H4_}KANylwk# zxsD${A!DpjFNlm4A3c`sIA|bnqhs}b=t)1{?Car!dv|h5d^B%dzm7LluVH^L7Y+;b z=G3?dPKpi{MzX%Dj33>*C8oliTN|Y#y}flm@7lJ7ON&-yR}x_Oa>rLC}&*>iMdT^~{Iwzk$>ke@5@D?L{( zh>IQ!1g?7*M;ii&#KuHWRAi`(vU0LBWj!B;Uc~pHUI8JZSRTRX7rLsJ#!MWVNNt8X zee~hS5@ZSh!9ocD1iA;n10dq*>cYOB9&EnC2;d4Ga#y|2&EJKLH@nK;#FD76K3%mS4N~L{T}`b8lSnwqw6HjVX8f zn_<}P*JpYR|88CcO_&oQE4brkMG1Ha6L|(8<5YbGK%je!Q4dm7aA{%lDwxJ;2MKt* zqUB2%bNywOkMjNUP{lQ)Ua33Or<}RZO52&6O2L|q3cw>VuT&x@FlxxH+Da9T2dH{W z8`W$+K#kiEQA_JdYHRPJt}~bE#_fK>mJUv*7cccv$FY;rdyXwET-d<6b?c5$bkK8{ z)1_o1VYPy)1FtUO_ z1P^_Ge}8%4Lzh5IG=klbK3iS2PF`U^gr<>_mP(n~S(K2JDC4it@Gu#Ht*fr3^o%Uo z7SYw4_k45)FhMj5*akx3LIMKG*VBVm8Z9S1otdPstw|0RrsQH}L8i+V(}FoVa;;pt zm`sh9k*&EoS(une8yiMi5Z9rN%$utty2l)_4-Gigf1~fe{fbnlP7(7V)_t|q)M@%} zQ|L!L^15S z8SNkW?9-3gaPbmeU0lMaPMqYsx9>z=kY6kY~5n00CackHybTv6dRIt8%3jeskm%o_hN*`-EvjB&tGyPTFQ7(YU`|1wQ zuMadFHrY~ZKQ?uVWOMg8w(?3Ohrm?wjK~(D+%qgqHnMyovqT$l3QQp@&p2`p z$`saN?U_vGuJL5!l|nWE6W0i`_lhC^=xj>PU&~b+cW`@WHy=CE%{%tA@XlTP@L-m5 zsnKyFE=0^c`4=G_y2Ycrce&@nS?)M=fcI?QBAHiU8IASTGPc477W5EX3lokA_T{eQ z?E*G!ExY;tt!sR@ua~=yAC;}9+?)(q3kG07`#1)+vURh#zOju3{pCz|mt8XIbTi0U6^f9H0;j1fLZ)86l)2;o-aQCV{n!A7sg*#r)w1@9}3J zO=KM{P4;khU^`1QHe6)D(|-F|1az$M-oDW*T_B{4fX6V60LPFrOc?k+9UK_Gef##^ z2M-=ZDvI(uMNy=U@PB#!{~H11nGOPE8e&p;Fu*FOu00sLc3;=4E}3=u-M4Xdl56QG(YA+QIaqx(~gf z<)!>-mbdc$YvR>>}VYEd=itl326oA%NA zo$V4x*SPB_?LKgljvPBrou|&z<=z|g;L)G}2r6sAIF5IormoZHL_`NI@9pgq?E@Dg zGf<_uWa$D)wN+D{LT0AMSl5#z8|5hMBrL^cTL00-zB z$;rv0ZP?k^O8ySOWAE-gRFIc1>%3qSVG-d}zp;Uuw{N5B+8POBgb<&Tn@@4^i2@+{ z^X7}+0t^NtEC}e9re*>lK|Ved;^#*;<||20M~mjFtCHEWAu>cz001BWNkl#@fCjon01yBX01j4q0UXe4 z5FUwDUwB3^`^EQ8`sQo7wA55Nz{i^pwYH(YRIcH{k!W{-h=ePS^n}QD_g+68KY5O7 zHf*PY)pe9rP)!M`Wda~E$*U$-*~_LNhm$YeX5@ z`em_WU^Z(nab@-S4j5mNXG{gTM3j?5#2V7JjHhq)ya65p3}6-SYBmr0P>ldjR44u1zx<^I+Bue>#2I<0dn(=Cu^r5icHKCCX$>} zN%KvdXt|BQ0EmT0JX`xDuzf%ZxrU~acSHtxhNqBMSek@Px(20^qhBIfxW|!WKsvdH z=98UI8kxDok(p}@VFZS?VF%wh@(xdjM}${bZ|2sH(_$*zwf7+J+IN7D96l!Z3Um;u zH|T%J{f|dL1l}Bsu`qTzd-5bV*EewU<_11>>zfrnHc4%#GR9Xk;79 za;2fH`9fqrw09Q|U{s|H@#Fhz-SC&J;r2+a)*hr?`n^*5ol#i zO-;Oc^Jb2Wj6~R>WL|}ZgbRS+UX6;36Mz6K0chAbIFq@x9R-C&l9yi~nOWJ&INHnG zU-S>K5Zu>pZXS}EWo>1_3l|u$nW-@+#YIcf@X6yxc;D`ATvU+FhYs!)^JK@-HY#0R zNbw0#^Xj;af?mMobaJa{vb-O~AkbAb4hA#4BT7H4QA|u#=M$8yg$T z2I%|m{Dpt{aS~gsFydtk=drf>bXJ}A3!>a*J?S zhHl@!edFQ7hh{`Hfr!TZ#{guM+Kk%U0U(Grc{I!_XKpUq_g%<&IMi9t9A&@G->lQ2-gE9z+u~1L-9VZ{;m*FXgX# z{>rz@LKK_$wMui>J*E2|D=nvPD!CP#m9+dSB`K$DWWT+nmR8j^OSi&?-5u1hyPdY| zIY#^1PSerO3-S=Te&a4Z9Uyx0R1tyo%-KuSb?U5u2RtB`FZW32^Nkxf_~!K+(nWyN z3<{Zk{NX#At)nI7FmA5S6ci9By#f;R?C4C95wVn!o+Dcyvu2H?@Zy1v87YLe(Fk{Z z3{f1+0|GN1m=R&&RG42ts|pHbcO9oCtRZ5TecO)hRJ^+6c`grj)dPb<$Uh)R1V1?5 z0U!uy1iL{^r>U_C*`aI1!9hk;%NEX~W%|0ba>;yQAU;kGGRj(_uPf|ih2aufv1}PF z)YFqZEPw<2A!ucDu(y_ocxWMDVWZnw7+Zmb=<3X-DU*MpN%D~YR@Qux@Qc)6cu`Q( zi3oRWQsH{zwbvyY9>4$w2Vem^0V@G$0F*KIf*235!LI{Y0BZPiX{yd(8w+#Zzpq8u z2fEWy?Danx$S8Iu?!lR4Xd6Nr ziyY~DbtC$6>LQvp-B51PNijSOvr*wQnB9RgDsQT6WO>9TPZ7@tFKK}qD`6C-QB zxG?In^GzX_kX*9&&kz=}!YPtWU7}^YU8=1~&1r@xf^%!@Y?B)Y)M|scw zRsj$kxJK4_0UnQ@T@NMb5{AP2w{P*GmKM&-$l#>dC~j(~laBN&=exQ0;#saLFJVs? zJ9f6S5I+b6b*%RKdbn^&K@K0-vx9G5xx_cGUXeZ#IMXo}!)ow_^W6d@&_4?DvnAF9 zn^@~>tHlq3h!b?A_xASEnKNf7Gd+te%~9;+E%8FoJffoGWt>5> zwH??)$2tyC{f26aiVh_gR|krW3YA0&+#90}qtGwGG(P?GQ_%v!Jg`*r!3Q4*s30B) zW=9lP!ASVcmtXK#pMS=xQ+{D9Qxl%4Hl2U?_A6l^-X6}hv7wgw0U$I$gF}x=QHE$> zXz)3B;I;qpqruy^Z(r%}?^kE$@c@ed>-qn01CW3EKt^Is9uuovyz^wtwo}($$ZS0R zzLsl7?O$|#pT4CV{7(SU3LOCufQMR;ILb!>WV~8{fCzvCK!T4aX!z0Zwf&U0b$pbG z`o4<3U!jt+{*cmkbx1jWO;MWL&MTQE8iiPHk_yc9(V5Cl6E!hmqVmOIH8*A zRM7b019k}#n&msLeb4hjTH2USIp9MgWt%Znqge89R z$w&0ZKfWc=C14Bu`2WC&f#@ytE4j< z0P^S|PQ63?^y$bN@8|`>j!y5Z*YDAmorkDo%~mR}-a!Rrjg(WoiITEvC_Jf*{GwKo zjZZ2qunZ*Cg^u*2_DY&O*OnIAMv;GV9XUsol8t{ZxknW9+~q!`s_#I?P6=cmv`PTP z)VGjSO(OV99XI~p00b9U21Z$PT0o>Q_Sg;X=e0|x;0OpZO=MOJt-o& zoHp$^N|m)csH%Ra1V+LWl2=woD;@mA(_-op&aNSu>=~8E2x7#R6+pl{GELZoOF)7o z{JI2=jH+yXlF2bJO8~^yJC#fvBWR^_6xsU3laqgvun?Dk1P)Kk<))pj+;Q@(Xd%1z z9N_&eZG58hH23se6&8Zd5L^I|r-M&qofcyyWLH&|lyH7lI`3+3;=Mbz$|^5nOA4~n zIV#kjecT<{+s#47Sf)lxIXuWuzJB~jE1&LY=Y2c3Nf8y+dXX^&{R2UZ7-a!O5F3yD zDF8@eK^`Y2#BuAv{d}#jSNeO7A3sjD)$1uPCZ6*13q@-L^9T!%7Ev55!@=2uynKUX zY-R84Mow;?6c7?F{*PsbCNzJ+B8fo3k_!%j=s*W}#K%R6PX%kcS1z7G))(jJq;p(! z7_Y4;kyYCKyi5v@2$JztY+NLzr6)<+1WMMhwhq4+^hG2~(+7FUK1JZ{+3Lx;?4h#+c zf5g29RF!ACHk@S2nR8|)-56tHOeQnQWM+~WV`5i|9Z>-V8@+d=_ui|bh#+7=DGD~k zilTyu(z^muEFev=Q1^R3|GMt&=49rab-w@q*PL%$>sgz!?R&r1d*4@+2A>U$4Gav_ zzI^%e&*(z`pRWJ^d=BJi0Ma=)_Ihzk-!BhdyEjGMJvnxUhQ~`}RsGvaANs{gIj;fm zcn#p859)H~srEcj*H)PwC^eZqlDL+$FcPLg`ZD zQ>ng>q?>npq|;ZcB!cj_2KSPIduh5ax*V#>c^2!}THWA)rSBfj?c10sK z-Mvr!1J4M=D*geVboWzTZ4(1XdwVDM27oy4>3+g`a*V@p(PBh~2?&9NW~PRGXPvMo zo-SX!L`jMJ`0gK(C5r4T9Q;RP`T*yF3p?bvaGB#y1H>?Z0~1HivE$O=gNLNOdlIDc z`RAnm-ahUF&pUmFc@ua=`~v(r2F2Ughul3OBlM<(z56KrNCpSQ!TpYXEJkWY(;8aU z^fqrMQ+<5~4<8pN=07&BT}^u0T4bubl{T(jLu*u&XoZpzty#8=Hmq4gnrqiGc&t~0 z6MZ%5ZQa7fI*303fFK?P;IVeqa(qF;UT?qO4rJ zc=nvhTYv`+R$0i!QUD01k^aG#;?j*OI*@gd4rE@UwCpRCmR(4D4ql+hy(h>&HjD4X z^&KKbKRJeG3VpZz zV#&53@#RWK@v)MPn66|?A1c|=G*t)sP{p36smeiQy0Q(gsXl@4L&b(ZQ++jYC|kes zf>^TxYvw{D`eLCz{YBYW%votJmTj~n|EL3Wsi>Zc%kNP|LkE@D-KVO%opki%MRN3w zBz+riGIb6UF2PB{H6&Sp=Rk&*xpOe>@Qdb%6RfeE1NQK-@rq{zD+;dM5ZABW6ty*t0#iHGSO5=1>kp5<Ls2_6ZNoDfG*q5i_z-jYvvke}GMJC2Qo@Pw3= z6p75k2e>=^%B6g9|6U`T^sv$@xlt&(9(M}agxmoSUkH+Lqawq35nONx9K|~V#AfJ6YQ~ddl zUkK&Ji^OKF4Z_CUL~PU6Vi3{RS|lEz(dww>i7-3x5h*E+tt2=DdaU( zUj~oYl)M={-dO5Rzf^ML^DAXf1`#;T0V=;;=_CD4)m56h+Ex0)dUxq3y+GOC^NmtX zzmS@G$E8bmnx%ueS0uz%?@m5O`wpC>qd5hXeWr-A^Ka6LOQl>3dhXgCx>Qt7MR#hc zs`ehW-tQ#r!xa+Z!T8l~o$@?5iidLq$viMrHIn$3%y7rv}n)5sC(9H&$2? zVd3QN>c$fQGi4G|# z6hT;J{Tx7Wo)1rmYo!f*ld&u16zxN$an?23pIt-==~pN$@ickIWRi_fBI#HM^Az%} zssSzE>H&b@V;69UK}6d;h*ocPCAICIWa5@603ZhLDMCp%gaKswQfo1FsWk)0N6U8b znZDeS0c4uW-vfvOJTP_e(=4n8C>fsd{C zE;4t8a9}5c2p)|bqxfr(0b9C8$N|JFhTH>oibI)sqOho3RMs?$t5-`zanWs_Kps4h zyVAjd$fuBDIfx9yU^vEH2;xWJ=YSz_YI0G_(RZ#1ktk7Z=>n z3144d5fI=f++3Z7yPFedOs>euJ}fSsKPB!pR*BBGCQ(s-i!NTsWAM<~ ztVuf@ZH2joF&hezx{XZ*fCAnRMEPKSg)Ie)wFoIi#0ee&EFAMbZ$2cw;`14w2(^_f z#MVukVwI|rSgEp9XsWLf7N!PNbnP+&2LNPZe3(~Qiq)0k3_X7)d(sQ~<9X27*x0}S zUj`7lybGUC2=Q9a%Zb+-x`*F5S=R9%R&hCNelQGapR&e%;`eKO=#6Dw^qQ(Sy{7E* zUjXFSO78S;${zG<6%Srp{YJ%8dUJ)B^zL#OY1+yi(yXoi(l)OUSWMqswIv!AMZ9Rhrx<4@LVts|(DF9^T`5*_nVV|h2wT|;_;&;Vx9u@xMF<}5C zu%g1GfX-xiI>2Gzz_$VA6-H5z;^^Ig?i<-unHfjuZc~Hw;`tDDw6;*7uaD&A=`I~e zOOejy=ShWE3#6Q!V-f-q(f@Jz@1Oh$<#J-P*C)r!u zFc_$>TuECsH;{#a9$6UZ(l)IPys}bXwVXDg2~Ay{fn)vZ)f{D_NaO{#0cjy(PtbB` zYh%UzA}FSUL=e6aJRb)Dg4A9B4!j_kJP^~4zb{Iv5EO|vLae7CQ3Oz6T?OS8lvOYs z0xSR?ikvL0xiFo8JjZiE%!6l9Te*rS7;q-Y2s@UQ%~@rbLI57}a6foLWMXt|Vv+|L z9wSj+-!1?kUZKepzULUlrktaMqlL6L;~GWo&nMrwY}yf+Lb^L5X^oy6PaummcaWJ+ zDmjN|lViwHGIife+ijz0oxTq((Xc07hn>P9_^2@UIv|!AMu@N1xcnV}Okd_q)0R0g zfMA_9eVJlig^A-8Xe_m0&SS=66Z&|*K7BGzmuAe}N}tWup+C;wEdH`kM=V%nB;XD| zefbtwFyEG3S-FPN4xcDFcm(Vs zC;#2#=oimsL+~J`F0o|k5zkWy)_CxP*m&(EbLTL!bPXe0&nR;AjTW(c4~f(HS4DMQ ztGIQmN|f9zV;-crxs}ye{Z9v&19>?jTzSi1Go64l*69D@fWEggVT& zP-FpY5F7NH3is~kL362CVlB#)x6mam0>~cfDbgzFxy50Op%FHVS_aUXE=TY*Z(+nUWMvvtcze?M!;>6v8 zo8@$?vYu)ho2lVmE46n#pqDR4NG2l&5CBJ0(>>-su*ZGy-~q>lV* zC+|Z`nN)h~rc_aWN4l7QR*DP_kz8Gzq`e8drTV%WX>4>@>hJHR@bFLxy&)MHNBH*u z`3|svY&a+=gx?4t^Z+P`JTWpbBr_vpGSbs0?F}19ZTWK2T(gSwv^O#b;%H?~8`M^j z@}l`Xb>KMw8LY8>4hSI95t;}d0}&_y5py#m($r9AH#!0rL27HRQ|GB*(Y(1d_lMa$ zCE)J~5*@i&+m#>6>z5UjBP8u%EG02D;JBmWAjEX1IIJcq1Tq0+*003KLf z0bszH0Bo?vdf54Zd61EjF$R(U4nRgHgs5xj68kgHlaYNOxrL^ZZ)_HY>^(!#sTV0C z`5Xnr=a73uI$8Scv6_=}n=1IU!cmh{15OdO6hRb>ZFg+vz~kL7YQeRAqpDmNC+Tx?9!=jqYZ z**Y|B_9mJ>dn0}NgC@@5p%r?4>Ar|mjg z9JGkzXlo@>_a%s@eO=hxi}8_X3??A0VKhYOA{q=&9?xP>K>-!SFIYjtlY-1FGy~@5 zp5)aPZt`H_g=fp#CxGJjCNX#6lgF-| z(R|SL4gkcT3Dd^a%V&j)qqT5#vJuC#4v8z5^62vAJjywqL3|>FLLoT<>MNvNV|9gGIjpY$D){=V_oPr?y-GOR*$O8+Yq5CVk7E9u z?}hH>O_Y7~Fm*rdAlbwS0|-wavT;^mDF6igM{j@MSa;8pmhtiNPl@P_{|-F7ukhaj(=+Un>m_4oEG{cR|)miUvbC&JP|u$SX3q%mG#~9OBLjJPg!a@Rk5T z^tWxF^mTwJ$GQqiD--?gv`t%!)~;N}zySc!T(_P(&sCNzrKJlY&qaL6GG0O9&y7Ui zZCf{!rp9^(68&vkd3}Xx1>6V7Z2%4kb>>gjtz{5FJ?%Gt`wORvVmyZt3R4KcV)aV7 ztQQjr)>Gg>u(|@t4ggVr3wRI!3szbH4uA^ItAIsRl8Tml&0?UhpUrIYdewK z9CngpL^c3KAZ8t8`Zl|0F=x54&@v0<6_%;bA+f?FQhdF}X%axDEV8AkN)9wd$)2Vt z+0vAyHZ135HP%vdnz0lCil#JUp&@%<%-ZGnsU zi3`Qde*i$L8e6HZrHx7|>L}~<1+sMVAze#1Vc`-gEM3C{)=$>%;ml#U1jO+K0uBVg zV&MY0ZWx(5N08x;a5?wk5Wyf~iT z^-7VrU0NX;8k)r8?k=7{Mx`+^Jb|iV`C)VC_$Y%&eO-;n%s4FKcg2YP$$Odn#zcVz z!lG-JMM}~h$au-!$)1qbtF>;8*sQglqu&vM0#2m&aVL99AeRMk4O3xX_ao*+z(-^p zJ|wPOydX+$To>1`6!6ETw{G&bp{lBe>uq7sH8r!~H8A)M7z9HjV|Zl+voBI36vy4e zOW4@i3I_)}VQpn5?Cq?CgT1w|GBf6GApH5qhM$Vz=Y68NsaoWpIS$|u6?blmjPx{$ zi;Z9p2zZb1h+qyuoj)HPIe+DwD|kOJWuUIxIbZ&lstcPj4mdsPqVo#kHAdnic8b9xBe#%FU%JiHM`39V-6*T2 z+trO!)znN4&G+fv{SJ<7S40!IUK0thJst zYOLirbW8%dxyKnmu#XH33}pE%z(Nsd2;KuE7$mj$SVeg$Ux-0QpE-S!u3ssT(hsD` z03e4_Q>5;P4&An!w`GcLkgHfggG%fZTutW8aMg|$gtjg?k7+8XOfYn>XC=Id4=!ek|P zo~tfJXyQ`R(L%htCa<6n;f_B)(t9Dvg@6E&D3JIfTMH8lKtnOLAgB>P57P&HAnXPC z?mK>yK$;7qph8uJNd)``CX)}|pThE8m7uI|z5Iw*V>t8?3hQb?k!OTwFzU zW!2vSh(gYbiG=wOiA$zL&(MUpR8&i@L3?POt~0GS@FutL3<}wIfdUiq$TKRFc@U4N zbg~afq7^z$G=X`1pYQy~HrmCWe#rN%U4z8-z_gEmc{qeC<2ZlOQS z-$Gx^)1kjE+DzXoZ=*S?TWS9CZ33&Pj8g>+Aa%_TsJ7`o)!(~MWwm$d?BybI@(LwA z3umEk?IrYWe1w@(Fj=^SaA2gPZ#1j0u)@Mx%fcm;!2@PO6Xz&0a0p`n!2|;E(6?D* z=c6wsCy>dI%druDUqSMU)elOhprR_hc}-lsd`=`M#xpN+^>( z#de*IV)Zg*o<5Qj;%TVAhlDgP2ai_(f(ZoRp*UDy_4fA-JRKTzCL&&6{YwD^M0(fY z%hyZqJ^W=xVcpy2kr}#QXt+Fqq3~C#uJneAyIgVgGw^tGnJ2xy%w0mp)%z>Fq^YZY zrH|EprBBzmNq^CBm(=azr09(6Qsu)j>A`a$RWv`8j-I^0?P>s!J*hdAoPL(lbFNTM zelg`;0f1D{m68f7E~}xc`n%NF(#GI{gVLzs;ZX(eMNzxVV_EUAw`ApuEfm&UPO@HdfYrx2~GPdG>SyQt@I4dZ;6pHhn3@=|v=^WOb0KoH z;8b6sf()#s?9vBVBH|qr16EHMzY$Z7i37j^6CoxJ@EhPkZ~!FWLGTkfGP&e=w zW}f?nsm}qi!YD#~z1opJT4FT`AW&e*S6K2j)`u##ti%HU@tKkt$GL;=z|=AQdoB86 z?q>SSQazfz+?eLAHm3QjjcCDY15#2q5GM8k0-Ye>KmZ`s4J}mNaF18Cg(cGL z(+co*XR^KI`W4aM+{8pX)?(mRIOc>V#Q5+_appv>h>MEE6harzU!X$=4s!bS-o1Ni z@7{f^%sO%MG$kdcu(|+aL7cu3>ngmjuy)?GX_MH#eY=3_Dkvy`<^1S)N3t*+@W-># z(eEy*avW9h8l$*=gj8X+HE=;h1v>LCeeM|U8v;xRhk%i z@m~OBVq$EP1A&ycZ=iqt>Cj;P@aV|b|0nYNpSr>#`mX>YUJ>biFGgOky5IGSa~18s zb>4e=$)7j6-Fttv%fzo#oah&-9`q|^cV1ilZkY$YwZenL5#L)b2ahSMJf#m;drLFb zeWjUeT%_+dc}nKNN2DVK^-^Q^xOBg7OuAinUrNn9#hwo+u#%4E)4`kq$~t|6PF*Zz z)zy`fDk{2DO{LX!RCl+9?zMGNOZx+A?LbIk9|OqvxQy#+0Up&gb<_a`R@W24iysF7 z^7!#Xmhc`qm`biYY{|~rj4z((*#KCe6bALO=;i=u96z2->FI|kCMJp%OHgXzZXLjZ zJNJ!R8WbKJ#8U>Qjp1iQ5+;#zXHH867tZtg>cZJPDeFkO6yW2H2}NqV-y#k4_ezZo zb(EczA;rhXOYo8e1O)MmToJwq{v#$Pjv~V&*ju8zWh?tYU?em%Fd&W9D`}OgT&|18 zK>!FQ1*oO~B9PxId>o7B&7WKup*#v?I1biXAn#Czi}-h}t)Rw2R|pb(w{ONe3!tRJ z>nr#`Kz3tYg*z;$Ou%J8s{77cZ?ggm-^14+*+nD-)>4=%Fo|H&z*GWYk-Pm@@YJE0 zJQP3I*w9FvIdz(O5N^eL1sa?V`zq>P0U$#!#za+P2fua<9fD|`z6TjN?IQ2ElN6qG zp1dM6$vgTe1;uAGN3zX2gj6;;(V`7IgsFFmaE&@9Hd{vsTi+C61I9$#2T|0@r}AG%~)z9rY^GlF97l(OM2x1GE>Eh0c6I4?exhUZTjQ~Ie7eai5~s1 z!i1DH?MOw_n!#hq8UtFj$wKIxdy24~2dLmiC9AK>YnrI6x}HI#_;!_u-knOeE`dVN z+!a#@0YHrGe96iwkal=RFnC~{C0}ht$fH|aqj=)bwGF22HX$tKMVt#Jl8wfmq+#Gj zx;6p4@&XuHItGZq$V73muuRl7bTWWoja5)^RTLGMh_;S)G4yjgp)x#6q z*KzyyEmk?A^ZfCnc5(jPX_oe8XB-lR1?Ld~!j5!I9H_g+Bm(fzR9`JNZCJ}*k;sq$ zaU%PuID0aOO^QK&-W;@u_;)ceDkesTMaAt>QE=fr_!qi;tCWr$PG?V+d_&+vQBg6J zyg!uz1WK#O=qOD3=;#ryuC78~Uso6z8E{Y{R&Tf_06eZ>KgQ)pnwXqG zUdeX>ATOT3eBmV{3F@oA<2wHL00jOI>1V$g{ii1cQ^?Tp*z5J3J-@h8*ZJ?>DS6+1 zyTz+?s+!CAuT-3*H&iiwxWZk|lgE22y$HbZ!AehQ$_fuYAFFvwGuL@bU#PoD^K}Dc ze#z&hOV!;{bMJ)I_~5B@?M}UvoSsAb4xeD($AROQ+4phmTnQTnp}Hz6ucNZMMyhGN zM|WG>89drLyXZkz4_DQ`cs@#_V-mHsKct%4Mn3mDAJD_@C-kJhZxTRInF@1I(!M<$ ziwq6~Ab=cy^ctg%7Hcf*B~ej%-~jGw_Q(sK4D`6T3IE|ZX#ex`^``U#DN;*Qz4UCL zS88v$D_zPzBOOXflJ>+!OE<1uk~P*;${MOGWJeCBN@q{yN{=44OU?Hhq{6G0r2WbJ zByVqT$=BCcLJR|xBv@ksNFW~us00NBvI+~vK1>z}Pc+xlX8>8LvXqn-EMSu$00X=S zCJ(sCF>T-?j`b1l{P8hlwOB>rV4^@`D1ZTch=qwUN5aEU2*5yx2m%<9u; z=*MN-NO_$hDX-HP8e8myvrnwZyLgK|AOMhCcd9sT_*Qu>rKIPQM?kF5w{R0i*4|`d z>r19~eq`+&L=GO|Wa|;ZiYzO)aBeQ#;h#WuKJkRyEP%*Xn_$wl4`UF~wGCzP*r4x9 zI%Yl$BIeFmhlLBjus!0~sRB`4QY$Jd8kk7W&p$8D|k@LDH-E_eV+q4n79~ ziF$;#wpP*J(IN(i`b2kEr?`IYvZyM*C7PRRxzZNvshrGov43y82=ws~Hs;1WfgtM% zD=i!=Q$ykH<|Lv*0~urjygfwG)yurfYN)AX10zbPu+D-b{y}Fu6aQVDAbKf(2d% z`CSkJoH(ArXMf_J$yDnAe{XIKMWoM+86R_W3Hm=knj_;1ZKk*(#QPZu+K6&TD)o2Y zeFxV$*BpHP=P&86fBBMTfB%h8TDp*f6E|tBW9hDysSy=jy-YMV%(3m0$-4j!nLIoZ z69~@Wvmy9D+A)0~Jn{c7fGA3({sBOs#(F+F@p?;F{~OoqAN*U$k&BPfJ|KlAaR#wsQZ9Cm;F`KOIl_YA={O6OS;qk zQfljyN!87dr1OP$q~yc79NoavNA6Y1$Sb0gD2lpXK?NmMR8sXyb@ht(Pyk3*cRzJK z?xo?E{KY+lozarJySo$@7bl%Rf06gN zAkz`6fV&pF@GQ+O*b4$+P+Pu|5IwK2tuq-{f(Zlwf@wo*J^UQ-do1H=1BxbG$ni1A zcuXOfoRAiZ6&&t-03i4~L49R!ZN=*=tgTRetF5_y5 z%v5MuMGEJzOkwW1Pnf&!5!-Degoc5SP|~m!E4H{XfNZdeqwm+r0px>4=Jeh|bLKrh zSZe=@2eG56FcSWE0P=$teZ62aEna6ue_gnV-u-+5P5WvI&0Vn#(+B;iq)AIwY!gOS zJ|gGL4N+cqUm%*Nw5*x|qyjw1g(3=#-7oY^U4*Wg8yQ-8k+}m_SRrKR7E0DI6*>j6 zG}qB@Cpic0BYWT7lK`^aE|hdE19%eAG52Qxf!F{5qGRU8lM8|wL*vqzOwT=CAj&Em z#Lbd2apuffaW?~P*`X%t04~@I3O^Mz#O=C?OK6i zwwRbGk(GIrJJwO9o12rx^5gO0=Nui6{4ID-;-bQNTDp1Tinv=>#T_Pa*I&v%EuK8? z5CgrBVVvZYYc0)n90vrx1G!i5M4^=s>MPV1pz;~yIXF$I!<3a(8C0;sf-@cKG*wk) z`tw(RqCb8yQ~Wq*mQYn$BDB`8<@#E<&{GokPQhb67r$BN zB!LI{XSoLegr|{33&quRt*nMhYXKnlsIj$`!Q+1CBkFw6 z%>dH#WPnCTWQ3jw07yMnT=zSu<54$t_w`f%&@<{Ad@A||`gsBYfE-9mCNDQ<9z*e> z16ht<<9++~@)Uv^S=?2uUAuEA;Ingo>6uDQ|QnGtd2`X%k03 zXt;4)`_zTz^!|J^dVh&E9{>rISRW`^PjVn2&_AEQji-+pvo_FI^R!7x!L=`CIpEN05NckWB>uMYMc3yhM_w*A#Sq@pe+_Y z9I%K~U;l`G!Z&oc*qeM*+_+iJ0Fr<1g1B_~iYTwF5Up+ZMR$+93PC=BjEjjed1njO zT3BOYoz;5(uDDTjmD6=0iN#$z42A%Y`^^okv_c{;qTSJzjwD|Y>i`dbFE`H10-#_z z!Etf06@fmU+}pD=DqIBn`v^ZTcj4#dDWb!}L~LXPKZb?`iJarvP-X#8U@{cwGEYuQ z6xmrBBI9VfNKM%%_Uw!iX~~J4tUES5#6&&71U0+(I#z8s$m{|q0}#X1gb4_a`=Y`E z3JvsQBQDar0UV1LFJw*wV1?BbxR0q*r_rogvl%?*&09c!_`@H$0va_3SpC9)4BNmu zbu}^TyT6LHtCsWhf!4t_D^!KMlLOV1-=?9yCnOtr!P5r-MA7-7Fc7{Nen~xjz0#wu z$1h$Czce0~P5kQTwv2xrfV}$Js7!k8$+MBy@3cPo)&6t0-`4U>bof%+d+_(m9i`u> zx-fXWwZe_wTL}PhmEKKqfP0B$pLUAo!x>ZdjRgF|$57}-r-EC{5_J@z; ztE;YFdeSp62_Tq2;7YG+YGwdwf7nHjd-^ejh^K?kSV;mk77{&C02AozMOm3gU&(ia zxQ`sfc}PeQ?=?Y;!CVO990yzpF1Fwha1l;TNoJno`jtzv*vK&1v5a(C&*KL?aXcUB zm6aAZrnu`dJw0zL%K1$g4uL9{$}y)Z%n81Q=n5PtU`zojYf zz0Zm(Og{h&Od42EVQRtG06th{y(-e7AAk6X=KVCE`w>!2NHW9JnRCVKr(dx;8wQ-xpqsG+$tB>Z9y@69&Q~2XUjuYa%GJuo}ubdXRIns_vACQDk4yxOm$0n8|9m z)DdX{H5OdpZjN@s#?nL>Zr`F<=LkPfH|_?0%+W7$A~%~Sjf7pX;?nsuEXl=z-vm4hJSYGbtlX|$J}+E%*zy_;f4=Gv0=R$1BRoWwb)^6#l7c9%085mM9=zrNE&@fJh@h@d0y)oJG^e+LBe>meLy*4;H@p?sD*DnuUzVoI{Z1#q~XnXX&yUbqp zdzBsZ_A*yC34XBJgF_N=K3wA_eXQmseX8yy{aMRj_E$|G*-Gh5{M2gEr@^pVkVx_hsM%E~L5NPqOWo4TL$iYGmNT#y4ZAv_@nXT#Ki-tg3v zWZJ(!iCo;AY25~O($(KiegVFew0|GP#zvEyn+vP3K(0ehi@SS})R5GsA2AENy9?}(!i6)vf{!5Sy-T-v@1G7!Zgy?^-y-Np;mVF(s`-kb_w$( z{e9g807==OBsuP|mwbJ^B=n>w?%hK!I~-ZzWn!Q&P)`f;9BqT!wKtQN`g$}dl7^Z( zZCI<$7jYt~P7yFnHkNjg=D~6&HB?ouGaKD1hStw*zI!W}QuZ zwrt+WPIXKm03S?WSm$9C201U@6nL}190iB%)TvYXO@dJ#ZxV#bfiFS16y8vHGvWKV zOZ)1puNdew)}tJ2BduD2)fNCrg==oBt7|#RWN7I5quDJ0<}`9^1uThM+Ah&f7uJCBi>+b&jOE!*NM^qh7IkLY7! zt96*rH1rjYKKp6)Mn_Uowr8~bXSB%9D-<=&o$Ld_O;h#V7D8|N$#d73qcF7c5L=9P2)NVD9R116Ie<)@ zgUHk+gba5Ca7LDMFd7K=lC5_fcc?>=1+D`Jd01Pm0!YW)m%(J4l^+?~`IEVWADP&C zlXq~Oh}o4Q(lc^JRds`?uBsPj&z=+6*~dlR=`*6Ru#hvd6m5l&RV$h!74^gT7+gq6 zNwK(jvq;p{)i6N~nXiYtv+(h7l)bxRn7GH3@vyC#Jt&w=U}{8kdwgsZis!gA z3ZAjR0Q9Z9^7{aRqTv6)-QhjNQ~1o8EN{nIzFd`o1-=mEVSy*Xdq`u$Iu@iXUARCf zFJ2(@w{2#z0L}`Pr6MLGl&Z_iXkuje?F&_bkkr@LH!?Ulm@AXX-c)!$ z{_g?E&s10cc-WCn(reErq}S^o_Wt6;&AQ)ur{pi3qwCW?Mb&oV_e%Ek&N64|{gnU@ z4{7Qe`I)BXE`6-#A$_XuA^UQ@m+V^&FPVmYf-EkpL{@ZnK-Tt@q^3vxQr^{KDJA=~ zlzRLur5!&@hfbWQV*}A)bqxR7APs&IwI-Rh8u!cR7{T{S`n21_zLdnK4;dnNw6uBppgWNQsFF zJduD4fwL6T05}BrDgYqYFJGZ&eSK&JV-P94d_lHv&o1fg$sAevtzubqS?NT2+J5Fl zTAS)+qt6GWu@^(q{d&PML)X7|qI*E!5XNfONi68}2_9eoY$kPS7 z&f)z)29^RiHm=*ioCkmbM{m0>cOw8Ww3H!$1Sx z1kZyr7vKN>yV;W!pWpuNJ6>na{c)bKv9V(SfpKtf@EOOM{9`T__z&5*GzlPk4xS=w zuXs|`afB(5+#<6mc=svtjyytcL8%NNSZP^!>?Y++4y2;vEOcxlxIha0$0lQc0)VXB z;zp|L?8sn892vPL(hB1s`eK9a+K^vO?K=)-T<(e&@u(ahPJ^rv~+ywZY^@YCag|V#%=@{4xLt8I0-r>uB5EJKM(zWxYEmodn>>NxE z{yTXRfuxsJS*{UWB&BB?$SW)G9~(`)UahhGm_xxdV{Y$FZhnyz7`jXB-kU0J6qSm` zhGuc?>UDAM?0F`kPoF#`s;cCDApmu`u~SZ@V^YL)2oM<>8WN8lJrEBccJkV|udj!t zy$CP`kAd7P5aY))kMKeAF53Q3my1+h2wf284sXWI;%of#V6FpDK&6C^juXc+Imj{V z$RT#B65jdGLYwAse8(1X?e-Ed#1_K&Ns+P zT85ijIzClh3A2TI>yhS_|Ye`oVRyH0eZE7PU4u(&NrHsjaz5 zc0BWlEF{2Jb|LT7L~B$1M9-tniK;udWVdbWl`YNq_)`Xv`EwWW zDhr*_s>;iF0>Q-!7byUU;;t7Hh+_Is07zGNzbGiG5PJ`wA$z~Qv}(H>=~#u+j^M)# zAfDle89@A_kC0zXCfWKVvJz{Frmavn@)1s9hgpH8V;V>{ZV9BR>qW~qIFOD-DDxoe zZKCPx)%G-9$(%l1Vo4t=+3*Sr0P@a43wm#{6@9S8iof^CQcIetY)*evv7kRH8`Ed= zw$jJ5HEHTM>h$5?)aawXt)=PTsL?0it>;LSFXwKe*~)rim5!YV+jCT0Ev*;G#DZZK zi3{b`_o%G4mFs6M9DNx;oO2?RhgIyx+#KObUsR!2vhXlcI7{6xj=64CScfv7Gk zW#v=i?w#WBp;T5wp+E|&CX`E|gB+6!4275?01Ecj7VJt#6cMHiOfvWw2U%S3iQo~R zA4*H&AjE4|F0lIR?CBhiVu#NIQwCyIMqWG>EseDzHX=l%B_)XB!pq`f{u#6+(urf4 z1i3$e2IJ4^9KJUA*QIo~Qs0xYHr;h4K;C z4`&B^a(8wTC{ROm`>elx&Af-U=6Zl5ojjgJ58GSW>%o)9E9W_sR|?<9tIiK_AJo;= zH99mjbYfy+;_d&TIO<;mAPNvcq)Bu4z#G@CislEC0D|e`@W~65 zeXfwsUAxV$^PA=MyuPYwY^A&RJDC)J(ACY}4y>+vdgLI2z(j;80zfcvV2y;*xd4;<;ZD*}KZlnt@%xHzM~7(K>VV}U?-aIhl{tqo*pZNW+`dwW}2w{9)J7;rJg zMN@G>cXe=(veVP0TSeDoH?CfuIF*wg>|pZ3ef$3~={$B)>6xH~SE!2^W0wx$Lj#ET$mM9xoa;I);a zuLEI=h&lmKfN#Kb0eLJy1M4XO3P1uYDm*IO;);q{fQkZiz@cF3z!ZXlErdj(Y)eO5 zlK~VUf;RyU^006~q$5=n;DFp8s7#=BhY|(gg0EvQ3}69hzCyY4QgZ3;J@|D-c<*jXwTi6HS|? zNz=YtPanj+OAaj}siG$eqPQ7D&!QVJ$Qkla{H!B_}qIy%(%#>eqFdMJ%aZV=)Co1Cnp;_`(& z(b;y7JssdX!bALpnXw+58bRtmesG@;YIqATonzHifA>RVdNI#|@IrUz9pvZh$$jTo zU19pbiWlm|k3as1KKtxbRu|&^2Gy6Yt}aKo<7P@8sAxc6ef1}rHf<_un|XrAjUXiR zNZeIgv`{QrFqc(VSj8pmilx5pN0VLWKL-(j2fQEfd;mnCyy|+=E%o;HJ{TSzp8J35 z{rHyx2ps9{y+d!@YU%p*k!uapH+t+%`CQ%k*$2y=WB?E-uRdJuDf>vxTlTS+F|G>+VS>E?%LO?9;ru$~sd(CodM! zW%hkEP-#^YmDjaU-Q6~7X?sWyA3b64KuBUwPY?C=KB3+ojw_+T!DsYxc$B9T07y-3 zJ>6?=rPllH=mgVbg)!W!#AXS>Khdxj!Hg4u=c>F&XfQ0T?cJ&ubU;!DE9LTKks zq~scshQ@l9@ZtgrnXAhVJF>Sjmy-7El4>iI z&)dq6pDoa(&*$sY*Gfk8jf%d2S}Hc}1YNJVM>Wk4=}yf(s;q6{=1nNHQjVM!j$YAX z{Wfc{&B8-$v+$y==I*rJ((@G=9!4&KyU9N$jeNqBIkMf_HIl4cBKZ5;EIjzR03K7v z5Ds8O5My9$3UP^B!a)X*$k;@Ri%+8TBiWpZRa;vx%5Im7E0?c|QzuSxN&rf~5H*9= zLXhe|2NK093qS(te06mttD%mh9}<_(pA*&PWegs5RdVMyx7>+h8m7ONr;c(=#hO1J2`$GyhU7e7{{mx*$4+Bw%o1b z&+&aE>y{K1h*P=pDFwd|!0BE?Ej=6PrNO=@bSfvCJY1ZSrp?I{Fc0Gf67K=X>hYdZ z@Orp0Qsi4<(gt|I3xXR^2y*~7pMUl#dp%aJP+@ueGNr{_S^MLxZ-mmK`J8{1ln_r% zb=5RF@|@$^0UoTik|t<;e3StMB?bVHmm|Y44NBcTPX=GUd}%yBKK^h2f3N@l>j0u~ zq(2&b@p@I~z^`&k?@!SWO!NO*%cJ*w6+7Acs!o#tGHs0)1IP?DZ`tSS-m*Wf^JV~1 zHVl)w$LGn4?md$ly2hm1jy~ynd98FT?*bhOBX0I zG=x`CNV^4qz;tA3X~{u}029c1;Xt>rFe7z!HD2G~j@;bXfP(#fr1Z4?Qr?N+O{iJ`v1WL++df>>SQb464LN0lsG z#4m7sZ=TMp4hI{4;R7&`;0y8`<2e33 z5Qzd%c9pC}bfMN_E|M2}Btg?iz zu0Cfm0VuFxFmjBh)jE!(W9m;@Mt-EK<;)YvcGo1D zqv_6*#e4Hj7(g(2ygApB-dbQuZ!eUuvff=_#sD*Qp(%sNM~jR&8*8Sr89UTJU1CBX zFEpg-3k>++M8Z zE;!k}f_GC$+1UQ;$Bm;xN)sWoI9J(2c0c#t@m+b z#vq~q5QR@i0U}ssVTA<~AEpq*kibQL?#xMXEF+!CY;X=Bx>4Q)&H|u-20&EFg0sNI zAH`Du2TTeh&juJovX2~O0JxBUieu#QeN@h()CypMU`B)@D*DXJN{d8Y^=;8mTPAK4 zUJyqPrSJrVi36*n%jeI+*F}fZ_LH5JB?E}Hl?6}QkiFwQfN3A^A-tyX+D3LBZae`f zFbTrr0RahAoVae_Jp!}fk8@`6Dp*5(jaa&H9)kxCd>>&!{#16Wn1-J{<(?08eoTyy z((~s-laVD@VF5r!$H$O)1>eVL|I>j?Ns``_Bz3zSC5i3@!B{Emhv`q z4gKnDMdv%#F^=Ms%kSaWf>+AH+Vi|(*Yo>%3&MH~GobEMsH= z$roki9b-~+pG>On?3J$GDrW%6ICYW11KdY`VX1t5RoO&kwaq+zG~a(f?GLcJ;&ff= ze%wWUJ-vLMbaiw3Zh!w%8hZ9(k^=#NU=qO^3*Z0w1cF`=>@#t95B~%%ps0-9y?ZxI zNR*I}z?HS&Kag{Skrk5%s&5VSw~?crHSLazmLA-1mf-WaaQ5^>|C7fP&jxxY8fq%X z<6|NxVk1H)iVF)S279~5N1i<$$23w_QY6Df@?x-G_MojrmUl8o=HcQf?c2Rm2Cn4A z(>^}nLZZS#>C(A;D!Fl;!oxy%t%MgXNN<1$`U4P`fXp2PJK}ThCRw?Xl}?C%8k*a0Nawqwr=9>mwji_KE_yDJ>)xD&(2Na@9! z16&8*JeV-h0}XNmiQ_f3_(Of%4=+FEb8j& zc|wMouy06qHJq9=mCorY&I-*=!z63)C!WvrPOxOAN)Vm1bh2nKvCfUrObT52&KPjjHNesk*L}Y8%_>c6GBj zn3XSVT|I4eFGbBjzTeW z3}pWZJ~p=ZV^2vyR3h!%mrgNz(ilJ@qIc8Y#1v6@t(d2f%F1eSz3>{ZvQRyI>t=~~ z(9tOd2cG^cHTmyXSwcu$LN)lbpCi~S@7xv_^UsPvUmxLQZ^KgnI0~qq5LAeZJc#V! z=L0-FbhI>ai(!0B1fTpRqKjNzAg9-5j!-eJ<6|65^SBX1keROlg`%ztRw?~;Y3 zU6EBko{(Dme2e zxOn3ZL{()8ZQZhoY%EMEEXZGa)ZWVEczkS>4E#rJW!XeaQ~h|=om=C@g$3g`u3VaU zIoQwB2{@75tfLbL_wR$;S5{S4Dl0F&IRS6TrTjDO6A=@mtkl9PYlp3kgp4h`sG-=< z*W1n$1zybPBf+GEF&PKoVQg&7kGOc_#S7p7pa3lJ9DoHb;4nFX?86-szJ?1srWG8; zWCDpHrVNFg*VsspyVC(I7~%2nfk_Nv0^F4Wc%Zz(?~An+fCC4T-Z$TTlT|60L=Z9u zfWw~y(+Zx0-yfU|JS3>S1tGa~@e;9N-FjhZY02ILfW^ST;48vb9_c>WlRidbd`yV$ z?m=;*q*kB`ASm`QxdtYa`ZiZm-|j(P5g8P?Gnf1#Gswv=2>>GeqmKyJz!b4^lRYg| zGbKIy2;m%@#^k!n25Zu{4X3S^q4dKtBU)z^MA~-oV%AzGF=L6j_+WvVc=IPC0RZ{^ zJoy9y0D%$5PS`}SIE->VBljtD^L1=sCy5ns`D)Sx2k)lyP_4kQdiE| zoO7AMgc->hj0i{&2?~k=3J8(}LCh#(&H)t^$smZRAV|(eK*If<^VU9>OF7*=@4f$< zo_RgB)_2{@B~@2*f1lqz`<#6Y7pkEgb> zLK1big@xkITTE+Q^iU-zS)Dn4m@l3=A-mME&G6)r1P<_BFLN4D z5$LAEUJ=Bmpd2~;{_cr48=M19~U2RA!-O>Vko&y}D=%ywuRMR5H`^(Psk%2W^pUgzD7Jc@l8~4`BAJ>7=cN zMNB%954G0aRY|>iNx63Uf+}wNwywQ9W4lnwdem6g#huT)N{ViEojHC4?Ymu1n(DhA z6yK4u7R>b1$B(GZ^QL-Ld&?7aY00T6FI5%aE>ImyJR|_YS!!b~egwRTWlNT_m4zh( z05I&JKF|(}3p0R#&L%uZCkOzdhM>Mc0~dGr5UAA}8XC&LlLjg%BjM-3FM+y&zkyzL zzyb-xb}N>W>ncYHTm(4a$-vB?Hf6F57vioA071MvBs>m)0Z72>fTV{i!tV#nH2a_d z7JN>#FGRBoWX!11GDzs?=*YRbxl$g%#R&j``q02b%=9ki_738z+Q)o3C6^;&50g*8 zF6p+KZL*qX7&w#j`kmwzbcnnI4$#Uq+i3NMSoZMS$?m>!JVS3KjhVTK=2?33D&Jka za$O8hn7f>eZGFjjxjzk@XinOO?mTa40FRu%n!lN_gg+Q=!G9TU&2J2`rZFiwS*nkN7BJFHz?;$1r^+TKqckXbmx9KBHsCOY7Xx`e1>gTt!G`+6|8G& z&nAmpd*GpY)IbA|^19tx0fq!JuJ9lmyEO<=lonnm&j3uKlW#~Y`G>^N#-J$j*&I$j zej&8cKbY2U+)VKY61k}8F5kXY#2IOseBs=Ab-vWO^IUKG}yHRr9Plf zZ<;W63}+GzSpWba07*naRLz_^MFt>^^cG0V?izO&x_t4B#I(aSN7)JrM5a6h9-V6C zfy5GKsj$>HG$|ETm2LHn4T&u+Eg$`D>FQrnfk-A6k(9A&o;?3!a$)6bQKvG#F!hev z`29@#ryopOp?VP@pH1^neKo^V_4QOY)z3O^s$mP)s7yU#RMAH>m4fOHrSb_W`6boL z$qQHM;IT7w_{Kb|g($Lr}0Li;q zAPNLShn4D9UaG07kwL;Ij~{Z{jq9`{I!XZI;^Zvy6r~*efgsidYc3IIf{?|;Ml-IVyUQOyk*VeN~O)|0m{Mlnw(z(;BL;LqAm(QP3oj9DJ+7%n43h?t) zu$;<%`7%Pw@jCCd?C7wP7uzgis0vN#3U~DQ1BUW|_W(cu9w=4eXutxa59KPnhKo2r zgYpp`@frYNsBa)j4B)_|J<3%8m!I!?+1Ln0g6=EKq+o9dy3z1PL;EkvSJ<$o+5fDW z^#G*s?+SpyVAKo|;%i|*;`=0CW%e9-Gs490-?tx6)zX$7)rEzHa#st8U=BoMoTGdt zvmjl}&)XHQsD8+ou4W5BHU{mHd5`&KZUPWH&u9V2`k(}I@Qg$|uK>i;cPGy?T}9(` z7V~sNXSQ1##SY%vS!_@~LX{J~Ijes{Pfzd6i` zdyQBu0Ks`{p?rdPWl1&$@OIS7z z>uIs$1_1{ip+4{&uLB&iUwx^o0A#t#I&$#}Adih(<*e}w69pojSX*OhV_+n$^ADws zn?h;bh5!l-4(FrCPVudRJAA*mR3L)65J2Qg(q+!g&XM?i_>7uzmPUo(Id+=^Anngv zMTsC$_uQ$IoO$D#l$LOzhxdUYKlm4T#K%~N3$=lg6}*qOC(T@xpCkEH00|VurSqr6 zL{)fv0_F4ThXJy?-T6SFk2vT=7C9JQed8odg z=BoN><|@^2y)`N;?>HsybdGYXwq2=stSEW+DwX5su2TGwGj!zaRRPGU%W2|)U}Y@^ z2sHpf`)*ZTnl*=J&YUGu8{dPE=gh&T#o6LT05AXzlov{7P(9Ldve<^)Ry)huUqAz8E6u_w zv=;+1_-_X|0Sr(fP#btt;SqObcvArw@IwF$sE$5;`Uvm{7pXdJ&AZ=~Lr4O3;+@*8@h+ps?TEAr<87}fB9ivrb%^J9}0emrKz64usR&GQ%e z@eB)J9yr~RKOSMh@1le?%#xuvULRpiZ;Z5&M|nQXO3s_Ztpz4H?~YweZ;!U2Hv}MR zu>AgLLA{2V()%L;5EJ@xv;hy8YRlL1~%-Ne<*9D2<*chZPS*_n3 zLB3nm0D%fYDa$`Nn*6pzl7CPb1#F3+ZBaX;@ML&H0We+ z%K?5Hq}-KpJ((|`Kf@PJpWw24MKTbGc3jMR06b7JctkfB)XXN|b#!3gPRh$lr~7wr z6S}R=oH#0-lx9Z1mu69}g71L?pYQX}KA}%O{)h(j@2hTS*Pbd7J(|R6G^p5ESxcBA z^02=8@^krG++^Xpfz`AV#*X3XT9e>&$OJx0SeP=0QU9>Ho}RZo?b&gz9u~x`N0+D$ zmBQ4aFtv3m^t25l3iX|J^^G?lJ$|a&*`>Vl|7GUmzY!o^{}>?n94Rl6(j`06o7=kn zkX>5$rz5Gi-*FB-q}6}H%6lJAb?AIw%SmQGK1CaEH$c9bzFPIOj;m_8zK3e@#@)*9 zb9u_G+BT*9QKtap#Q9`OIDVdvo=cYQD|jG)2mq3rdrKy80T8H<>iQ-rPyH=GZ~zCW zjQWNqdi40IwC-vEf@M=EUjZ^uA5Be7BB5^=Vkbx(IXl?PorSB5`fdT+3By7|C@65V zTtxAQgz^>4^Ci|6kfAhPYm(f#6y#(o)X}B@AeYXa?o2$euk*}_qg`m@y?ryMGcz@% z^YpR9m<#C?WukO;-Mw|QYfoH^l(BL%(^R+fb1`h#b^6$0)vnlRrLndO%0#Jpa9{EF z+b9#SOBXMZWl$Prq1gaMLAt&-06=KK0Dw%K2nft2V`Ed+nJxlk}@TZDOzmR;P5Sy`IWDwmbgl>&%h-7VmOxfHzV@J0fF03wv9 z01cSx00-*AmHn4n`o|?I~gwZr8R*Gv?25e*?DdgBi++K zj@SCe@S>G|JX7D1M@_Y2bB9grKl3p8PL9Y+B?12cNfwC4<$?L<+>CIsla^4uKd2TMHt@lQl z(TBs0>C=(={Ns2dp1))bMIJauS8|Fd{nkB7$#U2}e2gdIp!4lygzx9ZtP=UA&O9r_b>9lxtjGUM?yG(AVs7 z5l^J;`R@t7on4G&E?5p#QF>oMfkDC0EdhKi@u0++V2RYJV}}JGnDscgZ?|-A9XYt4 zcgIF!PlmML!t214IZ9ZE4(uWLD2WI6O70f+ci32(&}tV4I(%?HT{v@+kZBdaXD7X57G_e1-QMAb{1)KYahK%x>U10M7%f2)dg*M15ctw2saUo-}EKEL)p5 zcQ#vDn)8h5Q@MZdU%BruKMOzrz~BIXiGt71$)whn#{v#@w-shS)P^}SuAnvmkWON1 zY44)OM^CBY;S;5*y1wDzqi3eAZJqCTspyZ2@?TdU|NQ_VH9+8lU>@X2hwA0R%BFum zmwW%sbvsV=9ck*8^x2G+&)?Htslo)hKm-7p;i>v=rn~BwS*rmM#dh;PB|fP@0P^5r z2LM7RE~e1oQd*)=Rmp@2%v&i-WLIa z5*Cz*Oruv+b(gss2=&>v)@S^n>^@dxifI-bwM`yzw~vdbr-z$7V)kLo=;1Vd+7y9^ z;llY6Z$4+{G%_(*Nas!-Ll>5kpOe{nVDGMu@Q|R+*r4oCRx^Ybg3!Cez zF^S%V64w6Rab01-fvTkQXV8(=1@jz}?E7}@P;TXAE9DPLlpCqZiii7Z1s8B6@uIW_ zrG)to005xSJOUJB$Bq*v0_6c!p{Hjc3S;!>u>uwV1<=6f@v%mQ06r*RL4Bay1qHHn z>0;?X!y5_8z|cUKJlt2wTnh5TU@&6yp|QT61j<2y00j76_#7x>p2g9s0v8n(^#J7Q)0Un%6HOi#0P^^mif`Si zS~1eYD&)m~^eyl8&((Ic?ZQ-ob~-VQsVk1g*ZF8=}$P%Ja?Kc!ZV( zo7wyGD&L)K=^Ti844!Z0$#X3{c!r@H&oWud=8lo9WxS4mo@~n>4L9d^hnn%5L(K#V z0LLpsE$Gif%;n%YAR+)6igK2q)rAcEFjD3R>UEWTe{B1#1BHz*P0Wocjn zkhHb5veKpEj`lWIb#-t8{#J4Dc?=cfb65g3X7q4Id#<;qo8)t8Pa4ky`~J!! zhYsQy+FFce9VATDS65L-dmBA(YmrW?=g(WET~~$%;eM!8lIe$J@#mdP&5v8DvZfJ7 zRa#zC(EOz3hxQKT6@~ua$F=_t0Hmw?DE|>4Ae_LX>m^b;1Rzg4m6wa_pZ?p`qUu)z z4 z;5ggcDu?#(QB^&--&tK=+Mbt{-hTXWLRV#Jv8au%wrA4H3*#JRDugRmmKLipNO=5k zg6jI!BrGeM6v<7fM0w@#)U;(&j%3A;qJ{~e;m@K=QKVMf=2LJ$wAo$JN+ESL}peBrR z7T$nZ-HEO>FAsN7AZULENbtr&Ef}Ua-~g3@&MN=}(114s4+OshB`yF13I*jW3=~40 zbg%Lhh~Q0$wVoE{rV^R);K2h)56~zO4M3nkWQb5v10?tM1CBp@z6T&1g7=b>*EU%$ zHF2&TEp?BiwLyo-W#dkA@!27ErVhC}B8GSrdkAEI#$}`MdIp%N@UCFu2sW*%GT6R9)$hpO-nKwDFpoEi>vpF&@ zfvr}!@eDm1o@=sPR^J*gS^i{v;}iMxsq+$ZQeIZUMTNIT zeV{w*(uIqhk(SPP@80E#iVA@U;PHD5d^@Y*$Q zyursy<}^YAH;Fnyj0s9v&JHWYPe577+RBU#4HmG8u|E6z`A85WwhV3!36zb2)>dZS zS#INK_^?6JB!ccjyx(U`pDGz5JspVZ!3qP*?(Kz(Y^-?fm{Dw? zzmN?L^mzENA>60;PyEZz-}A)ZMhn#JmoH(hiQ{BI(8ORNM{EtDoQ!m8s;i~emZ$0g zLCkZsx2gAf^h}z=I9E|eC(-jRqK8k~FutJF)IU^8%WG5xw~LFa>zeztJ@0x&voPv^ z2S8LEFR{`oueEk6FPA@T`(s*h{hz}QCx4*p7H0e10++|{PjygzIMqc$6hF~kt$d^7 zsr)$GL-}R)DrK17YQ-h&h;l6L9^J109U#Zfr_iBO7X=^(&s^ceGZ-XH6@X;ky4wQ~ zbqTAXCw=!tfM5;;{s%g-pf&&z80Q!!L>UW)dPzws03uQDkk-%JTI8;$y8HnH9>D?r zwAt5(9Bh}$7Cu}s5nT`x93TcVHjlvrF*7oh5{_o~xcipC}F>{+SN(% za9^byh~Fbg!7$LfhXt`CqkFG87DLS>Q)4rlHFLIrWAbDzDMvwd03rYk)CFEgc?&89 z@W267u%7@WFn|V~T2KY(-a>a4mS}D4Ue4pV(w=OrQ5#-DF!WKzf(N3BkjEPi-BakO z0w4eoO|T+5Q=mGaa8M=#WDux`P8F1|;E~{KaOa1+JpcsrHY0`)<>kwkaB6C*ltYkV z27tV%K6<9m73StAot&9p!g~&$=Fsg21Ry?J_K>@89GTkr)7Y6y$ntqo3;-RJ;_ z%erl}+BV*=)~5JL98{`o=0gf=EW{iykJQH z51Zq{pN+QU4~CmDRKsgS&3XWW^Xg!8IX$H;Kx4RN4>;Z#YDsSmHm6>LO+|U&bAZX) zLoDbo!z}5;VP^E#p+@}8NFyFLV-dRr?%>2r8Jv0N0j1r%&FOi!IX&l=030QT;xnv4&G#D>nQ_-h%~Wt-z@6GJ8-)I#6L7n0D^YifY9v% z5gb4Rvmn9I`{h7^03h4q4pLO?eu~?DkTId2aPWw%yv@%m;IiTpzFTxhz=5tTKqM_K zP4>A|R#r;s7@c%d&g#G(kxl`K_#xdbzIabEsbo$ILx;O|?vUwqZ?83MV{OUC`g)9H zYP)4ikxnho;VI0Vq0J*l4B=^0Cqr%UvZXfcxN-$8S!_j4j&=eHKm#)w00VAPFj)?G zj2tnH1`OyYp@=9$VLu15tG@sKTZtaQjm^v%(*za{_ABJyW75R&ym*l{FIjBEV@8kU zK0p7!{d)h%qel$pxwEFRjk$?L&^xYJMmx7}qoRU*ditq_bcj@2i1+r&D$la5nxp(x!UlzJHexz-$`f#d~0OaGTzXRmw zSuV<8T>#`5ok%aGyNw<6;9-XV1l~u&$xC$PTnZ(gPhmX514+)zr>w$zR9I3$_p59F zQ-DYZR!uFu4N)MPxexdr8Y3Mbfsu|m5nO}-5X3K_Bc!RWmbYx)L>S~j?oH4pUvjit zPNpUX0*-Bwp%fV4M@yGj%U#T3D|1mExOn0bd&v*%*{QTXd8lC415@Zp=g)M;MMtW3 z#Y71_D(>G?_Lz6RhzL=4ISKmPEY+y!E;WZ=O5vbP%LEBICz z{?wSVe;Z?h5>~^*=bV;vkK^J`@Ybk<6c83K3dB1wo~#{%Xwh;Yq3z+jotCZI!o#PS(QLETywoj}T{gz@0&5SRuJ6c8R)z4i1r9WN+9G!F+Qk;m z5j??Q4Sh4thCUo_LT?W?k+Rf328fjaJ3{MTN|@^588yPtc8ma!SrBl#IB{yxWwSQz+|iuVofeZ2WO@TH{Ca&6bm% z)k>uG@^V){#-0yMrz7G73dF%PkUab%XkAb=tq+VMZ~rjzSRY7Uz9G`K>%VooD30xW zj!?wT1PYAYMO&lyQE=35iinM;tx>zAl(p}`Q9g3?6vyvB#Al#H@(a1Lyo!tOmPpJA z%2`QCNt~ab&!wfMTwPr)Hv*zUx>w<94nWe{@>C5H1+Ce*L3l19jK_{0VXT_QOa^XN z;6+%N7_+6R2``*Cml20PVf+}LH&;jYYG_TFAe;RFl;z77vA358o0=FgB6m=Z!dwRa z#xUpf%g;ZG#{qaCId{qwte-XF1q0rlZrp7#d+7uo!WFU_nHB{En;{9P`ZbE^68|X&zWqQFQoh+ojO+b`?E(`dlfmX;SW&H>j$c+EjT(?Ta!zUEzwJGr{f1NUf!~H3c~pKf#kT9O0uT%n zx+$Mdb5*{dwOaXcrjs(l&`VkFA5RCb6j5PK8U%QiL3oe#P|;C-Mg0wHFIF9`74ARR{-o^x`xCogXgvR$#5j7{`t+SEy;w{Wid zLOOqzs1bCod~q!5Z8{ z@p~1NtpF43Q*Up1rsU^j)6Te9@nbyP+{u209hsS!GZY6d`~U>N02rVwq~5tbbKmIrIJ<#!jH}u%CV|mspk;S2Z3s@J(W0=s+ zJ%rZy$C6jzPFn81m42ILL(>c#*x1&GJp%Ty(Xw?s!*C_rt`6a;^H%T#oyEM=HJoj* z;&zcg^`5efJ{xJq?+rEKH-?zFVDHsn2UeYy={&4Tj&LE?KGl52zBg z*$&VE93p)vd9proZS(E*Rh9s4P6{}DQX)V?(iUOt5ufO_&fB5cu%z8-c__(pZ@x<{H81o-fwWqMVn=7weVasDi z4CimY_?-Lw`io4F>rB&Ns#J;62P>ZSA2?S=UcSp?MukK=id*P)4J zM;tqb1hF6r|Db$T-|$E&uWD54o7+_t4bN4%cWPCqFXwe8oVn3);$mh?YEE%lMa`q( z?OlwmgZ~Nu;eXu5`yxOD9`Hbvmpb8tDE#uRisnBaNiKM0{q~c+$C-N-eXeEO`H{Ax z(qp7gb5*|6aTS0J(OaV|+PIJQUMQejRW0C~oVvOiIcU?ZsHhMHg1sQu($cB$?mby+`?#f5{E>#nW^QU|U(6CIQ2IT<&QeI=@+zN%bldDNuTRX$LzU%900j*X_n2lk0kez!1RAadf!Aq5<* zUd8|bAOJ~3K~ycfxKn9;@|cp7)VrPG#UQi|9ayHuW{i|tcot9&00b_?5(6@2ij<|G zH~XJB zB0!$Dc5+3{6TW=o7W@wmiAtn^$V2246i*vN4wHjNG-)qzrUe%3$lg6lUUTw_CI`=O z^4h$M)&=dA{o&ercBHj%1?k#&vd8A#Y`S6t&oOoufXvXfWD@gnD7vRxBHCM!c} z1Aj{QYPXo@KF)f@03l`5SjAy`YS)W#`k4yj)7l z$)VJoo6`24crpnKp~%>JB`q+qCDX;L8F^X8i`@VbHn;VZ*b=P5MSQ!n=O$Y19YAhA zLFD4KNfgW~?@i?8zm@z#qQy`LKsJSJml9WSWE_P?@1|{W@w8*#VT#+6$Pv+dI50Sh zqhj{)$&(iaB4wqOeE)u#%!OP|x+v>quU<)#DEGT}ZgWFjy+EY1y-QZ&0v>WY+T~z9 zt{hbtcPJ{xJVa%663_RDGGD(^=pelwB8^Qzn^=CcZg*pTG~mFD2jHP;(}m(_Z*Lc903ezP za|{XA)-_RiRlQPK`&22fZB_E_HmJ^ByWMr*RA%R%qp2MUXER%qZrm=tTh?gW+Rm^3 zuLKBYL0Xt!x>NJy59c$B{}h^-^5xW}{uy6QU(xa5WC!J=X{!YwpG;k)d^^Kc`Dx}V z8o0ontbO*-uCsXpkjkc3x_PIRj$gb^31_d;{$rPD?~w}}fBYf?Ac!(S3F{vLL|wxA z9U3^bwbj(rgjtXpDl03KjQq0l2b6Lnjk5A?$_|mnM~?*{wRH^=yHH(O#Z?c=`EKDY z2`t1N^(seuLLNV&%VD?yB#{wYX?t{p+>M)>=#zo|e7TsSHPFmhkMtJI#vQtnk(#1# zS362sqC9TpW+~@S9anNQZYW9TPAdoZ?ouFYk0!)R+9y*NJ$uw7z3I4P!JcIpZP5|o z(shNNb4-Oht#qU%iXY}5C=)CGJ3IzTJ_Cdp}A39_tjT|vnp7-wES0>dl7t$NvNB_QJY$7s# z>eQ(`aq=Wyy3CgM#2?`DiYjhwde~FG(hQ;DVuKj>j!xp{r)_+%yphjd$wv8#gCY*n z=7>bv7<`C)w;rLDUa>UW*pqY&-O1W9nAQa!B4_XIv~o>^0K_|RkL(b~Zj4FumXeOK z6MJsn$JUO4tY_uHOI?C^j-eAzU0}y1%YA8?$2MB*8ADUe*Ha&@p-Kn9!88v~8$je&;r z<^V%_cd!wCFvN&I8EVX54m0HbldNSre$RI6ivfEaw*#ab;DFl&+8@ zfDNGVG|rwmCC_2F*Hl&WlSfavy-lqsHSs5!{ptV-R0tHw^Nx18*rMbEa($tfyCyxx~!7M4Jec! zzW_v3laA(y|^ zap?G9l0AJm)s;S-?oJ)H-ZAu0Hmt9OTDHha{vbjEH&IyV7MZ-p`pWg|)^JF00HY%d@R&4lEKQv< zo(%Qo$t3ICS<|FD>)fg1)KF6iC@5w3iqM^{lI0HYk>09f#Od<=C0m4c5oEx%A8`k3jkv82`RuC&r|1ueH-OhJME0??SKFi{?W z<#g?d0uQJX+a)$MbjSee-|tuI(-+g_C|9Y2SOHK(e&Hcku*zZ8vpj&Z#-($DE8Ul%Sp*8Qod@I3@og(eJ%h&_YREoE){WG zr^59QTR7*|13q->8V5$i^QQ24+7y0>d_xb*;2>g53>W*+R9zP`T(XhY1jI`lujATC z@I2hA~bqIo86WbG6}wq84F z{<1(CGRuiR9%hV-J-0un~VX(v-g$VMxPgEFzD9J#_qXE~OWgNT*_2UOwd%6w!^We7cr- zlg?jF7q7x$wGYiTSR@d^3S7fQtE4jv$9lzDwsZAoC(j^u@(kdW?wiMyfq?@14E*Db5JC2+rFDmoxZ@?Ir%bd zh%T(#w+cBU{RSspx_}5FPP%wW%yvw(H#e%2d^Ih;8jy4;DuKs~cj@R@!a?gR%GeLe z?o;u-J9INIhpt?{L{Zx!WI-G{2N4DeMS?CywCZBU2;K*V2GJT1a~xoqIANU3F<}-A zGfn8Y!u$umR+9+_pAX%J2wB9gp0g*9Npfy+(Jgt;w>*0y>H=86`q{4MEdmi7M6;77 z(+bL?3oW`N2kp9#Tb@%@Z4*7HZlv<+hg4G8tYqYuDaVs?6u@I!{AE>i!nLlL#A{vq zPNj7oy_oeZBme%nM=hOS5%Yg3MDf2DAU%(N50EzIm&%%2U(PJ9`}ZTMcRn!jj5_?w zT<7)=Cas_kw4DVYf7NoPuckWFcT*jy|2%iH@!3zi&g9eW$`-1qea_u^0WM*^Og9?WF zcu-y`JDu^zU0QOVJ6c=#`qeA6!OK&o%XdUa%AgVMEY_`YCo3~!^72?so~vEt`Lrn$ z1saxShGcDKM8(;{%P_j(ao}PPWdUFS0x+p@ z00XEB00HGGnCST0kt0V-sY+9>!uR13-wS1e@4?rNpEyAPg5=@Q&=A@Zv`OIUzRC%a zE#$pswI~qXc{&15gh>LnPWHBHc=Y~>#*7_7g9k%#s5cIx^9tQx-+%ujz5DKa;)e_z zI9OhTLO}@&Y6T@P0A%u{aXeta03I`D49D%&*Zj2C&4`7$3ev|d9n)6MMyXyy7{QpWmip*wv& z#zK_BTLTRFjs8abdVga92+k{m01>ml1IQZ#G{+1Ok@Lo2Gk$Z3Iln&GgkK+E#BcOB z;CBWY^7})L7#&$(3^$~o#u(8YOLq#2Jw{iu?oe{(ErCXQPClh&FEyv%7muUNH_9o+nRrH3E8tl7+K zHioiKK$O5^)7DrH4ByFHqxQ%N*|u9i61ihPhi%`(!I8T-C_I(}f}?m#STsk+?&SlA zj`7vxRK9z!gv-k-xum2-f-x^%yeRP}7&=50%H5)SQqqz%-;=lr$&yvjhZ7UTN8Ay+T^=zMj4~HG3ej1JH3b-w#qjFLRmW*v1KvV2BtEEI0w1{V8U9l>FTEv{b6EtLbjNg|E>j-bRl>jwlkS4b2)_>>5x= zJzd_V$aFcvjsT9@#)ni<+eqbgkEy)j8I{&Np^SnG<;eLgB{nfxi8^>y*_M!^L>{`X z+Lm}-*>&QE>fo8Qj+E@8;<`tzqf`q2`ClLlO9Ki1zX6CM0Kp@s(Vt^C$kWc33#uOe z@qBJYuciL`{08WIw0txLp^8rQ$uu|mXo?ekq2)+lYdcWiIjhOkGmfH-8Tvpq_6*cvYSrB*|nl7xr1xR&urF3Iq*5hvR zJuWP|%{lo6eD!)Nr(8>w3sO~etpKE|szxA!80wa%&$#@42_4+KOD>A&#KHw0AVJgt zh6ZuL1VnH!fo^SKEIx>Zu|Am_>4}`3t23S4TpVSWae2vIrM99>DZX8xWT#!H2gP?t zX>X;b+A2DB=zwfFJFs^bWzPZ1UfA3SQyi_lm;w3rTlIP8 zoxjj0pL{0&-tb_$qv-k9Uw_87HXbp2FpnHDj0X=MjGQk%f8i3N;Q{L7;iD(rIan>C zKBN;1GaxGFXKh_vRriF?Ue4u+T_*(|{^5tnKl~{9h99G~feEx~!){vP8AFrjJJL); zS90CBi##{)r`5i@$kj(ZQ0TTXhMc@21Rj8hs}Ek=Nz0srXo0CKS*`FTi{%?=g3e+x zUbc~(HtZp5*KMS2>P@{TEv8S0nbKbd8umcs&;1Pl13;v-1&9nb;Wq{v3uJHrkT(aK z%Xwq4g#ZK~!PnrRH1?Mv#{8Fo`uxdIL;7;~Lh3WYn5>*O)86ALbTJj(iY0U{D_0#^yuz3y$Tj(eWG@zFQ!&DL95VZ&jZy5j#0NX0JdbGnHgz>47_t^PYVzbSri)+ zO>uFtv~S-Y+P8N%B_29R7tWuh>(`R0@K!!mRhHAk=0<93ebxg9%yOv9Qmx(7Z%~dM#JK8(CsH0OQu_TY5wNp*wBPy?HqSESSs%m;p_bQ)KYJLSBzK})H2QO3P z!DQN&m_`wYZct=m21O>OQQYwiW#6eZ)ur^p=8F0!Mx9;!I{y=VkpDVBdO{Qb!R!BF zQeCY;I+$N-Y*W2dT>tcsR|=|LUlo3I@hFS+4?mygsC+Qlkv`H|MITOfq|ddT>1%CA z>OE^U&9x7sz};6UxAX~>Ry`Jgpl*vey zPvC*NI-=ci>T2qxBkNIP17)OMmlj@>vNo<;E8SSQ1IO|x00ggLV;B~{pmbxPJ5PoR zElrK&5fLXYEA8mY#dGxRVWW5)&2`ljzdMe0#Y7Q6a;G4Vu3x!C`*!UR8C-IwP)s(M z=NHeOkQfv0|bd`)D zkJU~RM{Q+h%;v@hJbKhHsT&U%(2vKDAJ6^!_vep3`iMXL@I(IPm)<;n{6yB$n#vO= zPL|IPA3j`4RZtq=e)~0l`Q_)_r}r;nZ~`hwLe9*}5qLB|ddSaOF@3H+>M}>Ccpn{| z%*~IVb4g`0A3l>tfzgM_H!Pm~!V*M%03g@{vf6JSxop@=TDs0OP2Yu_H^i~`mIU}5 zvicSZWQ~6uxp+s?3|%{#GJ6Txdql8@-)^>Z52rcCtH{RQpKa{@Y1CvhGO+e0XP;fP z+;cn4U9^#g>DbfP*!MBmgx?up#J&0%@vD6e`A_`~rF!c>*d(kdGS(5A1P}&dTeIrHG%B0A&mXD#BoT}e%`b-j@NAp7hePcj$Zy-*?Utc z`-MbvU_=~;#~zSj#;wsPY3-J>R#0dZ2ZwLx9lQ4P>2pb(nU%-)ODp6(2=$NMBG<3q z;B)6L$n-iowz4uZ`QDwovTgyxzFl2VBI+Ei7d;Y5AixZein`Jc0*`{S zM|3%>j1HX5rtODPDDprGMG82wC^R9H!V|M7{BQ=v9?zt`r!$nZ*Yex$Ry2A)YwLRV zpW%c24*^82Qjo|CfINIoFO@bv`@_|O^4Gm%Pn%3yys7>h9cSf(DGv1E6sI15d^y#T zewnqJrYzb->!Qz4&i%)tKoHZOlV2>;==+bHmrkrB=Ti7=a+UxjHTO2>6_xSb2Q~bl zvQAWp0Hm(r?*M{>o^b#Ka~>5{m7JGBR4fP zb3^D^9R)HEg1c^jBXmoEwDw{?1Z}HOAIReYNMNEtnV<_vGaI2de-7@bDBV9aml5XW@QDtedl(_(!oQxavu%VWUi*D2Y-MhMDL-fQv zNBZZ?={o4X;#sri@cj9@tgmk<&&Q3Mz>_9T;n{QN$N?-g<~d44C}TmfXr|Nw5M5n8 zd=CJ^Q>IK|9UUDuG&DpsJUcn9WJ5!Jo;7Qx0L0V7m0g@2*lyWkwy`kfB{t>)kf6;Q zd9{lJ&!0V0VjE^n*XDkGf06$9ufP71M~oQ3zyA6wfAPf^{Ns;5@}NOOcLkzGmdekx(G~%P&7kCk#4cmM>pUd-v{@;ZF@f+S=6}I_en^^-greD7CgT z*EY8Bt&&>abL1-dh90C1A@SrBnm|5V6V(6-Od!vIgY4#ifB}!Gdd}>)K9<)73qaUz zO*p&yMDx19J-pgGf@c}nv(}uYyxeswd;0HT$F)&B$9NSlaSV_%betjST6nOFPaHdV z#ggHQ0Ggn?ioPFXNuLZg;r9m^aerK>1zct8=-+(F^Xe{t}bEugBH7$>?+(5j2Jlm~W$EJ&%Sl8H==Nqr!d4?-k z*W8(n7J0JKB6lfiSuXeFB`ep&3>7FEq@&KstyHKv`=;)%S&z@65<0GnT zd@MdkQE3g`D{t&6S>+cu(1o;O+Iu3KBIA=OD&Yo2AI|EAM>Yi?$fVFiITV_ZK{3a( zY4@p2I&nF-Gw)92$)-nbpA+-H{p$jxr@W=k!cr8JvefHsTe|qAsz%~q6yE1s#pPU9QQHHM>Y6$kN&-MM$^)mmx>7)b$MVVw zzID5huOwgPt0~Exk(DVQ10JZWH#9T}L>lTJiiy|J+J>og+7q{fe7x35=F_pnL*j*? zl!dYth6n)|l&SC>B`ZJ!ZF~R;d=Qkf0GE9`V=-VTQ>fb`Lg{$oL4tV>4+P2t%VQAi zhCsLEqzklrSDZS$aL!yY^kA5qn_8g6#M7tGiM#ZVds21fEdFwSSroW*nJ&gW^GvJ^smcp_1jAQ`DE9d|%a|?n0!5aeivfH{y*0WsAQ|B#b zlche4$akdnA}4F9Q=pu2(=2I$shfbsdHoJ@@ZL`IYYLc{&<)ne=>N1sF1!BjA@qnYT6uqm@cOm(6#Ja(uD=(0eD=?ERb^{Ig4ZV9A z!+iYIMZTVv&4qXFbJ>F`F0ZH&MWRt7r%#{e6DLlHPm-0D#l^*U<^BBlG4iz3jTAVV zC>u>8^WXX;8hB_tlNVqA+s}1j9-|vNe|yv*P=8+YHJa}QC~yF!p0?bM4l%~jS%vl5 z4<9|F+J;9|Ue!n?59;aeg9a+AeM&WtRa92rN~yV}lz29Sq7S4{%%OCOIh;k&hcYPQ zULLs=rRQ6L@F<^0~GneLrIr4L9&2d;fS! zEo!8qvL^WtdaJlv_J715zbIv_J%`T%Bz)|A3Mbvj;VX3 zNdOFW=}J?=s^yxRDz2=q5+5Wr?FL`Jk;*sH)8ynA6iNw8qd)+VrlyC|*4tQHL$~v9 z((WCxMxip0NE24BT#{<4uGg9v(-txC~Kide5LJDiir%Pw3I7U zSNVW$W~I}mv!|%y{ylnFUnA=)Q6j_43Cw!bWKn-bY&#$_TW1bgSy+>`^&*}(Zvl@Q zHHK%;o-1W69i7=ce!?UH#SER9tTk1er%szeGiJ`B-^NX#VZ%p?3PH&V9ax%Kk7?7O zWM=XF`SYc1angi|Ja_gSUa{Pky}Z`2r>DC_HQ3wPiU$IKczHW*NREgXy28K zhI;=8H9hX2yJd}Z;aUNO?K~s!SRa~58^Vu}PuLOi+jausi41_a`R_+4BF!*zAp|D6 z`|n||paY^n+&0FrPrxqr_TRxaD>kr>o&(P|a$yJ0NM5}mjtv)iv+b&2IoflV@d8s< zUhW#q&fb7XESot5@|f8U^y3&S`eK+Ve=^LJ{{o}DzX89}SD#-QV5siU>Zd23#yjvi z`WWzQzv^?Zet?DwOmTt9=&o8w2#DeD(GaqaJ|3O#gV09)CJ; zK7TVzmj`KCkeR(N?KzsnNoo0fJ@*b@%f8LYnfZL_T9%yT^qYM4@(tb=caUwJy?Bnk z4bPZo&GU`ySl7gnb@Xio9ws)c*~)f}0L0NFkX_aWv&Z^S_VSJ7Rciy-eSI){`GxaZ z-!NXYF@!e+ZWCjDOXO}2j^58Z4xHj02TsV@op73W>_5&idyfjd@Vj^HKE&~dPVuR; zm-*_oOwP)^#dnGya7AUUz~t`TV$ROa<>cgKzHs4!osy1<#4>3sY4EqUK# zCP)Jiq!J+FUt_rcXGaq!uer#-2#n|5is40Y;I$W3jOJ%(41UeJUd`|$%B!ty?bOox zoSK@S&;u<0Dk-CT_baHhvYzgjH&A)qQ>t!mr~9?fDC6=GV?|kVLdNlHvxh|c5oxFnHo3Mi3pXfjzO|+-aw4CVc zX)a=03auh9HL`K4^imWAYL$kwxskzfxs(4 zJ1@MDnc9=d)zO~Lo;WI{tlKwpM2Vn`1(?8Shx$O73~j^Mj(FnOaq?NWo)*lTPm?E3 z!Q2O1T3WM_kqH!qC=aLzs1TH`0FFshCesX^nY2JxkF=-Gq!A;>%9%bxhbB&%B0dPp zR{#j0qCG{6^%v@~g_$`U8yd-Ru(Righ%k;VS&k;EQ2})c0 z6Hao%(bIh5Y!aj7mS1>}@0UZ3RLS5d-k+!#pn7oj>}iQIIeq%1fFvU$jf;v3r41hy z2&_3qLi5vSt^BN|4Ht1~u;}Pi^_+IBKbEp5VsA*Y({S({uXTu@(hZs}^$ZFQT8Qy^ z&B4#b&%)9C9z4hIMx#f4^JDR8@0OHvZhjGG-7Mn5yA@no{fHjaJ)_dP7Ah!frmH!n zlz2XyViT`W^t~6={0MV4P5agDfoh@F-nR93P+<8pO=5tjw<_n(kqsJ{` z*5X3dP+uz-DzpM(m=Cc800Fz-~GiK7b zvEym}+y!Xg72gBOW3sw5B>*unGURD9rqie~qiOog88m-^K24iGizZE;N?O`8NCyLj zFGQ8V8^O_05c>cqeE#|8QmVr9Pe1)s{0=A&sEs*u=J4FPb48ha z_0?AbmT`!|9y3Y;7sJBBC?_vhhCrJiJ(Tj5x?IsF3IsDCvPh~6>ARg&UEe}Cvi~pY z-a9(#JKOT@zISHc%)Gws1h#Pw9UR(Zu#LfFjBPL(2@yn2${;`qP!0%5DCeAW&N=6R za+VN65+Fp5QtdPAoU&;5oj2>v`(xg{_mA)TRh3FYEQx@si>w!Ai{b`Zb_9uBt5T;yaJ=?tjQ%(JD^9~)HHbsm5lcC9uc0#VtDY; zF|ZSG7+boECc=l|!Gb#LAv~qUhhbvp8b~gFQ7?~2P#pP1q)1i5w}Yb6C8sPTCY>VU zGbubSjiTaHDJeadath0-zNw8`JA0^SKq;~_On4Bct*u3>0P;W$zYhjUdU~pyZ1#~9 z6iCo!b91XW-dPuA!|A>I59!h4r}75>G(6G;n={+PnJY?@`~}NiCiI)HyIp10(l{Me_E+ag<-Z zhNS!k1SS;2C%OneF~#tSDT7yZIXt4PUxLFsrV5@>74V8IlgfmTPjm$W5~>gwUy0Df za)c+9DAICkA9eQMy7+98{_yV*AgpyL{%3$F{t+PepFaJ4>%jGYDeoNl$T_}LYsmrg z2On?LSIk(gg_-O0e$&P}i%-{|!e%W8_$F4Ny6pyfhwn-&tGuxXDR~tLjn5>{;8^kv zPo(IST*@q}rqY^bWgDw&ka`D(MSNo&g8{w{n+QhyU|%-wz4#(3m1*( zw7w3VJaL3}tL&uXhY!)QLkH>LzP(W2wF`T8?!mAZ4+e~kKwUyqSqe3(1?V>m5@1mLWcG8TwJ7~tdZS>{><@L4Mo9Xr0+vMvE zjyLD4(cAO*>{7O|7V~unefZ5z`fRBRtyR&%SsP!(WYD3o8dtXBht{fkWpSeBRkSMYbB$-Jl1Pqc11bfdqF9%^Zj$C zPISS>gRGo=pq4=~M$}29XirNOc+TKOo{R1>Oe1oo!j?mEXHR|o}p~l8~s;jG^>gr0Ws3@b- z(o!leE~fJGa_KNs*VM`XYpz~+T%RkMX}xp0I$^L(!{xVtdH!pq!d1p}buoRWVR7@; zgtX5`ZrzcI(2kyd>g*k$uD(HPYVDBsrmp^B>KPoNp^>|E_85~t`kExU^kL~)#Rfs0y9aRY5$U^u<6(KOT6d?&^ z2uUnKL~<#jQ;HR7dDYL_dPY<3Kbe~G?;jxl;7tEJL>@nX_WRzEvHxD(Gy0xeQpKSk zH0*EwY4aJy>nk=Sk2Xl9^RL6-c$JDhz%|UWudfb5WOS!&~fb!>e`2pQ`R8b zhgV1(`Gh4 z_ale*)8Rwvbk5*3xw<(~P_Q4FnV*+bPCYG6fr!estuze}we8!n{g+>`PgNCXb#-w@ zM+c$){ut=##!!DB3Uab>(bz~lAG~Y%(1F7^e)I%iNo9wsh~Nhg9+oPE0kV9>D$zN% z@G4ogUHECk&setndwjoqwLoOU#x3|^{RaAW$x_;|ag$7L@i~0>C=MMuBCRVs8(RwW z4qs4cb~7blKj9Y;7z^^Z1dM0P%8lBJ=ZxbnKvVY*%gPHd;J?4t?;> zTlC?(?{LZ~EnfIFee}^M^x0=$(1Hbv1QuLvY}v9!ydA84u*m++H{Zwv7FQ+wILDo^ z5%T=`^Qft*5#58^0Spi2`0fLN2v;ARp3FV(d-osHjj{V^Y9B&URyi)YN5aB2h5 z9!bPi2Ol%%STeE=5dcg>AbsmJALx4Dt)qe3s!E` zgo#5iqOz)}u(pFLuXa;@MJ*MTSIa3Vt)%>tD#|RVps?6UH$ku zI&sQOOoa@OX>%b%gWFltVByCN&7E=4)>C$=o7%c_EIgTC_99D1AF^`^CP&W*@(4*H zzo-lWNN`LxMJ5$eVs<&D3w}Y@`13ow_CPUvdGR=2*ZSZUOZ`8UQs1iJ`5GsJQ*lGz5UeNHy~i)>V{)h zcp!(XmI-b@amecJJ5tGTQUxD=4p&2LgluW;l*3h0b9)yxG`CSpN4J2awWF812X0XB zwNdIHx-GFfS38GLTHB7a{5r&BRKPzbA3o6q@QyBlcT5>PV=Dw2?lIMJ*yq8Ic}A7M zE2{`U7S0FCE3~_12NXaRmY-}Iwzd7;fO9kkk{#^p( zB}9JxI;MWT0>4ube)nu@@^`}%cmJ>Yft&Aoq*U(PX5ilY*>=OJ*H)awD=Rec`br(V zu}T;3|7ak7kni_gfPrHK@~XShJMusP(%3VKqMBC3rWcT3L?Q)7r%-HKz5pbzv{tH+ zCN>pz575Bi4H*MuXY26rus}o!lHr%t$aEWPS{vaP9>3Vi%E~Cepoj_zi>bP%fqHre zY3$~NR3I$6-@H90-^w_#-Zw8dFSc1SKZNk=-RL zN&Mu%wS)Wi($1}0Xv@z(W5=dV0*}o<{e+*^tN}m9NAu`WIM~@rfFoBp+$v+;gJasy z>Yszg2~Cb75%b`_y$5OM4mH}cc?Z_5{R!VK{T{1Uuf;E$H({r$3RHHf%Iy^^*K!Ms z4jn#DhmV|KQJt22w@lhzM~)mLM@L85FMjd-1u{1^qtkk)=-82?0zUP9dn6O+!g*r> zWqfo5S(=`g@!iwfC+Uo?CK>AM(TT$cWOVoI1#{_xcV^M7nKS79S#OJfW6dhoIDQn* z$D&1F)9l%^W!j7Nj#poOReT{|eDMXXU%yUtk8Rtw@R400hYue{W@ff5{gUeA?tOan z`4 zT(l3RlV=@?je^Hc+i?aKS-V7$seK?_u<{~nhaj?X3KM~R`Nm_Ua?Ff$E_%~>hX^`$ z#);H5%t-&DyR@)4pfDk)hQgDJ$=)-POfUP9Uvv(Ir&W^Hc{i-uu8GgS-G(_U_F&1+ z$FN!5gnrp;MBi`H!k0_c@WH$-^!DF2(p$4P3n<>6yOlopdMEwqyWRBJ@_jV_#}o9; zCLQ`}%~5)H-cEX#!SO3V-dV6m0P@zNUG&a3YM8ZnC%wOT2Ys+$EB^G&HmupHjk8u> zh)gdLEhM+BnhMLRsGzih@=MC)jXJNmQXmqUkVVekVRYj3McQ-p6m8#kQeblY)CJNp zw2~GUR~yrZs}6<;XJ~PvuYuVW=o#BU&(InsmQFCe_flu=Mj`Q=qqR$WI`b@f!&)JQFDt<=%g zF8_yzh6Z1D7_MKxMgs$V)ZN`Jk^fhlTcrZ2sH~R%;~AORl$M?;*R1SZDl94yFBk)+ zs=AgqnS!6sfN5**l-u0eX0J*`Wi3@z*Gm*jT|NKIS}H25r1I)I5&l`TVex-pXcR*? zZppU5k=ystH$0ApwgKdp)PXl+hR5e1G%gpx@%adhD}--MF}%65h^hFs>ZpcWR5e_p ztKbn^1-GbTctjN-Fridnkzdh)+U6leOV601z5lkNp>tSKT-~n7Dyml`WE3kBGK;3F z8oTZf-ngxz08e7!_y0}-^7rRV14Nz!{B8=9zq|eL@qca}o_NPMqk4zBc|g@ysz#GD zSDgSuM6{6AdYH9VA0MvM!~AV$aop4gsb%fxxPD(mB?d@YLkAMFipf7RNdOX)nkO$V z9zob9?-rL`F{=6nV;HVq#okrxO$6=-gR-3Jma*+ewMBoQWle*KS^Ruq7kov+^dq zM^%MR9z8-Ajg3g-*imU~sczj$Tz%|SQ4xr2Sho(Fe*6)t+j*kv47}alB)WvP4-QZ~ zt)~xNZ9O`0;1F%yx?Lu)*uSxTo2qCTERM6jv1!X@Y~8+1OoTuDxL&G~z}2)`}WKCA3uJQtgWpDBCLP#W<$O*NZj3A=(4??OkP=-Uy#jjynk9oceibp zw$%m0Gi1-gxweKxSkL|2=MroE?V^RUi(%QfOGHHHDX*`-nnUlr^NyUwix-PfJ}s;- zTeeIzj}04s;{DNlUkr_QcJ^rJoh`#R!F^>u+=J%6G{c`d!+Xv#LiW9OX7(k-4e3|;A|D{G{kRnyQ&wT%tb(9}qcSDOSBeSLj2FfbrnDtSp2e~7&Pn`(ip z4F*Ef)fRz5eM6I+X=w0meti1y^O{@QsOf4OU2Sfc_k`-2M$|X7puM9P?Opx2+S-NY zjz00Nb@z|TMAhK%9rO*2p{;umSKE70TGNEmnr0cJ&aY@hVPz}0b(K}tilp3n1jH8n z13)~YE8!Md3D-y^NIYW7;S*QFCPDsit!V8VR}7CoRZKi4#rbN2};Zr*#LxHk4c z(a<)aC@8O2l-IRBZ|UrJQ-J>Kzb!!iUk>{}Uc%)!rP9>Y6z@p?=d0K6&Wb8+Uu)={ z;`_~Bqi1igK8hJDPh#d8Ze!_S=1Oe=$n0PAu|@L|!m^ssHu4O$onvSpnm|o!A5wBl zC@emMf@4xCI5L&u(+b27l2=|wybHRvt%F*72dH~si28?a(9pFJIZ8cbjD|;UNF~8n z1`5BpxV6Pl;1?Z7D5R&SQ+Rkd#lm03nu5~6aLm;HcDl} z+6b?IU9(~tR(<~+eq6H>>S`*mxL}Ns0Dt1WAIFa$m!0CLPMxB&XV22HW5*=cLq$b} zH4q#-c1$Lf*g?*FK&JPX@7c45SJjG9kHMp_f0mq_oMj;syUbaOL9g}TZHoI7S=vB6*4h6L)PYIvH|YLwQFeM+&Q%L zn{R3D%2l*s{g1S0-hBG@>u+euH{a5S?|*ThO~^`C7svE(w|fhofF~N-Ze-*X+|dI zP(Wk`#bs7gbXo=Rev$P%j$`if?O3ttD1O?di>(I@p?cg5yH1#6or)elS-gopUbLB3 zZa+l^_R-`WQ$fKgbrg}&NTI1U6q(sT+0{d2{~J+Kad6so~8zD){j0z4&mE8a`aG6Q6yz8>_ZzLeJEbd*+l|)06K?AJ7b_E|fe zHgSNKzBM#YTjA8XOE_g{5AAcd&^zw{9bY_tRDhyvLyd`c(LZpVdi$&PtYKxj&}XdAw<ig5SAb9DEOD5`2(C!5=POJ7VX-T?4FInw`^+X`P6 z49X7E|8ao)78<|3&0u--T=7p`H=n$j-Y~S-J~Cepnrw^!03ZNKL_t)4#i5Ij-dS}7 zGgcnQ8>=+&#u_C+-dUrKKmVYG)%#81l~jYqYmZUea~o~f?x3mX8uH3(5S5%o0g*}M z7m`5Xv6<2*Wr!5lHB)7CJJq#!(pCOPALL05B|!MFV8$<+{}n*^MaBD>*`(y{?M>m~ zk(8U8Pj&T;(ii1Qgnyn0Wuv#HAIdEh{yrA(c*K>Dr-vJz(bFZBEn8^ErcLDP;6M=} z!Q|rTL}yOxiz$!WM3&|j0+r31Hi|&at2epo_+j-5tY5Pd8`rOuNv+L4ug8{+KZ*B) zcVuv`6>kT$x3?!(S69-|(4d_=chZ?NX9OymnwkQY4I4HH2sAY{VQOkh7cZKTj*cFk zJ7-9ime%Cv=0-X?I`TXgs`-1pyu2tNAb^aGjY(Hmn=W0lB_}5bvbVPrSnSxkQATsw z`@sf6XNOC&bDD*7{{1(s|ACf$`;8n1$Li%PF#C%yF>B_VU~qi)m%rkZk3Pm1pMB2z z7z7?1navyBII4srvUzdO>XoZxo8m7UHX$x19(}#nFgAJztVcb3z>f2$N^m@WB8Mvv z8I`>Mgl^t>LLCFQ_)Q<~A*m8uV(X>UK7I=jGnY6y7Ort*=@v_7S0c$PG6$(eEvRU@ zj^dggq!-j9x3r1M>bj_^ae(s6TFEawgN$uFdCCf#cI!dq=y{krM&XpHFHRb`NIn*i z@a|OC#RhLJNu;)^M( zxLK+ZHW^Cw!ONbCiYcd{P@+aMbBZY;C0BB-I1Zi{Q}Irb9S3x<_k%kKbj<0v zp1D9o@2s7GMB}V2^e#Bzw5c=BTDZZ;&QIEC`W7BAu@Auc%Ym?P35T6mEFApf;S`t% z_mC9$$K)V9xe&>@l}InF=3PLPSzJTeCDl|=*+BVaH8O@=+tf;RSKE|RPEA}bbWm$s zH??>4Qb%W>XqpTK);VN~>&6&o=h2O^J1@`mk=t@cZcd08&cFnsf_ zoS~7s7`#3Xu5wvtW20(y^L6BucgPeKXOM-blpwpj1r43U=o}hH|INGTzj;Se#s_ab z!nIq^(L44G*T#W?al+NUhsde!M`T7l{A0`E6IBl17zRfjJj2QmmQabT;$}tH^}C9D z&q?t_p#;aoqeoMtx5uZhkB&{>Y2c03dYHLV7qeDr0}*LRw4qAUjZTz8CD+NIlv~to1E_rS8XHx*)Th^|@-FB6yd3iL^`^_VHss;rOg3g_q;ui~xjQ)tK)8x9HZqXi z0=)jx(BLdtTA0aWye&_=XJ|q_Q}1 z;sov9y<3E6c5Uz5w~r1SI3NJw%qWHf$BangqQd%Trf{ogMR$c z2V9xp+poWY>dsv-H?=@h!&O-|d}sW=j8s3k&tZvAm9FzgkCp3BpHI@mN6%>V7SGy0 zquQ211V!h-$uAK$uCZk6mHZMQ=B|mqUgPC(`^nlPo@_l6$U7<*X~nImY#pY^q+&RE zMZzy41)0V5)YLIbl@0wA8kbKOF8SctDQo<=Lql3oCYQo+#v%Yb2CQk|f-|Nb(A2kq z+5tVB)HT5+7k|X0mLa3Kjgs@4h+AV?hEAfj%=vx?cvbG&9XeROO$$pmp1{0S`|#0% zE%ndBc9$2nKfHZX_kK~4Okb`-y;9mn?ly4Z8v0Q)u0 z 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 ZhFhxgv-rRg%LNYh0m-WY>trn={tw)z{^|e# literal 0 HcmV?d00001 diff --git a/library/parts/adafruit-938-128x64-oled.ts b/library/parts/adafruit-938-128x64-oled.ts new file mode 100644 index 0000000..387ee29 --- /dev/null +++ b/library/parts/adafruit-938-128x64-oled.ts @@ -0,0 +1,604 @@ +/** + * Adafruit 938 — Monochrome 1.3" 128x64 OLED Graphic Display breakout — + * datasheet-honest part definition. + * + * Primary sources: + * - Adafruit 938 product datasheet (DigiKey mirror, 938_Web.pdf) — pads, + * VIN range, onboard regulator/level shifting, jumper-selected bus mode + * - Adafruit product page (adafruit.com/product/938) — default I2C mode, + * address jumper, SPI conversion via solder-jumper cuts + * - Solomon Systech SSD1306 controller datasheet — 10 MHz SPI clock limit, + * reset pulse width, operating temperature (cited where inherited) + * All electrical values below are carried over from the validated ProtoPart + * definition (adafruit-938-128x64-oled, schema 1.4.0); nothing is invented + * beyond that source. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 8 header pads are leaf interfaces in + * board order, ids matching the ProtoPart resource ids, with the silk + * label as the `pin` designator and the official pad name displayed. + * (The ProtoPart source gives no numeric header positions, so the silk + * labels are the designators.) + * - Every multiplexed pad carries a verbatim per-mode function list in a + * `pin_functions` trait — display data separated from the canonical + * capability tags slot matching needs. + * - I2C-default vs SPI-selectable duality: the two bus targets are + * composed interfaces bound to the same CLK/DATA pads; a `one_of` + * interface group plus `co_requirement` traits state the honest + * constraint — mode is chosen by cutting two solder jumpers, a + * one-time physical board-prep step, never runtime-switchable, and + * never simultaneous. + * - Write-only SPI modelled honestly: the SPI target is hand-rolled (the + * SPI builder would fabricate a required MISO slot) with only + * MOSI/SCK/CS/DC slots — there is no MISO/CIPO contact on the breakout. + * - Onboard passives (`onboard_passives` traits): the breakout ships its + * own I2C pull-ups; implied external passives are limited to the VIN + * decoupling capacitor the design rules require. + * - Shareability exemption (`net_shareable`): GND is inherently + * shareable. + */ + +import type { + InterfaceDef, + ModuleDef, + TraitDef, +} from "../../src/types/index.js"; +import { + Ground, + I2C, + Pin, + PowerIn, + PowerOut, + clockFreqHz, + defineModule, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart power domain / metadata +// --------------------------------------------------------------------------- + +/** VIN accepts 3 V to 5 V; onboard regulator + level shifters normalise to 3.3 V. */ +const VIN_RANGE: [number, number] = [3, 5]; +/** Regulated logic rail behind the onboard LDO. */ +const LOGIC_NOMINAL_V = 3.3; +/** metadata.i2c_max_frequency_hz — 400 kHz max SCL (SSD1306 datasheet Table 13-6: I2C clock cycle time tcycle min 2.5 µs). */ +const I2C_MAX_HZ = 400_000; +/** metadata.spi_max_frequency_hz — "Maximum SPI clock is 10 MHz per the SSD1306 datasheet." */ +const SPI_MAX_HZ = 10_000_000; +/** metadata.i2c_addresses_7bit — 0x3D default, 0x3C jumper-selectable. */ +const I2C_ADDRESS_DEFAULT = 0x3d; +const I2C_ADDRESS_ALTERNATE = 0x3c; + +/** Every pad sits behind the level shifters on the single 3.3 V logic domain. */ +const POWER_DOMAIN_TRAIT: TraitDef = { + type: "power_domain", + params: { + domain: "vdd_3v3", + note: "Full level-shifted logic: pads accept 3 V or 5 V signalling to match VIN; the SSD1306 itself runs from the onboard 3.3 V regulator.", + }, +}; + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +// --------------------------------------------------------------------------- +// Header pads — 8 leaf interfaces, in board order (ProtoPart resource order) +// --------------------------------------------------------------------------- + +const vin: InterfaceDef = { + ...PowerIn({ id: "vin", name: "VIN", pin: "VIN", voltageV: VIN_RANGE }), + capabilities: ["power_in"], + traits: [ + POWER_DOMAIN_TRAIT, + { + type: "internal_regulator", + params: { + description: + "Raw 3 V to 5 V power input pad to the onboard regulator and level-shifters. An onboard 3.3 V regulator and full-level-shifted logic give the SSD1306 controller a 3.3 V CMOS supply regardless of VIN.", + source: "Adafruit 938 product page / ProtoPart power domain vdd_3v3", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Supply decoupling", + components: [{ kind: "capacitor", value: "≥0.1 µF", connection: "VIN to GND, local to the breakout" }], + source: "ProtoPart design rule: 'Decouple VIN to ground with at least 0.1 uF locally.'", + }, + }, + ], +}; + +const oled3vo: InterfaceDef = { + ...PowerOut({ id: "oled_3vo", name: "3Vo", pin: "3Vo", voltageV: LOGIC_NOMINAL_V, maxCurrentA: 0.1 }), + capabilities: ["power_out", "regulator_tap"], + traits: [ + POWER_DOMAIN_TRAIT, + { + type: "internal_regulator", + params: { + description: "Regulated 3.3 V output from the onboard LDO. Optional tap to drive small downstream peripherals at <=100 mA.", + }, + }, + { + type: "current_derating", + params: { + rule: "The 3Vo regulator output can drive small downstream peripherals up to roughly 100 mA, but check thermal margin if loading heavily.", + source: "ProtoPart design rules", + }, + }, + { type: "optionality", params: { note: "Optional — may be left unconnected when no auxiliary 3.3 V tap is needed." } }, + ], +}; + +const gnd: InterfaceDef = { + ...Ground({ id: "gnd", name: "GND", pin: "GND" }), + traits: [ + { type: "net_shareable", params: { net: "gnd", policy: "single_ground_instance_may_serve_all_members" } }, + ], +}; + +/** CLK — serial clock pad, routed to SPI SCK or I2C SCL by the mode jumpers. */ +const spiClk: InterfaceDef = withTraits( + Pin({ + id: "spi_clk", + name: "CLK (SPI SCK / I2C SCL)", + pin: "CLK", + voltageV: VIN_RANGE, + capabilities: { inputOnly: true, spiSck: true, i2cScl: true }, + }), + [ + { + type: "pin_functions", + params: { + source: "ProtoPart resource spi_clk (Adafruit 938 documentation)", + functions: [ + { name: "SPI SCK", direction: "I", mode: "spi" }, + { name: "I2C SCL", direction: "I", mode: "i2c" }, + ], + note: "Routed to SPI SCK in SPI mode or I2C SCL in I2C mode (mode chosen by solder jumpers on the back of the breakout).", + }, + }, + POWER_DOMAIN_TRAIT, + ], +); + +/** DATA — serial data pad, routed to SPI MOSI or I2C SDA by the mode jumpers. */ +const spiData: InterfaceDef = withTraits( + Pin({ + id: "spi_data", + name: "DATA (SPI MOSI / I2C SDA)", + pin: "DATA", + voltageV: VIN_RANGE, + capabilities: { spiMosi: true, i2cSda: true }, + }), + [ + { + type: "pin_functions", + params: { + source: "ProtoPart resource spi_data (Adafruit 938 documentation)", + functions: [ + { name: "SPI MOSI (COPI)", direction: "I", mode: "spi", note: "Controller-out, peripheral-in. Write-only: there is no MISO/CIPO contact on the breakout." }, + { name: "I2C SDA", direction: "I/O", mode: "i2c" }, + ], + }, + }, + POWER_DOMAIN_TRAIT, + ], +); + +/** DC — Data/Command select, SPI mode only. */ +const displayDc: InterfaceDef = { + ...withTraits( + Pin({ + id: "display_dc", + name: "DC", + pin: "DC", + voltageV: VIN_RANGE, + capabilities: { inputOnly: true }, + }), + [ + { + type: "pin_functions", + params: { + source: "ProtoPart resource display_dc (Adafruit 938 documentation)", + functions: [ + { name: "DC", direction: "I", mode: "spi", note: "Data/Command select: high = data, low = command. Drive from MCU GPIO." }, + ], + }, + }, + POWER_DOMAIN_TRAIT, + { + type: "usage_restriction", + params: { + restriction: "Used in SPI mode only. DC is electrically unused in I2C mode; do not drive it in I2C-only builds.", + source: "ProtoPart warnings", + }, + }, + ], + ), + capabilities: ["digital_io", "display_dc"], +}; + +/** RST — active-low reset, optional in both bus modes: onboard auto-reset + * circuitry resets the display at power-up (Adafruit 938 datasheet, Nov 2019 + * STEMMA QT revision). (Absorbs the ProtoPart `display_rst_input` interface + * the way the gold standard absorbs single-pin digital interfaces into their + * leaf pad.) */ +const displayRst: InterfaceDef = { + ...withTraits( + Pin({ + id: "display_rst", + name: "RST", + pin: "RST", + voltageV: VIN_RANGE, + capabilities: { inputOnly: true }, + }), + [ + { + type: "pin_functions", + params: { + source: "ProtoPart resource display_rst (Adafruit 938 documentation)", + functions: [ + { name: "RST", direction: "I", note: "Active-low reset input. Optional in both SPI and I2C modes: onboard auto-reset circuitry resets the display at power-up (Adafruit 938 datasheet, Nov 2019 revision). May be driven from an MCU GPIO for explicit hardware resets." }, + ], + }, + }, + POWER_DOMAIN_TRAIT, + { + type: "reset_timing", + params: { + min_low_pulse_us: 3, + description: "Pulse RST low for at least 3 us during init before issuing any SPI or I2C commands.", + source: "ProtoPart design rules (SSD1306 datasheet)", + }, + }, + ], + ), + capabilities: ["digital_io", "display_reset", "reset_input"], +}; + +/** CS — active-low SPI chip select, SPI mode only. */ +const displayCs: InterfaceDef = withTraits( + Pin({ + id: "display_cs", + name: "CS", + pin: "CS", + voltageV: VIN_RANGE, + capabilities: { inputOnly: true, spiSs: true }, + }), + [ + { + type: "pin_functions", + params: { + source: "ProtoPart resource display_cs (Adafruit 938 documentation)", + functions: [ + { name: "CS", direction: "I", mode: "spi", note: "Active-low SPI chip-select input. Drive from MCU GPIO." }, + ], + }, + }, + POWER_DOMAIN_TRAIT, + { + type: "usage_restriction", + params: { + restriction: "Used in SPI mode only. CS is electrically unused in I2C mode; do not drive it in I2C-only builds.", + source: "ProtoPart warnings", + }, + }, + ], +); + +/** All 8 header pads in board order — schematic-honest. */ +const pads: InterfaceDef[] = [vin, oled3vo, gnd, spiClk, spiData, displayDc, displayRst, displayCs]; + +// --------------------------------------------------------------------------- +// Bus targets — I2C default, SPI selectable by solder-jumper cuts. +// The two composed interfaces bind the SAME CLK/DATA pads; the one_of +// interface group + co_requirement traits carry the mutual exclusion. +// --------------------------------------------------------------------------- + +const BUS_MODE_CO_REQUIREMENT = (other: string, condition: string, effect: string): TraitDef => ({ + type: "co_requirement", + params: { + with: other, + condition, + effect, + source: "Adafruit 938 product documentation: SPI vs I2C mode is set by physical solder jumpers and is not runtime-switchable.", + }, +}); + +const i2cTarget = amend( + I2C({ + id: "display_i2c_target", + name: "OLED I2C target", + roles: ["slave"], + clockFreqHz: [0, I2C_MAX_HZ], + address: I2C_ADDRESS_DEFAULT, + sda: "spi_data", + scl: "spi_clk", + maxInstances: 1, + defaultActive: true, // I2C is the factory-default mode (jumpers intact). + }), + "display_i2c_target", + [ + { type: "display_notation", params: { latex: "I^{2}C" } }, + { + type: "i2c_addressing", + params: { + default_7bit: "0x3D", + alternate_7bit: "0x3C", + selection: "jumper-selectable", + note: "7-bit address 0x3D by default, jumper-selectable to 0x3C.", + }, + }, + { + type: "onboard_passives", + params: { + purpose: "Open-drain bus pull-ups", + components: [{ kind: "resistor", connection: "SDA and SCL to the 3.3 V rail (fitted on the breakout)" }], + note: "The breakout includes onboard I2C pull-ups; if sharing a multi-target I2C bus, make sure overall pull-up loading still meets the bus rules.", + source: "ProtoPart design rules", + }, + }, + { + type: "unused_pins_in_mode", + params: { + pins: ["display_dc", "display_cs"], + note: "DC and CS pads are electrically unused in I2C mode; do not drive them in I2C-only builds.", + }, + }, + BUS_MODE_CO_REQUIREMENT( + "display_spi_target", + "Bus-mode solder jumpers intact (factory default)", + "The I2C target exists only while the two solder jumpers on the back of the breakout are intact. Cutting them for SPI mode permanently disables I2C — the modes are mutually exclusive, never simultaneous.", + ), + ], +); + +/** + * Hand-rolled SPI slave: the SPI() builder would fabricate a required MISO + * slot, but this bus is 3-wire write-only (SCK + MOSI + CS) plus the DC + * Data/Command digital input — there is no MISO/CIPO contact on the breakout. + */ +const spiTarget: InterfaceDef = { + id: "display_spi_target", + name: "OLED SPI target", + domain: "electrical", + exposed: true, + default_active: false, // Only after the one-time solder-jumper cuts. + protocols: [{ type: "spi", roles: ["slave"] }], + parameters: [clockFreqHz([0, SPI_MAX_HZ])], // "Maximum SPI clock is 10 MHz per the SSD1306 datasheet." + slots: [ + { id: "mosi", label: "MOSI/COPI (write-only)", required: true, match: { protocol: "spi", role: "data_out", capability: "spi_mosi" } }, + { id: "sck", required: true, match: { protocol: "spi", role: "clock", capability: "spi_sck" } }, + { id: "ss", label: "CS", required: true, match: { protocol: "spi", role: "select", capability: "spi_ss" } }, + { id: "dc", label: "Data/Command select", required: true, match: { protocol: "digital", role: "input", capability: "display_dc" } }, + ], + profiles: [ + { + id: "display_spi_pads", + label: "DATA/CLK/CS/DC header pads", + bindings: { mosi: "spi_data", sck: "spi_clk", ss: "display_cs", dc: "display_dc" }, + }, + ], + max_instances: 1, + traits: [ + { + type: "bus_topology", + params: { + wires: 3, + write_only: true, + note: "3-wire write-only SPI bus (SCK + MOSI + CS) plus a Data/Command digital input. The OLED is write-only over SPI — firmware that reads back display data over SPI will not work.", + source: "ProtoPart design rules / warnings", + }, + }, + BUS_MODE_CO_REQUIREMENT( + "display_i2c_target", + "Both bus-mode solder jumpers cut", + "Active only when the breakout's two solder jumpers are cut for SPI mode — a one-time physical board-prep step, not runtime configurable. Cutting them disables the default I2C target.", + ), + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical +// --------------------------------------------------------------------------- + +/** Derived from the ProtoPart mechanical metadata (0.1" header, breakout PCB). */ +const headerMount: InterfaceDef = { + id: "header_mounting", + name: '0.1" Header Breakout Mounting', + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["pcb_header_pins", "header_0_1in", "breakout_pcb"], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const ADAFRUIT_938_128X64_OLED: ModuleDef = defineModule({ + id: "adafruit-938-128x64-oled", + name: 'Adafruit Monochrome 1.3" 128x64 OLED Graphic Display', + version: "1.0.0", + manufacturer: "Adafruit Industries LLC", + part_number: "938", + description: + '1.3" diagonal monochrome 128x64 OLED graphic display breakout based on the Solomon Systech SSD1306 controller. Default-mode I2C, with SPI selectable by cutting two solder jumpers on the back of the breakout PCB. Onboard 3.3 V regulator and full level-shifted logic accept 3 V or 5 V at VIN. White pixels.', + tags: ["adafruit", "938", "oled", "1.3-inch", "128x64", "ssd1306", "monochrome", "display", "spi", "i2c", "breakout"], + categories: ["expansion.breakout"], + + interfaces: [ + // All 8 header pads in board order — schematic-honest. + ...pads, + + // Bus targets (mutually exclusive — see interfaceGroups.bus_mode) + ...i2cTarget, + spiTarget, + + // Mechanical + headerMount, + ], + + interfaceGroups: [ + { + id: "bus_mode", + label: "Host Bus Mode (solder-jumper selected)", + members: ["display_i2c_target", "display_spi_target"], + policy: "one_of", + }, + { + id: "required_power_pins", + label: "Required Power Pins", + members: ["vin", "gnd"], + policy: "all_of", + }, + { + id: "spi_mode_control_pins", + label: "SPI-Mode-Only Control Pads (unused in I2C mode)", + members: ["display_dc", "display_cs"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "VIN accepts 3 V to 5 V into the onboard 3.3 V regulator; typical draw 25 mA, peak 40 mA (~132 mW). Decouple VIN to ground with at least 0.1 µF locally.", + voltage_V: [3, 5], + current_mA: 40, + }, + { + type: "interface", + description: + "Exactly one host bus (see bus_mode group): the default-mode I2C master (7-bit address 0x3D, jumper-selectable to 0x3C, up to 400 kHz per the SSD1306 datasheet), or — after cutting the two solder jumpers — a write-only SPI master (SCK/MOSI/CS, up to 10 MHz) plus a DC Data/Command GPIO.", + interface_protocol: "i2c", + }, + { + type: "interface", + description: + "RST is optional in both bus modes: onboard auto-reset circuitry resets the display at power-up (Adafruit 938 datasheet, Nov 2019 revision). If driven by a host GPIO, pulse low for at least 3 µs (SSD1306 datasheet) before issuing any SPI or I2C commands.", + interface_protocol: "digital", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "vdd_3v3", + name: "Display 3.3 V logic supply", + nominal_voltage_V: 3.3, + // ProtoPart voltage_range_V is the VIN acceptance window; the + // onboard regulator holds the SSD1306 at 3.3 V regardless. + voltage_range_V: VIN_RANGE, + max_current_mA: 50, + regulation_type: "regulated", + }, + ], + metadata: { + pin_count: 8, + supply_voltage_V: VIN_RANGE, + power_consumption_mW: 132, + current_typical_mA: 25, + current_peak_mA: 40, + panel_size_inches: 1.3, + resolution_pixels: "128x64", + controller: "SSD1306", + pixel_color: "white", + default_interface: "I2C", + spi_requires_jumper_cuts: true, + i2c_addresses_7bit: ["0x3D", "0x3C"], + i2c_max_frequency_hz: I2C_MAX_HZ, + spi_max_frequency_hz: SPI_MAX_HZ, + regulated_3v3_output: true, + logic_level_shifted: true, + source: "ProtoPart adafruit-938-128x64-oled definition (Adafruit 938 documentation / SSD1306 datasheet)", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 35.6, width: 33, height: 6.2 }, + metadata: { + package_type: "Adafruit breakout PCB", + mounting_method: "pcb_header_pins", + connector_system: "0.1 inch header", + field_serviceable: true, + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + requires_thermal_management: false, + operating_temperature_source: + "Inherited from Solomon Systech SSD1306 controller datasheet; not stated on Adafruit product page.", + }, + }, + ], + + traits: [ + { + type: "bus_mode_selection", + params: { + default: "I2C", + alternate: "SPI", + mechanism: + "To enable SPI mode, cut the two solder jumpers on the back of the breakout (this is a one-time physical board-prep step, not runtime configurable).", + runtime_switchable: false, + mutually_exclusive: true, + source: "Adafruit 938 product documentation / ProtoPart design rules", + }, + }, + { + type: "display_panel", + params: { + controller: "SSD1306", + resolution_pixels: "128x64", + panel_size_inches: 1.3, + color: "monochrome (white pixels)", + }, + }, + { + type: "software_compatibility", + params: { + libraries: ["u8g2", "Adafruit_SSD1306", "luma.oled"], + note: "SSD1306 is broadly supported. Default I2C address is 0x3D (jumper-selectable to 0x3C); SPI mode requires physically cutting two solder jumpers on the breakout's back side.", + source: "ProtoPart compatibility_notes", + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "Adafruit 938 Product Datasheet (938_Web.pdf)", + type: "datasheet", + url: "https://mm.digikey.com/Volume0/opasdata/d220001/medias/docus/197/938_Web.pdf", + filePath: "./ProtoPart/protoparts/adafruit-938-128x64-oled/artifacts/datasheet/938_Web.pdf", + mimeType: "application/pdf", + }, + { + id: "art_product_page", + name: "Adafruit Product Page (product 938)", + type: "documentation", + url: "https://www.adafruit.com/product/938", + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/adafruit-938-128x64-oled/artifacts/thumbnail.png b/library/parts/adafruit-938-128x64-oled/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..4ec105c6d8c98306d663f39eb6e35e23300b5cd5 GIT binary patch literal 85080 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 Y+{g6T+s`>Ke8vC-p00i_>zopr01%h*O8@`> literal 0 HcmV?d00001 diff --git a/library/parts/adafruit-feather-nrf52-bluefruit-le-3406.ts b/library/parts/adafruit-feather-nrf52-bluefruit-le-3406.ts new file mode 100644 index 0000000..cbf91b3 --- /dev/null +++ b/library/parts/adafruit-feather-nrf52-bluefruit-le-3406.ts @@ -0,0 +1,1198 @@ +/** + * Adafruit Feather nRF52 Bluefruit LE (product 3406) — source-honest part definition. + * + * Primary sources: + * - Adafruit Bluefruit nRF52 Feather Learning Guide + * (https://cdn-learn.adafruit.com/downloads/pdf/bluefruit-nrf52-feather-learning-guide.pdf) + * - ProtoPart definition.json, id "adafruit-feather-nrf52-bluefruit-le-3406", + * version 1.1.0 (schema 1.4.0) — the audited source of truth. Pin functions, + * power domains, design rules, usage notes, and warnings below are carried + * verbatim from that file; nothing is filled in from nRF52832 datasheet + * knowledge the JSON does not itself state. + * + * Documentation audit (2026-07, against the Adafruit learn guide pages, + * product page 3406, the Adafruit nRF52 BSP feather_nrf52832 variant, the + * Zephyr board docs, and the Nordic nRF52832 Product Specification) corrected + * four source claims and resolved two data gaps, each cited inline: + * - A4/A5 ports un-swapped (A4 = P0.28, A5 = P0.29); + * - 3V3 regulator output corrected 400 mA -> 500 mA peak (not continuous); + * - per-GPIO current limits replaced with the Nordic-documented values + * (standard ~2 mA; high drive 14/15 mA at VDD >= 2.7 V; 15 mA chip total + * recommended) — the source's 10/5/30 mA figures are undocumented; + * - the verbatim 0.001 Mbps UART constraint is flagged as a source error; + * - ADC characteristics (8/10/12-bit, default 10-bit, 0-3.6 V via internal + * 0.6 V ref with 1/6 gain) and the A7 double-100K divider filled in; + * - LED2 colour (blue) filled in. Charge current and JST polarity remain + * genuine gaps: no fetched documentation page states them. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: every header pin, test point, and on-board + * LED the source defines is a leaf interface with the official silkscreen + * name; where the source records the routed nRF52832 port pin (e.g. + * "SDA (P0.25)") that port designator is carried as the `pin` field. + * The source assigns no header-position ordinals, so pins appear in + * source order, not numbered header order. + * - Every leaf pin carries its verbatim source function list (name, + * direction, signal_class) in a `feather_pin_functions` trait — display + * data is separated from the canonical capability tags the matching + * engine needs. + * - Peripheral controllers exposed at the headers (I2C, SPI, UART, ADC) + * are composed interfaces whose slots bind the leaf pins through named + * profiles; `max_instances` mirrors the source's `max_connections`. + * - The USB micro-B connector, JST-PH battery connector, and BLE radio are + * modeled exactly as far as the source models them (power-domain + * descriptions, the CP2104 USB-UART bridge, and board metadata); RF + * parameters, charge current, JST polarity, and the VBUS/VBAT ORing + * topology are NOT specified by the source and are flagged as gaps + * rather than fabricated. + * - Board-level design_rules / usage_notes / warnings / compatibility_notes + * from the source are preserved verbatim as module traits, and their + * pin-specific consequences (A7 battery divider, P0.28/P0.29 low-drive, + * DFU/FRST boot behaviour, per-GPIO current limits) are additionally + * attached to the affected leaf interfaces. + */ + +import type { + InterfaceDef, + ModuleDef, + SlotDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import type { PinCapabilities } from "../../src/protocols/index.js"; +import { + Ground, + Pin, + PowerIn, + SPI, + UART, + I2C, + defineModule, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart power_domains + design_rules/warnings +// --------------------------------------------------------------------------- + +const SOURCE = + "Adafruit Bluefruit nRF52 Feather Learning Guide; ProtoPart definition.json v1.1.0"; + +/** Power domain vbus_5v: "USB micro-B power input." */ +const VBUS_RANGE: [number, number] = [4.5, 5.2]; +/** Power domain vbat_lipo: "Single-cell LiPo battery input via JST-PH." */ +const VBAT_RANGE: [number, number] = [3, 4.2]; +/** Power domain vdd_3v3: "Board 3.3V rail from on-board LDO; available on 3V pin." */ +const VDD_3V3_RANGE: [number, number] = [3, 3.4]; + +/** + * nRF52832 GPIO drive, per the Nordic nRF52832 Product Specification (GPIO + * electrical specification) as confirmed by Nordic on DevZone Q&A 12614: + * standard drive ~2 mA nominal; high drive max 14 mA source / 15 mA sink at + * VDD >= 2.7 V; Nordic recommends <= 15 mA total GPIO current for the chip. + * NOTE: corrects the ProtoPart source's "10 mA (5 mA recommended) / 30 mA + * package" figures, which do not appear in the nRF52832 PS. + */ +const GPIO_STANDARD_DRIVE_MA = 2; + +const GPIO_CURRENT_TRAIT: TraitDef = { + type: "gpio_current_limits", + params: { + per_gpio_standard_drive_mA: 2, + per_gpio_high_drive_source_max_mA: 14, + per_gpio_high_drive_sink_max_mA: 15, + high_drive_condition: "VDD >= 2.7 V", + chip_total_recommended_mA: 15, + source: + "Nordic nRF52832 Product Specification — GPIO electrical specification (high drive max 14 mA source / 15 mA sink at VDD >= 2.7 V); Nordic DevZone Q&A 12614 (15 mA total recommended for the chip). Corrects the ProtoPart figures (10/5/30 mA), which are not documented.", + }, +}; + +/** Design rule + warning: 3.3 V logic only, never 5 V. */ +const LOGIC_LEVEL_TRAIT: TraitDef = { + type: "logic_level_restriction", + params: { + logic_V: 3.3, + five_volt_tolerant: false, + note: "All GPIO are 3.3V only; not 5V tolerant. Do not apply >3.3V to any GPIO.", + source: `${SOURCE} — design_rules / warnings`, + }, +}; + +// --------------------------------------------------------------------------- +// Source-honest per-pin function metadata +// --------------------------------------------------------------------------- + +/** Verbatim function entry from the ProtoPart resource's `functions` array. */ +interface FeatherFunction { + name: string; + /** Source `direction` field, carried verbatim. */ + direction: "source" | "sink" | "bidirectional" | "input"; + /** Source `signal_class` field, carried verbatim. */ + signal_class: string; +} + +/** Wrap a resource's verbatim function list + description as a display trait. */ +function fnTrait(functions: FeatherFunction[], description: string): TraitDef { + return { + type: "feather_pin_functions", + params: { source: SOURCE, functions, description }, + }; +} + +/** ProtoPart per-resource `connector_type`, preserved verbatim. */ +function connectorTrait(connector: string): TraitDef { + return { type: "connector_type", params: { connector } }; +} + +/** ProtoPart per-resource `power_domain_id`, preserved verbatim. */ +function powerDomainTrait(domain: string, note?: string): TraitDef { + return { type: "power_domain", params: { domain, ...(note ? { note } : {}) } }; +} + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +// --------------------------------------------------------------------------- +// GPIO / signal header pins +// --------------------------------------------------------------------------- + +interface FeatherGpioSpec { + id: string; + /** Official silkscreen name (source `name`, minus the routed port pin). */ + name: string; + /** Routed nRF52832 port pin (from the source `name`, e.g. "SDA (P0.25)"). */ + port: string; + capabilities?: PinCapabilities; + functions: FeatherFunction[]; + /** Verbatim source description. */ + description: string; + connector?: string; + extraTraits?: TraitDef[]; +} + +/** + * Build one source-honest 3.3 V GPIO header pin. Digital I/O is retained as + * the base capability because the source's design_rules address "All GPIO" + * collectively; per-pin functions beyond that are only what the source lists. + */ +function featherGpio(spec: FeatherGpioSpec): InterfaceDef { + const base = Pin({ + id: spec.id, + name: spec.name, + pin: spec.port, + voltageV: VDD_3V3_RANGE, + driveCurrentmA: GPIO_STANDARD_DRIVE_MA, + capabilities: spec.capabilities, + }); + return { + ...base, + traits: [ + fnTrait(spec.functions, spec.description), + powerDomainTrait("vdd_3v3"), + connectorTrait(spec.connector ?? "through_hole_header_0.1in"), + GPIO_CURRENT_TRAIT, + LOGIC_LEVEL_TRAIT, + ...(spec.extraTraits ?? []), + ], + }; +} + +// --- Power and control pins — source order --------------------------------- + +const vbusPin: InterfaceDef = { + ...PowerIn({ id: "pin_vbus", name: "VBUS", voltageV: VBUS_RANGE, nominalV: 5 }), + capabilities: ["power_in", "vbus_5v"], + traits: [ + fnTrait([{ name: "VBUS_IN", direction: "sink", signal_class: "power" }], "USB 5V input pin."), + powerDomainTrait("vbus_5v"), + connectorTrait("through_hole_header_0.1in"), + { + type: "current_limit", + params: { max_mA: 500, note: "USB VBUS max 500 mA.", source: `${SOURCE} — warnings` }, + }, + ], +}; + +const vbatPin: InterfaceDef = { + ...PowerIn({ id: "pin_vbat", name: "VBAT", voltageV: VBAT_RANGE, nominalV: 3.7 }), + capabilities: ["power_in", "vbat_lipo"], + traits: [ + fnTrait([{ name: "VBAT_IN", direction: "sink", signal_class: "power" }], "LiPo battery positive."), + powerDomainTrait("vbat_lipo", "Single-cell LiPo battery input via JST-PH."), + connectorTrait("through_hole_header_0.1in"), + ], +}; + +/** "3.3V regulated output/input." — the source models this rail bidirectional. */ +const pin3v3: InterfaceDef = { + id: "pin_3v3", + name: "3V3", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input", "output"] }], + capabilities: ["power_in", "power_out", "vdd_3v3"], + parameters: [ + { id: "voltage", unit: "V", value: 3.3, range: VDD_3V3_RANGE }, + { id: "max_current", name: "Max regulator output (peak)", unit: "A", value: 0.5 }, + ], + traits: [ + fnTrait( + [{ name: "VDD_3V3", direction: "bidirectional", signal_class: "power" }], + "3.3V regulated output/input.", + ), + { + type: "internal_regulator", + params: { + description: "Board 3.3V rail from on-board LDO; available on 3V pin.", + source: `${SOURCE} — power domain vdd_3v3`, + }, + }, + { + type: "current_limit", + params: { + max_mA: 500, + peak: true, + note: "500 mA peak regulator output; not sustainable continuously from 5 V (regulator overheats).", + source: + "Adafruit learn guide, Power Management: 'We use a 500mA peak regulator. While you can get 500mA from it, you can't do it continuously from 5V as it will overheat the regulator.' Corrects the ProtoPart 400 mA figure.", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_en", + condition: "EN pulled low", + effect: "Pull low to disable 3V3 regulator — the 3V3 rail (and everything on it) shuts down.", + source: `${SOURCE} — pin EN description / usage notes`, + }, + }, + powerDomainTrait("vdd_3v3"), + connectorTrait("through_hole_header_0.1in"), + ], +}; + +const gndPin: InterfaceDef = { + ...Ground({ id: "pin_gnd", name: "GND" }), + traits: [ + fnTrait([{ name: "GND", direction: "sink", signal_class: "ground" }], "Ground pins."), + { + type: "net_shareable", + params: { + net: "gnd", + policy: "single_ground_instance_may_serve_all_members", + note: "The source models the header's ground positions ('Ground pins.', plural) as one shared ground resource.", + }, + }, + // The source records power_domain_id "vdd_3v3" on the GND resource; + // preserved verbatim rather than corrected. + powerDomainTrait("vdd_3v3", "As recorded in the source for the GND resource."), + connectorTrait("through_hole_header_0.1in"), + ], +}; + +const enPin: InterfaceDef = { + id: "pin_en", + name: "EN", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["regulator_enable"], + parameters: [{ id: "voltage", unit: "V", range: VDD_3V3_RANGE }], + traits: [ + fnTrait( + [{ name: "EN", direction: "input", signal_class: "control" }], + "Regulator enable. Pull low to disable 3V3 regulator.", + ), + powerDomainTrait("vdd_3v3"), + connectorTrait("through_hole_header_0.1in"), + LOGIC_LEVEL_TRAIT, + ], +}; + +const rstPin: InterfaceDef = { + id: "pin_rst", + name: "RST", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["reset_input"], + parameters: [{ id: "voltage", unit: "V", range: VDD_3V3_RANGE }], + traits: [ + fnTrait([{ name: "RESET", direction: "input", signal_class: "reset" }], "Active-low reset."), + powerDomainTrait("vdd_3v3"), + connectorTrait("through_hole_header_0.1in"), + LOGIC_LEVEL_TRAIT, + ], +}; + +// --- Bus signal pins -------------------------------------------------------- + +const sdaPin = featherGpio({ + id: "pin_sda", + name: "SDA", + port: "P0.25", + capabilities: { i2cSda: true }, + functions: [{ name: "I2C_SDA", direction: "bidirectional", signal_class: "data" }], + description: "I2C data.", +}); + +const sclPin = featherGpio({ + id: "pin_scl", + name: "SCL", + port: "P0.26", + capabilities: { i2cScl: true }, + functions: [{ name: "I2C_SCL", direction: "source", signal_class: "clock" }], + description: "I2C clock.", +}); + +const sckPin = featherGpio({ + id: "pin_sck", + name: "SCK", + port: "P0.12", + capabilities: { spiSck: true }, + functions: [{ name: "SPI_SCK", direction: "source", signal_class: "clock" }], + description: "SPI clock.", +}); + +const mosiPin = featherGpio({ + id: "pin_mosi", + name: "MOSI", + port: "P0.13", + capabilities: { spiMosi: true }, + functions: [{ name: "SPI_MOSI", direction: "source", signal_class: "data" }], + description: "SPI MOSI.", +}); + +const misoPin = featherGpio({ + id: "pin_miso", + name: "MISO", + port: "P0.14", + capabilities: { spiMiso: true }, + functions: [{ name: "SPI_MISO", direction: "sink", signal_class: "data" }], + description: "SPI MISO.", +}); + +const txPin = featherGpio({ + id: "pin_tx", + name: "TX", + port: "P0.06", + capabilities: { uartTx: true }, + functions: [{ name: "UART_TX", direction: "source", signal_class: "uart_tx" }], + description: "UART TXD to CP2104.", + extraTraits: [ + { + type: "shared_with_onboard", + params: { + peripheral: "CP2104 USB-UART bridge", + note: "This header pin is the same net that feeds the on-board CP2104 (programming and serial console).", + source: SOURCE, + }, + }, + ], +}); + +const rxPin = featherGpio({ + id: "pin_rx", + name: "RX", + port: "P0.08", + capabilities: { uartRx: true }, + functions: [{ name: "UART_RX", direction: "sink", signal_class: "uart_rx" }], + description: "UART RXD from CP2104.", + extraTraits: [ + { + type: "shared_with_onboard", + params: { + peripheral: "CP2104 USB-UART bridge", + note: "This header pin is the same net that is driven by the on-board CP2104 (programming and serial console).", + source: SOURCE, + }, + }, + ], +}); + +// --- Analog inputs A0–A7 ---------------------------------------------------- + +const LOW_DRIVE_TRAIT: TraitDef = { + type: "usage_restriction", + params: { + restriction: "P0.28 and P0.29 recommended for low-drive, low-frequency GPIO only.", + note: "Incomplete in the source: the Nordic nRF52832 Product Specification pin assignments mark P0.22-P0.31 (10 pins) as recommended low drive, low frequency (<10 kHz) I/O to protect radio performance.", + source: `${SOURCE} — design_rules; full pin list: Nordic nRF52832 Product Specification, pin assignments`, + }, +}; + +interface AnalogSpec { + id: string; + name: string; + port: string; + description: string; + extraTraits?: TraitDef[]; +} + +// A4/A5 port mapping corrected: the Adafruit nRF52 BSP variant for this board +// (variants/feather_nrf52832/variant.h: PIN_A0..PIN_A7 = 2, 3, 4, 5, 28, 29, +// 30, 31) maps A4 = P0.28 and A5 = P0.29. The ProtoPart source had them +// swapped (A4 = P0.29, A5 = P0.28). +const ANALOG_SPECS: AnalogSpec[] = [ + { id: "pin_a0", name: "A0", port: "P0.02", description: "Analog input A0." }, + { id: "pin_a1", name: "A1", port: "P0.03", description: "Analog input A1." }, + { id: "pin_a2", name: "A2", port: "P0.04", description: "Analog input A2." }, + { id: "pin_a3", name: "A3", port: "P0.05", description: "Analog input A3." }, + { + id: "pin_a4", name: "A4", port: "P0.28", + description: "Analog input A4. Low-drive GPIO.", + extraTraits: [LOW_DRIVE_TRAIT], + }, + { + id: "pin_a5", name: "A5", port: "P0.29", + description: "Analog input A5. Low-drive GPIO.", + extraTraits: [LOW_DRIVE_TRAIT], + }, + { id: "pin_a6", name: "A6", port: "P0.30", description: "Analog input A6." }, + { + id: "pin_a7", name: "A7", port: "P0.31", + description: "Analog input A7 connected to VBAT divider.", + extraTraits: [ + { + type: "battery_monitor", + params: { + note: "A7/P0.31 tied to VBAT divider for battery measurement; avoid using as general input.", + divider: "double-100K resistor divider — ADC reads VBAT/2", + source: `${SOURCE} — design_rules; divider ratio: Adafruit learn guide, Power Management ("a double-100K resistor divider")`, + }, + }, + { + type: "usage_restriction", + params: { + restriction: "Avoid using as general input — permanently connected to the VBAT divider.", + source: `${SOURCE} — design_rules`, + }, + }, + ], + }, +]; + +const analogPins: InterfaceDef[] = ANALOG_SPECS.map((spec) => + featherGpio({ + id: spec.id, + name: spec.name, + port: spec.port, + capabilities: { analogIn: true }, + functions: [{ name: "ADC_IN", direction: "sink", signal_class: "analog" }], + description: spec.description, + extraTraits: spec.extraTraits, + }), +); + +// --- Boot-control test points ----------------------------------------------- + +const dfuPin: InterfaceDef = { + id: "pin_dfu", + name: "DFU", + pin: "P0.20", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["bootloader_entry"], + parameters: [{ id: "voltage", unit: "V", range: VDD_3V3_RANGE }], + traits: [ + fnTrait([{ name: "DFU_MODE", direction: "input", signal_class: "control" }], "Bootloader entry if low at reset."), + { + type: "boot_control", + params: { + action: "Pull DFU (P0.20) low at reset to enter serial bootloader.", + source: `${SOURCE} — design_rules`, + }, + }, + powerDomainTrait("vdd_3v3"), + connectorTrait("test_point"), + LOGIC_LEVEL_TRAIT, + ], +}; + +const frstPin: InterfaceDef = { + id: "pin_frst", + name: "FRST", + pin: "P0.22", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["factory_reset"], + parameters: [{ id: "voltage", unit: "V", range: VDD_3V3_RANGE }], + traits: [ + fnTrait([{ name: "FACTORY_RESET", direction: "input", signal_class: "control" }], "Factory reset if low at boot."), + { + type: "boot_control", + params: { + action: "FRST (P0.22) low at boot forces factory reset.", + source: `${SOURCE} — design_rules`, + }, + }, + powerDomainTrait("vdd_3v3"), + connectorTrait("test_point"), + LOGIC_LEVEL_TRAIT, + ], +}; + +// --- On-board LEDs ------------------------------------------------------------ + +function onboardLed(config: { + id: string; + name: string; + port: string; + description: string; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + pin: config.port, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["output"] }], + capabilities: ["onboard_led"], + parameters: [{ id: "voltage", unit: "V", range: VDD_3V3_RANGE }], + traits: [ + fnTrait([{ name: "GPIO_OUT", direction: "source", signal_class: "digital" }], config.description), + powerDomainTrait("vdd_3v3"), + connectorTrait("smd_led"), + GPIO_CURRENT_TRAIT, + ], + }; +} + +const led1 = onboardLed({ id: "pin_led1", name: "LED1", port: "P0.17", description: "User LED red." }); +// The ProtoPart source says only "Status LED"; the colour (blue) is documented +// by the Adafruit BSP variant (feather_nrf52832 variant.h: LED_BLUE = 19) and +// the Zephyr board docs ("LED1 (blue) = P0.19"). +const led2 = onboardLed({ id: "pin_led2", name: "LED2", port: "P0.19", description: "Status LED (blue)." }); + +/** All leaf electrical resources, in source order (the source assigns no header ordinals). */ +const pins: InterfaceDef[] = [ + vbusPin, + vbatPin, + pin3v3, + gndPin, + enPin, + rstPin, + sdaPin, + sclPin, + sckPin, + mosiPin, + misoPin, + txPin, + rxPin, + ...analogPins, + dfuPin, + frstPin, + led1, + led2, +]; + +// --------------------------------------------------------------------------- +// Composed peripheral controllers — ProtoPart `interfaces` array +// --------------------------------------------------------------------------- + +function composed(config: { + id: string; + name: string; + domain?: InterfaceDef["domain"]; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +// I2C — "I2C master on SDA=P0.25, SCL=P0.26; external pull-ups required." +// clock_freq 400 kHz is the source's max_lane_rate_mbps 0.4 (= 400 kbit/s). +const i2cMaster = amend( + I2C({ + id: "i2c_master", + name: "I2C (Wire)", + roles: ["master"], + clockFreqHz: 400_000, + sda: "pin_sda", + scl: "pin_scl", + maxInstances: 1, // source constraint: max_connections 1 + }), + "i2c_master", + [ + { type: "display_notation", params: { latex: "I^{2}C" } }, + { + type: "implied_passives", + params: { + purpose: "Open-drain bus pull-ups", + components: [ + { kind: "resistor", value: "external pull-ups (value per bus speed)", connection: "SDA and SCL to the 3.3 V rail" }, + ], + source: `${SOURCE} — "external pull-ups required" / design rule: "I2C requires external pull-up resistors; not present on board."`, + }, + }, + { + type: "protopart_constraints", + params: { + max_connections: 1, + max_lane_rate_mbps: 0.4, + requires_matching_voltage_domain: true, + source: "ProtoPart definition.json interfaces.i2c_master.constraints (verbatim)", + }, + }, + ], +); + +// SPI — "SPI on SCK=P0.12, MOSI=P0.13, MISO=P0.14." +// clock_freq 8 MHz is the source's max_lane_rate_mbps 8 (= 8 Mbit/s). +const spiMaster = amend( + SPI({ + id: "spi_master", + name: "SPI", + roles: ["master"], + clockFreqHz: 8_000_000, + mosi: "pin_mosi", + miso: "pin_miso", + sck: "pin_sck", + maxInstances: 1, // source constraint: max_connections 1 + }), + "spi_master", + [ + { + type: "protopart_constraints", + params: { + max_connections: 1, + max_lane_rate_mbps: 8, + source: "ProtoPart definition.json interfaces.spi_master.constraints (verbatim)", + }, + }, + { + type: "chip_select_note", + params: { + note: "The source defines no dedicated chip-select pin; the SS slot is left unbound.", + }, + }, + ], +); + +// UART — "UART connected to on-board CP2104 USB-UART for programming and +// serial console." The source's max_lane_rate_mbps (0.001) is preserved +// verbatim in a trait; no baud-rate specification exists elsewhere in it. +const uartDebug = amend( + UART({ + id: "uart_debug", + name: "UART to USB (via CP2104)", + roles: ["device"], + rx: "pin_rx", + tx: "pin_tx", + maxInstances: 1, // source constraint: max_connections 1 + }), + "uart_debug", + [ + { + type: "usb_uart_bridge", + params: { + bridge: "CP2104", + note: "UART connected to on-board CP2104 USB-UART for programming and serial console.", + source: SOURCE, + }, + }, + { + type: "protopart_constraints", + params: { + max_connections: 1, + max_lane_rate_mbps: 0.001, + note: "Carried verbatim from the source, but 0.001 Mbps (= 1 kbps) is contradicted by documentation: the CP2104 bridge supports 300 bps-2 Mbaud (Silicon Labs CP2104 datasheet) and the Adafruit guide's serial examples run at 115200 baud. Treat the verbatim figure as a source error, not a hardware limit.", + source: "ProtoPart definition.json interfaces.uart_debug.constraints (verbatim); correction context: Silicon Labs CP2104 datasheet, Adafruit learn guide serial examples", + }, + }, + { + type: "co_requirement", + params: { + with: "FeatherWings requiring a dedicated UART", + condition: "UART in use by the CP2104 bridge", + effect: "Works with most FeatherWings except those requiring dedicated UART if UART is in use by CP2104 bridge. For FeatherWings, keep UART free if required by specific Wing.", + source: `${SOURCE} — compatibility_notes / usage_notes`, + }, + }, + ], +); + +// ADC — the source defines eight ADC_IN header pins but no converter +// parameters; resolution/reference/range below are supplied from the Adafruit +// learn guide (Device Pinout page) and the product 3406 page. +const adc = composed({ + id: "adc", + name: "ADC (A0-A7)", + protocolType: "analog", + roles: ["input"], + slots: [ + { id: "channel", required: true, count: 8, match: { protocol: "analog", role: "input", capability: "analog_in" } }, + ], + profiles: [ + { + id: "adc_channels", + label: "A0-A7 header pins", + bindings: { + channel: ["pin_a0", "pin_a1", "pin_a2", "pin_a3", "pin_a4", "pin_a5", "pin_a6", "pin_a7"], + }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 8, + mapping: "A0=P0.02, A1=P0.03, A2=P0.04, A3=P0.05, A4=P0.28, A5=P0.29, A6=P0.30, A7=P0.31 (VBAT divider)", + }, + }, + { + type: "adc_characteristics", + params: { + resolution_bits_options: [8, 10, 12], + default_resolution_bits: 10, + default_reference: "internal 0.6 V reference with 1/6 gain", + default_input_range_V: [0, 3.6], + note: "Resolves the ProtoPart data gap (the source omitted all converter parameters).", + source: + "Adafruit learn guide, Device Pinout: 'The 8 available analog inputs can be configured to generate 8, 10 or 12-bit data'; 'Default voltage range: 0-3.6V (uses the internal 0.6V reference with 1/6 gain)'; 'Default resolution: 10-bit (0..1023)'. Adafruit product page 3406: '8 x 12-bit ADC pins'.", + }, + }, + ], +}); + +// Power inputs — "Power via USB 5V or LiPo VBAT; board regulates to 3.3V." +const powerInputs = composed({ + id: "power_inputs", + name: "Power Inputs", + protocolType: "power", + roles: ["input"], + slots: [ + { id: "vbus", required: true, match: { protocol: "power", role: "input", capability: "vbus_5v" } }, + { id: "vbat", required: true, match: { protocol: "power", role: "input", capability: "vbat_lipo" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { + id: "power_inputs_default", + label: "VBUS / VBAT / GND", + default_active: true, + bindings: { vbus: "pin_vbus", vbat: "pin_vbat", gnd: "pin_gnd" }, + }, + ], + maxInstances: 1, + defaultActive: true, + traits: [ + { + type: "power_sources", + params: { + description: "Power via USB 5V or LiPo VBAT; board regulates to 3.3V.", + alternatives: "Power from USB (VBUS), LiPo (VBAT), or regulated 3.3V on 3V pin.", + source: `${SOURCE} — interfaces.power_inputs / usage_notes`, + }, + }, + { + type: "lipo_charger", + params: { + note: "'Built-in LiPo charger' (board metadata). Adafruit learn guide (Power Management) confirms: when USB power is present the board automatically switches over to USB and starts charging an attached battery, with a CHG LED lit while charging (the LED may flicker with no battery attached). Charge current, JST polarity, and the VBUS/VBAT power-ORing topology are stated neither by the source nor in the guide text — those gaps remain unrepresented rather than fabricated.", + source: `${SOURCE} — metadata.description; charging behaviour: Adafruit learn guide, Power Management`, + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Connectors — modeled exactly as far as the source describes them +// --------------------------------------------------------------------------- + +const usbMicroB: InterfaceDef = { + id: "usb_micro_b", + name: "USB Micro-B", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [ + { type: "usb", roles: ["device"] }, + { type: "power", roles: ["input"] }, + ], + capabilities: ["usb_device", "usb_power_input"], + parameters: [ + { id: "voltage", unit: "V", value: 5, range: VBUS_RANGE }, + { id: "max_current", unit: "A", value: 0.5 }, // warnings: "USB VBUS max 500 mA" + ], + traits: [ + { + type: "connector", + params: { + kind: "USB micro-B", + source: `${SOURCE} — power domain vbus_5v: "USB micro-B power input."`, + }, + }, + { + type: "usb_uart_bridge", + params: { + bridge: "CP2104", + note: "USB data path is the on-board CP2104 USB-UART bridge, used for programming and the serial console.", + source: `${SOURCE} — interfaces.uart_debug description`, + }, + }, + ], + bridgesTo: ["pin_vbus", "uart_debug"], +}; + +const jstBattery: InterfaceDef = { + id: "jst_ph_battery", + name: "JST-PH Battery Connector", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input"] }], + capabilities: ["battery_input", "jst_ph"], + parameters: [{ id: "voltage", unit: "V", value: 3.7, range: VBAT_RANGE }], + traits: [ + { + type: "connector", + params: { + kind: "JST-PH", + source: `${SOURCE} — power domain vbat_lipo: "Single-cell LiPo battery input via JST-PH."`, + }, + }, + { + type: "data_gap", + params: { note: "Connector polarity and charge current are not specified in the source." }, + }, + ], + bridgesTo: ["pin_vbat"], +}; + +// --------------------------------------------------------------------------- +// Radio — the source names BLE only in board metadata; no RF data exists in it +// --------------------------------------------------------------------------- + +const bleRadio: InterfaceDef = { + id: "ble_radio", + name: "Bluetooth LE Radio (nRF52832)", + domain: "network", + exposed: true, + default_active: false, + protocols: [{ type: "bluetooth", roles: ["peer"] }], + capabilities: ["bluetooth_le"], + traits: [ + { + type: "radio_characteristics", + params: { + compliance: "Bluetooth LE (Nordic nRF52832 SoC)", + note: "The source names the BLE radio only in board metadata ('Nordic nRF52832 SoC with Bluetooth LE'); it defines no RF parameters, antenna feed pin, or TX/RX characteristics — none are fabricated here.", + source: `${SOURCE} — metadata.description / tags / taxonomy`, + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical — Feather footprint +// --------------------------------------------------------------------------- + +const featherHeaders: InterfaceDef = { + id: "feather_headers", + name: "Feather header rows", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["connector"] }], + capabilities: ["mechanical_connector", "through_hole_header_0.1in"], + traits: [ + { + type: "feather_pin_functions", + params: { + source: SOURCE, + functions: [ + { name: "MECHANICAL_CONNECTOR", direction: "bidirectional", signal_class: "mechanical_drive" }, + ], + description: 'Two 0.1" header rows for Feather/Wing stacking.', + }, + }, + connectorTrait("through_hole_header_0.1in"), + ], +}; + +const featherFootprint = composed({ + id: "feather_footprint", + name: "Feather footprint", + domain: "mechanical", + protocolType: "mechanical_connection", + roles: ["mounting_point"], + slots: [ + { id: "headers", required: true, match: { protocol: "mechanical_connection", role: "connector", capability: "mechanical_connector" } }, + ], + profiles: [ + { + id: "feather_footprint_default", + label: "Feather header rows", + default_active: true, + bindings: { headers: "feather_headers" }, + }, + ], + maxInstances: 1, // source: max_instances 1 + defaultActive: true, + traits: [ + { + type: "form_factor", + params: { + standard: "Adafruit Feather", + note: "Standard Feather board outline with 4 mounting holes.", + source: SOURCE, + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const ADAFRUIT_FEATHER_NRF52_BLUEFRUIT_LE_3406: ModuleDef = defineModule({ + id: "adafruit-feather-nrf52-bluefruit-le-3406", + name: "Adafruit Feather nRF52 Bluefruit LE (nRF52832)", + version: "1.1.0", + manufacturer: "Adafruit Industries", + part_number: "3406", + description: + "Feather-format development board featuring Nordic nRF52832 SoC with Bluetooth LE, built-in LiPo charger, USB-UART, and Arduino IDE support. MCU: Nordic nRF52832 (Cortex-M4F, 64 MHz, 512KB flash, 64KB RAM).", + tags: [ + "Feather", + "nRF52832", + "Bluetooth-LE", + "Arduino-compatible", + "LiPo-charger", + "USB-UART", + "3.3V-logic", + ], + categories: ["microcontroller.adafruit_mcu", "connectivity.wireless"], + + interfaces: [ + // Leaf header pins, test points, and on-board LEDs — source order. + ...pins, + + // Bus controllers exposed at the headers + ...i2cMaster, + ...spiMaster, + ...uartDebug, + adc, + + // Power + powerInputs, + + // Connectors + usbMicroB, + jstBattery, + + // Radio + bleRadio, + + // Mechanical + featherHeaders, + featherFootprint, + ], + + interfaceGroups: [ + { + id: "power_sources", + label: "Power Sources (USB VBUS, LiPo VBAT, or regulated 3.3 V)", + members: ["pin_vbus", "pin_vbat", "pin_3v3"], + policy: "any_of", + }, + { + id: "boot_control_pins", + label: "Bootloader Control Test Points (DFU / FRST)", + members: ["pin_dfu", "pin_frst"], + policy: "all_of", + }, + { + id: "analog_inputs", + label: "Analog Inputs A0-A7", + members: ["pin_a0", "pin_a1", "pin_a2", "pin_a3", "pin_a4", "pin_a5", "pin_a6", "pin_a7"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Power from USB VBUS (5 V nominal, 4.5-5.2 V, max 500 mA), a single-cell LiPo on VBAT via JST-PH (3.7 V nominal, 3.0-4.2 V), or regulated 3.3 V applied to the 3V pin; the on-board LDO regulates the 3.3 V rail (3.0-3.4 V, 3V3 pin max 500 mA peak output, not continuous from 5 V).", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + // vbus_5v max_current_mA is from the source's `warnings`. vdd_3v3 + // max_current_mA is corrected to the Adafruit guide's "500mA peak + // regulator" (Power Management page); the source's 400 mA is not + // documented anywhere in the guide. + { id: "vbus_5v", name: "USB VBUS 5V", nominal_voltage_V: 5, voltage_range_V: VBUS_RANGE, max_current_mA: 500 }, + { id: "vbat_lipo", name: "VBAT LiPo", nominal_voltage_V: 3.7, voltage_range_V: VBAT_RANGE }, + { id: "vdd_3v3", name: "3V3 Regulated", nominal_voltage_V: 3.3, voltage_range_V: VDD_3V3_RANGE, max_current_mA: 500, regulation_type: "regulated" }, + ], + metadata: { + pin_count: 28, + supply_voltage_V: VDD_3V3_RANGE, + logic_levels: { vih_min: "0.7*VDD", vil_max: "0.3*VDD" }, + mcu: "Nordic nRF52832 (Cortex-M4F, 64 MHz, 512KB flash, 64KB RAM)", + power_domain_descriptions: { + vbus_5v: "USB micro-B power input.", + vbat_lipo: "Single-cell LiPo battery input via JST-PH.", + vdd_3v3: "Board 3.3V rail from on-board LDO; available on 3V pin.", + }, + isolation: "All rails non_isolated, common ground reference (source power_domains).", + source: SOURCE, + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 51, width: 22.9, height: 7.1 }, + metadata: { + package_type: "Adafruit Feather", + mounting_method: "through_hole_headers", + mounting_holes: 4, + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + requires_thermal_management: false, + }, + }, + ], + + traits: [ + { + // Source design_rules; pin-level consequences are also attached to the + // affected leaf interfaces above. The per-GPIO current rule is corrected: + // the source's "10 mA (5 mA recommended) / 30 mA package" figures do not + // appear in the nRF52832 Product Specification. + type: "design_rules", + params: { + rules: [ + "All GPIO are 3.3V only; not 5V tolerant.", + "I2C requires external pull-up resistors; not present on board.", + "GPIO drive (nRF52832 PS, GPIO electrical specification): standard drive ~2 mA nominal; high drive max 14 mA source / 15 mA sink at VDD >= 2.7 V; Nordic recommends <= 15 mA total GPIO current for the chip.", + "A7/P0.31 tied to VBAT divider for battery measurement; avoid using as general input.", + "P0.28 and P0.29 recommended for low-drive, low-frequency GPIO only.", + "Pull DFU (P0.20) low at reset to enter serial bootloader; FRST (P0.22) low at boot forces factory reset.", + ], + source: SOURCE, + }, + }, + { + type: "usage_notes", + params: { + note: "Power from USB (VBUS), LiPo (VBAT), or regulated 3.3V on 3V pin. Use EN pin low to disable 3V3 regulator. Provide local decoupling for external peripherals. For FeatherWings, keep UART free if required by specific Wing.", + source: SOURCE, + }, + }, + { + type: "warnings", + params: { + warnings: [ + "ESD sensitive. Handle with care.", + "Do not apply >3.3V to any GPIO.", + "USB VBUS max 500 mA; 3V3 pin max 500 mA peak output from regulator (not continuous from 5 V — Adafruit learn guide, Power Management; corrects the ProtoPart 400 mA figure).", + ], + source: SOURCE, + }, + }, + { + type: "compatibility", + params: { + note: "Standard Feather footprint. Works with most FeatherWings except those requiring dedicated UART if UART is in use by CP2104 bridge. Arduino IDE supported via Adafruit nRF52 BSP.", + source: SOURCE, + }, + }, + { + type: "application_examples", + params: { + examples: [ + "BLE sensor node with I2C sensors", + "Battery-powered BLE data logger", + "FeatherWing-compatible wireless controller", + ], + source: SOURCE, + }, + }, + { + type: "wireless_soc", + params: { + radios: ["ble_radio"], + note: "No RF feed pin or antenna interface is defined by the source.", + }, + }, + { + // ProtoPart purchaseInfo — no OpenUHD home; preserved verbatim. + type: "purchase_info", + params: { + vendor: "amazon", + link: "https://amzn.to/4nz8Mmg", + isAffiliate: true, + vendorPartId: "B071ZSQDSJ", + currentPriceUSD: "24.95", + availabilityStatus: "in_stock", + priceTimestamp: "2025-11-02T23:25:57.000Z", + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "Bluefruit nRF52 Feather Learning Guide", + type: "datasheet", + url: "https://cdn-learn.adafruit.com/downloads/pdf/bluefruit-nrf52-feather-learning-guide.pdf", + }, + { + id: "art_thumbnail", + name: "Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/adafruit-feather-nrf52-bluefruit-le-3406/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail", "preview"], + description: "Board product photo (source previewArtifactId: art_thumbnail).", + }, + ], + + geometry: { + // The source defines no node_geometry; only the rectangular Feather + // outline (51 x 22.9 mm, mechanical domain) justifies the preset. + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/adafruit-feather-nrf52-bluefruit-le-3406/artifacts/thumbnail.png b/library/parts/adafruit-feather-nrf52-bluefruit-le-3406/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..f63fb9b346787ef11d44fb26b81aeaac3a5af74b GIT binary patch literal 248815 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�hW4vNMxPu8eaP_v})$Scv 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%0DA`I)PyS zjb0>ZS%-M-+t3QXc2vkg&_p4q{DQzea|jk|MS^N{AGQvFW(q+QiQq=XG=x>Zhq7-7 z*64{X}SmWhs{c$**6Awp?RC>ZgA}?#)jGd5x10{Hz7``DVcy-*U9#Dhm;& z)re3kLwp+bh)~5KQjZ9|S|n&vijG~aMyY)Wwc`=npZ{hrog_m3bqMXh*@w`el-*v9o#@eQx8s_k%zPL3UJ|~63Css0Lsd$proJ-1_nkD7!(X4 zp|{}L^&8Mq*8qr|2Oz(~&+k*v&a8q?)&S(xzJm>CZ-JzII*7_WCXGYV@1Ic6T&kd; z!Dnb-N?1C$5oQifgt?6aVQ241xM1f%Hz&f}41T=Ab z>-ac)QGD}w9WGO06r)Ltv_d33I*iw0K%iOabh(Re-qZRlw5JIEoQt}59*cRjeEGCC z@Hw^r$`eTM7=-cBW|(YAhtbBgHzAIiLfV(k5PGT_gq4*I;q2~31YNmCIJhx-=mH(^kZz(ToIjJCKw?D_WqD2g-MQ;ORI520~zz{t1?wWWrwWmrz0>WSjd5 ztu#zVf|uivj9M}>iXY{ceQGI$4tnIE6~@nyQOXBsos#!jsC4@*WG@!&Z87< z@G3`3T+6v@*4-aRE5oMHvanZZ}$~PULEK+&t|m7y&A3btVGLv zn~Qf5G-OE7(`;|YKKoVvpNYuCziJ8_TagzqL*trX>ygG__t*Q~B{1OSN7J{sPF;@U` zsYwYeF)xE<_B9}5Qx6hWT_EE;iX^>zk)&@gB8+R0gy%4l^cg`?&fQ$EmhHwlaM2|m zo>q4QqrDfJYwMx0tO`1tnj!Xa1SBWLLu^bUL`SDUY+@$diHL{r#|aSrC>kQ89zjI- z1Bj1`h3o#o5Ps_cq$WLun|JR++><1zt!d;6mX_BS!PERq7<=;_th{1i-RUc^=xj7d zE9Jprq_|5d@OpIuuWJWL`*whsQz59vGv-5+a+NJCEcmdL z2{x3%3cS`<7Q~&~H@R$dtcisi=vS{_A#CidxvIS0p4jsCU+xDTZ!v)2k`)g27zpSo zDx3u12Xq{Vafu5De+)DjRPa8$jj;fivM~7IxK8_m&`oxl8-mx+jd*UO8V7NFAO;Fr zs1T<&GzWxkcH@0?zXRVizF|63p{J#2k_p~Vv(jk*qDx}5Xd`})_v4$wpJAZDV1q4g z@q7HDndo$;^4~Js)hC&f9<84~ukcH!_FYMVxRySc7;S~uZO`G;K*f)+Kszx*4MoDt z$e3_)z^R=xw~mNyA+KKvC4vG%h^yB^iEGzFh#LWZ#N8ktBI0@waXZkJucP{DeRu5> zYOE;^x;kp9Q?8kmxK2I@8kPZJR0;gnO(1Gh3sOc|u+sb)tg*_3MOxvoLd74}D!IcZ z%|KY88Um}#Q-NP68V*D=;7H0KNO{&GKJ$7+Xf`529VQaeX-1-&MX*f$2`s-5NXa{e zQwrX(l-LVsthCI8EnbzdHJ}L*=k6n7Pau+2NkD5&GSN=wLUhQx7*^{=!(#PF z5IYkDd$e!BDtTX6W}XA$_H`g=T@Mnjy-3Ju7zw(LA_1>HM7XyhUe7)x;WdC{v9^<9 zG%Pfag{@vsVXJK#th#g+LQ>jrPlx-Y*}_K1Ebk2xvB^ZD-i=7mlYtg{b)n_14QQd| zQ^c=)2Q5%}01}t(gOExL5;b^+WbDe&GXHKQ8PJOecLov&Vj=#ZUPO3xAW^?=w9u;_ zEwIiR#~>fLd7Q_c=RgQHBb8TeGoq%4r?q5LDasQ%Q7as`hf5r03OeFAnd9@ z$fg1oIn=^$ZVZr8c>*Gb++f*hH;_H<3SuX`V7c0TSZkXP5?mSZ5#aZD2RtqlAn4c) z5>5<|aB6`SK1`4>c?QI#Tfl!V2*eeygMi{qkTQ4zLORcZ(94B2cZXm}U=K*@H-X^g z3LsRALC~ZE*7>!;0;3d=k#nOqoVTPl$!Swcj#nwYfK*tmdI!XeazWC)3#|=(jrc8^ z5T8yR;#aFdJc?CFOtlIvP|E=^`3Mj^;Rh0@ykPNZUl2R$4MOMdfQUvK@M;$Wp;3tl zr4mHwR3Ra^F0|stG>BPu0-;g}5~@!@L_P{c&)x&c%i-LAYd*y&;8A%Aghmwzxb=eM zl}QkE?ni_{0}{6HMJv6AVTEZOh#bEKt4`UI+m0&F{`TANUpFpa{OZrOt9y2C`h94_ z`nB(N{gfkE|vI97}-5qYK16Ss>}s1Pk1XK`E+s z_Tls5J=d-V^EfyWu`ofb}{C$aEN;DC>_6xya1uf;b+_cv%c6bv-&Ac;_C>HtD-1M) zo=|s_vZ(Z&0*Fe<1OLbu@R#vbI2u|4r;?^X#;pzrJQAo~3H%0)NYuC)MD;2_Ml}Ww znFLebcOp2sMK8&m!aOP@GKoB9ew~z32&0zRm4moTIS~3OARjdZC$BSMn`oAk;zoh(>gfp^Az|rlVOQZKM1?^0gqcZ;`L=Bes3m{^6tet zP#}FK800K(K~iNc^`zh>m6TUQIRwX2yOmsEr~Yk_zugS$Jj#)btW6Dwd$W*m;2`4nV2 zJo-S)jsc79TS4GrB&@&e0k&6TsEEWDR7`3vggnZCGgfy%^!#=1lkx)7W{@;(=l*;1 zTC{Lqi`|$YsGJBAC;cg1*J$!qWCoe=EQbt^h$YSZ<2Y*+uabhg&q2a#00`$1;B_4b zVV6FTaqflXPQ9?+x)DT=UV-CAw<*6{QB-VF5*3r04&Ha-sr{P4l+@YVAZyzM!mgu0 zI1B=>+YktQ_JO!-2gukrbMJe@MOVuGP6Bl+HknFz@e+a_r&4k@*QmAXcd4CT^{~pb z19*&TfjIRNM0FS-X2Jk|ojmx%H6M0ZJ)l$_uW`cT63B#%hn%~QZ_Sx`T>Z8AvJabI zAr1(=a*%TGg|%1TBT4ISL@1XdA&oka)hGg4xtnm>`abwZBvOyklBuWpIn>q2MD`)w zAohauHz4Xh_?XcQ34YsHUQpWy~jW2^DX zOyzLfnFE`BmoAXdTCjMHmxS!bHWA77-vq?g%@HE&*o5#JHt&LsbA;HE@BG3d152cZ zi;iwtmgZ$BU+rOhDeLf#l}d}3h#cn;6|xgw`a6Sf>9#L?>-Wy{Y&uQy?J%H(k6Z!b z=tCgnGeJ7K=WwZ*@H;&-m$+S~?76)b{7~#*ZBMv3IdcO(Jywgk92gjI z;KyYtTu!5bf+lg}ECavC+c=K@x7>x}EX_K{`{~jaE%{FOP;hMK%DK~JB)phrkJBT) zbf$m9qFh4wqAHRNd%6O3l`x$y<*#y8%FkrE>qK9f9-KS!eWFR3q~e?4=kWox@Lk!S_||}bi;IiJ`8o_LJza3#KXf*0H=dtw{8;m zZr|dL!9_+rA`)W~h{*d7iMwItfyitTgml?4=7n1ENy`;GzURAkOjhS^&q613kxpY2hZ@A&^J5| zL;dws53_)r=wnh14NX)<=Qt(r76lTDVX(-l25E(m$BfX8PTiTMqIkX;K1>z9G_g$T<1 zW)?X*GCBYLP5=DcaVGie)i5>LH$>I64s(=TW9LPc9#gm+#P8k({Jw)A;M@hW4vipq z;Q{rJ#UrYyp_?4+>mXkbby7o}^%S$U5~|y~z~xa9NME=Pi_I!Q(z*+T?YcqGt`nr} zyFpAR6E^7Hroyrt***PZ>~~|m?D3vj&S-xVyKiXtS7c7puZ>3093kCo5OE#=KBrOO zw`0KqhYpa|C;`b6cfcvEfNJO%AV-GU$gY+=a-ge{YHw>M3#z->20<@KQKcA=bZ7-J zpJCu}>jhEoA&_-x1wn-wq3rGPwg zu|Yl%Dy1N%+X{qo6%a}VAg+}HYB%$!r!9S)=FV=;*ibw5dbEZd9ju%i9ASNZUeot+ zr%BwrpmGZE8&`vvV-GCz9RpGGMi5YZ0kRh!g8jV$Xc-u%UcKrk$NQ_vcau%{JU?q% zSs(0f=KT;mA4LhMmja(wEfDJ1OQ!+&4GLkaOBUsvT*t2Oo0uJ+82T|j$e5j;>f*2l zJLc*JM!#Qq+W2#=<{gfx@)ID`@<7Cq1!`^|gHn$*b>}&}m z3p2vT-I-9))gp9t)CmoBWkN|^o5w9Y#lZS`@B9MC91!zs=gPWEcz3}9&pKG>oC(^o zRg)^_b|P+0_S~r|U%w!(H@cpIKDR`LGZJrqKf=V)m@9F@6;br`B0QYk2|F8GZU%y5 zERLzPaTMOBo8k1-Dh2}_Tk$qN4reDAENGb%dK!x!UcxaMClxe-kRBDL^$;;={jc|c zvk3fjk1s&;J7^*a4%Qeb@X0Y){MU{a1Im91Di{#(s4f15X!9w294&o9kL%J}S2P=v zZj{qK74DSP|LJSd4R{Pf_*gm{x$-cD&!_k`V~c+!wbZK?4uzILd3Og4vT|XhBNaZ3 zmXggixgG)D?!2Lae#E25a3U@>ors8yClcagiKvJN#EsCqL~2GBk&v29#3erBDacM1 z`}w+~ailqwn&>Qq&dzSi`dSuyk>*q2)o%bE^H$)s>j1*39k9mDQsY?gN~x#D-%V44 zomI0*QMac+s5J?u}>zK85V$qK@$j@bONE>0Fs6|pb?M+ ztpmf*(b2%pPJU1r>S_~w!^5ts;Q5o!-5t&Bo}mG@^_^t4j6o75WygRe<}I+=iUH!< zg|JF9lFF!TA^UrqshXm!uh+fo@7w5HPKv$lJH{wao$2mrn!lS}JG(?Tj1u!;f>7Wq z5ceMj8QUt5l)D8U;T2T(&?wd0T|>o1Ui%T^Y5nE?Rkzv3icGSXRZkT+wvfjy!l^}? z2_WI#4g%gourP2G_|#(Hr2Q=zdjAHdMq8-#$Nsa%YNx+A7$|(ti@V95>aC~xN4qHN zumnm(^AX7S_5tD22NJ#$AZ5!0*~|AKx2}u&{HBL$txjd%y=wX0!9wv%*mc+0f#zar zYHXN_FKVNfDqe*}&P)(;n*b5_0T8#U0f}?>DaSiSoG+i>vHP2{z9mNlG5j2iI|AKp z$4jzPXC`}_I5mv6xkL63IqN)1K`L+n2&Zlkaqa_g%?xU<&J|8a{}iXQrH(9qmN0kC z%Vj3S%VoYOH<@f}uY`tv zdCvE{p}y6w4pwCk?q415Xf68M)8GCpv7q_;I@N2Wv|T-jc#ndxdpEaqwfMq)FbjIh zY3yQf7;Oc!H*UF?IXf97`}^7S<>w}T>1ZmQEw68yJ7jv3EvuUVvH^WSxc7s!`!EQp zrNAEDK(e8;d%llRGGCm2XT-~1*TLFE$vpm1NL4SZ@?-yS>&&g>>>pysLrGEPVi3`) z1p&=65YftmRhkiyUDr+y4YaTutFk{`_pwW{)>Uu{b~lTyE{y4J@2q|Gyt?=6R?V<^ zQMKnl=vIJ$a|^5u?t&#+abOmjM|BMJQ(dh^KkkS4ggcq)n>kw<-pERcX?fk(_O`XP zXX=tu^7myLX_T;51rRDVz^hdULJIM4+#+O-IneiGnAP~D=-K1itA5Vec2q_FQ*o*{}SZ2ZQdmDz0`K z7ehP@R37EV`PNtG-kW-OD=2-{x~&QPtB=kSf2dN#Ml~STpQVHrt)Ej>IR7y>_QvPh zjIcNNe5@atsmWQmT58`-d=U7&GApbiGvRKEd2$Mms?0Ar6lm=y-bz;^{F>~u=V-;P;(OWwiUzE;tq0$_9IeC zr-++<@LDl}&#?n|umY=H5gc=SOtnqDCHp%o=5Bc#)*s!o`R3sRyZ!ec++(SsaUr(5 zHsizOP$xSuzIJ|{ZYm{d&;W!!6GY6Ius|ag(n_kSS0gQCTtsm4$vs=7&+OVEaeCKZ z5@+`BS(z4lFL9!;Y&NYRXKsVuBaXO!If&@gfwVy_2waGv^lle&UVj=V8%m?UtDfC& zd1S}$+fMJ>e(2cFwf|go&BU=-I&`CMPnphV#2_IIQr-b=y%8vuOnx z<+~7*{epTsRZBezwVL0vQT)T9ZR^L5@7gqc_;;DXC$}BGO|WvvlGbYS56fsu!oC5- zyhlL7V-N(C(?S16IXV4ilI*N{!ZuRb_x9k33|`pTP(AY;}-3zALio zMZ}x2;a1M|=Vj~#x_2m1_hullm$*ecC35->nUq~MKhjxCMqYFOd1Tw#PY1Sd{d9Qu zU!V5;weef{JumiPPa*Z9qLA8Ravx+Yia^G-8zik;L0T~dl-!Cg$ES*`Z6huk6V)^e8kg@Lu z$&2@?`zg=9_IKugdLHYSbYl1NrTceo6g+z9Z-Ko#*NfZ^u`?O%&HY|cU;g8OaqNt= zQZ@*v76A^(!k1$~Bjg3y+t)tVS{B=?b@{;7U4O0?Kd^m^$bqdJ#5FGey{f4;^<{s5 z$2aGjY42r}o{)r26%gh%Aa0%w`gh96nyv{Bqb2X>O?d^E;%(JM#GP%9$FC6%L z)8*ZNZM}S8`zGCpV6TE{R@KK=M%(9q98%_ml%D~gS_SZHm%#$Fr{I;>LALic%+|cT z+p8%5=l1Qt%SisSb2DrCP90sp+vtbz zUjdZh@o3=JTF%g&zHCD4nob#oKw$ z5L(|I2Wp%#(CUr!crOhgG{KObjKY9{Z{ok2SQrTCNh;bqgr4T2dlxjLoOUv#jj1po z;G3sMg6U>E{u1yueJ)zn7yrUmPOe0FM!{jPoQ^q3kCz~Gr5g5MeF~Xf{V>*F25%Y3 z@Ve~%d;T<&ue7j;uQ2z8V1IkVUid!T_PQ^7 zo>}vN8tl!6#_ncH%R7~`S~G(ZGiU+A2s@4S0>1+;ZFIpB(@e0tpFsAFx09Kv;jd5b z`@{b9KYJa{pF16Ro#uuC1>w96R;;@~QJv zDi`G{)h{1z>1j-6_l>lZ>bFZNN%KOG_UQvL>uOkdA(V>BVsc(j^pkh|tv>A9vZ3Yd z$z!dG7tXL$E}pDCy!ZDPNim^c-cGbrQJF=gjBYfDId+4H?Jx*kN~O%aAI(iq4zTlH zJYXH(yHfeWiT!#PPoD_Bta!oVpJRJYI+`e7pC0dG=QJ}pf0|t4E!7*F%46jPg& zAF*2)t?d5hryOPZy>E{m*fxDZ?&PNn^5;IvD_nRlckb}7ZbmNI-qi|v{?B2#W-2Uk zVuF-qC5WF3qJoplXWqS^{Bq}tz3tu|8<$)>cUI>7`3uW0UAnOH#L?}4WoCr6znN&9 ziF%$ryFlwPCFR%!lJ>o@Kz|di!R><|JXv#tEsjRx3B2$ z+q!Lqz^QX51mxsS3(B26DYR?vpZwtuf)w72*L_NSk^6R;Mm&dCvla-oT9CS!0O4sh zoZ*2EPElcW&7nhU#Lmhe6F7GIxY+TN$3%`C*(2y|p|)mtpk=bSx%s1>TD%YkZTzr~f8yBe=wL^D^S>MrdQ=z3QXJfI--GTW;~6pGYl4rZrBUcigl4eg*p1JRUl@?^_5P<>MI#Fi^fb$yo{*wB8MHtb%|yrh z@HWm6@Or!tH{<_D^!q=V6nqQ~1hnP~z9y~i$o*m*9sk$(q5aZn(jdMky6-`s1Ftu+ zuq5090)^7sCWd$2tEZOTYynBfbkK}0g>q&KO!Sn)tIj+aYs-bt)9uv!?BvYb=}y-0 zKvUAxSnvIT&NiRd!+lrTpC|L@-*l@MpM$7`5WfP&j?;ppCMU!XpC%BOh%I<-c$G zS!;ZF-SeY}(KC0_Er~6xjio0#KuV_o&bp;TS62hYs!n`=@z{RxGsjNws;jDrX{u|9 z>#G{@SsCaFF&dIntC@u}am^puhy0tUZP!NNPrnv0i>Rh*dnU;Ku9|r#i;DpV4{l#~ z?$Y_cFUX%$&{9#^VW6hEIwksE_+)?iT-1xq`PKG0BrXGqI(5SayBCmHTuL?9r&9@! z0@){z?07GKSz+Y-W!3lE+PbgxG*xq*tTlT(y2|I$D{@JL@N`Pbq6ikckAbvdIUKN# zgMr~@=&XvMF3auyeD3(sF}2I;Z_N#@KWJ;|KiAh)eAZqWH$O4SqHJOtC`rRikn&)G zs97m&*0@7um2{EsCVEMCbM>y1M~)OKDXO>YYU>Od>S@*}T{`I=7kO>$%VazCBJaj3g# zrm(JsJZ>LG%GeeF9tRayE2a(_KH&@vb&{>6k(>*s|DL{h@$|How%Qjx1KrO`D$4IQ zR4;rheG$p-?r4Uj99C-FprQ(ze!ZURd*@}Vb^64iJ+g|Il@_Y1 zXl_(fQ(1jk{^*|xkAn+(7%zUN6&A2p8pTnIF^SN207Ne&P>uoNA72f%yuN$WDe%Dl z4H9S0oe)yh)LL}$lF}08%NHcg^yIg(+RKK!dI#9b?$M-#MJb57^y91x_832yXS5Z) zYO8*bc1muy$Z7d=yq6VJd6g8j1yq!D`7fV8BT$_i9y$HGd&cQe`JBXsC=gLE1u2a} zSgmju9%Ryxc#lRJ9e)Dyb`;(NtAA zt#a<9a&2LJ6|1l9mwzgAR#qXF5?3sOMe0ScNd6l5#pRKs6O0)zd&Qk6_V3`=Qc~bo zxhN;8sd7o;%!#8Sw}Rbu-}Pj_FUn5(_S-+6^L#tPKPh0fa0XfXAW`mbm0lI?;8r_saV#oFbl`unKv!*f#jSxMkpN z@q3xYn;%syj`>pn03ZNKL_t(^-wG)oeRnacg_N?(0vZ1nu9+0!+yoN7?I7%24}2Cy zAQ#RgH9cS(jeeT7WMZ1Fjf9C-GE|+XRl7SuOBcb%UT$F&uKwfR4dVc*QFD zVXmXGNa><7ua1$CfQyHx_*HLz;p?6*GUGkPjPmBvd8^na&LX2+O4fz}l14?a+d7eY zTH8mB^|x_?T@516%N<+i?C$Zmi?he&t3g-x`a0R{t1r%MXluxuyPf!SZmC&1xinw` z7J3ZAI?FtWec1q=%o?gNGm$)fbk`d#eQlPJjrEkZz1@J5lSOt)bkM8j##~NbLkne- z&`2$IY6MC5aS$`Dhd+&DfYDwDW1Y__U7fR^)wERxEv>Ca9i7}JJv{@HeB51%-u0Ao zy1JSutX{W=jBdhSlQVZIyyTw`T2U}c-Wd- z6+TUTHPzQj#pjh#i_BuV{?fv>eITrmOu64pV^56sk$KM&n3ql;-mR;rdCbJh%D~yz z$H>;+YID?0Kb=8l<7{4WGv|_P0x4yd2cmWi5Y;TAHfu$2+IpDeU`HlLL*e9zwz|ro zjic>b2PgaYo(|UUeQgcC54YxU1_xMRb*BPW8Ro)5cNU1-)PU^eJ5)q&$4qy3;2&0d=~P{7H~YL}422v1(gD*T zYFr81jU(C3%(8ENP4P`OmRgH6G}QPkP0jdR9b82HJOf0nO>`t!4T-rueU&pd4~phx z6%#>Rp%SE(D`3UtM-Z9a#-4fK_3CMu^#%?369Nv_j)JD9wxV9{0kSUUj>0k5uN|H2 z%>R&C_+n;*PCO}~Q3E_`Eg*W~37GpnpoWIp$&$jl#L3*u_|@V7xU+0fC%>1AfkYbwiKvM@JY>EY*h z)-AwaRnNrWxP^&^(O`WlYoN1X#_eJKoXo`}N=UH+_~r9p@r4I)J*|Q2>22a9-1o3P zck~FqxuG$iy}hxRmyeyKs@f%qn5gTaBkfPW<>aKzEI$^=;Xm{QM2|fOiCw{zwvo>~ zv!;xl9e=k<O`@Gprj`+!N5WMsf z1Xatp6JUf^5qByL_dW3o|4w|S4Zv^D1VQUsSY%NIzuD$eijiGxz2v?b+q_rb&9cV7 z>1IyO?Y-4VuJo(`VY_0G!aWa%X5iuW0b4=HwGNiK7Qr^>GziM-{CdgAdX1*OE)Qm} zTie?aUOwK0g_R{Yi@>qb!_A!w8d%E2-qw!$KEThPn<3y>hyej-C-`BWZl2?PI6I)- z1!=M%j>EY0MC)E*(4aF4yas=c<0{_9$J6Zzx->@jO6UnL3@ls}!T}lIEDrp%NfZwD zv9Yn-o1~lLbm@uKr=mp?@y+66X$}bn1bkt7Y6>4md#lriBy^U8feHf!E|=kJU=X86 zi)qPX3@&&dR`R8@C43G%>SkqUPiR`Zisp>4C-qZVq^#RZSQ1bJt6g5e>40=ds%VDc zF&2#WS3rO3GZ<>kfl+22)z|Qx8eof>05EFR#jGkQXaSu_D*-T|W6fXMs_n0&(3e&<{$7 zn&wVuZ>pjm-1hyUr>D~A8{p2mdM&X1e%O`vfsVYnR%Q|PFsFvvZWRYojx8YSH4c2{ zjj&WN2A-8y!~1C_Waq}tY3N@Z@bGhK3JCIT4+#z`ZKy2%@L{x#YVKsgN$=;>B8N(D z4@Ah02}0*0D8INya%^;f8erznx;U9OIl0=!U%BEP9~$EGDDHmn)2V^>x$f>x@Qcd_ z8Osci@ah2pn{HTOSOBN2?s1sCBjj*T>(8)Yw-75UBbDH*fr|b?-e*IvdCN7GKPwm; zWO0)6nB*4Cd(>KQ1`uX=>Z}UZXvL9fW#yc~!74H{<lN|GM`*?>X;%?s?z)oag+xunA0X68z?c{qn;>n7Cg)-~NEQ zPTG5JlRIJs8rZ&f<6Kt{O83-DJ?OWm#V^i> zWwE}$`IA@?FG-Z2L*FX4P_wPA{=7N`y2Dk6&W;Kv+W)|qOe;NG!Y>dA5{skb(GU#^$ab`+f5UbNEIeY0GaS(zuS;K2W>vY<| z=d;g?eyfhfUz@T|W+K*ckd~ad>qGV&`0?(8Q+w61Xj@An7|4fS;jv zl=JR-iVOz)B=ZgAW^pY&dM!@*rjp37PKAXxYc^V%XQWSx1Y$iK7rSV);Ll! zMu*??v*Djz-CteZC1kp<#NCrc5(8aG`8}8Yh#b?bYhRJCNhGcOh-sm#NAM57ee+?N zX0exI(Nlg1l{W}-b$$y>yqa=-6iDPN1CFqu&A%nXOGH;)$cutyeBYhDJd7Ye^%NvO zs4t=FU>SPSmr5+=pX)3AhIUjj96K~Nb60N3KV1s@UVz}dMZ!0meby;UndYIG{Cn#% z2WV+#gFR-OZ*M2Dv+)0oai6YfZ4wqXIWm}Vo+_&TQ}&R$#qjsT%g3YM?;la9)8|xn z(jf42mc>PM9Qc$&OXvSoLJ>Kz&$L46QokfS?w?8&>XM3r6ikX9cRx=5vQ&JB81<2* zoG>Iu+{VwcH~ZzY{T-4y#c6wbGN%U)htO|#GMe~K+!_Q@AjX0ulWuf9@TCTg8~n_O zBhwb=2vIvra@zC2?+W)0X$2K#Ynb!hvIB+|G-y-PzHY~g4Tp}QYsRnYM{}?Ar43DW z_mW5MS(p&*&Qy+-WE3F!6TbV2eoN60Oo2%Lp(CgKr$85L=S4_;vu_SlngR^dG-T_jvK_%!EE zieFE@6rFKr90-H#M?AfBtS-ZDhL(`e*9WIVY^!wysHrbb@BSO@&&)UZFiD&qX6~@GyzLwb<;60^_AJp;f==3HkIJDPwInax|#P8Cdczpg=yI1#iJEZ1UtB7$#q((Mgoun2*M%%+EbtSz0L zRyC&r+$pnX@o5eCjJao-E(QHJ^WpTG(^g*f()1&zl(QSNLwsM)1qCVK(GQR}YlJGYNPA1~@Y z4+WfVIxWcyfpM-=HSj*$__72hom}ngxNSH-Hp8x#l9RO*&UqWs-93+t68Cy4&CNvFSBr-DcUS;-TLV`Mmg7+i;Jc!W=ZMobM<8 zd|Gd6EzKWD``w*VcvXMyVJ^z&0wP>FK5MY(1%=>x+c-&cf)ml_?g;ML%V5kcdA=i4@ zGh(*>l|9D!B{4MdzbeP4PYM&?(i%D6oO(s3Kgm{jPMjwGpJkZjhlRKA>%R20GAd`@ z7DF_UQw9Q6Kor%2_AGyK8JJ^zDW|ADjll_i?Ke6y4OHut z^|SH&|1s7lr&u%0Z>zk$r4`N1ul;Ag)HASX?sWZiZhacPgj(l*QRVcx@9mc+r@d|k zW;?<6|2>7Tj(iF>PZL)J{ul)V&s(v6Qmnt6Xm0Xll|Cymbrz)`-^8mIUB0OACVoiP z%KOfa9ZSqNB+>WZmopTL;^2=_Ai~?nb9p!J`|B+&FPDT^n219 zw16yfrdnQon=Tlf(1NO z4)=cN+&j;lQv2T{QLmM@c=);0w&67bIU^$7|rsOg0J z&%U7t7gwO!6A|b`LDa)1q7`=lgAd>5XA&ds2#!wod<_^=*qJ*!%Me&9oPo<}Rx=>d zCAHH{`%xVvYp({MK`qrN4j)7Xd_FXN;%en2N#<=&#Zr=SXCLYCM)cQL50LB|SyAHs za-Ni|EX3I= zA8upe$s`)}Fl>G3uxL#4{ecOQBGWa?vM8|+Kkt(|%zdXQwo&4+9Q9e+pY;0yXBgFz zGnCTWX3VNSLs`Ipbz^|lAJBI}&%316*F}R*4yUnS%Y{h~_0h~y9>sRganB+q6_J_r ztp0vJs)Q7#b&W{Z*hvSsd{s002IXDyhTb-k^F7nIqrQ*t?{mDJ&84HhmBg7}72>+p zdBiz7f5%G*D*9#7vMfb4f%au9p6I@R;BT^Y50Y-hPZN0f6Jf~60_h0~hH5XD<3ww# zJF@l;9BppTuZ1t&Zq*r4yT4|J8+$K~lN|Lh2r;gL3u3nR^ybwxPh_zvCog&^pP=6% zmi*m7N?vGMHb%IZB3?<(pUo@2CEi9z7*ipAR_W!z;WX6&-$&uMvidLc496rpPrAsKG%frE zPnzTj|C(+HMV*%?orHtko2!MTn=Jum-;3dvnu;$#pN1@>3DpN!uU&_$P=&> zO9TSOPx55Oj`{DN4>mQmg*_&y!}L53tV`$so1PSa!KV$2?+G1?AWw;jj!liN)tHWy ziv?}@o59Yj?J0jk-_p&VJOLw5SQ)YKy*_G+$@0g|)#I;)#on%=9u;1BbwjXSS&~$4>=hgMn_5R;W=60$y zzb%_jfc`tk#>09r_$m!-NXP=~;tKtmHbgT~*ba3Rg?^eGsN_<)3U;Yi^@;E)>0!NZ zK{DBudcoY*7m_6Aos7j1T=>7vu|cBFamk0qWIj1AA#zia_p-0yCylKIm(R&CG6htd zog@yvSHIy`#ypPP{8it>OVzixc3e}`;QmYO*ih%XY0k(4x*_3Q2Ui*zb0E-4<3FV~ zB!k1cAJtEQh1K7XdJdH$$UTP#99G%;{??RerkC^+I-w=BN-hKz`gvlpEUkPfC;z=w z(SnZ-AAW*p4fg(_jjcJ>#%eE#iP^kz8{oa}^FDxWEs@rSU|^NGHW{VWyK-Nq%Z&WE<2^G&&TxjR5(^W)B^UD;QC0cU<0Q zZf7jcI)mX3J|=Jni2`x`%uxnt7Al?hcgr@_HF$LspSe+mmClsch1{43?4FMY2p-HH z1Cd^94AY4*8(_Qm-q7dqXr|snw$a8Doi!O_u2<96T zX75er`qM+z*5-9OWF!6ovSlBHtR)B|+wsE4((OJxGD#a3j-SFE;N#OK{a@8@&Z{C$ zLzlKvJvvAGz&C6nK0Et5SEEOxZVpvJ8~Znbi`AE%+hpE^;wk&fz{UD?3Iyt>0Iqg? zQ>64dp-~QBD2K&UVET&Hshs#Su*@G5!|xdxvl9< zFo35MGQo3)t&8SvMdB9s3nC*q1o9vy0NX?Drv4eX+i-fHg<#~sLaPVqEe zfve{6rbw?%IPSEf6D@ryKWVBSy^}U(hwX65-fC%*n@X0yGSTihO4VY%Q5L=&-hH0P z>2`2nvDGl=Utr{LnF$sqs9uAYsxo){r>5kp#@IuZOqubPTWdTPyLE8C5<3B({JyLk zGnl(M@q&p@XNabMj>o}O)MESf8DeG`j&1Fi-+FGov^B(t*{QIN2^lD~cr1&ZH_8#N z@+}*_6XY)S?8|6j`>*lWE~(RwvCw z;vh{J{u^KA^GxbyxGyKZ%8z=Mutt+(8z>OuSnjD#V}D^%#e9?6^+m(G)p2bK(YGv) z@E!^t9gkD}nC8)e-CrH?6>-^Er%>DkU%z%;K5xqzqS{pQFnB>WlzpxU&mtuH*{#ta zP|@-`nydb!UZw;vO%yGgTXto(4~Hv8I6E}U>zc~HGwR@j2a3HImDaygAiYoXbAf zeO-3qxz!rihizLQ*_ot1e18$rNo^W{c!mS7?1n}LxjNA@0B9gljV~fUru?l zOwY}_Q4r?(4fZDx6FeJjM(ov=MQmPkq>G&SAYje%4qh^Gr6W*wsb8@599eTH7zLLo z@1j8dppd;x%JRJi${vj;OS!FS4nh1h;Na_GaNC6!(tb69d)H!oFk(^P*ju4W0HIlB z;-U`+x0#E>z4R!uynr!sH%Uz12Yd^-ZXT#YZIi=n+0xu+v#LrzqfQV$;1)h>z~?mpym(SyAlq>VjzLuD1aJZqMtaE`IgLQb*d7wQh zYMPou>>QTL=^|{j9s3@6p@nqQZl}>rNebpF4Eu7d2X81?4?b~g?dM0}-tK`fM^ZwO zdvvF~DE=?yk&y3{iEU9+Mpw!cE%83RI+Q~nFiiTn{i%gFG+tj{m>8)$-Lju@hL z`17mo&!cZ2ZwbqP<3G~2k<3O3KJ#cXTT%Yg_YN?(y+493nu{PF{2%^Bmh<1P=mJLJJv{wmq3ruvSYriS*4 zsj2o-adc;axL9YEkr=YVr~z4(EZ%v0?IAo;^A;|XdDnmp zv$daz+1+;#*qTpcO#^%Aoa}nQRB(<_l@dQZ3>i^#4E$Ss2JkHh9P`#BPJWapP<|BC z*j`|C)?PM+MOKJ6$`+AAV@j$v?hI8dn5`iP_zt6{z_z(<49sSmU$bPUvaIc3@-OGkGVF3 z)8ozH4A+Vn+6x3)RP;Oy48oNz8eY~fg4>NyChjoz>--I|19bOJ7sBHo39=CT0Qu@X zZLt>Tf^=V_LL#=Pkc;2^NBR&(hq6fIc|AX$rm6sk z{Wt*;s8J)t{<0C`G;3;V&k=tvU*RGyU!FB2EmCKtmn^OUb-u{wH|ey1 z-#)GihS05I@YJr_^95BMcrEq6b8{Q)Lx7fw5WWjQ#1wv&zU9=9?3q@uP=u@>Jp?qX2N~g|8 zN5)q+mwVI$YAs&=0k-flsVea{g@3w<1FERGT?7tz-Riwmc*i+VnKm|4%x zVRPxH>g8$V70{UquIH$n;9c^qeTJAF(E?8FM&r~A72AVO@y2U4`1ZLP+~MYJ6_2kW z-1stRvB3xar^)G6g0a|(f!9ord&-$97TQnmAPd(b7pIS+;}?G3eG1>UB8u$58X)VApCii-BZrp`zwv`RL8~whkx_|Crv{W(WwR+y%=Xaa z$ZkXMCayJ?6yebCg0P(-q`eAdg z?8TZR2-5x93z@SliF98z&aAsiS=7gWHIbYx6VI4n;42v3aiFj9)1eYS`!v5p9c3b3 z+*CD_BmPV#S3EIua!@P_T^3<64vVmGJzdAKb7FhbND*#BJb2`QICd6)hQ+r|VN26C zCrh|#eZW;Daz)~EicomPl&O8KC#YSGV=zEFr(CEQ|s9_ z^Og5_t=n#H`y$VY;o4y7*H+CQerIqJ|Lqv! z9@wto%>t{0JWz?*m(#1ZK6|4QWW<+4f7&U?CfD_OPn?A}um25cZE!+jqU5y`Eit=I z)G~w18_h4n);B*oi1?dT{_N*8<7V3wv}|??sEHMVyVIuIWQkbY7l39p?UMh`1yJDL zdv(hE_#2CITe1)C*|*Izhj^5bq!foQl5u=tk~_)jM`^B}q2ue;oc4mV`Cn8tgp;A{ zn~1ENbpOe$RpzZ)2Rl)_zLPXDXLaGeVc7AqOPY+U!fhf1(U{|k+LkGZb`^pQku z$&^6mz*EHp;nwEWW`3xzqIIh_Y-QACXJ4XdY~Rk!=@ODTh0o`=m(2a=MkJa8t*Sim z)E9r8jmpSE(S!UoXpCelop79@r5nxs^CVepv~lN0uNdor}J141ueYWNfWPg!g8zgr7@^tu?bMIlpPS>%OJv@mpSceHNAILej-UYr z%oBHy-oRHUe&7tE($Azh)2sAVTxRc0%bXbFL=QW~C-+@c zn%QMaZ{lKEM{Qu*dv~4qLGn+~9%L(Gxn2d$INmmJFgX`NzAbA@u|5A4NpE^nUFe>P zN=dVBtv>wGo3K21-EMYH9d2Ri@6Rt=i`AnDY=0= zCHM|1PAagQ@@DdjTDwq3izXv$7}Hce8kDAY7Q~SxOB+7ZEV?!$K^HzJL1!}QC9+oH z`(_OyRp>$UVw63RV%uT&YQ63X4mRXoj=|7b zXdG!%sL#8zRIwr;H#y9HRd?uo zmu;96t+cN~@Q_1nE-a&pWpZ^5RR8wo|0|%_8Ltf$?KrCMoqS;cUtrznE!TZ#D$@8l z0wKOX+Kju!`VUo=5Y)? zG`}b?s%R$hQncux`XfA&hF%>4G-+jXIu-$1picro!N?qp+(; zZn6u0W9E_VgYz%1*nVN0_T33)wGl3vIw<~UR+BwxMR}kM_TrU8Wor^@0Ic#SisT2M z&aLL>{n^lK)vJez54hqLUcOd*wI?rA^e5Q%#@O^(cx|I#QvBtk)z+hjd$XtVqRPZK z&B~(-3SU05G-=&~|J#8DWm@S?tNw*O8VdUI)}uW{@W~}JU&!V^0_pvSfxoYlJv?ST z@QRAPvfifvf6RA##-&&06+^YYPz`+BY(Y`pLTW zY<6Fjpx3y5__r{?H>X2sWD7|{P&t!5iz1gh&1&?&F>vU>7&}OORx$1L2YWMn8)N)0 zlcoGlh52T2^V)|^B3d5nUhH$F8zC|k5*9yOb7IWsd1#O+fo~*d z^fL(b9)_Y8>vC%Q^KuAEG>X?}oll^1PTUjq`!>Z^*iXeid;K~?6O!qm1(z#dS;B?@ zZaFpk6Dpb}qhkW&2Q7r|*1#D&vaTAPv9X=5d%hnF-8Sol%`d?jka_oyg|<^IsR7;= zX0D;H+}@m(4M~%` zPTo1n^JkLB9yeKsTBN4>;mdR;qwVZWPLa#?H1ke~LT^kA#V}*n zIB#zEiXDQeYFtU`a&-Ky0okc^{^ygU)>St$^_OAHL9HJ0RF53xX`nMsV%Te%PITzf zRjM3zW5jJURl9zFkw&S4NFWH$0`rUuR&DKFp@?w^D;Y|&ij05^m?=7u_mJzY6DTY`;#=M(%XVW z6oZhPa5+rWnaet9UBwb1FcB7?uCehsNwOosCTB=$=)#FfF??w^r}rpcn9r0sd)t3G zRRVaC@ay)k>d*TJsdagS@^WSRo^ ztEh7#$9DwQ7mb>2!DKY|5)t5TmaTnqT_IsEeNk`?zq!nE#oQ@Ac)3hZpH!gogV;5&cD#Brm$ z7Q5&=%+>)Z^KRpb{5YeXe|}d?doD=3qd;1#y~uj0^9M*3{1}Ik7Zi410^PuMt8en& zIuZ)s0ck84sTc$~`S_F!%gs0w8!Ghlj4_{>sHeup&<8fh4HKM(jY-&-#B&dIV><`@ zZi@win1=3+yw*#l&FuLPerAbz!(r|E+@WW-W>cqTG|O&^t~+?J>RQ#^qMiyGosgUy zfg-VIQ2DXH@PXs<@kG$m1wf9Up!ReAcIEPP^ShV9f)vnH)48>pSLV_W^8Q3UD5|45 zrS|YLze`jT__Kgn=D0c%zQAw28b7{-=5H&X&wc)ujy7TALz(`BKG0mL!v6K^jQH5j zjpK5I2ObDLBb9e->$a*7gbYW_>089cnTsQ_MH4FQHsX9og;Sw@MWTGCoDXR(t}C7f zOboM!8DIYc3=+|tJAd_1EkcL%*ctMk7AB~k3-ffXqRNul3TgPX)EAyntC=!C{bNS8 zI%4*8cW596YrDax`RC7(O@$h{_Mbyu9GmL-N}Y_Kf1yBcdRG0P^ry^8DGUtB35*Q8 zz?d*ClWmK%dJaK;HwUdCd0|_Kl^*oHkB_sfI%1a6g2k(*FIz}pHkmH7*1l`yyxq;R z<9T{gFW=m=r{Po7(d2=Etp>Ne zPmj1@8{YR|)ICKT0!IbB6ess7)~`S=dB5*T)@1FilgdhZMO?L9 z#5&OpB1vWj^-jcT_z&~fc*6l;y7UyJkeD3IAceEq$1hU8`t?gmUw|HTC+>W${9Wvk z@lz)*o}})gjazTo@r4Zxg-08w)`COm4^rcWjQ9`j zD$_T$O}(|v21=!WuL^IzV<$>FcfR}2DV4wujBg*SDLDe>QMJb|viYZQE=tSyV$x}7 z)J!uHV*NdW?AGVimhkVKj2Wo=HY>AelH*)rIJw;X?45tlf6H(70>-br@|h_i&84L5 z@(p;~EHFm1p?SE7e9gh}H$J7Eg`e92tf4Wmvi0|^@_gyUyRq#f(%iTeY8B32zM}%R zp%Z*wG8=p7NDQEvQ-FY)85$W$$R1znRk7B41PXc6PRwZSiuU z;mBWL{0GdYVa#THO7q9Ob|Rg2oy7B%b^I&ppi7#+rYq*nug7T|tAd{{R)5x3$6m3Q zjGggnMWi-KEStZ`eBrO1AWn!brd?9>SD(n#C5hPV;}A$;&T?&AepB}cSgRdX-~*T_%60YtXg;Z7y~?1@%JLEDX%TFy3Zes)inB%xO5@= zPx9_T&XhUXmRcruEmpKi|3;}DhW6xh4x6vx_#?xC#3$XiRbV1=c1~uqy<7Pc;lZ(j z4rqIc!J8Bcv@sncoBpqK4|!0<0J0yi&!@Ds}$4l4*@W| zlgdxqR*`|$@&xTQ?-%uSCgKJ5RDM>?10J&{;rX*)zs12-!#!I2&*Fl22Ahp2S=9J6 zWkO^0%-YAHeWc#h1Un3!phh?rt>qN}*4D+d^T_JnC2@*Nje8k()PLK+Lx}VH3wcg- zo2!);DlO4dqrO-}zf5g_SZWUq?ch3)?i3OHUafS&xt(^4&Sp<#8sjlKSVv^UoT>%J+GZsfZr1G*FGIx#iAIPSp^BiVWiz^17>ol6|yeJL531%OB=%I%ov{?1>| zedKN@^|VR=aMkf8|5A@_VV4Gu)jLA4c4K1VK53^YBUss`1Pxc>R=Shdl4-TePimcd zFWOhaaMEXe$~^%4dR3X4SW3DEwUw2w?o~3X>?u}1i;Q!sybM28<#YC5+3V%Nui{#i zt5j@)g5dW48cIgymrfnD0BvAwcglOfF(T8>>q_nj;SlY+5*Cvf^u=i98hqq^Ybe8R zbVjP+Q@`>+!{JGYc!u8h;l z2`9il(qbjIeVD06b{9bYjZ^a7t2~(%9D;qAf!)s{(lgJ2ERJ1<+hk?sdL;so)f`-V+uiTz0VVqY1MAbQ*8ny3gsrXjM}7Ei1}Z+e+c+une$GOA0-BY*lfpS2 zxA&T@b9<X0Ud_JcT=#@bXKb+0cZH@wt=Fo8uj{F;CD?S>o{Y*d z@QJrV&Q?n!LKK&OnA@e1@ORqa-l1xerT5#c+Z%~L!=_X2GYSH-6As+TB+|*cnUt%4 zEU4-!?|AE=sU5m2MSB$?rj<2~Q4r&{Q^oXO1MoD`v?ndC_J$U^E4KN$qMQ-CdpTKfcU6u>4GIscdQ2+2q zV)^qjn~NQ{+K=x#%Kr|!gL#gf**OJ_gpzH6r#rm;#_3$!7mzsQD^tS?Fi%TMOI&(7 z_XSTa8+=`;-#ANPSNxfpBk85v#v6+~Z$vtRj1N8ftR^C6H(BPFC7f<;;W5Uchwob)R zU@-YAL&MIuJSHI06QBZ3X+GWBIAkratbw!8xb4g_ zF94vOu=kf25KW=x4lU#z8HhEwkc>-Ce@O?~j?2vC8$7AYyfDj5=ew9`iA%225E2q% z;}q|Ds((Bl&nCdmV(jkwF`Bo@Yk0sFpA;L%w!K|a%PX#J_;C#YRxi!x=uvmBRn?0J z-Hr@&9tW|>@&SaLh1pp-O^;oYfTaR}W1(6$K0y|*660Fv3>47+H}M=R(r=Q*Vcc@3 ze?Tif5<9bLSJ(|yhvs&@9T&P67oW-Bl1dks9?u@OO+uL+``Xy+A}%YIC*W=F8sDJv zX~upP_HEi)!ACWB^>*G7KvF&SOTHaDP$kLY_yony$7OIEP9O{GySu4?xTJr{85z%t zZoFD}*hGbadO||%qLNC^waGw5Xf4~vLcmAItowKG^bcyqxBu1eAINavk@rnq%ePfi zhkmu$%m=i}8zdENszFPQ#%q0snKU1>sX1!3=0Bj!AQZ3{099BtoyW&*ygtU2{{_UC z*Xsj-fW*CdUb`x`!d_`#ZB4bfiJ;qsV$L<=#ltSiX-erL#Kt9Hz9JmooxPI0H~$zw z-Yva9=M8o&Wc4g$!?W|S_ZSZ*tUU${{*5o6H@KZS>tL;L{wLp#XO)BTrN^3jx(57i zzkY}`HAow~5g}S_f3ztzMnCS~dRt{rm;G6UBCzf+wbkP;+W)dD+KW{kW4C%Gq)g{B zh~3P5!$<|`?IVAEs=Ib1D<-0|95+I2j{bYuCf)-wnuM$-}B-0U~`&+P4DxCFuHyE z%BIsdk78ScOjyy(3~To6-R43_YdsE*(Dk1IzO^1pcV=2JKkS$4mcl4z8oaBzjQ3N` z7p}+W#Mxxcul0d(-A)cB~OfGD4)9@vzpAxdF; zYcGD|!{xh9j2;A2oP@{gmB5R?@60|bDX;vT)znh`HqFE|zX53sg#iny+J?9)j17zh zG%Fa#ZJ3w>ef11MFGZiP>sgq;#8u$*Ce1iCH5H1U**W-TPKZpYy>qE~HZ{~Zg+~9o z&o((>Fo@5^>CKq&;rOD4&(d~;N=kTRKY;37>)n7Lg9s6QF?C<12K}k$K;s#yk}@7A zsHC`v2%x&u1WFoFP*-Cx%P?1vQ>#EAiMHd_HbwvQocfhT@G9ykf!H#;rsJ>wyhfZPzFDOfA^o zz1z(%^~@77NC3F$mL$+5sXN%-hTKpc;FNR1&CMM*FfLRwYsM@3u1BvPlBYk7OEl0k zFg{SLUT04)Xs&-74g}_R)Ehz{@f75=t3MKVjGGOoFR6eetkjxt@s=f|^+LJ07g#1m zZ$o0lE-K1CJot!erqy_^fc>2wY~RQLVCh!#%rH^i%OEcy5v{IZS@Z0fLqf=@3D@hn zWo$!buHqx{^4N{mTL+dVgy5lET*j;h1`qVi%(xlEsQXLFcJqI@)|G=Zd2V+jz_Acb zz3LJjvFG+lad9Ud*S^}Eu}w!y z`!>qz=$mn;tB2d{Z{YMyz--Uid-U2%)X?Qz-^qdtYAZj)uT`1y^Po3@5QCa$iS|iD z>EcrRiHX#Mt!}XVV$XQ}+j(ocwVXr_F^B^ofC7C3aWw!W(SE+!IBlo2pt4j4(Z-Np z*r-2C)LJmR6a1JQ=&Ll!b-w{660i-~hQi$H$sQvVT8sJt%`iYoy{!Y zHun*sxKr{z>A^})?@B=mb^9N`zNd_dyvWPxWwW=qr%7kcvJfUnV{Q0}<>v=a)XL=g zvxHY}(iGil`+j}w$?E#2j*JR?LSNyX)=Gk`GQCbPROL%3qqSr+Lr>W^nWkNbH>b?o zOGi(H?>^Fhc+YDqhsf5|ezc!L7-^fXp}n7QiSgD^DJrz>?yp*6HSN8$sqHlSIw`6Z zT-CqLC?q1t!HCQh60_9JGOyFkP|6#hLSdF;?*+=%x*^QmG3iMabDa5gO{yksh=PW^ zDN8NidkaD`^dizWTO-E7 zh1%=0CwgRVVk+R2JeBq!`Bx7AHuH93QYAUW9+FJRvb_BT7N4~NPNmO^`etCQv1+?={*3i_H2%9Z`uj!%` zTHlCOyZO^R(If%{Rs&k4<}z>Eyerf++pswIfzc10^-ZEc3!^p>u?a~BqB&_B&(Gbl zS${2a+RBuA3kw-lrlzKOSTh5MeG(@U0p9)*uDC{kon4d2gecIiEpcQoZt{j%6h^c0!fNqbcgJ2e_ssHrF%ge-`GnHfkP9~jr@s z2^pE8iwAPs+e`^br*}#mpvk|F^=4|V^;)G&^9yPe5OcSItQqPrg+_MNHH{dn#=rHJ zlFAgV&Q&BM+o*(G@5GnxSe2A>C5D&k*}af8M~+WUzmy#^AD>&~8j8}i+J3Y1RdalL zo{da1N^4=yIAoeP3a6>JH2zAHy4rAw<=2O@`i6Sx?(z!J*F!^5TJ&Tn^jx}hK^1DC zlpF~1F4Gq^R9EtD(4S0FGjL1I8=6XgqED5uQHt2!ulKcygS1VcMFHlZh*faZfEDQ{C#hGrfbsaY7pqPnmx%g@b1&}d8!f$#iW<_hFyMzpcFg@h7a)^Qlk%~N zTRZp`?LXi0ZCvYtE=DmElM_I@YV$ODll@c1+rN4EgVp=J%Kzf>OAE!{l zQx#vk!cF&r-UVIK*rF?zY#-N)eh6`dxuF+`+cP72XXzmhkc8fihpJnpFj!*mFnOq; zadg>6(hrd3sQMx~MU1-ktuiaQ`zfP9`7Z@Kxky8)?)Ea26G{}nJlYkj%NZ56A0N_+ zNTsE7`*F*$V*`p0{veYcOQb@)Q)&^cFXA4Cx ze>NPoovLJv)`dV_^&Ym8fnLNrw7COEK2$v>Zya3H3Dv-P3=a1@%{2NJxnjxxEKlS| zYQtk4qzi37S6e(J!rM4o{q+*hg&1@;YH3R-H+%m8N?m%}h8mpKPV|A|$LE&Vr9JFp z_d%;dauU2oBpLZ(tv>Y&-WLQa*;b}?&^>5I0=YjLzN_bSqQd`|ea*7a%@IF*Sx zIV?bqj#;R|StFzmZ|mx;uA;(O&WWwbqX}~Zt5a7A!^NsTfJ>`q|3H7v(6i)Eh=&! zREsgNU`Vd{rAtS*mH6upX>^+NLBl4k8N?)0uxO0HM~>Rt#Uw1|IBwI?#YYEN-nN}} ztgt4|)LyUfW`S)1nD*_aJ5q}%RBFO1LAy4DM)Yg@B8IPj65Y&8vd1X2yt zK`~oSDW0nSq57f;l6L{V)mpQymjw;hI$z!P$*FcRJMl>$%LW(r|87s8Q`?#25ut3; z6Jmoup|A|fTQPt_#&l)-uT%C*QO2`pIdW9Z8o-M9!XJXE(Cr;aa>%I`U0PaFTAGyV zAQZCmJ^Ivdd!On1X`|ydGi_pYmLFt)H?cGcvHfB{DXBwD^$!HLAJ@3?qh6#*UCFx4 z6-O?q6W0~gW;c~r=$;f1h4lcsjUniE4-zWzDs-Rr-R?JiurA6oe`cf)gn1Nc+^WHk zCY~P5&@Dx))AVO!}cmcJuOUXvrnC)eLR3M~H%8r+x@@k6QX$qSb=SaKTPQ)Pvr zQocwVc7LijSAx3dozV{V_rko1Ov41#+J^lC|4p|wtkaG~d79pPt31u{vs2Ag4a`H} zWaW<}Djp;>5&dULcdz!Bj&)`(=>2s?N}`iy?i2|J8#9gW-YNOX3K&Mj`ClKqCq_=v zwX+~~>D8Ra!Dk^;#~CSp>%72P?@O@@Le8a~HMmh@uu`_ocJshot4&NnfAQ7mN1N_9 zUF4}LwDBbs@xxXo%eer8;o%~A>!cAg9g}N*V9v|HlaD+;GiQ7ts#=%6#u+Kjz&gUh zX>FIZn9#wKw;R7oVDpRIDAS@0&5!J!`*d?nn1sq`N4h=cxC#(TNK}yF+1e-fIgf!~ z-WU(DBm4Vh&)b^RW4&J#ioUU-EnaVA#6=`TWBv#B7W{L`H z{@oa#2|~@iXm>NDTHwETT}N1|YZ)MyXs!S#bJR%hHV!@h%t}txWHN-lxkWy8xPJ^P z*;vzcc01N>@5 z4YsRI&bf6&mS(NeL(glKI5_)kt)TN`jrK@B=PC3=5E-ib<2}>9OoDX(4*!Ogu+>MR zk^7`5q1jn!+rLn-hr6UnGytj8l_%6?m!-M#ZBh$Mr^kUG+9|R74Si= z6>8F15s2$7>CY{Wdfy;};)%{pK<3&w(@X#<=sCRmFdT*3Uny2^v zzSlL){^LwWhhZ;|Pa%Ra0e+mld9|gz{j^##AwvyMyGa_QV63tg@`taDCypMIC2rSdk{wwr+mIn(af zc$b^QFmXBa#6)A^GSmDjq`&Cl8oiMRo)%AcEd}mA-lwN@vE&S>%dz|qGP6Ent&9I^Is)4JupcWw3%aRL8!KK}g{{_Wt^;q+(wUurQ{)`5^2xAr}`_D;3C{q3}@ z^&@NNwP75pG>@NI%U3$zU;bW{op62{J(a!yyZ#kS9wYiy?C4I@&373Vjg9{UZ$Oa0 z^=9LhlA(aQGI*4b1BeQ1c8z_e^e2*+jg`5z ze!HW1?OMCnezQIS2_TW-8DrP7X5h#qqBAVouH&3>rmTO4MO!;=uN$Ca>!Us2+9Fjq z1joMH_0~6XA5kgP`eygock45-1MZ#}M6C_Z6Pmp}*ZM=yE~Tw8#8Sq=o^9)5W2Byh zJre?GZP`20F6lY!H})OY=dRqGwS^_3w&(+q}UWydA-%KbVNg?jI){f0Jb3$x}-HQh*F1FS;+Yg0> zh0gpU2w1zoNEQW-3oUfVU8y z*7`!OE+?J4yId^?2{&2m1kyiRhApf?S$2&LiX?{+d}{}TJSkD^HzUR*MkJ!$zLN>q z+QU_sfI;gES`HPlD91?L2%Hw?0%Jj1w!YeRl-adDF;_#sS4OzwI$5G1$zIasqj!%Yk!N_IVCgTcX2fnM!8>!4+%#MAB}zKT5zVX(G{odQ-cLnr}Z)OmndA-Isi72-s`Iva=mZ_kIR zxX+T!p%FErp-J^^eY5t=D+i`zZQ#j6gfszY%m)w)5;2j_xRTnMK&)+!h<+v?6N&wJ zK6?-5?PgHc7SEyY1kKrJBbGK+n-6M%yXVaW8QOBRvWtb9NQKTbx-NP@VLt#?$1qKu za+?>s7RGPm-n41ctoG8`={TrZe{qu~Czkcau7%+sU|_>=f2Uo9OM(l5r-%=+^|k(4 zdkB*}4?&KzVxOTKBwj>YB{RsSNOD|l2^utpU{Wo4t{?(P(6*6*op85BQbw~Nt^+8F zLQ-rz+=3zO_DrJHNxVqv6b6Mx1U!bzuRRa$i_Haliw)e~ZSw3;P$V9rL{?!u%$Q)V zvk8O1+r-&B#FVH|h#kR?xHv;}NbLeKL{essV3gJ#hX_2=ssDa4*_vICM}>{iUgYz) z>!_Dv&tgNmjbC=XnxQLpsVK9dv8?n8nlz6X05Opimy z=Ev6^jf_Ncv`geH1eU-k8#85=$-9QMXNTSGH3&g=OKA2C4jgL=5pwS%YYQz3hHdwv z!Juu^hhjunWW+Mq>;RrT~;?n}~x5q2k~IYq=c&s0EKo%b~L8pjDCC5+gqv z8$Q-B6H*|P2oi#A8V1E;Ao935!+=;EYsco)T?Uu~iF!}{7PKW`2G#~RjrD>UqcOll zfvVWBNMLx^L444(cs3df-WsHNWd(%gg|!b7{Z zH*nnq;-Mxr=YdSBXhHUywU73MmNsiYnJsq;F@jj|JOn3TMjNZm4G;(r4ExCXhwuP# zN00+Pwd;*Yp;3bC1CPUyxt}!QNXzcp-M~J!rtB}yzI#5=27o-VwU8JPqKZ)&=3sMV zkP$+KX(#p!DyRZsGS9ZIwx<#HrY}O+Xn*d~u=WhnJK27;muZbecQe24;5}efgc$l| zuHx1<=fT>x_P7rCl~g5YnWQ7J=fFVN12Ag0?FDVb#t0)tyS90=`LX-#KYLx;T)1$- zd5~_5aNB1jQQUa>pX7^3&~}YY{*zBWc?sS@LUgAkVRCquyEZ$J8XE`bf+SxQw<7VP zJrivPj1oHw<00;ZLkOf~lZGt<7ZMe)7t9x?1+0k11Y^c| z!yQD0Rzl5Zq)V8KeFxgG@sT3ih$HEAkkZjMtUbFPErPviYh-Ql9AGTqQLucN0}?vW z4O#~R4fBYd#l}KBfUT!J9~ch;fDi*L1#tmFbI%nv7HlvCx4}HDul8)tHcZj3E6?O?QK}U? zh7nThtDP@v-_{;G#OUbgCGFDY47iHqgfMa2H^8Q7(RQzmhdp8UIWEDCjsGR_EYKx$ zjXlHWncReSJ!go0V)qz|!r4Uwr5|=ZFeTc*?Nb{sZLx;NylhU;=CG+*UuV;zUkv`U z!MTYX6$+iKw-=4g#D)O<*n{jEYsc=jj#$Squp-6Vy{OL|dJa6v6Ybhr@0wZZmHvPU_5!|f-lMm$v`ik|XH_+?yN;5-o&H0qjPlNSLqND9Q_o*M3LcB?%^W5Z2C}T82~! zFa+#NY;F#n&70eHh24XVPc3CMAhaC_B2X9b6@-H^g9&3(V*X9YL6U_qBQ+vxiM4JwkOpBA*dB z?HZs;yAC1=0SB_eD+(Onpm`W1woNn*oJi2Z83*f$or$7Kc5ThYLQu><=mrFy?=UAc zcMuzxE6_1EGN3q^n9T=JFVLfXw>E8z_CK1J_0@jEhHJkWQvr&EfiZ6AH;e);8V3M8 zumY;^NCECl zWI6$hKur)I+91ysjD}5M_gNeC$zHe-QzIBAX!n>TYtMt3AcX^dVl)`k%Y+5z4|Gi6L}Pak`>-NXK( zPe7W$hCn5Zm!d_s9!8AajL!bU5DeS~GqdXno?|~*-)%qJ{IF-S$xzFiB1mYf>{Sfi z*bZ?6#}?)mR1iE61V>!9Dr3yh2ll+(Yg!J7h23X!guA;zV!&_q9S!JGyv#+rll_ka zh4mFzXKI9?8PSg0UWToNN`p8u;D&7Xv*u_goONtbz^9-m2#%Lra_vvM(Cx};4>87p zao1fW3im-=X^lvlhGI|(#DfI~zehE)cRaUX1b6{KAd!x(eT=MlBcN@7?L*9AGN@~I zFMV{|6gX^P<-k=)+rSAJ*)asVu}QQx>^3$g#tkHa1Vv&=BzPnJ&{Qn#%i0v4j=e21RC|;{zt0BzzlT4vu)1si~;hYv?Y)f_89CK5Obg%Jn}Gx zVobJv1M_iEA^g@S>=~?&+wKLVWcv;H(fWnfVA?0d9{~ex4CaYcPTUPDzRf8I8m4M} z;Xq?6w0Ux`J8%J#C@~OdeL!ut=kb8!oijq4wiX17@gGt?&w%OSBFObBtCBY)kfTU}GRT z2sY=Jq=7JNoHXbU&#`OmIe5xpCqRP&*0QtZUO(b5*h4T1V*)r@*c=oW7hhtKXj`}g zLwtd!fFIGGv2~y|oA6`Txa|+vQEWYJ47f|f)a+Sii-BR`y=A}Ixb3;r`5+8}b8KU@ z`)zGN7J%1)=j~qW55f?TrM)cwn`t?Y5gp>gp+VwD8pWuF#6lq`YY=8ZiWA~IfL6dx zQSHg8g^dCiI0z#)0b>jpi}1K14g%N;!VGSYXP1q^t_2RmMHQ&a?RJTpOWGE=v_0S2 zg@970gfXFw0Bylo!3uGE1>!;bvg>UQZQ@~ExM8}99QG%BzAY&8kIIj9fwb;cF>#+p z^WY%BXu-M3Nrndyj2mqQ_eLBgAcodA+@4uGTYHkZVMIh~1s(!U#ITC1HwVq0W7iSy zgT{tCCQu}pKhhv}E(in%1%{0#YHi{n!(In^LK-B>7RVDxnSEuS(X!C^aCO833WCn{ z;P-C49)@o7jYka79p$BM&doarjR)ZZ?FX%zGlYhLeE|r>#(;4dsS{}vsUHs>U}*4k zq)wO>P@54av^_K?)({AawFkOHE8+|So46ehaH>HgfUtqlTi-DPLsWsNfI)Fsp=c7C zH;j?_HX_UZK^w>BMEO`?as&b+^w^NxuDwGSVOpR(n5@wjYs+3Z2{FI)lQ<8X7rgzT zSvH?emH}5RkK0sW`xko|S^}^v8XU-mwR5Q)?#1ec&`@h1hYPee>obA@P7!#Ev4iAk@*qSX?3abdTgKV~`T_E=-++g3vBky!0mHx!KF&czG6(X4 zm~pKUF{C=+EVw6vz(T2wwMtNWyTTA8~=4s!Js4$nTp&br_EP*M37HurR91wf3 za{}xzxU#Q-=~z3URU}ngTeNB*1&ATe1~6nifZXvu2tK&)!no0%urnYOKoE&nA-WxW z8>!swzK!O9CW`SLcU=thoD_O}`2&+90ZJyK^z^t@oztKMZT6YXF+p_*KnNYyhRq3@IeVDv(U6Tc07o`A zH~*hB>ld9oSUcR*ah-)(T0iYxdlp`6*oiQngZ{9tctA1#xVPJUm=HjG3AQ&3-1eDl z6=)YQLttXtZ#WOI{-7-|aI|WIuI)bSzY~d$mVnfX?>aajLpPOSwGV8E zHsVfjNx-1Bg}=9r(LDz2JnncJBom}Fq-Zuc(lYotFdGJIjFiBj*hvs1fDmBdsL((F zJcl)6ZutzeWq&~MaM-Yy^#i;an+fe;u29QZ1SYF6TH*0R1seJfX1X;Z1{v;5N#m1+&iBZ`?*>v=M@UA^f&StiQOO zB4oJj6lm{mf@kwX(4L#|A>^QyVd!@!=tC$pqJt?jSQZGKwCQmkYX?5tk=4X{*2qkQBqR!UtE|mf)fiu2!M@~)Hr0~ zg?W+E9Ze9y0F4t*K)21#G$d;WdV~GO#sSkqLt43VKL|Cj8bs56gXocth4vv-z&&;kIlE8|QOO}pz&PZ}LYr|PdbevTUNcB3_HGBj zo&$~yfxrOi#>(w?oDh&+a6yLnv&q1*af1b-0!~1C0}5l_>^E}lpdkX=@f)xdo66P~ z=?`Xv`>(ajIM9@UAYfJycwA@s?uIe3g8*mQ7?2R{xj0=A@W?^HCdR=_t|sMcI~=L@CBQJ*aB*9KuGPgN&4W%5Hxp$uuU998w?La zJeadVV;GDvP+?FddJ@8f#K}g$t(Ak0YEO&`Qia<^*9{$^dIL!zCApasu?l!-SU>Dp z99SDCl01nV%_9v76$3i`CuRXW9UBuq<-h~>vyT7(AOJ~3K~xghh>%R#48TVAOtcX+ zMQfAP`gX5v6k|kaXn1RZapPn_U%}@g{sd)O-!Qyde{3V7vAO;D@q!{S6bKOr1PPgX z1GvRv_ykU}HtdjC+c<2Xk#W%7o;|oJk_q~+?JU@7uuY+jKqyJ;fcAx5!JUBs!3QG7 zxWJulPB3VKQFHk4fU+^!v+(|b2%y=Z@v#QPeBjxI&4G9p@M#-6nz8i}qbfq1+Z7t` zEqA~f`;Isz>{i@|L7yxWKs`p}kmAu65S9o|;~fDA4=-#LXtij4NY}t3b{_^{Y&dou z4mUPmNZJTOoE_p5fMFqWNa;KW9N(_N-i6yZXAUn%_t=5e2{atJ=$4Ef1cAvN&_Jb}uf-wvX*TcWeq? zV0OL`X6$iHdWZ#KS<{;rk!a>HiK~y*X?zZ{yUPDXe`2@b%f4IT& zvU_chK&WwyAR^h?#Xt!mCTlPn8wPP;MYpyB;YaInyQsSDJ$N438Y3;kNXQ{YpAgo7 z7&%9v0i?~w@dB?z#`V{U{%q_JaF{Xi5qRPdKx)@nKhZGlGe`giX9xxG2k;yF$Nn<{ zh#NZ+tIfX=8*qMW*ZS|aeOTX#jX=Z0P1wz#k>cI)Aod)DJYX@mUC!-ljFSk4U^H(d z*f3FGDdI)Y7GVlD77WjJjqNR)x8aN0v)uy%fkT7cZ;TEBfgE8#yw(RaTry&~VK#Tp zH2VzGM3c8RNlJ<>ind`y^wGuxQ?~WNVE~&a&*rRh=8cg6yV++vM-g7_bt#9EHE5d? zFDh&l_9F8wgatz{k>Fsf;QBT=t|P(~=?Dl3E{}_nH}u4O zAajR?0Ajqt!v#qf4-gm&(lI{csI5q#91;xcNWH)<*qvY`NU22rqjkU}$fk_C4t$3M zh2b3LU~ZZ=ZU~GULpNdp#6aXRu@gvdc*W2r1d_FZD7(ui1My%3zG)@QpHm=O;v z=8C8ZfY;*{MW78n;^3bUS0nla%YmVjnjKe4Vn~3vu%p;> zNE5=MyAu)GXCv@#&kT3!2n>|QSTN+m9Wg91E*68j684!WXWU=$yaATsK%>Ec0kRRm zscpr~Nqj?sD5Xq7G#&~OE1@?iE;rM{7A(6?}J`B?Ch4_=o0go4Z zfoGyYaDWInb7x!yCWJTwH9&Y#{pk}-glA#whH%5s?S4|0BjK}g30Ok=Kq|Mk(XcSE zg6HA@L1Z_Q76%wj8T%dhx?8FuR>EztX6$YTg|^@hFvI}OVPqZL?#Z}$B1PgP;U+Tl z6UKpCCeN||ki_kO7_YUB`#J>1?L7zD0ECI_EOs2UJs>;wA|6C&UN$}xlPY-j`4DGLs2+7xSb8~vIAwX>tMNyxc41_V^ z9fU*=(SS%W$+*y>F);C_DIhK3h=9AE8|%gX0};Tj6aR6DE92xq;Fy4y2MHeSMH(1v zPuP!u)L>4;H(0+|6H=wH(QR!hJ_Uid%>q-l=KzHu*}FZ2OuBVD7Qk@O4&9ItbAoDb zzgwTdxVav;RiGdQ3}6T(RU8vwsO&%7fH^S02rvPRz4+JTT}0$NSs4%rSW`4N4ArEE zv3t>8fc3Bmpp}ES+hMeEm{4H*63quAHBckQN?;fIj38rYhhjr89y=4(CI(jK0!Iut zCeFEWyN$a&op2+y-;AiRX5ip%w_r32v>POB(zy_sk7p9@rU)P~7HpIVD()06*pe`Q zbB3{P5Q0G98?L#e{6H(Q>&?@O{rvy6cXvC|WMy{8+nPH=2tm`pAmIjERu7(G&|qv? zV;I?IKJhtR0Jn+wCar%>{!**MRfFXN=cKd`@~wKaG9z~E*!%fdYduf=^d5YGaVYO( zZ1_9SaEUs(QZ>@0)C^cTpNl}SC2r9%gUP8|*gbimvrE{&{Si-sgYb>~Zoj_L9 zNt8$oK~6{{j|0&WSQO$Zfx5kV_!1lsiG@f*ur9Yk9*mRN%5w`}!IMqLnScvKX4Fs& zw#ZnW3^J5luX8r$#?g)5`VtvhG@5B!HYruJ!J*??Vli`ra)jQWmt>s>d_1LU+i`4+MaQdR_V12KT| z(G!SK<+f~1q}Bb9d2mju`5Q~~D}Z9?Nh#s^Fm_!9z=$|IYe~JulJqcZ87K%5w;{rW z$>)F?pQ6W(p(er{i{NGX?uj|YMRFF@TdLqmyG8nfAJ7QpUgy-`3gjmX)vS+_0mg*NOvBcSh8(Z9Uo_Y9y>Z1`=;)%}~*K z?`QV_R`7+7aBZsq)G{Oktb+kQu6rsN>HLiithT+zWEV1LbzjXb=vNV-jEv#OAN4(1 zBDlZL;CevP9pii7``!ailRZHe-XJXL-D>n*Fvn1YiR)lw7mHp+)k0Xkw@;^QaCjCM zf)D94{f!dFMnl3g;4%!03JleaDU$WXKSeyMwn0sz9Zt%ole*hjjJypYs^>%<7pJqZ z0-3UmO9U>n<6scv6d{hO%duj&CAz_E?t$l*th|)06(qtaa42wj23#ZwrsJS&81)gH z2nf;VEMA+s<7~m>iY;UjGAY2@49sTG z;2aywI#^!AwSteR)Vy#BdO$G%uySj_JTP2>pA~R0o}8aGhNDt3ECb1(?WmL#Y! zmn$@oRS1e?j-V+4nCxXGz}6R`g??Av`+mv_J6;f$AXU~Q+ti#=F!PpyNc9=tHMW}1 zdGsrT%n(wIY$dt~ilI|W(cdzRK0_*L!^lc(PR5Z|oN_?wwN2-A`R%(R{3QY5k~ZJ+ z2#OQIJ5om2D0PMF-S#7TXsLtQs_*?fBTC^`+SxeNkAU1nf^M7*tJfES0kT%BaM!+# zC&@68u3#MaGPTy$+u(;d8`tfcK!N%P**w%J9TS|jdUQO7=!n9v&vl$OsSFSl0YYhB z6c2W-qG@F1M)4f3^_yXY-xP>`jd|SB1u~ zZ}oD=3bt9EilPg@(09~VIp1;s zw`RI;oGbbF=bwN65RH((%5v>xPKRRyYsn@+aea;$WS?n5S%pNm9u#`Yf}7urKZn;n zX^m-9!dY@~GC$c_*VCFstZQY&@msSVB;{T|uwKS?;S`1*sja__hysMwPXxG$heJ{e zsdy9#D3#v=rp~WrJfkXY7xg2O)g-`3MV%Qi9EvD{I%lhTVf0A*Eu>+f`-$v_KjILO zq9mhKDx45(7_>u0BvL_si~Kll1gAwQvc=KJ_y`n4H()hY=#)4hts-m?f$L+4J;X)? zDEr`CkmIV3WhutZfa0hG0E{7gTXv#l4qP7GVX-cEWL#|uJ)$_it<8|3xNeY&!cAEU zSf&)d;~=JG0~_&z-UI?Fq#IjvCO9x&FM-o$(lTOM94^WHk|=Y^pMLu3mqZANPFV#< z#Bh>&c0XlIy|3XYt_!E;nA<_O?~{8nE}Ko5pA034m?M&zs4JjW0}Bc^*%2Iw>>o$9 z4IsgmxCU#|JzCi^C*0UTQ|fGFUQ~Zt)ZlakAdE87xW99Ff-rMg5ct3DH9@Tlj-i(x zR;#dce0{z8N!=$)p_&4{30NFU0j11qc^kDOP@x>RP9QlA9CydZpMkExcLiL{Teb?^ z-@a(9(2Bm>9HRyvgbxTsB(;^CHi@FbjDRA-E<%KvVQ9fJE)27NS(>a_VEs)~zXt9* zHjBjt##*HmS)IbP#z9F05)v8XS{Ou87-J*z>g6ehy-1Ly%i4mtW(KD3*07oA_4|j zFMOIaRA(ciZDArwZFsPU29}Mt1?@g{ocONBX7k!ivJVc50VI5omAcRUt+hx#?t2`C zEQKUf?G7iVfK_)}Wc^BRMSkWT6e!x}_@w-xJ9C5_l_BZMKzgf!84u}v$WkgT5DFv4 zfP&B%QW>2(4Sm3H7y?I`K7j~@j&t>Sg`!LFiekI>45mz06wT-}Y_7w;pbqP}qGL~j z)Yy{ol0DcTf(mv9ujDhLa?q$qpYqT%FxKI?j;$qez5nH&B{W{au)qlXrlMSZhOAyT zLph4{@BdnyP-rRgYi?zPvQKi{9EN?OB|Mq=O3C%j!n+VO7<94pV=)f zhanqa=b6+3OKzoLxtTi$g*Zll#erx|YV?`7JO?HO|eZ z#;xR}j1BRPECrcy{~cfdJlscXOzW6}hx?b{reH zd28`)VPWTQ4#-;(uWhC^Y#`OXhp6P#8!uuKq{V^vyMSjERPbh`IKsT|=)MaQ6;*d` zA_;+k?3D9Yyw_)JKyyxvK=oohDb@n}*wDR-{y4dTm#vXo;|D#@O3=AP>)B8wx zoQZKL5TuU83#w_T^RdQ=P=$VWOmL0>x;4!q{QS<>G=BsR-8WM5KG!jv$34KQsj-pS zScC4348hvox#!pr?S00%`uobbH>hmRb5iW2b}*p8#w?f=Xo6AgJAvCHieP**swAD7 z0a8_UWAP%QwVoch8u>1=Xig>q#sFW4{H38u$PNe^5 zWC;QK{I7oXs|URLv) z`-A5|jKkk;0-H@H$r;1(t&@I-Pa7W+Rg~x{j3V5Xr5mfx17Hjr97h9gO^$xf0}?B6To_%w3TySdg=@ z)AYm>vfT~9tVO~D_mWV-K5!2?Qney@5b)RDa|nc>0}R~fwLe*C zwPOa^*hgA|$Y#J+j%)pHHu>YbWOj=waYfyGJf19e12)%cjj}k+TG4H2ln75KqI zw3wyloQam!3Z7&nTl6Nwp;`iwaZ)zFLMVS{e37Bx4txojtMlnR+Djy{hMMY3CZiUB zF|`qUzPd$4GAi|ly_*}@@hUt>ho#XRi!qAYKnYvK$cS~0Z8pboNsXn%>SaU>i_w!k zFODj^f%j_Q#~5=4Yy2567_~);4}oKI=6DMjyUlLC`mBY`5vao<-z>=ScSceLwy~H) zS@b$_a0L<`*-6l`Je@)^q`K&jTF~aRp**uiHMe>1-XKzKW+bjik|I%NL>At$6`LWJ zWi$wK@=nGDq@wmhH9LsN9u$=6yvn#!eW{_4fyj73PMo-h9VyUV;-Ay-UHlaI3m=&Q zRJQ(L0ZetKHq1ISRwQ}z>AE_uj2YJ?$PBg-)b)7}-hxzEqq1T5?7!XXKJYg7 zf^oM7I2hS72pPwjgDCp}hsj8_OBXx|TK0Z7U$Pn3=^5>0#0yhyVIw(n=l|@p&mP^D zaX)>&xugQ^y9JbrNpUj|iLQb`#W-LPo0?p8+iHlm;gaARH669DKq51U>Ln1=R9cK= z=kEd$g~3Su?impxNg8m^-nO~B9)Gi0RFvZk`kbhy_wWg#4x5l8+Q;I04l*(tl!pV5 zK2jZVtXjLkvUM;;$|HhhDf^6d&d?mJWZ1EhwlHpR0w|Iy3*-bA5(2NiLuk}Tc!x#S0f>+mofA{RZd0%A#HEro!mo)xy@@0;^M4X0fVd$JS*BJ zj*yv))H4hmRC5;W!jOx48(+t2jjNV7Ke(i>NxLBS0*|p3?$ltS?|w(-c774KImM3% zZm6hSo3$$=PP%LE$+QJ~+wInx0GD#SK1WFhj%J)Ww1qvdwKhMy?={_UJ)?xk0_SIM zdXQZE9{&Ss6qMi>8bd@qc+zoJ#w#Ps&}+5dxIk`#HRE%Ree$9EBM9Z#WS@dQP#*pb zulP`=$N(~23JDqgRdV1M;JqGco5P?<_c&BCFbh|N&T!FggF*CiVvJ-c(%+7yI1yjq z(YPGoDn^=wl@H@6NO+}=o}+G|!;Wz+O~KuRQnqVs*KE3lj>Yq<{5>o!>g z1B&(q8QXpx|DlZrS)?un{S@hgiAcp&!FPN_^gfwSCZ$T)xH%S1ta|`9vzKsGpeWFq z?2^Gz8{i%gb67u=WdbEde|R2q4(c$@KAQoO?TWCQl-=jVIJ|`nXQuo$% z7-|r@;fx{9fYh-I)@oXVF6lY1kLy@mF(bJt@iswZ9CA>d*GAw0K|!1bTvZ{Li$-+n zr6p<?j2Z9w7(Ih=m~_@ z*a~XEmd4%nN!4w@{tnw048YVg)&hmDOHnJHXfrABnMfSe+V{6<9^6>u#*x9Ksd?ba zvR8bJ!ZSv$-?cK)C0B&W@PGhUUMj*yx(ZTye>>yKn#~PG(q^b#r`8?j1#E(Y^CU{q zIS7?A*eZ8YZ8FxbA1^@gu!QYO%Nf6?ZXA7JT#hXk*Fl-*E^T3OpM~$0(MCB%nv1SB>3l%mdd?dA%V2cofqXcPj zVlp3UE69j;F?i#CS9B<26YRY?5QbiX7!{R4;v#gy6O-W{xCI2e$Ytw8R?5a9Ixe+{O-(k7)b)f# z@><8=mL@U{8IPz5tf$q24cX_(J{d4DoXjQx1AWrJFfQIcmNAzrJok2rwVrN z$T``F*AlAa%FS1`JEA#UgiL`LV4DT1rCFJ=2$!)1d)Sx?#5ih(S2aB&)b~sOMZT0P zvSB@%ww;Rm&EYoI)}0KBtXB<*_Wj1|{C!WC0ZJ7{j#?-zSsNR{Q|Aw^?e9f>=7sai z=uyjXxB?%UM&n`Z)L?+I`V8l_(qe5#a`;dO*`Z=y^;ftwg?EgRb9Aq@{dNykQ5&m0 z=?R3bq3r_O@4Nm%uS|D&i4_n zhO#6ERpcURSw%P70_roO57EEkA{j%@nxhg?;1)!HvXIT-WG+MojIP!SHooXm zgzp}SYT>W0i|iSp4mQBeaAdMvRkGm0=1EVfj;Tsmu^A^W!o?BDqGSj-9!3{|y6^j2 zbE<%9IWA=NW+IGv|0fubDaoW5HsX}VE_1?zY4IbF0S^e$WX{AM44``6&B{B(f`qmzjgToKMij(2DrUU|ol95+EA|ZCge_e1N#sB7HLh0gpNh zJ+`#hkZqE%azIx{W8Z;CIUc+KNYnhQM*&xTaW~2;!`<73b^EM_gy76R(|dw9Qf+Xm zjHUUbg4#|3)L)VRAiIn@Qhn=BKwbK#aZqHxL<4%iIfkDyP=&RiF@mWt6%c|VG9=q4 z30&euoz$Y_7)0bW(EXmX5Q!}juh<14ir7N}Z&h)}B~!(rhz@&CRJsHx@|iPYq)23W zWjB~oNsoWdMAQSe5`p;pR;(kM5o}0Y{lE}|U>DtHk^jU9+9-4nL=&9%wj|LUvGci3 zaz9by1_#J%WVmWv_^*xQL0}3ZJ11@fM2Ig#rioBQ;2<-bfI-&;lLNxhSPO7#kWgck zno}0J{*A)HY<-84jEoW=z=0_ar8a^!Q~%(ZR&J|ee@ST>kVstAEs6!T$+GY*&3~CA zgU^Uls(~R$H0?nOB9Y;8QR_hQY7}By?M_J0n6=~JR2LIR{FC)=)T}-O+{4&!U?sbA zEhMR=&V&I94P6HUn32_rL$R=4QpW83eYWwJMN!xN^+h?^B;dEP50tHa1xfgkJ zyg0nxE1Qs+i}-(fcdCp&N5G-Uc4gKSR5%qG1KVNm2#(E_fJ%WM2(@#l*YHrVRXCFG zg8O7|t*0f#1w)O~oZ}jEbj@u)@p?Ynbw04d49E87Vdy;5TVaf-)U(2yP)`8l=@HuC zs?=Dbctubkg(e7`M4n3Cm;-|QdS)`d0Jk9G@BhA!6F}Z8TolDnNZ}PahPKEcyT(i1 zB@02uBciWxA1JQR!1`^jReR97ub7}Yl4)#&j7$g5AlyNYTS=}$O2SGIM3!fGvBBg040hkNXEIRt_g2HN@&vCBdT64c7ba{uSu zX32IGP4{`~K_v8c#`P#!^G}|x2NeYvjtT^;*2E*7aVFNDOs(&A&&hH-H`{D(I%c2o z{1De9P~)upP9Dv{K#1_5YFz*TAOJ~3K~x^_(LQz+tdX(sC|T{^8GegMa8}Q`5K(eejk#=L_4{yai$s>h$jW3Ik7{3$US7PvgN2L_v4$^bUZmsr5Cw;_ z057dWkmHP@%&&7OwBnG+g!|4athSX4!>eF%iw21aI17?h&=78lVYF~5s}`zoji5zA z2mIE?gW0O(;Y<+zFls@{M*p0kEQ&IYycLJV;KPeKZCPnQ)g^Geid(yeHidbU`7~zT zRkvRi&cS&_V+=J2jzJLhc>tP%vW-AH_QD*56AQ^1L&vlEWl?x1*`)KD=hm;lP8K5g zpcdlH85wYeifu;Tc|D;{KQqA?d8a5_Ktr^#ia5}!EVJW@bUUUDh9R?-1uBX*-B&hA zn{?2e>`QCQ zzpugyh7Cstae2%nQdtB|QcAkVC`sG3FaYgHzf*59CKeYWo3qop0dHahH%3*?q9c{` z)Ic7{iF&HPn_ml`BSMnH!~Ng9tb?;S zKma7oU@kZ+brjEDsxNJg9$qiy30Ud#&^0nS`xCZk;i45w=ocYN(p zHj7Z~wbF6HmgZOOmi1Sp&EZ$@Xzm4r3?Xi`b0`edPDKkCP%?f+hKCpj%?X-7uedu{ zKOT%jb`3wilh%}M6odM;iSnT&vO`=2Sc`ntGwTUiddXyPA~F+@Hk73MltXl1Whps? zttr~>zC-}-8>mf?!oF~l9FSu?qVJ5T))&-BH~@>9+!wAasz%hUVkN_uEOFrosjGSj z3xk5kCRTT$27???^);uqbp~o0`aH#xv>Y#^ZiPV>34v=EIH~j?m)=+k{9^`$WS14!RVD0L;ma~%;c5YmcXxu&#Fo^Pd;hGjUQMkEk zHjY7{DIn_ln@dV4hSa_gXy8g^5@1;EOw1X_-{&Z(f(J=~8T@~`KY+cCOj})Gv#&IzCoRI8C z)Jg^_{r4FKbBq#5tmAVhH0aEo0IdBsgTzyd?SA*ab1bJNSQbS7sAPHP_)uid;>=% zfDv?ouGj-XinXClNcTq8DX1Y<5k1=SQ9 zo6v2TA-4aK#9Fg>?u%<+4+R-`m>=Kev>pZ}``afD%4!sawoctcZP-bQx1bhEqjqYc zMSGqTAP(ZZ@mq}zT;+XPlr@T5qncw^%KX|lU|LQ^cIts?4+9AjKrl8*)LAwyynQ9U zoWv@(6zlcA>_P`v&kzCE^#5K8{yf)0%0woL#O@qw0yJYM*h@PKHdEilD-Q zHFFva$<|DCEMwRde_LqV+*_+)lX8NfD0~$72!GM$zsglX7`h?g4QwzOg(#e}?{95V zpVMQ_J;wVfq7_V0$H<}>4bl8Y_o7O|2Mr3r6at*RPhd}DhR1JxlEO3rnJAxt1Z+j& zNs4VP_MPUtEYtHtR#_$kP`Bift@@_1M~x+TMs(lzSCT3tlnrs59LRP%mbu7~ea}O- znv2e5Zk9*<$-PT1htPSuHU*)*M*->nQp_RPsUQ*F?q_@5`sa9L0A%!>1=I#jV9kRN zo!{K!2Fu<$kN+#}ePvS|0kAEui#sd?3r>Qw_yUW&yD!0Ag9H|LSS(n8;O_3u;(_3v zkN^RK1Pu}%uddbm2k*n3Pg7l8H8oQ`(>;AopPoHwZmK=CDbT4d&3U>Ym4?*#ZYDUr zdbc=%!;J>{u`HLepiLONpbAO|-iYFHWi(*#swszQ&kM}sU_XeXn9rcwl|?Zq$aHhL z$lV)5fT=mSE1y%zJWBNtZLOO9(v$<(F}jd|u6N4cxUJ!YGIRvHMr?&>jA%(2i=IlJ zK)nLD`KoWf=zg8Dr`n#g4WDB&w?aS0xcUn#=s@G|S{rON0UP=~sqgtqiY)Ms*%X5? zN?>k9Y+4!%Amfo;M)%jz@f|xuZ{S>lMBzKZTFi3VYgt#g$Kr*B+}}%ZOqgCX+Ez?g z?ncZ@-#baG|M`8-=6lWv2t6@s`JKJ~^dsis`C7^UsI(%H(hsBiVLl)=GBgo--8A}p z6iP6uNeR@bVFH2Ma3w{gj&V2Hx>({%J&)YhqpqH7Kdz#P$!ok*&gr%pPYmlBXbDy* z;26*J_yGdS3Vpr)w~Hy|4>nq68Q;qCVEh#B+2HfH)-Cv$2n{g}J*w;Us^v%F_DK2^ z*vzX=5oFuzer5Kym2wdVG<-MH>Anbb4Xmg5P$}Y~>c$*EHTJy=YtF?2>^KE-<@A6E z{h{^hpQq6_7^EqdUvT7|Kw}HwLMySSP#fLLN}TxHZ8#rHQX$X8T4>`uew;()O=NF# z_&9~h;~lUZy6PNNH~((Xgzd}mYQhz| zz06pIY3KU^h~x@rn~l8<;ajUityjR|AUvegF>-hc9oK4gDh_iOPWvJmX7dy6{*-u~ zIXzLs!)0Z8|G@r}n5sEBj&e&fB}l77RUMXZZxS)-K53cre3~{OP2LDA4y3oSNJ8xy z#eyG&S+tUV!xBq+@G<*3i@cAL70+nsA zs7EHHs}YA_230+}hC-ivwAG#{B;gGTdZ1PSBi`J@%0|640(bbe^IL{r z62OgTbRtHcC~6DFz;tA6G_<#QkOM|_WUm-UqCG0!TLM!C8-=hNqtSpL8S%1qjn z+Um8V=Y$_cxQs3wqA);*LgsX=4mIz;WkLV4&ZxEcunYKpol^$(?Q>pVzAm)+gPpyH zCx~t^;vrm$h}l1Rp8N+aag`JZyUq0)Y_c>iT*<0fJXx8OdVYk*dWaSprKEz#|1Bjn zdAP2a!=(lz%7wp+h$v7cpQKA42%KvH4UV1pm4R>>M4ib@()CLI&jAtr(c0yH=L49u zNsX&D$!c_tCQaU;Sr+;&xGWB7@3l#m2t#G-44Ut*B2ZyIVgGn(h<_@X`^RsQm&l6R}_+>kfSL5GoYCl%K#{ z{;G|pHQCsS8OG7@GDUDu>qW$fI)L?XB2!ou(S57yh^ui}yKfHPsV+P9J8%ewZc4lC z*E}HSr{VE;ZDhBe9U3+`HjK&MC_BXTxQZY1+~@u?#6f<@!|DjclxIl%EpFx)2pNN= z4N_=}8zna}32AiGVWjgEUQXpey%WS%4;5~yV`mw1{pu-A16PXOgEOIie}^*grzFp* z)_=RRC1KW;epw$AP_o>-3#3MTFcv;Tt#6O2!-|+5rkOi7zV7-kiE3tzY z0Dxu~zasogah;rHxW2=|q%FKm*WzsWZPlfr%>P}L9%p-XGpma3dAB`x1!GGk5 z@Y5a=wa!@FSL9!-c@R8C=nQszhrsjKzXOlev>yExwv<**8g0wLYtxC$M*4GvJoxUO z5W$6X!vW)AAB4aF+v)3}Y#1cYtB%pQC*yR8FEi;EeDP)Uif{<20WKOkGX|o~ru#78 zo5H~Jhk4h;jvnRAPa_;{#y7k-KMwzGa``mtkgBWW$)4AuftDZK?&UN0 zfY09Y!Y9H~70pk;JAnL_FGc^$UJ=AJ-^%BJ{LUFJM$WWak@)(^0X{(qBFm-itNfEb z4^N7dhYwSc#s@y=R}vtzGJK~xeba|m!ePpgE64hp^#JXoPomnXWN@PmqLA=#y*tKm zB8iN(4O#9P;Y5W=#oU4BptjF$j1bXM@kziTu|-K&X~MX)1WXw?K$U36I~SJtA$1h7 z?ABp$ll0v;+SWwhIeMW4&=Nif&8D&R>6AD7FG&9R2ObJCcn*;0(^-6K%T)XP;U-ZE za~@D&oZHsIALpbfIU~$qTuX8JPP7aw`I{B9M5~K%|8&b-7&0`fFp&(uL*tIsYlqj_ zkxI+P8eCBfH3rTo^XHn(eMG)M(A%1BeZ8q7XU>b}WmrS!O{})zA7TF0o1hXk6&mJ# zPBVgEI60PZ`{g2Yo#aU9Nj4<}TE(&!%%&W>_I(Zio(Hlh__XP$BC{=pwf z``#ZJhxMNeB;vKNRiCv`(9KJeyqf1KDuNQj9H)@)?TN1PD}W+659QWFoc19ysC70K zGb?9J#9BpIt}VP{oT^ywTGC|O+J)~6dqWAP?{NjJve;pkS91Z zsxkI{iv#C~>oH9}1RHz`>gJOm5^Kda$6-YiZ83t@bFyRXa0jgkwrP2Dyt@Lirf{k&q?av)FaJBY)Z$^x zZZY{O2&#BO>XygKRUpc~o-z!DwU%Of+ynS>xNEMa zR?7yr3xIQ&N9vYwL9j*C%ka0cQYQma9$zj)>f9<$%T|9#4`$m4nc2tQD5qZ_TN*6i z1s{C#^XW#z=Dg11Q!(1`3;iCh4HUhfKwINfr=pi1u zBjf=d8obb#Qc*aoX~0ALL@CDw<``B+?ITQ%iGl$w1l#hxMa$h2>*je3uq-Hk%X+&LsRmqOSXC|XoQ zn6QWoMXA2(qXplq|!6!+wuvG3KE5BZFu|A&7a5N`zgsostXMiq=6+wqAse>-5u)R%8G0 zgMAC;*cZcv9isLyOqOw*iL`^McO^0xWSByB!ds#*rcqI2?yId7;*%Jfte$8>#inB9BG*JQ_ z>kAg~H_3X1rHl#-N+Vy!DTw!34o^Me^ra5)1ZGcTOqvug9DvM_Gc0>{#4w9YHCjH5 zuZ6C9x+ec)Uxz48P^JGX6GR)*7vO4j*yn8| zg!V$RlAy%)Yb5Ko6oVIwI9Vxfv73QV@ngb0@bPOKW91Vq+P+9Q zztKB6-BY%81xCE77vdSE{t4G7+df{GW}DIDhN6L;TEtlE!feX(21C5Lw+xKZ**b4i zdh4=_p;*%rlqDCx)Ti!J(7cHAn1g6x)ysCxE*L~3m2m|p6cIK$Q+)1GH~F16B;t(x z7IzB!R@?)9@R7O#=~*lGo{`VrSWGYjhO-I&1iM&ysxHO_#KN(gIrnRCvBCNy1M|13 z(pgjc?KV^9?%4ZULg99nd6i8y4pOxYbL~cCJ3H#U?D$Ef-Ti@VY0ll$bmIdTDS@}y z9f^HA5|)UW*Xk2_0xW{GyXKR!OXu{m>T$&~nSMLaRB8_2-WbmXr=(=!-@oB)yYvvY zB(N`di^3x_UmuZrBaOl2Qr zOOE)V)j%R9Ce&1k>tGIYEgGzNYdNbtdkj~zOeN0>y)dj8dKgnwFq5M#`!4!z!*Qut zI~7@a4(cBW4ml&*!E2QlZ1^jKq6o&H>70Br7<)O<76zm zFOgh>AW^z)f*P6EHjjM1vkI(E$fSF3R>Ml|A{15izUtuIn911zENvzUTgEPM=y_Ah zX0dPZ@~3hv)Mb1?<-^iA-joW1M3}_`iSQx2fXpt5^&OlR5b5nFoMc_{dTBFekTgrU z^*weDtC;H>C2RO4DC%FG8qPnA3$BN|iKk#-*lwE*I?QP0rnl*Zk=Ka0SseUJBbVtD zi8?ex2wP=JTA`ewQS|2g%RYG@n}X@%F$=^mt-6uDlMgzPb=ez>2}oH_U@xNG`JyB~ zLqN`|0u~DMgIG1uWXGL$#JFY4g>PaSYI*UhJ|zJ^zUGx*SE9?Poqu3D?uHp5Sl{7~8s#my8h^~=U7 zhu+HVIckYNLmIOIaYScg!DE3<(l8mX@dnrzQGCn+kKDyhsnU#mwIyMw;vips5w2mQ<^q zZBvhv!-UM&T6%5XEbuBQeJW2>x4eM7P^Qf8!LQ?F{z zOnMstRfQv-gc&9IN^IwbvM z{lv`M%m5Kgh`D*aAPEvHdf}E{Haj%ziLroS3>kmo9>4AF@)00XJwnaFI@Qx2r;<#6 z+T2A@{`9->Gn)O-ZKtm}-tpy#@y+slYgmB}FeY)B@P%SQ2XVQ>0zq^8GE-h?l?g?c zo${ZMoelT2?dCly?AK4Y6$MGQp6fKo!>gM*#4w~IoZxb?F^~bE!?-3%qhrOGm8)=( zmz%R`RCOW-dBZleJ}-8s*4Aq#CR;%e!{k*M(o)sNS&`RmnaGN8yqAsrCZ{x#ToEGQ z7|^o|I(JrAMK*d+v5`6$N5(FyS(!1u2gcfsvle+I6D|h(cD~dIish}vW|PX5@SZ%u zy!=7kAhx}ERONVo$FU?P{y!sqGn9iqRW;alkQ-p&_@SNC2=y+2y*TDg%HQV;NeW;r zc;I&MU5qnN`Z^m5$slISfPe0*ACl4vHk$6Z9~`+}FyWMJ#%V94Q(G^39zoX?$L;p+ zW*eu%Re#Th#64sK-VaSUbEM^C4FiY&Dl;fQfO-zpHSHJ(-aq~%($#bOOzl6xd`}ls zJBrk-Kd+v&^7q^L9V)R>#*ZS26q0|KbT~}vLzTADE0y31URVnR$CAnjS22Dwt;h3K z$4K~tx!2-Q27^1#4{zKJHqYkD7=W`S2T7C6t$GAY6+KfrQEKkdcyVnjM)rDR%#qcp z`%@l4o)3*<8`dqm69^@;T1d*!!8Vo0`x;{gxiLDCKza8{1pYdiD#WRIugc@Q;)O&L z+C0O*P+n9k4`{ES#9JGi8HAy<)Q|7XEn$L#sR8I->GSK#K|~Ma!KuL8U_r`&GsH$H%tr-z%v@1q`H2!KoigCoVX%cS=t!$uc zl<9u>$50gu2KYoP=mQh#I#B+L3!wU}@Cc(AAmp)kT4j;DnuNB6y)Rug{uVzJ z=wmU#VRcnx1*aP4cwjI!v>MSrH*Q|ed6__a8<$TdJyvl%DlE!+hn82<(R@~6f4bdj zr+)JCg;i{*4O_IP-Cvun|jAT;JrsfAAh1Ye=f$O>H@HJ)!f`Uyj=)IPH&9 zff18Ym@i1emjZiQRB2wKeb9w!30Nf2F(Oo_xjcU%_s!AZ-*GTkLM<3w10}PKh41{S zP9ZPOoehj%?DJ()SX~)1YleI#xiQ;!<9^;7jVOChK}{ zYZ@$nV3OP3sKa_4>?1^5>;Z`h$CPFWjwZKoi6G4>P9^VtgSUB3vtHA^lK^X>!bC?s z5I@)6a>AmUY z!%QJ~4L<=z$EmgzpmSNS1EeYr-A->ieAa?AO=8b&Bi2xARl)9`r1sRC2t?Da!w73( z8AlvHem~8sXm2%MUo&zHEU{~5Y&AOAh5>tOibRGoUi9?e2^tc@F;#y?#b8j0+_@IO z+TW6MHx=tIOqQJ8=G)H=HGs(E85W3oKGoNJjvv&aza?B%+2qZd9j2o9ak-zJ8i+gB z^BAhVwUQQpIBJ?fW=kwSe5NZaPBlTZOma4F$UfXO-Lq#)M_9_C6yf5wUsAtX`#f!9 zTWk{fMmrsuk?aDL*U6Sy0{>jLI$sJ_iwQ)HFY6K3R zO^YQ}!UzbB3Ro2)jX3|HI8BU96OFqh@Tmm&yDNu~^f))t{5_HPbP=6xK1)N1M`0%; zYk}jrg)-i05yo>ix>1o6*b}#Q`9V0L?R=Caf}`8Y{zOx|M27u76ApHU=%}YmEmo++ zDX&s<;V5F=XN5~24B#5CUu&lF5^1?3I^H@d*G3e{tgJW%20Pf{=X**3+boqm3J&_7 zZv#Kg3rVJbZq0;}gyBcD1b;>cB*}mmTLUrFcXVXEn3em;u{{Ola*snxvmIvKU~h2-cN82G{f;jxIajNRR%I|V zJC+Zv(-K2-r#qA#lRI@tfG&0*S6-1HW&6cz(8`_(zR^S}R@levGP0Lr#`#L7rE;-^ zT1&e2^2y@6r$;f3>`ZS=l@xL%c1T&TdfNTLfiNJSq-Ux%$X=*!9n0o}kawTV-?qDD z3_;}Kyly95%6qyX*`==>0eaeAaaA9;P@xYTmI>pRn?#)^VkNlYt!Urb=webtvex3X*9-?bqaL_`s%_(9Za1ekb{l zECS;lA+Hadw)?W$fT%Mr##WBGeOH)+(7#MgLA{bp?kt`S%9w7H(56emJL#~iqhFo~ zK>zHXiCC263}*`8Cxo~IcouZ0kbM}*;UXy96JgVhhiO&LWY7m7<_i6H)US%yziwUZ zF$%n_&y`x_5FAydtMsBYsYxMSZN?O^}ud}d-PbTKs z+0YMau)?iz>rOu41_VW)heeRRVy;TF{Z6^09y$Ys~^@rV_BNj4p0~%7pq}G5S zE>Q8@5f|7N;~n#b9#;jzz?Wf&qL9H+X~lN%M{^U0TtryZ{+H&>H4?81OZ8>+cnT;i z&GJ?^q!xK;1w|o_nM!(ABpSVHK7rp}N!ZfsmqWz!zteQE7X32g7iN@r0oNYi1QZC%28Eb zyN-27RF?iYUUfFr5(gm@K=MLy*VidWK0ip4E7^Ya3z`MlPZG^pGFCA|Dz85A&e!^5 z%W1pf(9P;a^vk)P+rmRukhV95G+a7dL}|22*ql)61?L(3coJ7(GbLaLc3X1c$mfNR^Pb%V!irVjclR3x?Lv8t~7vC|O z+?u$&=m5$mJ0UtWF9**CdjO8(4bMvI6uu~e*pE4Wi@1T_9^|XqU)6!ARgO-(5eD{y7h=xE& z9oW%H9Zk}?00rET$K`ACl|s=wXwLJ@e@3U^C$zR)cr^|#UF1E?mUJ&>Q)^N)_%75Z zo@|ZLxm0-76NsU<>?q8L^n)7Gd{h1_@$oZFXaWlR`+?-d%Fnmek}2L9#W%-5&2G{+~@(x7|E(>}1@V2MTLMO*r}=l=MyjoURdL8%Ci zp+}9|X-Wv%zlAlFssVc)8KT^hj_=|oAt%v*2%d1SYXDK+1P+xu*>YG+e0Y<1kC-*)5o7$?-G?JinhB_fN>V}aPJwu>B89O^ z`ZzeWYGM%i>C5n{M$~&OXeamV<(Z23KpT5 zRrC>X=sc_1B7!p-pc`+1dBUCgAVX9#>TAIa;z%l@^$(HhtXpz@d)3f`j@QVU^pWdT zhctjUNDHt2yn$Zv2THS(7pZO9OrGbow>#V4DrdR|6;Vp}6%&=Eq`m05 z*D9lBJWh?%4Q&?96441{Obd6D!$+=bWzDn_{~6^!!6N*CgJIK@Rk92ir$Juyi%Q&m zMX$M8jS2H&6f+qjsvk@+^`mwk)@7K;sKkAk7k*?Y2>nH{AFh7K%0`7(G=IAKL{6(H7mW@db!FXaVe$OaMpfWC%JMpnT}wJHdOAx+}~J| zoJS=d0fRB;?Yy%5vXi*%XvN0Cwv0N%jR;~Ir(e}!Iu2cGBPrPiS-m?}Uud|^H&Wzwlg2+vHbIT3$SMu7lYF4Z=UxVhNEU>Hb z&O~s}Lz0U7IeTQC!@;0e#8w?r+gO9Kdx!b%q(yU0>X(Uo+A0H~TC1=>yN7(9C1Ocv z&(ac#gDl-7=Lpw({0h=Kczf<`5a>wnAC6m7?Q>^@D zN}!s-K50KiLa`+Iy{wV?b3h6CXVZyc6e#xbpl`??>M^Lddy^_+~71Ghgr--wU)cb!5Cw_Z63la)Kq1RK?GQizmNI6 z3~Q%2kndv^#K`4cT`=fL@K%jbZQ|UpY#89^i%wYY(*ZP055D^j;x4bpBDBM(H=57DN{%+w}-*1?=mI@l1e#T-PX#ElqO^&jgx?L6`pF#o|Nx8=xi z?xW()4|c2oE2Cib%(ls%nKmIKlXrGJbdmkO$@|-Gu$UjpF&K`p|BjRd{H&@rD(%KJ z0C@S~t<&qKS4Q{1as+cSH!ng_uvfkW8KiyjYbN`Wm=PaWHfY^@f}ON_83uMOgle_c zL_^x1!{05A(ih4tLBM=WwA7;N+3>(|4;*bY^MajY3jr4068q#fA+cHNz~i_-bvC#q zJ$4CvZ)WRkTol|0vWYtyv5)-j=>%j_m;%=_Mf1I59w}52(0joAtbVUwVls`B7rimj zN1nT%IE!AIm-aEM@@-U*)Av#hiHFJ~GLzIX&^cQUw9_?U+ue%TkPdz-^6(7n+E|bO?Kjh=iINNwmrf|fcFR6$==Aq=0 z`!?eOcPDfgQcFKR;|*bXh!Fej6!3OcwUm>sqJU2*zT3mu&MZ<-NOQ$rHneHFTaJVB z0_Yl)dbyEu?tK{zJ_(=%u0?c~Pa6$J0g6PBj3(@DjbK{>Ew=MHc$G@OEEw_WpORw z^2t)Y$x^-cGPZ|374m2ibTPVdVc^WPQHC`<r!C??8m4o@P$Z$v3`@EAS<0jvSM~+)Mp2;d-0kG+)0u@f3^oRp;+CUr_ zVef$jN>qP?UV4Hu!xLxXP$QKv8vkg%U^Y(^UHpQPMohaU0Fv1>2ER+nT3ay?>YVKn z+{|~IMHh(@ygd@%U0NWzLkEs?PqS?56^ zt6djiHG->^s@wi-+mfoay%Bkv#PslmZzK&D{#0~IYj7|bT34mG-`q-@xYomYLX54`e~^L9!CrChknqmQ^AzfJM& z`WQ@%?wlG+&m%_=JZ99w$;LFiq=YQ&Ku4y>cM61q!LlPadv7F z$jZ4X3Z5ra)S&0{ZtGL5!`K#IWM?8a62GTFJ|<|;bW?oS9V{r{{${ef6Sti(c*_Gown@8fcgE(5;D%jv&j2ydp z4`MOeW0rVscxpSz?OGJlI&V2P!zA%h`jLe^w&*G%3YufLq>`K?$r$yCE#*}#!=G2f z1h_59X;(4AnkezqM9fC&56L#eD7XJIpS^xt29&+O2^`G5Aluq_MkAyzsv{z0EiC+k zl7=0FC|V;CPZ6}E^+cmrhlO|zy1d{9)bM6WOvrE-IG-XZe_4F&}7GjYsTX2{Z;J)Lwq_Fjv;g`X*8P?!!>B* z2oi0cq)fDObEeV$&-Y}7TGcjf7cRlWU5z4jrF#YQ=!Ezkha?y5LhVY zkN)X;bjH6Z2?(#?-m7%HTAwXx{Oqpr}5k}U+%{t4l?G)v{eVXEDC*}Lb zag`<=!2j<2@f2Ce4-+CNV^rcM$4W3UM!Xfi>POV zUVN!s`LO5CM$qk=!OJR-$!W1yWMAsKuAvSi2unB?~6DE`30X{Y}HJvbvB0 z;iOxw!*@0ewD2;sS4-)t$qXqA-R-;lDe47j9=Bpkx(8|8_T_b7!94i(W{nQd$Z=Ww*3%pl< zM&uc+;AE2wFhtR<>{H8JeWV(sbKsLR+HRzmu1=K0I0{ zVTv=8q&C_=c0kXqeZ?>cu}g9AWpD}AwLe9Ydc7)>qvOgrmT&=IeS*L5l-Bl}7a?w% zb7YJ34kFa_==PPp*J||+detT`d zD;JgBDF1FsoQ&NQ3ba4Re~`DHD@+r9+1yRe;iaRxaj-g&R6o-lT$*DtCXe`XC!oO$ zW>_LObo{&B_nLR?H#Tw2>x0(?V-h~kSRA0zF(9;>B|1k3m!wsMv)y$|qCt1H80XMs ztx<#jD{qFV6K*@343~KUh2Fpq_)(QG8Me#(E7@hdg_@)qy@(#UP@G#umJ7;42EO(T z&38X`&v@k5qVNFGn41yF=1)41JrpP@7G4 zg2f-;J3!qxZ(A6UIePa4jQ2rZ8ILBG8jI+(qh!#M-a(2i_t4uUT}%>H8To)gi7p#^ zf#+3Tqh+}CZiDRrBcktXqaxFwKH&HdM=vW6p@h>xXwd08-y`Fe5RnL9WyP^c@p|A5 zKGEnOv?4#lHr0=VJ9ef5%R*vVniiY{s%e!l<-yt!0I6x7%L>OrEB+Qu6g4?P4)X1L z4RYmHrl~V(zM}NJB0nDp2yN%qTP}~#4y9^%=@&A_JzAx}2dX4hB-0;Vi^h!#h~w9l zgUShi$k!$$`#Z$e>tK6_-HTAkV_Il@rJur+KV6IM-ay2Rw(Vc2KgzIzoTMxP&dvD5I z9m)8~Kyg%r{=?BN8tQehMnU+FPB24?$6L9pL=zTtDHdKi=Gbjp@`d1JUl&zssknuU zx50JCoi{v3fe9mJ9VICUyZLZD*4m{q6jxjlbNlE8MS&@Y+gl(%KH|=nEv_1J1k9R6 zrpJgPG(~Ca(ti}5(+<49c5*>d#8Bl(J8|3hL`5zz`3IqAl+`PJ+u@-`Y9`c?zS9eZ zz`NG_POj^45;>|K7K6f_-8IfbkkwYu^3z2ob3oo+NvoT;(3^m_FlG@2E#_;|Yew_P zdE&`WGdSft-5$e^?2 z>LE?6`8>TWXWc-H&5=9SR+Do#vxNH#AAjtB{JEh9wGZSCy2H+IJZsfr=Siu=*z)kc zap51Rt!$-ySvsdcKa|=^|823Hjfd2XsaQm!K~`941UIg^leXInX1=@gbaKW=agJ#> zEj<}UYUs$#*!5)${0{m#OcP|U^+}N;0!iLe%~JNMN_=h@rBz8TyW#JtO1ypvOE1Mt ze9?t1p&>nXAx`{kIeUnuDyv-<)d{I9+ah0dy5GYK>{Oa5WzVV_^K)V=zy|ehjyt zDb%`7iD$7~GxuJO3Uv7dlH%*%<7Lp`TGo9?$yQhOVAOM$`94?7_zf%2J$g^kc4 z>B@D{i8?4gkj01mPgfx8*Izxl(B=40f}T8WP2WVCHLmG9TmInallKpZU$*c5B{m+j zgb^N&M~Y+dOQh{S0xA?*Ui#sGT+$p!2K{3w*@f?eq#7SM5~#4CG<(sD9{fa)Eho9l z_mZ+or|$rw8KQOGG~>+>y6LuwB?)rrBz|evp;L)J`lQVFC{w&ZKB{y0%q$UX5L8~5 z_#Nl!fG!qGt|1Q;J`Ah3mY+;&Fjwg4;FQryk4DIuYZLGuF>e)x7$MhuEY^M%2KZ5N z-=B!m<-pV$bB(k9(qQy-X_AW|RiybFPTBIakeYbJJza=FFtx?348!%PRkJ>6MAwSZ zFIxAvUX=8OUD~V_^xIqGq4oB&WU) z3+%gTtq)ehjtDG@fGR?7+%Ia2e{D}_2J}B1N$UZNoPJ}wfu2y3Ib~yW1ASLp9kv6 zj(>ZB?j`X0)Ufuy7?}TH;XM4T2dx(>xnUAYPeA#+&%l|^g|`{*ala|!VzRkvD5rKu zv||xH^d6cwXc25apRM*L)i+39-N??**`zuR{dIxDg+OS(5=`hZ4uL2|vrHS-9f2XZwj!YkWn5I5 z1e1o=?Y(=C8%Lg1voHSeiT?T^L0?OZvFoc%GQ0R{Pxrnlw;L;kfG>hkTS{x{fa((^f z2K~avK9}-KjFzURA|w;VKsx^kuMW-S7u`Z<7lE0@IO>w5_R>@5%mM^_|c?T>%~Tzep8P|0;Rv!6_yb_kmqYF1l$ECp+XIWK5Lum z?{(rnovhxGaPuv4$M{lOs$;IrULab)XrzSOF9pz4Tc-G!6ikK94J^Sadu@h8ct9w} z*uT}kzx=&0p-hi=k(i7~HMKzGxvpK94Ob$iiM^40Axahmwd7a>#~F}AR9UOqy;cWdEK z`_#3lPE;pNH<&rzDYoN?1A2K6 zhgmL<_!}yU40IlEa^{~9e zf6u4pUl7Q!m5NvGGz}Mf(xAw(#U1twG|)0DTgTt=;Lrt$R?Up=r}_KE3CcN~I)!tw z`~peSpu3xdOIWsFLnEm?v z(76&!yJ0?j_TjeMum5>F@8;?0LBZx+B;@kbaqs$`>DfWx_|-r2xeuqk1}mMn3x;(o zmUMOF-F4AV&IkQTzl&Q}J?d7T=R190tp5(TgS;hH`Yl$DeI)Jzk3Gg8wgpc`>c%&o zEpFF*ByPOMTb))!{DMLp&O%zEP8yFNl7f4qZkG!R`v1p3tf$q6{y@AWX>8u)a-(*JKkBFOFWY>j1a$HRQ( zw!h_Lo$t^4=Vu%K;FeCn>HWX!XO^J{gT3eNLO;tDyrzB&+DYnxElRPZr`bUH=YW%B z@_*NlD{8^L$Y)y-$wEH@h0l5;gM9c_N-1gYEUtgBB>x}EO}e5-hO=z~|dZIbp1 zUFK{np7#0rL$9#ZhyJ?WTfkQf&uu5eXYE~o+OPcr7Ax0}S`Bye9+FKC?fryo&!xdv z+sDO%C&u+F58LKFvp;?E&T89_MYdIdbCkkhVjc6c+}Y|+cv zf0*umJlo>W4vF9%{I^Tm9(a}!6!kw2E5N)_U-AtjR6D#pLHFeW)^S*#oI7CfKMdy+ z6aTNj#U)TY80mkm+R^*te+~cpJpL;P|NjYx@4(00e}Ah(&{0L|`7!@9xPO=K@7Dhl YE(@@^cn0d-BE1|+a_W#e8OyN$1K)_j6aWAK literal 0 HcmV?d00001 diff --git a/library/parts/arduino-nano.ts b/library/parts/arduino-nano.ts new file mode 100644 index 0000000..07eb20d --- /dev/null +++ b/library/parts/arduino-nano.ts @@ -0,0 +1,1075 @@ +/** + * Arduino Nano (A000005) — ProtoPart-honest part definition. + * + * Primary source: ProtoPart definition `protoparts/arduino-nano/definition.json` + * (schema 1.4.0, definition version 0.4.0) — the audited source of truth. + * - electrical domain: 30 resources (pin_count 30), 10 interfaces, + * 6 power domains (VIN, USB 5V, Regulated 5V, Regulated 3.3V, + * Digital I/O, Analog Reference) + * - mechanical domain: 4× M3 mounting holes + PCB mounting interface, + * 45 × 18 × 7 mm, 7 g + * - thermal domain: -40..85 °C, 0.5 W TDP, passive cooling + * - top-level warnings / design_rules / usage_notes / application_examples / + * compatibility_notes / validation_requirements (preserved as module traits) + * Secondary source (cited, not mined for new values): Arduino Nano datasheet, + * https://docs.arduino.cc/resources/datasheets/A000005-datasheet.pdf + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 30 ProtoPart electrical resources are + * leaf interfaces, in ProtoPart resource order, with the resource id as + * the interface id. The source definition carries NO physical package pin + * designators (unlike the ESP32 gold standard), so `pin` numbers are + * deliberately omitted rather than invented — see the audit report. + * - Every pin carries its verbatim ProtoPart description and function list + * in a `nano_pin_functions` trait — display data is separated from the + * canonical capability tags the matching engine needs. + * - Buses/archetypes are composed interfaces with slots; the fixed + * silicon routings (SDA=A4/SCL=A5, SPI on D10-D13, UART on D0/D1, the + * two power sources and two regulated rails) are captured as profiles. + * - ProtoPart `constraints` blocks (max_connections, + * requires_matching_voltage_domain) and bus flags (exclusive, + * supports_clock_stretching, pullups_on_master) are preserved as traits. + * - Implied passives (`implied_passives` trait): 4.7 kΩ I²C bus pull-ups + * from `recommended_pullup_res_kΩ` on A4/A5 and the design rule "Use + * external pull-up resistors for I2C communication". + * - Mutual exclusions: VIN vs USB power ("USB and VIN power sources are + * mutually exclusive") is an interfaceGroup `one_of` plus a + * co_requirement trait; the three UART views (transceiver/TX-only/ + * RX-only) share the D0/D1 pins and form a `one_of` group. + */ + +import type { + InterfaceDef, + ModuleDef, + SlotDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import { + Ground, + I2C, + Pin, + PowerIn, + PowerOut, + SPI, + UART, + baudRate, + defineModule, + maxCurrentA, + voltageRangeV, + voltageV, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart electrical domain `power_domains` +// --------------------------------------------------------------------------- + +/** Verbatim citation used by every `nano_pin_functions` trait below. */ +const SOURCE = "ProtoPart arduino-nano definition.json (schema 1.4.0)"; + +/** "VIN (Raw Input)": 7-12 V unregulated, nominal 9 V, max 500 mA. */ +const VIN_RANGE: [number, number] = [7, 12]; +/** "USB 5V": 4.5-5.5 V regulated, nominal 5 V, max 500 mA. */ +const USB_RANGE: [number, number] = [4.5, 5.5]; +/** "Digital I/O": 5 V logic, 4.5-5.5 V range, 40 mA per-pin domain limit. */ +const DIGITAL_IO_RANGE: [number, number] = [4.5, 5.5]; +/** + * "Analog Reference": 1.1-5.5 V, nominal 5 V — the ADC reference span the + * ProtoPart definition assigns to A0-A7 and AREF (not a logic-level spec). + */ +const ANALOG_REF_RANGE: [number, number] = [1.1, 5.5]; + +/** ProtoPart `io_drive_strength_mA` on every digital-capable pin. */ +const IO_DRIVE_MA = 40; + +type NanoPowerDomain = "digital_io" | "analog_ref"; + +const DOMAIN_VOLTAGE: Record = { + digital_io: DIGITAL_IO_RANGE, + analog_ref: ANALOG_REF_RANGE, +}; + +/** ProtoPart `has_internal_pullup: true` — no resistance value is given. */ +const INTERNAL_PULLUP_TRAIT: TraitDef = { + type: "internal_pulls", + params: { + pull_up_available: true, + pull_up_resistance_kohm: [20, 50], + note: "Resistance not specified in the source definition (has_internal_pullup: true only; no pull-down is claimed). Resolved from the ATmega328P datasheet, Common DC Characteristics: I/O-pin pull-up resistor Rpu = 20-50 kOhm (the RESET pull-up RRST is 30-60 kOhm).", + source: `${SOURCE}; ATmega328P datasheet (Microchip), Electrical Characteristics — Common DC Characteristics`, + }, +}; + +/** ProtoPart per-interface `constraints` block, preserved verbatim. */ +function connectionConstraints( + maxConnections: number, + requiresMatchingVoltageDomain: boolean, +): TraitDef { + return { + type: "connection_constraints", + params: { + max_connections: maxConnections, + requires_matching_voltage_domain: requiresMatchingVoltageDomain, + source: SOURCE, + }, + }; +} + +// --------------------------------------------------------------------------- +// ProtoPart-honest per-pin metadata +// --------------------------------------------------------------------------- + +interface NanoPinSpec { + /** ProtoPart resource id — kept as the interface id. */ + id: string; + /** Short display name derived from the resource id + functions. */ + name: string; + /** Verbatim ProtoPart resource description. */ + description: string; + /** Verbatim ProtoPart function names. */ + functions: string[]; + domain: NanoPowerDomain; + /** General-purpose digital I/O (default true; A6/A7 are analog-only). */ + digital?: boolean; + analogIn?: boolean; + pwm?: boolean; + interrupt?: boolean; + i2cSda?: boolean; + i2cScl?: boolean; + spiMosi?: boolean; + spiMiso?: boolean; + spiSck?: boolean; + spiSs?: boolean; + uartRx?: boolean; + uartTx?: boolean; + /** D13 carries the ProtoPart "led" function (built-in LED). */ + led?: boolean; + /** ProtoPart `has_internal_pullup`. */ + internalPullup?: boolean; + /** ProtoPart `io_drive_strength_mA`. */ + driveCurrentmA?: number; + traits?: TraitDef[]; +} + +/** Build one schematic-honest header pin from its ProtoPart resource. */ +function nanoPin(spec: NanoPinSpec): InterfaceDef { + const base = Pin({ + id: spec.id, + name: spec.name, + voltageV: DOMAIN_VOLTAGE[spec.domain], + ...(spec.driveCurrentmA !== undefined ? { driveCurrentmA: spec.driveCurrentmA } : {}), + capabilities: { + digital: spec.digital ?? true, + analogIn: spec.analogIn, + pwm: spec.pwm, + interrupt: spec.interrupt, + i2cSda: spec.i2cSda, + i2cScl: spec.i2cScl, + spiMosi: spec.spiMosi, + spiMiso: spec.spiMiso, + spiSck: spec.spiSck, + spiSs: spec.spiSs, + uartRx: spec.uartRx, + uartTx: spec.uartTx, + }, + }); + + const capabilities = [ + ...(base.capabilities ?? []), + ...(spec.led ? ["led"] : []), + ]; + + const traits: TraitDef[] = [ + { + type: "nano_pin_functions", + params: { + source: SOURCE, + description: spec.description, + functions: spec.functions, + }, + }, + { type: "power_domain", params: { domain: spec.domain } }, + ...(spec.internalPullup ? [INTERNAL_PULLUP_TRAIT] : []), + ...(spec.traits ?? []), + ]; + + return { ...base, capabilities, traits }; +} + +// --------------------------------------------------------------------------- +// Digital pins D0-D13 — ProtoPart resources d0..d13, in resource order +// --------------------------------------------------------------------------- + +const DIGITAL_PIN_SPECS: NanoPinSpec[] = [ + { + id: "d0", name: "D0 / RX", description: "Digital pin 0 / UART RX", + functions: ["digital_io", "uart_rx"], domain: "digital_io", + uartRx: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d1", name: "D1 / TX", description: "Digital pin 1 / UART TX", + functions: ["digital_io", "uart_tx"], domain: "digital_io", + uartTx: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d2", name: "D2", description: "Digital pin 2 / External interrupt", + functions: ["digital_io", "interrupt"], domain: "digital_io", + interrupt: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d3", name: "D3", description: "Digital pin 3 / PWM / External interrupt", + functions: ["digital_io", "pwm", "interrupt"], domain: "digital_io", + pwm: true, interrupt: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d4", name: "D4", description: "Digital pin 4", + functions: ["digital_io"], domain: "digital_io", + internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d5", name: "D5", description: "Digital pin 5 / PWM", + functions: ["digital_io", "pwm"], domain: "digital_io", + pwm: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d6", name: "D6", description: "Digital pin 6 / PWM", + functions: ["digital_io", "pwm"], domain: "digital_io", + pwm: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d7", name: "D7", description: "Digital pin 7", + functions: ["digital_io"], domain: "digital_io", + internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d8", name: "D8", description: "Digital pin 8", + functions: ["digital_io"], domain: "digital_io", + internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d9", name: "D9", description: "Digital pin 9 / PWM", + functions: ["digital_io", "pwm"], domain: "digital_io", + pwm: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d10", name: "D10 / SS", description: "Digital pin 10 / PWM / SPI SS", + functions: ["digital_io", "pwm", "spi_ss"], domain: "digital_io", + pwm: true, spiSs: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d11", name: "D11 / MOSI", description: "Digital pin 11 / PWM / SPI MOSI", + functions: ["digital_io", "pwm", "spi_mosi"], domain: "digital_io", + pwm: true, spiMosi: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d12", name: "D12 / MISO", description: "Digital pin 12 / SPI MISO", + functions: ["digital_io", "spi_miso"], domain: "digital_io", + spiMiso: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "d13", name: "D13 / SCK / LED", description: "Digital pin 13 / SPI SCK / Built-in LED", + functions: ["digital_io", "spi_sck", "led"], domain: "digital_io", + spiSck: true, led: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + traits: [ + { type: "onboard_indicator", params: { indicator: "Built-in LED on D13", source: SOURCE } }, + ], + }, +]; + +// --------------------------------------------------------------------------- +// Analog pins A0-A7 — ProtoPart resources a0..a7 (A6/A7 are analog-only) +// --------------------------------------------------------------------------- + +/** 4.7 kΩ pull-up from ProtoPart `recommended_pullup_res_kΩ` on A4/A5. */ +function i2cPullupTrait(signal: "SDA" | "SCL", pinName: string): TraitDef { + return { + type: "implied_passives", + params: { + purpose: "I²C bus pull-up (the master provides none)", + components: [ + { kind: "resistor", value: "4.7 kΩ (recommended)", connection: `${signal} (${pinName}) to the bus supply` }, + ], + source: `${SOURCE}: recommended_pullup_res_kΩ = 4.7; design rule "Use external pull-up resistors for I2C communication"`, + }, + }; +} + +const ANALOG_PIN_SPECS: NanoPinSpec[] = [ + { + id: "a0", name: "A0", description: "Analog pin A0 / Digital I/O", + functions: ["analog_input", "digital_io"], domain: "analog_ref", + analogIn: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "a1", name: "A1", description: "Analog pin A1 / Digital I/O", + functions: ["analog_input", "digital_io"], domain: "analog_ref", + analogIn: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "a2", name: "A2", description: "Analog pin A2 / Digital I/O", + functions: ["analog_input", "digital_io"], domain: "analog_ref", + analogIn: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "a3", name: "A3", description: "Analog pin A3 / Digital I/O", + functions: ["analog_input", "digital_io"], domain: "analog_ref", + analogIn: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + }, + { + id: "a4", name: "A4 / SDA", description: "Analog pin A4 / Digital I/O / I2C SDA", + functions: ["analog_input", "digital_io", "i2c_sda"], domain: "analog_ref", + analogIn: true, i2cSda: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + traits: [i2cPullupTrait("SDA", "A4")], + }, + { + id: "a5", name: "A5 / SCL", description: "Analog pin A5 / Digital I/O / I2C SCL", + functions: ["analog_input", "digital_io", "i2c_scl"], domain: "analog_ref", + analogIn: true, i2cScl: true, internalPullup: true, driveCurrentmA: IO_DRIVE_MA, + traits: [i2cPullupTrait("SCL", "A5")], + }, + { + // A6/A7: analog_input is the only ProtoPart function — no digital I/O, + // no internal pull-up, no drive-strength rating in the source. + id: "a6", name: "A6", description: "Analog pin A6", + functions: ["analog_input"], domain: "analog_ref", + digital: false, analogIn: true, + }, + { + id: "a7", name: "A7", description: "Analog pin A7", + functions: ["analog_input"], domain: "analog_ref", + digital: false, analogIn: true, + }, +]; + +// --------------------------------------------------------------------------- +// Power, reference, and reset pins — ProtoPart resources, in resource order +// --------------------------------------------------------------------------- + +const vinPin: InterfaceDef = { + ...PowerIn({ id: "vin", name: "VIN", voltageV: VIN_RANGE, nominalV: 9, maxCurrentA: 0.5 }), + capabilities: ["power_in", "power_input"], + traits: [ + { + type: "nano_pin_functions", + params: { source: SOURCE, description: "External power input pin", functions: ["power_input"] }, + }, + { + type: "power_domain", + params: { + domain: "vin", + regulation_type: "unregulated", + note: "VIN (Raw Input): 7-12 V, nominal 9 V, max 500 mA, ±10% tolerance, 100 mV ripple, 85% downstream efficiency.", + }, + }, + ], +}; + +const usb5vPin: InterfaceDef = { + ...PowerIn({ id: "usb_5v", name: "USB 5V", voltageV: USB_RANGE, nominalV: 5, maxCurrentA: 0.5 }), + capabilities: ["power_in", "power_input"], + traits: [ + { + type: "nano_pin_functions", + params: { source: SOURCE, description: "USB power input", functions: ["power_input"] }, + }, + { type: "connector", params: { connector_type: "usb" } }, + { + type: "power_domain", + params: { + domain: "usb_5v", + regulation_type: "regulated", + note: "USB-supplied power with built-in protection: 4.5-5.5 V, max 500 mA, ±10% tolerance, 50 mV ripple.", + }, + }, + ], +}; + +const fiveVOutPin: InterfaceDef = { + ...PowerOut({ id: "5v_out", name: "5V", voltageV: 5, maxCurrentA: 0.8 }), + capabilities: ["power_out", "power_output"], + traits: [ + { + type: "nano_pin_functions", + params: { source: SOURCE, description: "5V power output pin", functions: ["power_output"] }, + }, + { type: "power_domain", params: { domain: "regulated_5v" } }, + ], +}; + +const threeV3OutPin: InterfaceDef = { + ...PowerOut({ id: "3v3_out", name: "3V3", voltageV: 3.3, maxCurrentA: 0.05 }), + capabilities: ["power_out", "power_output"], + traits: [ + { + type: "nano_pin_functions", + params: { source: SOURCE, description: "3.3V power output pin", functions: ["power_output"] }, + }, + { + type: "power_domain", + params: { + domain: "regulated_3v3", + note: "Low-power 3.3V output for sensors and low-power devices — max 50 mA. Corrected from ProtoPart's 150 mA: the Arduino Nano user manual (pin 17) states the 3V3 pin is '+3.3V output (from FTDI)', and the FTDI FT232R datasheet rates the 3V3OUT LDO at 50 mA maximum external load.", + }, + }, + ], +}; + +/** + * Two ground pins. The ProtoPart definition associates gnd1 with the + * regulated_5v domain and gnd2 with regulated_3v3 (all domains share + * `ground_reference: "common"`); the association is carried verbatim. + */ +function groundPin(n: 1 | 2, powerDomainId: string): InterfaceDef { + return { + ...Ground({ id: `gnd${n}`, name: "GND" }), + traits: [ + { + type: "nano_pin_functions", + params: { source: SOURCE, description: `Ground pin ${n}`, functions: ["ground"] }, + }, + { type: "power_domain", params: { domain: powerDomainId, ground_reference: "common" } }, + ], + }; +} + +const arefPin: InterfaceDef = { + id: "aref", + name: "AREF", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "analog", roles: ["input"] }], + capabilities: ["analog_reference"], + parameters: [ + voltageRangeV(ANALOG_REF_RANGE[0], ANALOG_REF_RANGE[1]), + { id: "max_current", name: "Analog-reference domain max current", unit: "mA", value: 1 }, + ], + traits: [ + { + type: "nano_pin_functions", + params: { source: SOURCE, description: "Analog reference voltage input", functions: ["analog_reference"] }, + }, + { + type: "power_domain", + params: { + domain: "analog_ref", + note: "Precision reference for ADC measurements: 1.1-5.5 V, ±1% tolerance, max 1 mA.", + }, + }, + ], +}; + +const resetPin: InterfaceDef = { + id: "reset", + name: "RESET", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["reset"], + parameters: [voltageRangeV(DIGITAL_IO_RANGE[0], DIGITAL_IO_RANGE[1])], + traits: [ + { + type: "nano_pin_functions", + params: { source: SOURCE, description: "Reset pin", functions: ["reset"] }, + }, + { type: "power_domain", params: { domain: "digital_io" } }, + INTERNAL_PULLUP_TRAIT, + ], +}; + +/** + * All 30 electrical resources, in ProtoPart resource order (the source + * definition carries no physical package pin numbers to sort by). + */ +const pins: InterfaceDef[] = [ + vinPin, + usb5vPin, + fiveVOutPin, + threeV3OutPin, + groundPin(1, "regulated_5v"), + groundPin(2, "regulated_3v3"), + ...DIGITAL_PIN_SPECS.map(nanoPin), + ...ANALOG_PIN_SPECS.map(nanoPin), + arefPin, + resetPin, +]; + +// --------------------------------------------------------------------------- +// Composed interfaces — ProtoPart electrical `interfaces` +// --------------------------------------------------------------------------- + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +// Power input — one supply + one ground. The two profiles are the two +// power_input resources; VIN and USB are mutually exclusive per the +// ProtoPart design rules. Ground binds to gnd1 as the representative +// ground pin (both grounds share the common reference). +const powerInput = composed({ + id: "power_input", + name: "Power Input", + protocolType: "power", + roles: ["input"], + slots: [ + { id: "supply", required: true, match: { protocol: "power", role: "input", capability: "power_input" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { id: "power_via_vin", label: "VIN (7-12 V, unregulated)", bindings: { supply: "vin", gnd: "gnd1" } }, + { id: "power_via_usb", label: "USB 5 V", bindings: { supply: "usb_5v", gnd: "gnd1" } }, + ], + maxInstances: 1, + traits: [ + connectionConstraints(1, true), + { + type: "co_requirement", + params: { + with: "vin, usb_5v", + condition: "both power sources present", + effect: "USB and external power should not be used simultaneously — USB and VIN power sources are mutually exclusive.", + source: `${SOURCE}: warnings / design_rules`, + }, + }, + { + type: "usage_restriction", + params: { restriction: "Do not reverse power supply polarity.", source: `${SOURCE}: warnings` }, + }, + ], +}); + +// Power output — the regulated rails. The ProtoPart power_delivery block +// describes the 5 V rail; the 3.3 V rail limit lives on the 3v3_out leaf. +const powerOutput = composed({ + id: "power_output", + name: "Power Output", + protocolType: "power", + roles: ["output"], + parameters: [voltageV(5), maxCurrentA(0.8)], + slots: [ + { id: "rail", required: true, match: { protocol: "power", role: "output", capability: "power_output" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { id: "rail_5v", label: "Regulated 5 V (≤800 mA)", bindings: { rail: "5v_out", gnd: "gnd1" } }, + { id: "rail_3v3", label: "Regulated 3.3 V (≤50 mA, FT232RL 3V3OUT)", bindings: { rail: "3v3_out", gnd: "gnd2" } }, + ], + maxInstances: 2, // both regulated rails exist concurrently + traits: [ + connectionConstraints(10, false), + { + type: "power_delivery", + params: { + max_current_mA: 800, + max_voltage_V: 5, + regulation_tolerance_percent: 4, + ripple_voltage_mV: 10, + efficiency_percent: 85, + note: "ProtoPart power_delivery block — figures describe the regulated 5 V rail; the 3.3 V rail is limited to 50 mA (FT232RL 3V3OUT — see 3v3_out).", + }, + }, + ], +}); + +// Digital / analog archetype interfaces — ProtoPart declares these as +// generic single-pin interfaces matching any eligible resource, so they +// carry slots but no fixed profiles. Protocol roles are ProtoPart-verbatim. +const digitalOutput = composed({ + id: "digital_output", + name: "Digital Output", + protocolType: "digital", + roles: ["transmitter"], + slots: [ + { id: "pin", required: true, match: { protocol: "digital", role: "output", capability: "digital_io" } }, + ], + traits: [connectionConstraints(1, true)], +}); + +const digitalInput = composed({ + id: "digital_input", + name: "Digital Input", + protocolType: "digital", + roles: ["receiver"], + slots: [ + { id: "pin", required: true, match: { protocol: "digital", role: "input", capability: "digital_io" } }, + ], + traits: [connectionConstraints(1, true)], +}); + +const analogInput = composed({ + id: "analog_input", + name: "Analog Input", + protocolType: "analog", + roles: ["receiver"], + slots: [ + { id: "pin", required: true, match: { protocol: "analog", role: "input", capability: "analog_in" } }, + ], + traits: [ + connectionConstraints(1, true), + { + type: "channels", + params: { count: 8, mapping: "A0-A7 (A6/A7 are analog-only)", source: SOURCE }, + }, + ], +}); + +// I²C master — hardwired to A4 (SDA) / A5 (SCL). 400 kHz max +// (protocol_max_freq_Hz). The master provides no pull-ups. +const i2cMaster = amend( + I2C({ + id: "i2c_master", + name: "I2C Master", + roles: ["master"], + clockFreqHz: 400_000, // ProtoPart protocol_max_freq_Hz (maximum) + maxInstances: 1, + profiles: [{ id: "i2c_a4_a5", label: "SDA = A4, SCL = A5", sda: "a4", scl: "a5" }], + }), + "i2c_master", + [ + { + type: "bus_characteristics", + params: { supports_clock_stretching: true, pullups_on_master: false, exclusive: false, source: SOURCE }, + }, + connectionConstraints(8, true), + { + type: "implied_passives", + params: { + purpose: "I²C bus pull-ups (pullups_on_master: false)", + components: [ + { kind: "resistor", value: "4.7 kΩ (recommended)", connection: "SDA (A4) to the bus supply" }, + { kind: "resistor", value: "4.7 kΩ (recommended)", connection: "SCL (A5) to the bus supply" }, + ], + source: `${SOURCE}: recommended_pullup_res_kΩ on A4/A5; design rule "Use external pull-up resistors for I2C communication"`, + }, + }, + ], +); + +// SPI master — hardwired to D11/D12/D13 with default SS on D10. 8 MHz max. +const spiMaster = amend( + SPI({ + id: "spi_master", + name: "SPI Master", + roles: ["master"], + clockFreqHz: 8_000_000, // ProtoPart protocol_max_freq_Hz (maximum) + maxInstances: 1, + profiles: [ + { id: "spi_d10_d13", label: "MOSI = D11, MISO = D12, SCK = D13, SS = D10", mosi: "d11", miso: "d12", sck: "d13", ss: "d10" }, + ], + }), + "spi_master", + [ + { type: "bus_characteristics", params: { exclusive: false, source: SOURCE } }, + connectionConstraints(8, true), + ], +); + +// UART — ProtoPart declares three views of the single D0/D1 port: +// a full transceiver plus TX-only and RX-only interfaces. The transceiver +// uses the canonical UART builder; its ProtoPart-verbatim role list +// ("transceiver"/"transmitter"/"receiver") is preserved as a trait since +// the builder normalises the port roles to host/device. +const uartTransceiver = amend( + UART({ + id: "uart_transceiver", + name: "UART Transceiver", + // Corrected 115 200 → 2 000 000: the ATmega328P USART reaches 2 Mbps at + // fosc = 16 MHz with U2Xn = 1 (ATmega328P datasheet, USART "Examples of + // Baud Rate Setting" tables). ProtoPart's protocol_max_freq_Hz of 115200 + // was a practical default, not the silicon maximum. + baudRate: 2_000_000, + maxInstances: 1, + profiles: [{ id: "uart_d0_d1", label: "RX = D0, TX = D1", rx: "d0", tx: "d1" }], + }), + "uart_transceiver", + [ + connectionConstraints(1, true), + { + type: "protopart_roles", + params: { + roles: ["transceiver", "transmitter", "receiver"], + note: "ProtoPart-declared protocol roles, verbatim; the OpenUHD UART builder normalises the port to host/device.", + }, + }, + ], +); + +const uartTransmitter = composed({ + id: "uart_transmitter", + name: "UART Transmitter", + protocolType: "uart", + roles: ["transmitter"], + // 2 Mbps max at 16 MHz, U2Xn = 1 — ATmega328P datasheet baud-rate tables. + parameters: [{ ...baudRate(2_000_000), name: "Max baud rate" }], + slots: [ + { id: "tx", required: true, match: { protocol: "uart", role: "transmitter", capability: "uart_tx" } }, + ], + profiles: [{ id: "uart_tx_d1", label: "TX = D1", bindings: { tx: "d1" } }], + maxInstances: 1, + traits: [connectionConstraints(1, true)], +}); + +const uartReceiver = composed({ + id: "uart_receiver", + name: "UART Receiver", + protocolType: "uart", + roles: ["receiver"], + // 2 Mbps max at 16 MHz, U2Xn = 1 — ATmega328P datasheet baud-rate tables. + parameters: [{ ...baudRate(2_000_000), name: "Max baud rate" }], + slots: [ + { id: "rx", required: true, match: { protocol: "uart", role: "receiver", capability: "uart_rx" } }, + ], + profiles: [{ id: "uart_rx_d0", label: "RX = D0", bindings: { rx: "d0" } }], + maxInstances: 1, + traits: [connectionConstraints(1, true)], +}); + +// --------------------------------------------------------------------------- +// Mechanical — 4× M3 corner mounting holes + PCB mounting interface +// --------------------------------------------------------------------------- + +/** + * Hole positions come from the mechanical domain's `mount_holes` table; + * the descriptions pair with coordinates by corner (origin at the + * top-left of the board outline). + */ +function mountHole(n: 1 | 2 | 3 | 4, description: string, x: number, y: number): InterfaceDef { + return { + id: `mount_hole_${n}`, + name: description, + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "threaded_connection", roles: ["mounting_point"] }], + capabilities: ["mounting_hole"], + parameters: [ + { id: "hole_diameter", unit: "mm", value: 3.2 }, + { id: "max_force", unit: "N", value: 50 }, + ], + traits: [ + { type: "fastener", params: { thread_spec: "M3", connector_type: "through_hole" } }, + { type: "position", params: { x_mm: x, y_mm: y, source: `${SOURCE}: mechanical mount_holes table` } }, + ], + }; +} + +const mountHoles: InterfaceDef[] = [ + mountHole(1, "Top-left mounting hole", 1.27, 1.27), + mountHole(2, "Top-right mounting hole", 43.18, 1.27), + mountHole(3, "Bottom-left mounting hole", 1.27, 16.51), + mountHole(4, "Bottom-right mounting hole", 43.18, 16.51), +]; + +const pcbMounting = composed({ + id: "pcb_mounting", + name: "PCB Mounting", + domain: "mechanical", + protocolType: "threaded_connection", + roles: ["mounting_point"], + parameters: [ + { id: "installation_torque", unit: "Nm", value: 0.3 }, + { id: "working_load", unit: "N", value: 200 }, + ], + slots: [{ id: "hole", required: true, count: 4, match: { capability: "mounting_hole" } }], + profiles: [ + { + id: "pcb_mounting_corners", + label: "PCB mounting interface using 4 corner holes", + bindings: { hole: ["mount_hole_1", "mount_hole_2", "mount_hole_3", "mount_hole_4"] }, + }, + ], + maxInstances: 1, + traits: [{ type: "connection_type", params: { type: "removable" } }], +}); + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const ARDUINO_NANO: ModuleDef = defineModule({ + id: "arduino-nano", + name: "Arduino Nano", + version: "1.0.0", + manufacturer: "Arduino", + part_number: "A000005", + description: + "Arduino Nano microcontroller board with USB connectivity, based on ATmega328P. Compact form factor ideal for embedded projects requiring a small footprint with full Arduino compatibility.", + tags: ["mcu", "board", "5v", "usb", "atmega328p", "arduino", "microcontroller", "embedded"], + categories: ["microcontroller.arduino"], + + interfaces: [ + // All 30 electrical resources, in ProtoPart resource order. + ...pins, + + // Power interfaces + powerInput, + powerOutput, + + // Digital / analog archetypes + digitalOutput, + digitalInput, + analogInput, + + // Serial / bus controllers + ...i2cMaster, + ...spiMaster, + ...uartTransceiver, + uartTransmitter, + uartReceiver, + + // Mechanical + ...mountHoles, + pcbMounting, + ], + + interfaceGroups: [ + { + id: "power_sources", + label: "Power Sources (mutually exclusive)", + members: ["vin", "usb_5v"], + policy: "one_of", + }, + { + id: "ground_pins", + label: "Ground Pins (common reference)", + members: ["gnd1", "gnd2"], + policy: "any_of", + }, + { + // All three UART views bind the same D0/D1 pins. + id: "uart_port_views", + label: "UART Port Views (one D0/D1 port)", + members: ["uart_transceiver", "uart_transmitter", "uart_receiver"], + policy: "one_of", + }, + { + id: "mounting_holes", + label: "M3 Corner Mounting Holes", + members: ["mount_hole_1", "mount_hole_2", "mount_hole_3", "mount_hole_4"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "External power: 7-12 V on VIN (unregulated, max 500 mA domain rating). 'VIN must be 7-12V when using external power.' Mutually exclusive with USB power.", + voltage_V: [7, 12], + current_mA: 500, + }, + { + type: "power", + description: + "Alternative: 5 V via USB (4.5-5.5 V, max 500 mA, built-in protection). 'Do not exceed 5.5V on any pin when powered by USB.'", + voltage_V: [4.5, 5.5], + current_mA: 500, + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { id: "vin", name: "VIN (Raw Input)", nominal_voltage_V: 9, voltage_range_V: VIN_RANGE, max_current_mA: 500, regulation_type: "unregulated" }, + { id: "usb_5v", name: "USB 5V", nominal_voltage_V: 5, voltage_range_V: USB_RANGE, max_current_mA: 500, regulation_type: "regulated" }, + { id: "regulated_5v", name: "Regulated 5V", nominal_voltage_V: 5, voltage_range_V: [4.8, 5.2], max_current_mA: 800, regulation_type: "regulated" }, + // max_current_mA corrected 150 → 50: 3V3 is the FT232RL's 3V3OUT LDO + // (Arduino Nano user manual, pin 17: "+3.3V output (from FTDI)"; + // FTDI FT232R datasheet: 3V3OUT sources up to 50 mA). + { id: "regulated_3v3", name: "Regulated 3.3V", nominal_voltage_V: 3.3, voltage_range_V: [3.1, 3.5], max_current_mA: 50, regulation_type: "regulated" }, + { id: "digital_io", name: "Digital I/O", nominal_voltage_V: 5, voltage_range_V: DIGITAL_IO_RANGE, max_current_mA: 40, regulation_type: "regulated" }, + { id: "analog_ref", name: "Analog Reference", nominal_voltage_V: 5, voltage_range_V: ANALOG_REF_RANGE, max_current_mA: 1, regulation_type: "regulated" }, + ], + metadata: { + pin_count: 30, + supply_voltage_V: VIN_RANGE, + power_consumption_mW: 500, + package_type: "PCB Module", + max_operating_freq_Hz: 16_000_000, + supports_usb: true, + supports_hot_plug: true, + safety_standards: ["UL", "CSA"], + emc_compliance: ["CE", "FCC"], + io_limits: { + per_pin_max_mA: 40, + total_io_max_mA: 200, + max_pin_voltage_on_usb_V: 5.5, + source: `${SOURCE}: design_rules / warnings`, + }, + // PowerDomainDef has no home for these ProtoPart fields — preserved here. + power_domain_details: { + vin: { description: "External power input through barrel jack or VIN pin", isolation_type: "non_isolated", ground_reference: "common", voltage_tolerance_percent: 10, voltage_ripple_mV: 100, efficiency_percent: 85, compatible_domains: [] }, + usb_5v: { description: "USB-supplied power with built-in protection", isolation_type: "non_isolated", ground_reference: "common", voltage_tolerance_percent: 10, voltage_ripple_mV: 50, efficiency_percent: 90, compatible_domains: [] }, + regulated_5v: { description: "Regulated 5V output for powering external components", isolation_type: "non_isolated", ground_reference: "common", voltage_tolerance_percent: 4, voltage_ripple_mV: 10, efficiency_percent: 85, compatible_domains: ["usb_5v"] }, + regulated_3v3: { description: "Low-power 3.3V output for sensors and low-power devices", isolation_type: "non_isolated", ground_reference: "common", voltage_tolerance_percent: 6, voltage_ripple_mV: 5, efficiency_percent: 80, compatible_domains: ["regulated_5v"] }, + digital_io: { description: "5V logic level for digital I/O pins", isolation_type: "non_isolated", ground_reference: "common", voltage_tolerance_percent: 10, compatible_domains: ["regulated_5v"] }, + analog_ref: { description: "Precision reference for ADC measurements", isolation_type: "non_isolated", ground_reference: "common", voltage_tolerance_percent: 1, compatible_domains: ["regulated_5v"] }, + }, + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 45, width: 18, height: 7 }, + weight_g: 7, + metadata: { + package_type: "PCB Module", + enclosure_type: "open_pcb", + mounting_method: "through_hole", + field_serviceable: true, + assembly_time_min: 5, + mount_holes: [ + { x: 1.27, y: 1.27, diam_mm: 3.2 }, + { x: 43.18, y: 1.27, diam_mm: 3.2 }, + { x: 1.27, y: 16.51, diam_mm: 3.2 }, + { x: 43.18, y: 16.51, diam_mm: 3.2 }, + ], + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + cooling_method: "passive", + thermal_design_power_W: 0.5, + requires_thermal_management: false, + thermal_monitoring_available: false, + }, + }, + ], + + traits: [ + { + type: "io_current_limits", + params: { + per_pin_max_mA: 40, + total_io_max_mA: 200, + source: `${SOURCE}: design_rules ("Maximum 40mA per I/O pin", "Maximum 200mA total I/O current")`, + }, + }, + { + // ProtoPart top-level fields with no structural OpenUHD home, + // preserved verbatim. + type: "warnings", + params: { + items: [ + "Do not exceed 40mA per I/O pin", + "Do not reverse power supply polarity", + "Ensure proper grounding for all connections", + "USB and external power should not be used simultaneously", + "Avoid exposing to high humidity or corrosive environments", + "Maximum operating temperature is 85°C", + ], + }, + }, + { + type: "design_rules", + params: { + rules: [ + "Maximum 40mA per I/O pin", + "Maximum 200mA total I/O current", + "VIN must be 7-12V when using external power", + "USB and VIN power sources are mutually exclusive", + "Do not exceed 5.5V on any pin when powered by USB", + "Use external pull-up resistors for I2C communication", + "Ensure proper decoupling capacitors for stable operation", + ], + }, + }, + { + type: "usage_notes", + params: { + note: "Arduino Nano is a compact microcontroller board perfect for embedded projects requiring a small footprint. Excellent for prototyping and small-scale production. Compatible with most Arduino shields and libraries. Can be powered via USB or external VIN, with onboard regulator providing 5V and 3.3V outputs.", + }, + }, + { + type: "compatibility_notes", + params: { + note: "Compatible with 5V and 3.3V sensors and actuators. Works with most Arduino libraries and shields. Can be programmed via USB or ISP. Compatible with Arduino IDE and other development environments.", + }, + }, + { + type: "application_examples", + params: { + examples: [ + "IoT sensor nodes", + "Wearable electronics", + "Small robotics projects", + "Educational electronics", + "Prototype development", + "Embedded control systems", + ], + }, + }, + { + type: "validation_requirements", + params: { + items: [ + "Check power supply compatibility", + "Verify I/O voltage levels", + "Validate current limits", + "Check communication protocol compatibility", + "Ensure proper grounding", + "Verify analog reference voltage", + ], + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "Arduino Nano (A000005) Datasheet", + type: "datasheet", + url: "https://docs.arduino.cc/resources/datasheets/A000005-datasheet.pdf", + }, + { + id: "art_thumbnail", + name: "Arduino Nano Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/arduino-nano/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/arduino-nano/artifacts/thumbnail.png b/library/parts/arduino-nano/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..23b5febe2807e6a18b483c0d7438c981990cf1fa GIT binary patch literal 185100 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

hi^; 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%0Dc~eaq7n-xcKlI8n*W#ds82Z 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 P1|aZs^>bP0l+XkKP|eUc literal 0 HcmV?d00001 diff --git a/library/parts/attiny85.ts b/library/parts/attiny85.ts new file mode 100644 index 0000000..e7b8875 --- /dev/null +++ b/library/parts/attiny85.ts @@ -0,0 +1,1612 @@ +/** + * Microchip (Atmel) ATtiny85-20PU — datasheet-honest part definition. + * + * Primary sources: + * - ATtiny25/45/85 Datasheet (Atmel-2586) — pin configuration, alternate + * port functions, fuse behaviour (RSTDISBL/DWEN/CKSEL/CKOUT), DC + * characteristics, absolute maximum ratings. + * - ProtoPart `attiny85` definition (audited source of truth): per-pin + * function lists, logic thresholds, current ratings, design rules, + * usage notes, and warnings are carried over verbatim from it. Values + * not present there are omitted, not invented. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 8 physical PDIP-8 pins are leaf + * interfaces, in package order, with ids "pin_N" and the datasheet + * port/pin name as the displayed name (PB5, PB3, PB4, GND, PB0, PB1, + * PB2, VCC). + * - Every pin carries its verbatim ProtoPart function list (name, + * direction, signal class, description) in an `attiny85_pin_functions` + * trait — display data is separated from the canonical capability tags + * the matching engine needs. + * - Instances vs combinations: the ATtiny85 has no pin matrix — every + * peripheral signal is fixed to exactly one pad, so each controller + * exposes a single fixed profile and `max_instances: 1`. + * - Co-requirements (`co_requirement` traits): programming the RSTDISBL + * fuse frees PB5 (GPIO/ADC0/PCINT5) but permanently disables ISP + * programming; the USI is shared between SPI (three-wire) and I2C + * (two-wire) modes — only one protocol at a time; a crystal on + * XTAL1/XTAL2 commits PB3 and PB4 entirely; CLKI external-clock mode is + * mutually exclusive with XTAL1 crystal mode; ISP reuses the USI pins. + * - Implied harness connections (`implied_passives` traits): 100 nF VCC + * decoupling, 10 kΩ RESET pull-up, USI-I2C bus pull-ups + * (4.7 kΩ @ 100 kHz / 2.2 kΩ @ 400 kHz), crystal load capacitors. + * - Shareability exemptions (`net_shareable` traits): single VCC and GND + * pins are shared rails. + * - ProtoPart node-layout preservation: the ProtoPart definition places + * the 8 electrical pins at positions 1/2/5/8/11/12/14/15 of a 20-position + * node layout, with 12 "DNC" footprint-only mounting positions. Physical + * PDIP-8 pin numbers (1-8, confirmed by the ProtoPart design rules: + * "VCC (pin 8) and GND (pin 4)", "RESET pin (PB5, pin 1)") are used for + * the `pin` designators; the node-layout positions are preserved in + * `protopart_node_position` traits and the DNC positions in the `dnc` + * mechanical interface. + */ + +import type { + InterfaceDef, + ModuleDef, + SlotDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import { + Ground, + Pin, + PowerIn, + SPI, + I2C, + defineModule, + clockFreqHz, + resolutionBits, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart power domain / absolute maximum ratings +// --------------------------------------------------------------------------- + +/** 2.7-5.5 V for operation up to 10 MHz (ATTINY85-20PU industrial variant). */ +const VCC_RANGE: [number, number] = [2.7, 5.5]; +/** 4.5-5.5 V required for the 20 MHz speed grade. */ +const VCC_RANGE_20MHZ: [number, number] = [4.5, 5.5]; +/** Per-pin continuous source/sink current limit (absolute max). */ +const PIN_CURRENT_MA = 40; +/** Total continuous current through the VCC or GND pin (absolute max). */ +const VCC_GND_CURRENT_MA = 200; + +/** + * Standard GPIO logic thresholds at VCC = 5 V (ProtoPart per-pin + * logic_levels): V_IH min = 0.6*VCC, V_IL max = 0.3*VCC; V_OH min = 4.3 V at + * 10 mA source, V_OL max = 0.6 V at 10 mA sink. + */ +const STD_LOGIC_LEVELS_TRAIT: TraitDef = { + type: "logic_levels", + params: { + v_ih_min_V: 3.0, + v_il_max_V: 1.5, + v_oh_min_V: 4.3, + v_ol_max_V: 0.6, + conditions: + "At VCC = 5 V: V_IH min = 0.6*VCC, V_IL max = 0.3*VCC; V_OH min at 10 mA source, V_OL max at 10 mA sink.", + source: "ATtiny25/45/85 Datasheet (Atmel-2586), DC characteristics", + }, +}; + +/** + * PB5 in its default RESET role uses tighter thresholds than regular GPIO: + * V_IH min = 0.9*VCC, V_IL max = 0.2*VCC (values shown at VCC = 5 V). + */ +const RESET_LOGIC_LEVELS_TRAIT: TraitDef = { + type: "logic_levels", + params: { + v_ih_min_V: 4.5, + v_il_max_V: 1.0, + conditions: + "RESET function thresholds at VCC = 5 V: V_IH min = 0.9*VCC, V_IL max = 0.2*VCC — tighter than regular GPIO.", + source: "ATtiny25/45/85 Datasheet (Atmel-2586), DC characteristics", + }, +}; + +// --------------------------------------------------------------------------- +// Datasheet-honest per-pin function metadata +// --------------------------------------------------------------------------- + +/** Verbatim per-pin function row from the ProtoPart resource list. */ +interface Attiny85Function { + /** Signal/function name exactly as recorded in the ProtoPart definition. */ + name: string; + /** ProtoPart direction vocabulary: sink = input, source = output. */ + direction?: "sink" | "source" | "bidirectional"; + signal_class?: "data" | "clock" | "sense" | "power" | "ground"; + description: string; +} + +interface Attiny85PinSpec { + /** Physical PDIP-8 package pin number. */ + pin: number; + /** Datasheet port pin name — used as the displayed interface name. */ + name: string; + /** Position of this pin in the ProtoPart 20-position node layout. */ + nodePosition: number; + /** ProtoPart resource description (the slash-separated function summary). */ + summary: string; + functions: Attiny85Function[]; + /** Timer compare-match output present (OC0x/OC1x). */ + pwm?: boolean; + /** Any analog input function (ADC channel, comparator input, AREF). */ + analogIn?: boolean; + i2cSda?: boolean; + i2cScl?: boolean; + spiMosi?: boolean; + spiMiso?: boolean; + spiSck?: boolean; + /** Capability tags for fixed peripheral signals (slot matching). */ + extraCaps?: string[]; + /** PB5 uses the RESET thresholds instead of the standard GPIO ones. */ + resetLogic?: boolean; + /** Extra pin-specific traits appended after the shared ones. */ + traits?: TraitDef[]; + /** Verbatim ProtoPart per-pin notes. */ + notes: string; +} + +function unique(values: string[]): string[] { + return [...new Set(values)]; +} + +/** Build one schematic-honest port pin from its ProtoPart resource row. */ +function attiny85PortPin(spec: Attiny85PinSpec): InterfaceDef { + const base = Pin({ + id: `pin_${spec.pin}`, + name: spec.name, + pin: spec.pin, + voltageV: VCC_RANGE, + capabilities: { + // Every PB pin is a PCINT source (pin-change interrupt). + interrupt: true, + pwm: spec.pwm, + analogIn: spec.analogIn, + i2cSda: spec.i2cSda, + i2cScl: spec.i2cScl, + spiMosi: spec.spiMosi, + spiMiso: spec.spiMiso, + spiSck: spec.spiSck, + }, + }); + + const capabilities = unique([ + ...(base.capabilities ?? []), + "pcint", + ...(spec.extraCaps ?? []), + ]); + + const parameters: Parameter[] = [ + ...(base.parameters ?? []), + { id: "source_current", name: "Max continuous source current", unit: "mA", value: PIN_CURRENT_MA }, + { id: "sink_current", name: "Max continuous sink current", unit: "mA", value: PIN_CURRENT_MA }, + ]; + + const traits: TraitDef[] = [ + { + type: "attiny85_pin_functions", + params: { + source: "ATtiny25/45/85 Datasheet (Atmel-2586), Pin Configurations / Alternate Port Functions; ProtoPart attiny85 definition", + summary: spec.summary, + functions: spec.functions, + note: spec.notes, + }, + }, + { type: "power_domain", params: { domain: "vcc" } }, + { + type: "internal_pulls", + params: { + pull_up: true, + pull_down: false, + note: "Software-selectable internal pull-up; no internal pull-down (ProtoPart has_internal_pullup / has_internal_pulldown).", + }, + }, + spec.resetLogic ? RESET_LOGIC_LEVELS_TRAIT : STD_LOGIC_LEVELS_TRAIT, + { + type: "protopart_node_position", + params: { + position: spec.nodePosition, + note: "Position of this pad in the ProtoPart 20-position node layout; the physical PDIP-8 pin number is the `pin` designator.", + }, + }, + ...(spec.traits ?? []), + ]; + + return { ...base, capabilities, parameters, traits }; +} + +// --------------------------------------------------------------------------- +// Port pins PB0-PB5 — ProtoPart electrical resources, in PDIP-8 package order +// --------------------------------------------------------------------------- + +const PORT_PIN_SPECS: Attiny85PinSpec[] = [ + { + pin: 1, name: "PB5", nodePosition: 1, + summary: "PCINT5 / !RESET / ADC0 / dW", + analogIn: true, + extraCaps: ["adc_in", "ext_reset", "debugwire"], + resetLogic: true, + functions: [ + { + name: "Pin Change Interrupt", direction: "sink", signal_class: "data", + description: "PCINT5 pin-change interrupt source. Only available when the RSTDISBL fuse repurposes the pin as PB5; latches on any logic-level transition on the pin.", + }, + { + name: "Reset", direction: "sink", signal_class: "data", + description: "Active-low external reset input (default function). Holds the AVR core in reset while driven low; minimum recognised pulse width is 2.5 us. Internal pull-up is enabled at power-up.", + }, + { + name: "ADC", direction: "sink", signal_class: "sense", + description: "ADC0 single-ended 10-bit analog input channel. Selectable only after the RSTDISBL fuse turns the pin into general-purpose PB5.", + }, + { + name: "Debug", direction: "bidirectional", signal_class: "data", + description: "debugWIRE single-wire on-chip debug interface, multiplexed on the RESET pin when the DWEN fuse is programmed. Replaces conventional ISP behaviour.", + }, + ], + traits: [ + { + type: "usage_restriction", + params: { + restriction: + "RESET is the default function. Programming the RSTDISBL fuse to free PB5 as GPIO/ADC0/PCINT5 permanently disables ISP programming — recovery requires a high-voltage serial programmer.", + exemption: + "Free as GPIO/ADC0/PCINT5 once RSTDISBL is programmed and the design accepts high-voltage-serial-only reprogramming.", + }, + }, + { + type: "high_voltage_tolerance", + params: { + note: "The high-voltage programming mode tolerates up to +13 V on this pin only (absolute max on all other pins is VCC + 0.5 V).", + max_voltage_V: 13, + }, + }, + ], + notes: + "RESET is the default function and uses a tighter threshold than regular GPIO: V_IH min = 0.9*VCC, V_IL max = 0.2*VCC (values shown at VCC=5 V). Programming the RSTDISBL fuse to free PB5 as GPIO/ADC0/PCINT5 permanently disables ISP programming — recovery requires a high-voltage serial programmer. The high-voltage programming mode tolerates up to +13 V on this pin only.", + }, + { + pin: 2, name: "PB3", nodePosition: 2, + summary: "PCINT3 / XTAL1 / CLKI / !OC1B / ADC3", + pwm: true, analogIn: true, + extraCaps: ["adc_in", "xtal1", "clki", "oc1b_n"], + functions: [ + { + name: "Pin Change Interrupt", direction: "sink", signal_class: "data", + description: "PCINT3 pin-change interrupt source. Fires on any logic-level transition on PB3.", + }, + { + name: "XTAL1", direction: "sink", signal_class: "clock", + description: "Crystal oscillator input. Pairs with XTAL2 on PB4 to drive an external 0.4-20 MHz crystal/resonator (or a 32.768 kHz watch crystal in low-frequency mode) when the CKSEL fuses select a crystal source (datasheet Tables 6-1 and 6-12). Pin is unavailable for other duties while the crystal oscillator is enabled.", + }, + { + name: "CLKI", direction: "sink", signal_class: "clock", + description: "External clock input. Routes a single-ended logic-level clock straight into the AVR core when the CKSEL fuses select the external-clock source. Mutually exclusive with XTAL1 crystal mode.", + }, + { + name: "!PWM", direction: "source", signal_class: "data", + description: "Timer1 compare-match output OC1B (inverted). Capable of high-speed PWM up to ~250 kHz at 8-bit resolution when fed from the internal 64 MHz PLL clock.", + }, + { + name: "ADC", direction: "sink", signal_class: "sense", + description: "ADC3 single-ended 10-bit analog input channel.", + }, + ], + notes: + "Standard GPIO thresholds at VCC=5 V: V_IH min = 0.6*VCC, V_IL max = 0.3*VCC; V_OH min = 4.3 V at 10 mA source, V_OL max = 0.6 V at 10 mA sink. When PB3 is committed to XTAL1/CLKI the pin cannot also act as a GPIO, PWM, or ADC channel — the crystal load capacitors occupy the net.", + }, + { + pin: 3, name: "PB4", nodePosition: 5, + summary: "PCINT4 / XTAL2 / CLKO / OC1B / ADC2", + pwm: true, analogIn: true, + extraCaps: ["adc_in", "xtal2", "clko", "oc1b"], + functions: [ + { + name: "Pin Change Interrupt", direction: "sink", signal_class: "data", + description: "PCINT4 pin-change interrupt source. Fires on any logic-level transition on PB4.", + }, + { + name: "XTAL2", direction: "source", signal_class: "clock", + description: "Crystal oscillator output. Pairs with XTAL1 on PB3 to drive an external crystal/resonator when the CKSEL fuses select a crystal source.", + }, + { + name: "CLKO", direction: "source", signal_class: "clock", + description: "Buffered system clock output. Enabled by programming the CKOUT fuse; outputs the divided system clock so downstream devices can be slaved to the AVR.", + }, + { + name: "PWM", direction: "source", signal_class: "data", + description: "Timer1 compare-match output OC1B. Capable of high-speed PWM up to ~250 kHz at 8-bit resolution when fed from the internal 64 MHz PLL clock.", + }, + { + name: "ADC", direction: "sink", signal_class: "sense", + description: "ADC2 single-ended 10-bit analog input channel.", + }, + ], + notes: + "Standard GPIO thresholds at VCC=5 V: V_IH min = 0.6*VCC, V_IL max = 0.3*VCC; V_OH min = 4.3 V at 10 mA source, V_OL max = 0.6 V at 10 mA sink. When PB4 is committed to XTAL2 the pin cannot also act as GPIO, PWM, or ADC.", + }, + { + pin: 5, name: "PB0", nodePosition: 11, + summary: "MOSI / DI / SDA / AIN0 / OC0A / !OC1A / AREF / PCINT0", + pwm: true, analogIn: true, i2cSda: true, spiMosi: true, + extraCaps: ["usi_di", "ain0", "aref", "oc0a", "oc1a_n"], + functions: [ + { + name: "MOSI", direction: "bidirectional", signal_class: "data", + description: "SPI master-out/slave-in data line used by AVR ISP programmers (slave role on this device, sinking writes; mastered out when USI is configured as SPI master).", + }, + { + name: "DI", direction: "sink", signal_class: "data", + description: "USI serial data input. Sampled in three-wire (SPI-like) and two-wire (I2C-like) USI modes.", + }, + { + name: "SDA", direction: "bidirectional", signal_class: "data", + description: "USI two-wire (I2C-compatible) data line. Open-drain when driven low; idle state must be pulled high externally.", + }, + { + name: "AIN0", direction: "sink", signal_class: "sense", + description: "Analog comparator positive input.", + }, + { + name: "PWM", direction: "source", signal_class: "data", + description: "Timer0 compare-match output OC0A — 8-bit PWM up to ~62 kHz at the typical 16 MHz system clock.", + }, + { + name: "!PWM", direction: "source", signal_class: "data", + description: "Timer1 compare-match output OC1A (inverted). High-speed PWM up to ~250 kHz when the timer is fed from the 64 MHz PLL clock.", + }, + { + name: "AREF", direction: "sink", signal_class: "sense", + description: "External ADC reference voltage input. Selected by the REFS bits in ADMUX; external reference range is 2.0 V to VCC for single-ended channels (datasheet Table 21-8).", + }, + { + name: "Pin Change Interrupt", direction: "sink", signal_class: "data", + description: "PCINT0 pin-change interrupt source. Fires on any logic-level transition on PB0.", + }, + ], + notes: + "Standard GPIO thresholds at VCC=5 V: V_IH min = 0.6*VCC, V_IL max = 0.3*VCC; V_OH min = 4.3 V at 10 mA source, V_OL max = 0.6 V at 10 mA sink. USI SDA on this pin is open-drain and needs an external pull-up (typically 4.7 kΩ at 100 kHz or 2.2 kΩ at 400 kHz). The pin also doubles as the AREF input and as the ISP MOSI line — isolate during programming if it is also driving a peripheral net.", + }, + { + pin: 6, name: "PB1", nodePosition: 12, + summary: "MISO / DO / AIN1 / OC0B / OC1A / PCINT1", + pwm: true, analogIn: true, spiMiso: true, + extraCaps: ["usi_do", "ain1", "oc0b", "oc1a"], + functions: [ + { + name: "MISO", direction: "bidirectional", signal_class: "data", + description: "SPI master-in/slave-out data line used by AVR ISP programmers (source role on this device when reading flash; sink when USI is configured as SPI master).", + }, + { + name: "DO", direction: "source", signal_class: "data", + description: "USI serial data output. Driven in three-wire (SPI-like) USI modes.", + }, + { + name: "AIN1", direction: "sink", signal_class: "sense", + description: "Analog comparator negative input.", + }, + { + name: "PWM", direction: "source", signal_class: "data", + description: "Timer0 compare-match output OC0B (8-bit, up to ~62 kHz) and Timer1 compare-match output OC1A — high-speed PWM up to ~250 kHz when Timer1 is fed from the 64 MHz PLL clock.", + }, + { + name: "Pin Change Interrupt", direction: "sink", signal_class: "data", + description: "PCINT1 pin-change interrupt source. Fires on any logic-level transition on PB1.", + }, + ], + traits: [ + { + type: "usage_note", + params: { + note: "Neither PB1 nor PB0 carries an ADC channel — ADC0-ADC3 live on PB5/PB2/PB4/PB3 (datasheet Table 17-4). Assign PB1 to digital/USI/PWM duties when possible and keep PB2/PB3/PB4 free for ADC.", + }, + }, + ], + notes: + "Standard GPIO thresholds at VCC=5 V: V_IH min = 0.6*VCC, V_IL max = 0.3*VCC; V_OH min = 4.3 V at 10 mA source, V_OL max = 0.6 V at 10 mA sink. Neither PB1 nor PB0 carries an ADC channel — ADC0-ADC3 live on PB5/PB2/PB4/PB3 (datasheet Table 17-4). Assign PB1 to digital/USI/PWM duties when possible and keep PB2/PB3/PB4 free for ADC.", + }, + { + pin: 7, name: "PB2", nodePosition: 14, + summary: "SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2", + analogIn: true, i2cScl: true, spiSck: true, + extraCaps: ["adc_in", "usi_usck", "t0", "int0"], + functions: [ + { + name: "SCK", direction: "bidirectional", signal_class: "clock", + description: "SPI serial clock line. Sourced by the AVR ISP programmer during programming; sourced or sunk by USI depending on master/slave configuration.", + }, + { + name: "USCK", direction: "bidirectional", signal_class: "clock", + description: "USI serial clock. Driven when USI is configured as master; sampled when USI is slave.", + }, + { + name: "SCL", direction: "bidirectional", signal_class: "clock", + description: "USI two-wire (I2C-compatible) clock line. Open-drain when driven low; idle state must be pulled high externally.", + }, + { + name: "ADC", direction: "sink", signal_class: "sense", + description: "ADC1 single-ended 10-bit analog input channel.", + }, + { + name: "T0", direction: "sink", signal_class: "clock", + description: "Timer/Counter0 external clock input. Counts rising or falling edges per the CS02:0 bits.", + }, + { + name: "Interrupt", direction: "sink", signal_class: "data", + description: "INT0 dedicated external interrupt input. Triggers on low level or on rising/falling/any edge per the ISC01:0 bits — the only edge-configurable external interrupt on the device.", + }, + { + name: "Pin Change Interrupt", direction: "sink", signal_class: "data", + description: "PCINT2 pin-change interrupt source. Fires on any logic-level transition on PB2.", + }, + ], + notes: + "Standard GPIO thresholds at VCC=5 V: V_IH min = 0.6*VCC, V_IL max = 0.3*VCC; V_OH min = 4.3 V at 10 mA source, V_OL max = 0.6 V at 10 mA sink. USI SCL is open-drain and needs an external pull-up (typically 4.7 kΩ at 100 kHz or 2.2 kΩ at 400 kHz). INT0 — the only edge-configurable external interrupt on the device — is unique to this pin. PB2 also doubles as the ISP SCK line — isolate during programming if it is also driving a peripheral net.", + }, +]; + +const portPins: InterfaceDef[] = PORT_PIN_SPECS.map(attiny85PortPin); + +// --------------------------------------------------------------------------- +// Power pins — ProtoPart resources "vcc" (pin 8) and "gnd" (pin 4) +// --------------------------------------------------------------------------- + +const gndPin: InterfaceDef = { + ...Ground({ id: "pin_4", name: "GND", pin: 4, maxCurrentA: 0.2 }), + traits: [ + { type: "power_domain", params: { domain: "vcc" } }, + { + type: "current_rating_basis", + params: { + note: "Total continuous return current through the GND pin is limited to 200 mA (same absolute-max as the VCC pin) — an absolute maximum, not a recommended operating point.", + }, + }, + { + type: "net_shareable", + params: { net: "gnd", policy: "single_ground_instance_may_serve_all_members" }, + }, + { + type: "assembly_requirement", + params: { + note: "Single-pin ground — place the decoupling capacitor between this pin and the VCC pin with the shortest possible loop.", + source: "ProtoPart attiny85 definition, GND pin notes", + }, + }, + { + type: "protopart_node_position", + params: { + position: 8, + note: "Position of this pad in the ProtoPart 20-position node layout; the physical PDIP-8 pin number is the `pin` designator.", + }, + }, + ], +}; + +const vccPin: InterfaceDef = { + ...PowerIn({ id: "pin_8", name: "VCC", pin: 8, voltageV: VCC_RANGE, nominalV: 5 }), + capabilities: ["power_in", "vcc"], + traits: [ + { type: "power_domain", params: { domain: "vcc" } }, + { + type: "operating_conditions", + params: { + voltage_range_10MHz_V: VCC_RANGE, + voltage_range_20MHz_V: VCC_RANGE_20MHZ, + note: "2.7-5.5 V for operation up to 10 MHz; 4.5-5.5 V for the 20 MHz speed grade. At 3.3 V the maximum reliable clock is 10 MHz.", + }, + }, + { + type: "absolute_maximum", + params: { + supply_voltage_V: [-0.5, 6], + note: "Absolute-max supply voltage is 6.0 V — exceeding it damages the part. Total continuous current through the VCC pin is limited to 200 mA, which also caps the sum of per-pin source currents.", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Supply decoupling", + components: [ + { kind: "capacitor", value: "100 nF ceramic", connection: "VCC (pin 8) to GND (pin 4), as close to the package as possible" }, + ], + source: "ProtoPart attiny85 definition, design rules", + }, + }, + { + type: "protopart_node_position", + params: { + position: 15, + note: "Position of this pad in the ProtoPart 20-position node layout; the physical PDIP-8 pin number is the `pin` designator.", + }, + }, + ], +}; + +/** All 8 physical PDIP-8 pins, in package order — schematic-honest. */ +const pins: InterfaceDef[] = [...portPins, gndPin, vccPin].sort( + (a, b) => Number(a.pin ?? 0) - Number(b.pin ?? 0), +); + +// --------------------------------------------------------------------------- +// Peripheral controllers — every routing on the ATtiny85 is pin-fixed +// --------------------------------------------------------------------------- + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +/** Shared USI-mode exclusivity — verbatim policy from the ProtoPart usage notes. */ +const USI_SHARED_TRAIT = (self: string, others: string): TraitDef => ({ + type: "co_requirement", + params: { + with: others, + condition: `${self} active`, + effect: + "The Universal Serial Interface (USI) is shared between SPI and TWI/I2C modes — only one protocol can be active at a time.", + source: "ProtoPart attiny85 definition, usage notes", + }, +}); + +// ADC — one 10-bit SAR converter, four fixed single-ended channels. +const adc = composed({ + id: "adc", + name: "ADC (10-bit SAR)", + protocolType: "analog", + roles: ["input"], + parameters: [resolutionBits(10)], + slots: [ + { id: "channel", required: true, count: 4, match: { protocol: "analog", role: "input", capability: "adc_in" } }, + ], + profiles: [ + { + id: "adc_channels", + label: "ADC0-ADC3 (fixed analog pins)", + bindings: { channel: ["pin_1", "pin_7", "pin_3", "pin_2"] }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 4, + mapping: "ADC0=PB5 (pin 1), ADC1=PB2 (pin 7), ADC2=PB4 (pin 3), ADC3=PB3 (pin 2)", + note: "Single-ended 10-bit channels.", + }, + }, + { + // The canonical ATtiny85 co-requirement: ADC0 lives on the RESET pin. + type: "co_requirement", + params: { + with: "pin_1, isp", + condition: "ADC0 in use", + effect: + "ADC0 is selectable only after the RSTDISBL fuse turns the pin into general-purpose PB5 — which permanently disables ISP programming (recovery requires a high-voltage serial programmer).", + source: "ProtoPart attiny85 definition, PB5 function list and warnings", + }, + }, + { + type: "reference_options", + params: { + note: "Reference selected by the REFS bits in ADMUX; the external AREF input (PB0, pin 5) accepts 2.0 V to VCC for single-ended channels (datasheet Table 21-8).", + external_reference_interface: "adc_reference", + }, + }, + ], +}); + +// External ADC reference input (AREF on PB0). +const adcReference = composed({ + id: "adc_reference", + name: "ADC Reference (AREF)", + protocolType: "analog", + roles: ["input"], + slots: [{ id: "aref", required: true, match: { protocol: "analog", role: "input", capability: "aref" } }], + profiles: [ + { id: "aref_pin", label: "AREF = PB0 (pin 5)", bindings: { aref: "pin_5" } }, + ], + maxInstances: 1, + traits: [ + { + type: "configuration_note", + params: { + note: "External ADC reference voltage input. Selected by the REFS bits in ADMUX; external reference range is 2.0 V to VCC for single-ended channels (datasheet Table 21-8).", + source: "ATtiny25/45/85 Datasheet (Atmel-2586), Table 21-8; ProtoPart attiny85 definition, PB0 function list", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_5", + condition: "external AREF in use", + effect: "AREF shares PB0 with the USI data lines (MOSI/DI/SDA), the comparator AIN0 input, and the Timer0/Timer1 PWM outputs — committing it to AREF removes those functions.", + }, + }, + ], +}); + +// Analog comparator — fixed AIN0/AIN1 pair. +const comparator = composed({ + id: "comparator", + name: "Analog Comparator", + protocolType: "comparator", + roles: ["input"], + slots: [ + { id: "ain0", required: true, label: "AIN0 (positive)", match: { protocol: "analog", role: "input", capability: "ain0" } }, + { id: "ain1", required: true, label: "AIN1 (negative)", match: { protocol: "analog", role: "input", capability: "ain1" } }, + ], + profiles: [ + { + id: "comparator_pins", + label: "AIN0=PB0 (pin 5), AIN1=PB1 (pin 6)", + bindings: { ain0: "pin_5", ain1: "pin_6" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { count: 1, mapping: "Positive input AIN0=PB0, negative input AIN1=PB1" }, + }, + ], +}); + +// Timer0 PWM — OC0A/OC0B compare-match outputs, 8-bit. +const timer0Pwm = composed({ + id: "timer0_pwm", + name: "Timer0 PWM (OC0A/OC0B)", + protocolType: "pwm", + roles: ["output"], + parameters: [resolutionBits(8)], + slots: [ + { id: "oc0a", required: false, match: { protocol: "pwm", role: "output", capability: "oc0a" } }, + { id: "oc0b", required: false, match: { protocol: "pwm", role: "output", capability: "oc0b" } }, + ], + profiles: [ + { + id: "timer0_outputs", + label: "OC0A=PB0 (pin 5), OC0B=PB1 (pin 6)", + bindings: { oc0a: "pin_5", oc0b: "pin_6" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 2, + mapping: "OC0A=PB0, OC0B=PB1", + detail: "8-bit PWM up to ~62 kHz at the typical 16 MHz system clock.", + source: "ProtoPart attiny85 definition, PB0/PB1 function lists", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "pin_fixed", + combination_space: "OC0A and OC0B are fixed to PB0 and PB1 — no alternative routing exists.", + }, + }, + ], +}); + +// Timer1 PWM — OC1A/!OC1A/OC1B/!OC1B, high-speed via the 64 MHz PLL. +const timer1Pwm = composed({ + id: "timer1_pwm", + name: "Timer1 High-Speed PWM (OC1A/OC1B + inverted)", + protocolType: "pwm", + roles: ["output"], + parameters: [resolutionBits(8)], + slots: [ + { id: "oc1a", required: false, match: { protocol: "pwm", role: "output", capability: "oc1a" } }, + { id: "oc1a_n", required: false, label: "!OC1A (inverted)", match: { protocol: "pwm", role: "output", capability: "oc1a_n" } }, + { id: "oc1b", required: false, match: { protocol: "pwm", role: "output", capability: "oc1b" } }, + { id: "oc1b_n", required: false, label: "!OC1B (inverted)", match: { protocol: "pwm", role: "output", capability: "oc1b_n" } }, + ], + profiles: [ + { + id: "timer1_outputs", + label: "OC1A=PB1 (pin 6), !OC1A=PB0 (pin 5), OC1B=PB4 (pin 3), !OC1B=PB3 (pin 2)", + bindings: { oc1a: "pin_6", oc1a_n: "pin_5", oc1b: "pin_3", oc1b_n: "pin_2" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 4, + mapping: "OC1A=PB1, !OC1A=PB0, OC1B=PB4, !OC1B=PB3", + detail: "Compare-match outputs with true and inverted (!) polarities. High-speed PWM up to ~250 kHz at 8-bit resolution when fed from the internal 64 MHz PLL clock.", + source: "ProtoPart attiny85 definition, PB0/PB1/PB3/PB4 function lists", + }, + }, + { + type: "display_notation", + params: { note: "The ProtoPart definition models the inverted outputs as a separate '!PWM' interface; '!' marks the active-low/inverted compare-match outputs." }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "pin_fixed", + combination_space: "Each output is fixed to its pad — no alternative routing exists.", + }, + }, + ], +}); + +// Timer/Counter0 external clock input (T0). +const timerT0 = composed({ + id: "timer", + name: "Timer/Counter0 External Clock (T0)", + protocolType: "timer", + roles: ["input"], + slots: [{ id: "t0", required: true, match: { capability: "t0" } }], + profiles: [ + { id: "t0_pin", label: "T0 = PB2 (pin 7)", bindings: { t0: "pin_7" } }, + ], + maxInstances: 1, + traits: [ + { + type: "configuration_note", + params: { + note: "Timer/Counter0 external clock input. Counts rising or falling edges per the CS02:0 bits.", + source: "ProtoPart attiny85 definition, PB2 function list", + }, + }, + ], +}); + +// Pin-change interrupts — every port pin is a PCINT source. +const pcint = composed({ + id: "pin_change_interrupt", + name: "Pin Change Interrupt (PCINT0-5)", + protocolType: "pin_change_interrupt", + roles: ["input"], + slots: [{ id: "channel", required: true, count: 6, match: { capability: "pcint" } }], + profiles: [ + { + id: "pcint_channels", + label: "PCINT0-5 (all port pins)", + bindings: { + channel: ["pin_5", "pin_6", "pin_7", "pin_2", "pin_3", "pin_1"], // PCINT0-5 = PB0-PB5 + }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 6, + mapping: "PCINT0=PB0, PCINT1=PB1, PCINT2=PB2, PCINT3=PB3, PCINT4=PB4, PCINT5=PB5", + note: "Fires on any logic-level transition. PCINT5 is only available when the RSTDISBL fuse repurposes the RESET pin as PB5.", + }, + }, + ], +}); + +// INT0 — the only edge-configurable external interrupt, fixed to PB2. +const int0 = composed({ + id: "interrupt", + name: "External Interrupt (INT0)", + protocolType: "interrupt", + roles: ["input"], + slots: [{ id: "int0", required: true, match: { capability: "int0" } }], + profiles: [ + { id: "int0_pin", label: "INT0 = PB2 (pin 7)", bindings: { int0: "pin_7" } }, + ], + maxInstances: 1, + traits: [ + { + type: "configuration_note", + params: { + note: "Triggers on low level or on rising/falling/any edge per the ISC01:0 bits — the only edge-configurable external interrupt on the device.", + source: "ProtoPart attiny85 definition, PB2 function list", + }, + }, + ], +}); + +// USI — the raw Universal Serial Interface (USCK/DO/DI), the hardware that +// backs both the SPI-like three-wire and I2C-like two-wire modes below. +const usi = composed({ + id: "usi", + name: "USI (Universal Serial Interface)", + protocolType: "usi", + roles: ["master", "slave", "clock_provider"], + slots: [ + { id: "usck", required: true, match: { capability: "usi_usck" } }, + { id: "do", required: true, match: { capability: "usi_do" } }, + { id: "di", required: true, match: { capability: "usi_di" } }, + ], + profiles: [ + { + id: "usi_pins", + label: "USCK=PB2 (pin 7), DO=PB1 (pin 6), DI=PB0 (pin 5)", + bindings: { usck: "pin_7", do: "pin_6", di: "pin_5" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "operating_modes", + params: { + modes: ["three-wire (SPI-like)", "two-wire (TWI/I2C-like)"], + note: "Only one protocol can be active at a time; the same three pins are also the AVR ISP programming lines.", + source: "ProtoPart attiny85 definition, usage notes", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "pin_fixed", + combination_space: "USCK/DO/DI are fixed to PB2/PB1/PB0 — no alternative routing exists.", + }, + }, + ], +}); + +// I2C (USI two-wire mode) — open-drain SDA/SCL on PB0/PB2 with mandatory +// external pull-ups. Clock range per the ProtoPart pull-up guidance +// (4.7 kΩ at 100 kHz, 2.2 kΩ at 400 kHz). +const I2C_TRAITS: TraitDef[] = [ + { type: "display_notation", params: { latex: "I^{2}C" } }, + { + type: "implementation_note", + params: { + note: "I2C-compatible signalling is provided by the USI in two-wire mode, not by a dedicated TWI peripheral. SDA and SCL are open-drain when driven low; the idle state must be pulled high externally.", + source: "ProtoPart attiny85 definition, PB0/PB2 function lists", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Open-drain bus pull-ups", + components: [ + { kind: "resistor", value: "typ. 4.7 kΩ at 100 kHz, 2.2 kΩ at 400 kHz", connection: "SDA (PB0) and SCL (PB2) to the bus supply" }, + ], + source: "ProtoPart attiny85 definition, design rules", + }, + }, + USI_SHARED_TRAIT("I2C (two-wire USI mode)", "usi, spi"), +]; + +const i2c = amend( + I2C({ + id: "i2c", + name: "I2C (USI two-wire mode)", + roles: ["master", "slave"], + clockFreqHz: [100_000, 400_000], + maxInstances: 1, + profiles: [ + { id: "i2c_usi_pins", label: "SDA=PB0 (pin 5), SCL=PB2 (pin 7)", sda: "pin_5", scl: "pin_7" }, + ], + }), + "i2c", + I2C_TRAITS, +); + +// SPI (USI three-wire mode / ISP wiring) — fixed to PB0/PB1/PB2. The USI has +// no hardware chip-select; the SPI builder's optional `ss` slot stays unbound. +const SPI_TRAITS: TraitDef[] = [ + { + type: "implementation_note", + params: { + note: "SPI-like signalling is provided by the USI in three-wire mode (DI/DO/USCK), and the same pins carry the AVR ISP programming bus (MOSI/MISO/SCK). There is no hardware slave-select; framing is handled in firmware.", + source: "ProtoPart attiny85 definition, PB0/PB1/PB2 function lists", + }, + }, + { + type: "protocol_roles_note", + params: { + note: "The ProtoPart definition lists roles master/slave/clock_provider for this bus; clock_provider reflects USCK being driven when USI is master.", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "pin_fixed", + combination_space: "MOSI/MISO/SCK are fixed to PB0/PB1/PB2 — no alternative routing exists.", + }, + }, + USI_SHARED_TRAIT("SPI (three-wire USI mode)", "usi, i2c"), +]; + +const spi = amend( + SPI({ + id: "spi", + name: "SPI (USI three-wire mode)", + roles: ["master", "slave"], + maxInstances: 1, + profiles: [ + { id: "spi_usi_pins", label: "MOSI=PB0 (pin 5), MISO=PB1 (pin 6), SCK=PB2 (pin 7)", mosi: "pin_5", miso: "pin_6", sck: "pin_7" }, + ], + }), + "spi", + SPI_TRAITS, +); + +// External reset — the default function of PB5. +const reset = composed({ + id: "reset", + name: "External Reset (RESET, active-low)", + protocolType: "digital", + roles: ["input"], + defaultActive: true, + parameters: [ + { id: "min_reset_pulse", name: "Minimum recognised reset pulse width", unit: "µs", value: 2.5 }, + ], + slots: [{ id: "reset_n", required: true, match: { capability: "ext_reset" } }], + profiles: [ + { id: "reset_pin", label: "RESET = PB5 (pin 1)", default_active: true, bindings: { reset_n: "pin_1" } }, + ], + maxInstances: 1, + traits: [ + { + type: "reset_behavior", + params: { + polarity: "active_low", + note: "Holds the AVR core in reset while driven low; minimum recognised pulse width is 2.5 us. Internal pull-up is enabled at power-up.", + source: "ProtoPart attiny85 definition, PB5 function list", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Reliable reset in noisy environments", + components: [ + { kind: "resistor", value: "10 kΩ", connection: "RESET (pin 1) to VCC" }, + ], + note: "Bring RESET out to a reset button or programming header. Do not leave RESET floating in noisy environments.", + source: "ProtoPart attiny85 definition, design rules", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_1, isp", + condition: "PB5 reclaimed as GPIO (RSTDISBL fuse programmed)", + effect: "Disabling the reset function permanently disables conventional ISP programming; a high-voltage serial programmer is then required to recover the chip.", + source: "ProtoPart attiny85 definition, warnings", + }, + }, + ], +}); + +// debugWIRE — single-wire on-chip debug multiplexed on the RESET pin. +const debugWire = composed({ + id: "debugwire", + name: "debugWIRE On-Chip Debug", + protocolType: "debug", + roles: ["target"], + slots: [{ id: "dw", required: true, match: { capability: "debugwire" } }], + profiles: [ + { id: "dw_pin", label: "dW = RESET/PB5 (pin 1)", bindings: { dw: "pin_1" } }, + ], + maxInstances: 1, + traits: [ + { + type: "configuration_note", + params: { + note: "debugWIRE single-wire on-chip debug interface, multiplexed on the RESET pin when the DWEN fuse is programmed. Replaces conventional ISP behaviour.", + source: "ProtoPart attiny85 definition, PB5 function list", + }, + }, + ], +}); + +// AVR ISP — 6-pin in-system programming header (SPI on PB0/PB1/PB2 + RESET). +const isp = composed({ + id: "isp", + name: "AVR ISP Programming (6-pin)", + protocolType: "spi", + roles: ["device"], + slots: [ + { id: "mosi", required: true, match: { capability: "spi_mosi" } }, + { id: "miso", required: true, match: { capability: "spi_miso" } }, + { id: "sck", required: true, match: { capability: "spi_sck" } }, + { id: "reset_n", required: true, match: { capability: "ext_reset" } }, + { id: "vcc", required: true, match: { capability: "vcc" } }, + { id: "gnd", required: true, match: { capability: "ground" } }, + ], + profiles: [ + { + id: "isp_header", + label: "Standard 6-pin AVR ISP header", + bindings: { + mosi: "pin_5", // PB0 + miso: "pin_6", // PB1 + sck: "pin_7", // PB2 + reset_n: "pin_1", // RESET + vcc: "pin_8", + gnd: "pin_4", + }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "configuration_note", + params: { + note: "For ISP programming, expose PB0 (MOSI), PB1 (MISO), PB2 (SCK), RESET, VCC, and GND on a standard 6-pin AVR ISP header.", + source: "ProtoPart attiny85 definition, design rules", + }, + }, + { + type: "co_requirement", + params: { + with: "usi, i2c, spi", + condition: "ISP header shares the USI pins", + effect: "ISP programming reuses the same three USI pins, so an ISP header on a board running USI peripherals needs to share or isolate those nets during programming.", + source: "ProtoPart attiny85 definition, usage notes", + }, + }, + { + type: "co_requirement", + params: { + with: "reset", + condition: "always", + effect: "Conventional ISP requires the RESET function on pin 1. Programming the RSTDISBL fuse permanently disables ISP; recovery requires a high-voltage serial programmer.", + source: "ProtoPart attiny85 definition, warnings", + }, + }, + ], +}); + +// Crystal oscillator — XTAL1/XTAL2 on PB3/PB4, selected by the CKSEL fuses. +const oscillators = composed({ + id: "oscillators", + name: "Crystal Oscillator (XTAL1/XTAL2)", + protocolType: "clock", + roles: ["input"], + // Crystal/resonator envelope: 32.768 kHz low-frequency mode plus the + // 0.4-20 MHz crystal/resonator modes (datasheet Tables 6-1/6-12). 0 Hz is + // not a valid crystal source; DC-20 MHz applies only to the CLKI external + // clock input (Table 21-3). + parameters: [clockFreqHz([32_768, 20_000_000])], + slots: [ + { id: "xtal1", required: true, match: { capability: "xtal1" } }, + { id: "xtal2", required: true, match: { capability: "xtal2" } }, + ], + profiles: [ + { + id: "xtal_pins", + label: "XTAL1=PB3 (pin 2), XTAL2=PB4 (pin 3)", + bindings: { xtal1: "pin_2", xtal2: "pin_3" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "co_requirement", + params: { + with: "pin_2, pin_3", + condition: "crystal/resonator fitted", + effect: "If using PB3/PB4 as a crystal oscillator (XTAL1/XTAL2), they cannot also drive PWM, ADC, or GPIO — the crystal load capacitors and physical crystal occupy the pins.", + source: "ProtoPart attiny85 definition, design rules", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Crystal load", + components: [ + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "XTAL1 to GND" }, + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "XTAL2 to GND" }, + ], + source: "ProtoPart attiny85 definition, design rules ('the crystal load capacitors and physical crystal occupy the pins')", + }, + }, + { + type: "optionality", + params: { + note: "Optional — the internal 8 MHz RC oscillator is the default clock and suffices for most applications, but drifts up to ±10% over voltage and temperature; for UART or other timing-sensitive bit-banged protocols, calibrate OSCCAL or use an external crystal.", + source: "ProtoPart attiny85 definition, design rules / usage notes", + }, + }, + { + type: "configuration_note", + params: { + note: "Enabled when the CKSEL fuses select the low/high-frequency crystal source. Crystal/resonator operating modes cover 0.4-20 MHz (0.4-0.9 MHz for ceramic resonators only); a 32.768 kHz watch crystal uses the separate low-frequency oscillator mode (datasheet Tables 6-1 and 6-12).", + source: "ATtiny25/45/85 Datasheet (Atmel-2586), Tables 6-1/6-12; ProtoPart attiny85 definition, PB3 function list", + }, + }, + ], +}); + +// External clock input — CLKI on PB3, mutually exclusive with the crystal. +const clockInput = composed({ + id: "clock_input", + name: "External Clock Input (CLKI)", + protocolType: "clock", + roles: ["input"], + slots: [{ id: "clki", required: true, match: { capability: "clki" } }], + profiles: [ + { id: "clki_pin", label: "CLKI = PB3 (pin 2)", bindings: { clki: "pin_2" } }, + ], + maxInstances: 1, + traits: [ + { + type: "configuration_note", + params: { + note: "Routes a single-ended logic-level clock straight into the AVR core when the CKSEL fuses select the external-clock source.", + source: "ProtoPart attiny85 definition, PB3 function list", + }, + }, + { + type: "co_requirement", + params: { + with: "oscillators", + condition: "external clock selected", + effect: "Mutually exclusive with XTAL1 crystal mode.", + source: "ProtoPart attiny85 definition, PB3 function list", + }, + }, + ], +}); + +// Buffered system clock output — CLKO on PB4, enabled by the CKOUT fuse. +const clockOutput = composed({ + id: "clock_output", + name: "System Clock Output (CLKO)", + protocolType: "clock", + roles: ["output"], + slots: [{ id: "clko", required: true, match: { capability: "clko" } }], + profiles: [ + { id: "clko_pin", label: "CLKO = PB4 (pin 3)", bindings: { clko: "pin_3" } }, + ], + maxInstances: 1, + traits: [ + { + type: "configuration_note", + params: { + note: "Enabled by programming the CKOUT fuse; outputs the divided system clock so downstream devices can be slaved to the AVR.", + source: "ProtoPart attiny85 definition, PB4 function list", + }, + }, + ], +}); + +// Composed power input — mirrors the ProtoPart "power_input" interface +// (VCC + GND with max_connections 1 and matching voltage-domain constraint). +const powerInput = composed({ + id: "power_input", + name: "VCC / GND", + protocolType: "power", + roles: ["input"], + defaultActive: true, + slots: [ + { id: "vcc", required: true, match: { protocol: "power", role: "input", capability: "vcc" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { + id: "power_pins", + label: "VCC=pin 8, GND=pin 4", + default_active: true, + bindings: { vcc: "pin_8", gnd: "pin_4" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "connection_constraints", + params: { + max_connections: 1, + requires_matching_voltage_domain: true, + source: "ProtoPart attiny85 definition, electrical interface 'power_input' constraints", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Supply decoupling", + components: [ + { kind: "capacitor", value: "100 nF", connection: "VCC (pin 8) to GND (pin 4), close to the package" }, + ], + source: "ProtoPart attiny85 definition, 'power_input' interface description", + }, + }, + { + type: "supply_note", + params: { + note: "Single-rail DC supply input. 2.7-5.5 V (10 MHz max) or 4.5-5.5 V (20 MHz max).", + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Mechanical +// --------------------------------------------------------------------------- + +const footprintMount: InterfaceDef = { + id: "footprint_mounting", + name: "PDIP-8 Through-Hole Footprint", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["pdip8", "through_hole"], +}; + +/** + * ProtoPart mechanical interface "dnc": 12 footprint-only mounting positions + * in the 20-position node layout. They have no internal bond to the PDIP-8 + * die and no physical package pin, so they are preserved here as a single + * mechanical interface rather than as leaf electrical pins. + */ +const dncMounting: InterfaceDef = { + id: "dnc", + name: "DNC Mounting Pins", + domain: "mechanical", + exposed: true, + default_active: false, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["dnc_mounting", "through_hole"], + max_instances: 12, + traits: [ + { + type: "protopart_node_positions", + params: { + positions: [3, 4, 6, 7, 9, 10, 13, 16, 17, 18, 19, 20], + note: "Do not connect. Footprint mounting pins only; no internal bond to the PDIP-8 die. Footprint-only mounting pins in the ProtoPart 20-position node layout — they do not correspond to physical PDIP-8 package pins.", + source: "ProtoPart attiny85 definition, mechanical resources", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const ATTINY85: ModuleDef = defineModule({ + id: "attiny85", + name: "Microchip ATtiny85 8-bit AVR Microcontroller", + version: "1.0.0", + manufacturer: "Microchip Technology (Atmel)", + part_number: "ATTINY85-20PU", + description: + "Microchip (formerly Atmel) ATtiny85 8-bit AVR RISC microcontroller IC with 8 KB flash, 512 B EEPROM, 512 B SRAM, six GPIO, 4-channel 10-bit ADC, Universal Serial Interface (USI) supporting SPI/I2C-like signalling, two 8-bit timer/counters with PWM, internal RC oscillator, and an internal PLL for 64 MHz high-speed PWM. Default variant: ATTINY85-20PU in 8-pin PDIP, rated to 20 MHz at 4.5-5.5 V, -40 to +85 C industrial temperature range. Programmed via 6-pin AVR ISP (SPI on PB0/PB1/PB2 plus RESET) or debugWIRE single-wire interface on the RESET pin.", + tags: [ + "attiny85", + "attiny", + "avr", + "microcontroller", + "mcu", + "8-bit", + "atmel", + "microchip", + "pdip-8", + "dip-8", + "usi", + "arduino-compatible", + ], + categories: ["microcontroller"], + + interfaces: [ + // All 8 physical PDIP-8 pins in package order — schematic-honest. + ...pins, + + // Power + powerInput, + + // Analog peripherals + adc, + adcReference, + comparator, + + // Timers / PWM + timer0Pwm, + timer1Pwm, + timerT0, + + // Interrupts + pcint, + int0, + + // Serial / bus controllers (all backed by the single USI) + usi, + ...i2c, + ...spi, + + // Reset / debug / programming + reset, + debugWire, + isp, + + // Clocks + oscillators, + clockInput, + clockOutput, + + // Mechanical + footprintMount, + dncMounting, + ], + + interfaceGroups: [ + { + id: "required_power_pins", + label: "Required Power Pins", + members: ["pin_8", "pin_4"], + policy: "all_of", + }, + { + id: "isp_header_pins", + label: "AVR ISP Header Pins (6-pin)", + members: ["pin_5", "pin_6", "pin_7", "pin_1", "pin_8", "pin_4"], + policy: "all_of", + }, + { + id: "usi_pins", + label: "USI Pins (shared by SPI, I2C, and ISP)", + members: ["pin_5", "pin_6", "pin_7"], + policy: "all_of", + }, + { + id: "crystal_pins", + label: "Crystal Oscillator Pins (XTAL1/XTAL2)", + members: ["pin_2", "pin_3"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Single-rail DC supply: 2.7-5.5 V for operation up to 10 MHz, 4.5-5.5 V for the 20 MHz speed grade (1.8-5.5 V only on ATTINY85V low-voltage variants). Absolute-max supply is 6.0 V. Total continuous current through VCC or GND is limited to 200 mA. Place a 100 nF decoupling capacitor between VCC (pin 8) and GND (pin 4) close to the package.", + voltage_V: [2.7, 5.5], + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "vcc", + name: "Core/I-O supply", + nominal_voltage_V: 5, + voltage_range_V: VCC_RANGE, + max_current_mA: VCC_GND_CURRENT_MA, + }, + ], + metadata: { + supply_voltage_V: VCC_RANGE, + // ProtoPart records pin_count 20 for its node layout (8 electrical + // pads + 12 DNC mounting positions); the physical PDIP-8 package has + // 8 pins. + protopart_node_pin_count: 20, + package_pins: 8, + vcc_domain: { + isolation_type: "non_isolated", + ground_reference: "common", + description: + "Single VCC rail supplies both the AVR core and the I/O pad ring. ATTINY85-20PU is rated 2.7-5.5 V for operation up to 10 MHz and 4.5-5.5 V for operation up to 20 MHz. Total continuous current through the VCC or GND pin is limited to 200 mA. Recommended 0.1 uF decoupling cap close to pin 8.", + }, + architecture: "8-bit AVR RISC", + instruction_set: "AVR (120 instructions)", + flash_memory_KB: 8, + eeprom_memory_B: 512, + sram_memory_B: 512, + flash_endurance_cycles: 10_000, + eeprom_endurance_cycles: 100_000, + gpio_count: 6, + adc_channels: 4, + adc_resolution_bits: 10, + pwm_channels: 4, + timer_count: 2, + comparator_count: 1, + max_clock_speed_MHz: { + at_2p7V_to_5p5V: 10, + at_4p5V_to_5p5V: 20, + }, + internal_oscillators_MHz: [8, 0.128], + pll_peripheral_clock_MHz: 64, + logic_thresholds_V: { + v_ih_min_fraction_vcc: 0.6, + v_il_max_fraction_vcc: 0.3, + v_oh_min_V_at_5V_10mA_source: 4.3, + v_ol_max_V_at_5V_10mA_sink: 0.6, + }, + max_pin_current_mA: PIN_CURRENT_MA, + max_total_vcc_or_gnd_current_mA: VCC_GND_CURRENT_MA, + active_current_typ: { + at_1p8V_1MHz_mA: 0.3, + at_3V_4MHz_mA: 1.5, + at_5V_8MHz_mA: 5, + at_5V_20MHz_mA: 9, + }, + power_down_current_typ_uA: { + at_1p8V_wdt_off: 0.1, + at_5V_wdt_off: 0.5, + }, + sleep_modes: ["idle", "adc_noise_reduction", "power_down"], + absolute_maximum_ratings: { + supply_voltage_V: [-0.5, 6], + pin_voltage_V_non_reset: [-0.5, "VCC + 0.5"], + pin_voltage_V_reset: [-0.5, 13], + pin_continuous_current_mA: 40, + vcc_or_gnd_continuous_current_mA: 200, + operating_temperature_absmax_C: [-55, 125], + storage_temperature_C: [-65, 150], + junction_temperature_C: 150, + }, + programming_interfaces: [ + "spi_isp_6pin", + "debugwire", + "high_voltage_serial_programming", + ], + source: "ProtoPart attiny85 definition, electrical domain metadata (ATtiny25/45/85 Datasheet, Atmel-2586)", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 9.43, width: 7.94, height: 4.32 }, + weight_g: 0.55, + metadata: { + package_type: "PDIP-8", + mounting_method: "through_hole", + field_serviceable: true, + requires_special_tools: false, + protopart_node_layout: + "The ProtoPart node places the 8 electrical pads at positions 1/2/5/8/11/12/14/15 of a 20-position layout; positions 3, 4, 6, 7, 9, 10, 13, 16-20 are DNC footprint-only mounting pins (see the `dnc` interface).", + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + requires_thermal_management: false, + thermal_monitoring_available: false, + }, + }, + ], + + traits: [ + { + type: "audit_note", + params: { + note: "The ProtoPart metadata.id reads 'ATTINY85-20SU' (the SOIC variant suffix) while part_number, description, and all purchase records say ATTINY85-20PU (PDIP-8). The PDIP-8 ATTINY85-20PU is taken as authoritative.", + }, + }, + { + type: "capability_absence", + params: { + capability: "uart", + note: "There is no hardware UART on the ATtiny85. UART communication must be bit-banged in firmware (e.g. via SoftwareSerial or Timer0 in CTC mode).", + source: "ProtoPart attiny85 definition, warnings", + }, + }, + { + type: "design_rules", + params: { + source: "ProtoPart attiny85 definition, design_rules (verbatim)", + rules: [ + "Place a 0.1 uF (100 nF) ceramic decoupling capacitor between VCC (pin 8) and GND (pin 4) as close to the package as possible.", + "If the RESET pin (PB5, pin 1) is left in its default reset role, pull it to VCC through a 10 kΩ resistor and bring it out to a reset button or programming header. Do not leave RESET floating in noisy environments.", + "For ISP programming, expose PB0 (MOSI), PB1 (MISO), PB2 (SCK), RESET, VCC, and GND on a standard 6-pin AVR ISP header.", + "When using USI as an I2C/TWI master or slave, add external pull-ups on SDA (PB0) and SCL (PB2): typically 4.7 kΩ at 100 kHz, 2.2 kΩ at 400 kHz.", + "Do not sink or source more than 40 mA on a single pin, and keep the sum of all currents through VCC or GND below 200 mA. Use an external transistor or driver for higher-current loads.", + "If using PB3/PB4 as a crystal oscillator (XTAL1/XTAL2), they cannot also drive PWM, ADC, or GPIO — the crystal load capacitors and physical crystal occupy the pins.", + "The internal 8 MHz RC oscillator drifts up to ±10% over voltage and temperature; for UART or other timing-sensitive bit-banged protocols, calibrate OSCCAL or use an external crystal.", + ], + }, + }, + { + type: "application_examples", + params: { + source: "ProtoPart attiny85 definition, application_examples (verbatim)", + examples: [ + "Compact embedded controller for sensor reading and small actuator control where 6 GPIO are sufficient.", + "Arduino-compatible projects programmed via Digispark-style USB bootloader or 6-pin ISP using ATTinyCore.", + "Low-power battery-operated nodes leveraging the power-down sleep mode and watchdog wake-up.", + "USI-driven I2C master for adding extra peripherals to a board that has no spare hardware I2C.", + "High-speed PWM generation (up to ~250 kHz) on Timer1 using the internal 64 MHz PLL clock source.", + ], + }, + }, + { + type: "usage_notes", + params: { + source: "ProtoPart attiny85 definition, usage_notes (verbatim)", + note: "The ATtiny85 is the largest member of the ATtiny25/45/85 family. Pin assignments are identical across the three; only flash and SRAM capacity differ. When used in a 4.5-5.5 V system with the internal 8 MHz RC oscillator the chip can be powered directly from the supply with only a decoupling capacitor; no external crystal is required for most applications. The Universal Serial Interface (USI) is shared between SPI and TWI/I2C modes — only one protocol can be active at a time. ISP programming reuses the same three USI pins, so an ISP header on a board running USI peripherals needs to share or isolate those nets during programming. The RESET pin can be reclaimed as PB5 by programming the RSTDISBL fuse, but this disables conventional ISP programming and you will then need a high-voltage serial programmer to recover the chip.", + }, + }, + { + type: "warnings", + params: { + source: "ProtoPart attiny85 definition, warnings (verbatim)", + warnings: [ + "The single VCC pin must stay between 2.7 V and 5.5 V for the -20PU industrial variant (1.8-5.5 V for ATTINY85V low-voltage variants). Exceeding 6.0 V will damage the device.", + "The 20 MHz speed grade only applies when VCC is between 4.5 V and 5.5 V. At 3.3 V the maximum reliable clock is 10 MHz.", + "There is no hardware UART on the ATtiny85. UART communication must be bit-banged in firmware (e.g. via SoftwareSerial or Timer0 in CTC mode).", + "Programming the RSTDISBL fuse to free PB5 as a GPIO permanently disables ISP programming; recovery requires a high-voltage serial programmer.", + "The internal RC oscillator drifts with temperature and supply voltage; precision-timed protocols may require an external crystal or careful OSCCAL trimming.", + ], + }, + }, + { + type: "terminology_policy", + params: { + note: "Signal and function names in `attiny85_pin_functions` traits are carried verbatim from the ProtoPart definition (datasheet notation, including '!' for active-low/inverted); canonical capability tags exist only where slot matching requires them.", + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "ATtiny25/45/85 Datasheet (Atmel-2586)", + type: "datasheet", + url: "https://ww1.microchip.com/downloads/en/devicedoc/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf", + }, + { + id: "art_product_page", + name: "ATtiny85 Microchip product page", + type: "documentation", + url: "https://www.microchip.com/en-us/product/attiny85", + }, + { + id: "art_product_image", + name: "ATTINY85-20PU product photo (DigiKey)", + type: "custom", + filePath: "./ProtoPart/protoparts/attiny85/artifacts/images/150_8P3_P_8.jpg", + mimeType: "image/jpeg", + tags: ["image", "product-photo"], + }, + { + id: "art_thumbnail", + name: "Microchip ATtiny85 8-bit AVR Microcontroller thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/attiny85/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail", "preview"], + }, + ], +}); diff --git a/library/parts/attiny85/artifacts/thumbnail.png b/library/parts/attiny85/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..e791db47b1f9733e11001eabb979f06168612970 GIT binary patch literal 82963 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 F{}1S$F82Tc literal 0 HcmV?d00001 diff --git a/library/parts/bme280.ts b/library/parts/bme280.ts new file mode 100644 index 0000000..40b82b1 --- /dev/null +++ b/library/parts/bme280.ts @@ -0,0 +1,824 @@ +/** + * Bosch Sensortec BME280 — datasheet-honest part definition. + * + * Primary source: BME280 Datasheet BST-BME280-DS002 (Rev 1.24, Feb 2024) + * - Table 35 Pin description (pin numbers, names, functions — LGA-8) + * - Section 1.1 Supply ranges and current consumption (VDD 1.71-3.6 V, + * VDDIO 1.2-3.6 V, 3.6 µA typ @ 1 Hz, 0.1 µA sleep) + * - Section 6.2 I²C interface (Standard/Fast/High-speed, SDO address strap) + * - Section 6.3 SPI interface (mode '00'/'11' auto-selection, spi3w_en + * register bit; 4-/3-wire connection diagrams Figures 18/19 in §7.3-§7.4) + * - Section 7.2 Design-in guidance (CSB mode latch Figure 17, pull-ups, + * decoupling), Section 7.5 Package (2.5 × 2.5 × 0.93 mm LGA, metal lid) + * All values below are carried from the audited ProtoPart definition + * (protoparts/bme280/definition.json); nothing is added from convention. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 8 LGA pads are leaf interfaces, in + * package order, with ids "pin_N" and the datasheet pin name (Table 35) + * as the displayed name. + * - Every pin carries its verbatim function list (name, direction, + * signal class) in a `bme280_pin_functions` trait — display data is + * separated from the canonical capability tags slot matching needs. + * - Buses share pads: I²C, SPI 4-wire, and SPI 3-wire are composed + * interfaces whose slots bind the same physical pins; a one_of + * interface group models the power-on mode latch (one mode at a time). + * - Co-requirements (`co_requirement` traits): CSB tied to VDDIO latches + * I²C mode; SDO straps the I²C address (GND → 0x76, VDDIO → 0x77, + * never floating); SDO is hi-Z/DNC in SPI 3-wire mode. + * - Implied harness connections (`implied_passives` traits): ~4.7 kΩ + * pull-ups to VDDIO on SDA/SCL in I²C mode; 100 nF decoupling at VDD + * and VDDIO. + * - Shareability exemption (`net_shareable` trait): the two GND pads + * (pins 1 and 7) are one ground net; a single ground instance may + * serve both. + */ + +import type { + InterfaceDef, + ModuleDef, + TraitDef, +} from "../../src/types/index.js"; +import { + Ground, + I2C, + Pin, + PowerIn, + SPI, + clockFreqHz, + defineModule, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — Datasheet Section 1.1 (via ProtoPart power_domains) +// --------------------------------------------------------------------------- + +/** VDD analog + digital core supply range. */ +const VDD_RANGE: [number, number] = [1.71, 3.6]; +/** VDDIO digital interface supply range (CSB, SDI/SDA, SCK/SCL, SDO). */ +const VDDIO_RANGE: [number, number] = [1.2, 3.6]; +/** I²C: Standard-mode 100 kHz up to High-speed mode 3.4 MHz (§6.2). */ +const I2C_CLOCK_RANGE: [number, number] = [100_000, 3_400_000]; +/** SPI (3- and 4-wire): up to 10 MHz (§6.3). */ +const SPI_CLOCK_RANGE: [number, number] = [0, 10_000_000]; + +/** §7.2: external pull-ups to VDDIO on SDA/SCL when the bus runs I²C. */ +const I2C_PULLUP_TRAIT: TraitDef = { + type: "implied_passives", + params: { + purpose: "I²C open-drain bus pull-ups", + components: [ + { + kind: "resistor", + value: "~4.7 kΩ typical (moderate bus capacitance)", + connection: "SDA (pin 3) and SCL (pin 4) to VDDIO", + }, + ], + source: "BME280 Datasheet §7.2", + }, +}; + +/** §7.2-§7.4: 100 nF decoupling close to each supply pin. */ +function decouplingTrait(pinName: string): TraitDef { + return { + type: "implied_passives", + params: { + purpose: "Supply decoupling", + components: [ + { kind: "capacitor", value: "100 nF", connection: `${pinName} to GND, close to the pin` }, + ], + source: "BME280 Datasheet §7.2-§7.4", + }, + }; +} + +/** The two GND pads sit on one common ground net. */ +const GND_NET_TRAIT: TraitDef = { + type: "net_shareable", + params: { + net: "gnd", + policy: "single_ground_instance_may_serve_all_members", + members: ["pin_1", "pin_7"], + }, +}; + +/** + * JSON constraint carried verbatim: bus logic levels must match the VDDIO + * domain of the host ("requires_matching_voltage_domain": true). + */ +const VDDIO_DOMAIN_MATCH_TRAIT: TraitDef = { + type: "voltage_domain_matching", + params: { + requires_matching_voltage_domain: true, + domain: "vddio", + note: "Logic thresholds scale with VDDIO (datasheet section 6.4, interface parameter specification: input levels specified as %VDDIO).", + }, +}; + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +// --------------------------------------------------------------------------- +// Physical pads — Datasheet Table 35 (p. 38), in package pin order +// --------------------------------------------------------------------------- + +const pin1Gnd: InterfaceDef = withTraits(Ground({ id: "pin_1", name: "GND", pin: 1 }), [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [{ name: "GND", direction: "sink", signal_class: "ground" }], + description: "GND — ground reference.", + }, + }, + { type: "power_domain", params: { domain: "vdd" } }, + GND_NET_TRAIT, +]); + +const pin2Csb: InterfaceDef = withTraits( + Pin({ + id: "pin_2", + name: "CSB", + pin: 2, + voltageV: VDDIO_RANGE, + capabilities: { inputOnly: true, spiSs: true }, + }), + [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [ + { name: "CSB", direction: "sink", signal_class: "data" }, + { name: "VDDIO", direction: "sink", signal_class: "power" }, + ], + description: + "CSB — chip-select input (SPI 4-wire and SPI 3-wire); must be tied directly to VDDIO to select I²C mode.", + }, + }, + { type: "power_domain", params: { domain: "vddio" } }, + { + type: "internal_pulls", + params: { + available: true, + pull_up: "internal pull-up to VDDIO", + note: "SPI: CSB is active-low chip-select with an internal pull-up to VDDIO.", + }, + }, + { + type: "co_requirement", + params: { + with: "i2c", + condition: "I²C mode", + effect: + "The pin must be hard-wired to VDDIO at power-on so the device latches I²C mode.", + source: "BME280 Datasheet §7.2, Figure 17", + }, + }, + ], +); + +const pin3Sdi: InterfaceDef = (() => { + const base = Pin({ + id: "pin_3", + name: "SDI", + pin: 3, + voltageV: VDDIO_RANGE, + capabilities: { i2cSda: true, spiMosi: true }, + }); + return { + ...base, + // spi_3w_sdio: half-duplex bidirectional data for the 3-wire bus slot. + capabilities: [...(base.capabilities ?? []), "spi_3w_sdio"], + traits: [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [ + { name: "SDI", direction: "sink", signal_class: "data" }, + { name: "SDI/SDO", direction: "bidirectional", signal_class: "data" }, + { name: "SDA", direction: "bidirectional", signal_class: "data" }, + ], + description: + "SDI — serial data input in SPI 4-wire, bidirectional SDI/SDO half-duplex data in SPI 3-wire, SDA in I²C.", + note: "In SPI 4-wire SDI is sampled on the SCK rising edge. In SPI 3-wire the same pin carries the device's response after the address phase.", + }, + }, + { type: "power_domain", params: { domain: "vddio" } }, + I2C_PULLUP_TRAIT, + ], + } satisfies InterfaceDef; +})(); + +const pin4Sck: InterfaceDef = withTraits( + Pin({ + id: "pin_4", + name: "SCK", + pin: 4, + voltageV: VDDIO_RANGE, + capabilities: { inputOnly: true, i2cScl: true, spiSck: true }, + }), + [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [ + { name: "SCK", direction: "sink", signal_class: "clock" }, + { name: "SCL", direction: "sink", signal_class: "clock" }, + ], + description: "SCK — serial clock input in SPI 4-wire and SPI 3-wire, SCL in I²C.", + }, + }, + { type: "power_domain", params: { domain: "vddio" } }, + I2C_PULLUP_TRAIT, + ], +); + +const pin5Sdo: InterfaceDef = withTraits( + Pin({ + id: "pin_5", + name: "SDO", + pin: 5, + voltageV: VDDIO_RANGE, + capabilities: { spiMiso: true }, + }), + [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [ + { name: "SDO", direction: "source", signal_class: "data" }, + { name: "DNC", direction: "bidirectional", signal_class: "data" }, + { name: "GND", direction: "sink", signal_class: "ground" }, + { name: "VDDIO", direction: "sink", signal_class: "power" }, + ], + description: + "SDO — serial data output in SPI 4-wire; DNC (Do Not Connect) in SPI 3-wire; I²C address strap in I²C (tie to GND for 0x76, VDDIO for 0x77).", + note: "SPI 4-wire: SDO changes on the SCK falling edge (§6.3). SPI 3-wire: pin is held hi-Z, leave DNC. I²C: must not float.", + }, + }, + { type: "power_domain", params: { domain: "vddio" } }, + { + type: "co_requirement", + params: { + with: "i2c", + condition: "I²C mode", + effect: + "The pin selects the 7-bit address — tie to GND for default 0x76 or to VDDIO for 0x77; never leave floating.", + source: "BME280 Datasheet §6.2", + }, + }, + { + type: "co_requirement", + params: { + with: "spi_3wire", + condition: "SPI 3-wire mode", + effect: "The pin is held hi-Z and must be left DNC (Do Not Connect).", + source: "BME280 Datasheet §6.3", + }, + }, + ], +); + +const pin6Vddio: InterfaceDef = (() => { + const base = PowerIn({ + id: "pin_6", + name: "VDDIO", + pin: 6, + voltageV: VDDIO_RANGE, + nominalV: 1.8, + }); + return { + ...base, + capabilities: ["power_in", "vddio_supply"], + traits: [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [{ name: "VDDIO", direction: "sink", signal_class: "power" }], + description: "VDDIO — digital / interface supply input (1.2 V to 3.6 V).", + }, + }, + { type: "power_domain", params: { domain: "vddio" } }, + decouplingTrait("VDDIO"), + ], + } satisfies InterfaceDef; +})(); + +const pin7Gnd: InterfaceDef = withTraits(Ground({ id: "pin_7", name: "GND", pin: 7 }), [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [{ name: "GND", direction: "sink", signal_class: "ground" }], + description: "GND — ground reference.", + }, + }, + { type: "power_domain", params: { domain: "vdd" } }, + GND_NET_TRAIT, +]); + +const pin8Vdd: InterfaceDef = (() => { + const base = PowerIn({ + id: "pin_8", + name: "VDD", + pin: 8, + voltageV: VDD_RANGE, + nominalV: 3.3, + }); + return { + ...base, + capabilities: ["power_in", "vdd_supply"], + traits: [ + { + type: "bme280_pin_functions", + params: { + source: "BME280 Datasheet Table 35, p. 38", + functions: [{ name: "VDD", direction: "sink", signal_class: "power" }], + description: "VDD — analog and digital core supply input (1.71 V to 3.6 V).", + }, + }, + { type: "power_domain", params: { domain: "vdd" } }, + decouplingTrait("VDD"), + ], + } satisfies InterfaceDef; +})(); + +/** All 8 pads in physical package order — schematic-honest. */ +const pins: InterfaceDef[] = [ + pin1Gnd, + pin2Csb, + pin3Sdi, + pin4Sck, + pin5Sdo, + pin6Vddio, + pin7Gnd, + pin8Vdd, +]; + +// --------------------------------------------------------------------------- +// Serial buses — one mode at a time, latched by CSB at power-on +// --------------------------------------------------------------------------- + +// I²C — target (slave) up to 3.4 MHz on the shared SDI/SCK pads. +const i2c = amend( + I2C({ + id: "i2c", + name: "I²C", + roles: ["slave"], + clockFreqHz: I2C_CLOCK_RANGE, + sda: "pin_3", + scl: "pin_4", + maxInstances: 1, // JSON constraint: max_connections 1 + }), + "i2c", + [ + { type: "display_notation", params: { latex: "I^{2}C" } }, + { + type: "operating_modes", + params: { + modes: ["Standard-mode (100 kHz)", "Fast-mode (400 kHz)", "High-speed mode (up to 3.4 MHz)"], + source: "BME280 Datasheet §6.2", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_2", + condition: "I²C mode", + effect: + "Configuration strap (board-level, not a bus signal): CSB must be tied directly to VDDIO to latch I²C mode at power-on.", + source: "BME280 Datasheet §7.2, Figure 17", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_5", + condition: "I²C mode", + effect: + "Configuration strap: SDO selects the 7-bit address — tie to GND for 0x76, tie to VDDIO for 0x77, never leave floating.", + source: "BME280 Datasheet §6.2", + }, + }, + I2C_PULLUP_TRAIT, + VDDIO_DOMAIN_MATCH_TRAIT, + ], +); + +// SPI 4-wire — full-duplex target up to 10 MHz (Table 35 / Figure 18). +const spi4wire = amend( + SPI({ + id: "spi_4wire", + name: "SPI 4-wire", + roles: ["slave"], + clockFreqHz: SPI_CLOCK_RANGE, + mosi: "pin_3", // SDI: host-to-device serial data, sampled on SCK rising edge + miso: "pin_5", // SDO: device-to-host serial data, changes on SCK falling edge + sck: "pin_4", + ss: "pin_2", // CSB: active-low chip-select with internal pull-up to VDDIO + maxInstances: 1, // JSON constraint: max_connections 1 + }), + "spi_4wire", + [ + { + type: "spi_modes", + params: { + modes: ["mode '00' (CPOL=CPHA=0)", "mode '11' (CPOL=CPHA=1)"], + note: "Mode is auto-selected from the SCK level at the falling edge of CSB.", + source: "BME280 Datasheet §6.3 (4-wire connection diagram: §7.3 Figure 18)", + }, + }, + VDDIO_DOMAIN_MATCH_TRAIT, + ], +); + +// SPI 3-wire — half-duplex target on a single SDI/SDO data line; the SPI +// builder assumes separate MOSI/MISO, so this bus is hand-rolled. +const spi3wire: InterfaceDef = { + id: "spi_3wire", + name: "SPI 3-wire", + domain: "electrical", + exposed: true, + default_active: false, + protocols: [{ type: "spi", roles: ["slave"] }], + parameters: [clockFreqHz(SPI_CLOCK_RANGE)], + slots: [ + { id: "csb", required: true, match: { protocol: "spi", role: "select", capability: "spi_ss" } }, + { id: "sck", required: true, match: { protocol: "spi", role: "clock", capability: "spi_sck" } }, + { + id: "sdio", + label: "SDI/SDO (half-duplex bidirectional data)", + required: true, + match: { protocol: "spi", role: "data", capability: "spi_3w_sdio" }, + }, + ], + profiles: [ + { + id: "spi_3wire_pins", + label: "CSB/SCK/SDI-SDO (pins 2/4/3)", + bindings: { csb: "pin_2", sck: "pin_4", sdio: "pin_3" }, + }, + ], + max_instances: 1, // JSON constraint: max_connections 1 + traits: [ + { + type: "configuration_note", + params: { + note: "Enabled by setting spi3w_en=1 in register 0xF5 (config). Same mode '00' / mode '11' behavior as SPI 4-wire.", + source: "BME280 Datasheet §6.3 and §5.4.6 register 0xF5 (3-wire connection diagram: §7.4 Figure 19)", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_5", + condition: "SPI 3-wire mode", + effect: "SDO (pin 5) is held hi-Z in this mode and must be left DNC (Do Not Connect).", + source: "BME280 Datasheet §6.3", + }, + }, + { + type: "operating_notes", + params: { + note: "Host drives SDI/SDO during the address phase; the device drives it during the data phase.", + source: "BME280 Datasheet §6.3.2 (SPI read: data is sent out on SDI in 3-wire mode)", + }, + }, + VDDIO_DOMAIN_MATCH_TRAIT, + ], +}; + +// --------------------------------------------------------------------------- +// Power interfaces — carried from the ProtoPart composed power interfaces +// --------------------------------------------------------------------------- + +const vddPowerIn: InterfaceDef = { + id: "vdd_power_in", + name: "VDD Power", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input"] }], + parameters: [{ id: "voltage", unit: "V", value: 3.3, range: VDD_RANGE }], + slots: [ + { id: "vdd", required: true, match: { protocol: "power", role: "input", capability: "vdd_supply" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { + id: "vdd_power_pins", + label: "VDD/GND (pins 8/1)", + default_active: true, + bindings: { vdd: "pin_8", gnd: "pin_1" }, + }, + ], + traits: [ + { + type: "supply_characteristics", + params: { + description: + "1.71 V to 3.6 V analog and digital core supply. Typical current is 3.6 uA at 1 Hz humidity+pressure+temperature, 0.1 uA in sleep mode.", + source: "BME280 Datasheet §1.1", + }, + }, + ], +}; + +const vddioPowerIn: InterfaceDef = { + id: "vddio_power_in", + name: "VDDIO Power", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input"] }], + parameters: [{ id: "voltage", unit: "V", value: 1.8, range: VDDIO_RANGE }], + slots: [ + { id: "vddio", required: true, match: { protocol: "power", role: "input", capability: "vddio_supply" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { + id: "vddio_power_pins", + label: "VDDIO/GND (pins 6/7)", + default_active: true, + bindings: { vddio: "pin_6", gnd: "pin_7" }, + }, + ], + traits: [ + { + type: "supply_characteristics", + params: { + description: + "1.2 V to 3.6 V digital interface supply for the I²C / SPI bus. Independent of VDD so host logic can run at 1.8 V while VDD is 3.3 V.", + source: "BME280 Datasheet §1.1", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical +// --------------------------------------------------------------------------- + +const pcbMount: InterfaceDef = { + id: "pcb_mount", + name: "PCB Surface Mount", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["lga8_2p5x2p5_0p65mm", "surface_mount"], + traits: [ + { + type: "package_description", + params: { + note: "Surface-mount LGA solder attachment to PCB land pattern. Eight 0.65 mm pitch pads (0.35 x 0.35 mm each) on the bottom of the metal-lid package. 2.5 x 2.5 x 0.93 mm body. (Pitch corrected from 0.4 mm to the datasheet value 0.65 mm.)", + source: "BME280 Datasheet Section 7.5, Figure 20 (LGA PITCH 0.65, LGA SIZE 0.350x0.350)", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const BME280: ModuleDef = defineModule({ + id: "bme280", + name: "Bosch BME280", + version: "1.1", + manufacturer: "Bosch Sensortec", + part_number: "BME280", + description: + "Bosch Sensortec BME280 is a bare LGA-8 combined digital humidity, barometric pressure, and temperature sensor. Tiny 2.5 x 2.5 x 0.93 mm package with I2C (up to 3.4 MHz) and SPI (3- and 4-wire, up to 10 MHz). Independent VDD (1.71-3.6 V) and VDDIO (1.2-3.6 V) supplies suit battery-powered and ultra-low-power designs at 3.6 uA running and 0.1 uA in sleep.", + tags: [ + "bme280", + "bosch", + "bosch-sensortec", + "environmental", + "humidity", + "pressure", + "temperature", + "barometer", + "i2c", + "spi", + "lga-8", + "low-power", + ], + categories: ["sensor", "sensor.environmental"], + + interfaces: [ + // All 8 physical pads in package order — schematic-honest. + ...pins, + + // Serial buses (shared pads; mode latched by CSB at power-on) + ...i2c, + ...spi4wire, + spi3wire, + + // Power + vddPowerIn, + vddioPowerIn, + + // Mechanical + pcbMount, + ], + + interfaceGroups: [ + { + id: "required_power_pins", + label: "Required Power Pins", + members: ["pin_1", "pin_6", "pin_7", "pin_8"], + policy: "all_of", + }, + { + id: "ground_common_net", + label: "Ground Pads (one common net)", + members: ["pin_1", "pin_7"], + policy: "all_of", + }, + { + // The device runs exactly one host interface, latched at power-on: + // CSB tied to VDDIO → I²C; CSB driven as chip-select → SPI (3- or + // 4-wire per the spi3w_en register bit). + id: "serial_interface_mode", + label: "Serial Interface Mode (I²C / SPI 4-wire / SPI 3-wire)", + members: ["i2c", "spi_4wire", "spi_3wire"], + policy: "one_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "VDD analog and digital core supply: 1.71-3.6 V. Typical full-sensor current is 3.6 uA at 1 Hz output rate; 0.1 uA in sleep mode (§1.1). Do not exceed 4.25 V (absolute maximum).", + voltage_V: [1.71, 3.6], + current_mA: 1, + }, + { + type: "power", + description: + "VDDIO interface supply for CSB, SDI/SDA, SCK/SCL, and SDO: 1.2-3.6 V, independent of VDD. Do not exceed 4.25 V (absolute maximum).", + voltage_V: [1.2, 3.6], + current_mA: 1, + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "vdd", + name: "VDD Analog Supply", + nominal_voltage_V: 3.3, + voltage_range_V: VDD_RANGE, + max_current_mA: 1, + }, + { + id: "vddio", + name: "VDDIO Interface Supply", + nominal_voltage_V: 1.8, + voltage_range_V: VDDIO_RANGE, + max_current_mA: 1, + }, + ], + metadata: { + pin_count: 8, + package_type: "LGA-8", + supply_voltage_V: [1.2, 3.6], + power_consumption_mW: 0.012, + max_operating_freq_Hz: 10_000_000, + power_domain_notes: { + vdd: "Analog and digital core supply. Typical full-sensor current is 3.6 uA at 1 Hz output rate; 0.1 uA in sleep mode. Datasheet section 1.1.", + vddio: + "Digital I/O supply for CSB, SDI/SDA, SCK/SCL, and SDO pins. Independent of VDD so the host can run logic at 1.8 V while VDD is 3.3 V. Datasheet section 1.1.", + }, + isolation_type: "non_isolated", + ground_reference: "common", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 2.5, width: 2.5, height: 0.93 }, + metadata: { + package_type: "LGA-8", + pitch_mm: 0.65, + mounting_method: "surface_mount", + requires_special_tools: false, + field_serviceable: false, + lid: "metal lid (Datasheet section 7.5, Figure 20)", + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + requires_thermal_management: false, + thermal_monitoring_available: true, + cooling_method: "passive", + }, + }, + ], + + traits: [ + { + // ProtoPart design_rules — carried verbatim. + type: "design_rules", + params: { + rules: [ + "Tie CSB (pin 2) directly to VDDIO to select I2C mode; the device only enters I2C mode while CSB is high.", + "Do not leave SDO (pin 5) floating in I2C mode. Tie to GND for 7-bit address 0x76 or to VDDIO for 0x77.", + "Add external pull-up resistors to VDDIO on SDA (pin 3) and SCL (pin 4) when using I2C. A 4.7 kOhm pull-up is typical for moderate bus capacitance.", + "Place 100 nF decoupling capacitors close to VDD (pin 8) and VDDIO (pin 6).", + "Maximum I2C clock is 3.4 MHz (high-speed mode); maximum SPI clock is 10 MHz.", + "Do not exceed 4.25 V on VDD or VDDIO (datasheet absolute maximum ratings).", + "Avoid placing the sensor near localized heat sources; self-heating shifts the temperature reading and the derived humidity / altitude values.", + ], + }, + }, + { + type: "usage_notes", + params: { + note: "BME280 is a fine-pitch bare LGA IC, not a ready-to-wire breakout. Use it when the PCB can support the 2.5 mm LGA-8 footprint with two decoupling capacitors and external I2C pull-ups. For the simplest host integration, run it in I2C mode with CSB tied to VDDIO and SDO strapped to GND for address 0x76 (or VDDIO for 0x77). VDD and VDDIO can be driven from the same rail or from independent supplies (e.g., 3.3 V VDD + 1.8 V VDDIO).", + }, + }, + { + type: "application_examples", + params: { + examples: [ + "Indoor environmental monitoring (temperature, humidity, pressure)", + "Wearable / handheld altimeter and barometer", + "Indoor navigation with floor-change detection", + "HVAC control sensor node", + "Battery-powered IoT climate node where ultra-low-power sleep is critical", + "GPS dead-reckoning enhancement via barometric altitude", + ], + }, + }, + { + type: "compatibility_notes", + params: { + note: "Logic thresholds scale with VDDIO (datasheet section 6.4, interface parameter specification). Register-compatible with the BMP280 pressure sensor, so existing BMP280 drivers work with the BME280's pressure and temperature channels. The 7-bit I2C address must be 0x76 or 0x77; if two BME280s share a bus, strap SDO differently on each.", + }, + }, + { + type: "warnings", + params: { + warnings: [ + "Bare LGA-8 IC is not solderless-breadboard friendly. For prototyping, use a breakout board such as the Adafruit BME280 instead.", + "Do not exceed 4.25 V on VDD or VDDIO; absolute maximum ratings will damage the device.", + "The sensor is not waterproof. Long-term exposure to condensation can degrade humidity accuracy and may require reconditioning.", + "Self-heating from neighboring components or from VDD regulator dissipation distorts the temperature, humidity, and pressure outputs.", + ], + }, + }, + { + type: "terminology_policy", + params: { + note: "Signal and function names in `bme280_pin_functions` traits are datasheet-verbatim (Table 35) and intentionally NOT normalised to a curated whitelist; canonical capability tags exist only where slot matching requires them.", + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "BME280 Datasheet (BST-BME280-DS001-24, Rev 1.24, Feb 2024)", + type: "datasheet", + url: "https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme280-ds002.pdf", + }, + { + id: "art_product_page", + name: "Bosch Sensortec BME280 Product Page", + type: "documentation", + url: "https://www.bosch-sensortec.com/en/products/environmental-sensors/humidity-sensors-bme280/", + }, + { + id: "art_product_image", + name: "BME280 product photo (DigiKey)", + type: "custom", + filePath: "./ProtoPart/protoparts/bme280/artifacts/images/MFG_BME280.jpg", + mimeType: "image/jpeg", + tags: ["image", "product-photo"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/bme280/artifacts/thumbnail.png b/library/parts/bme280/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..049fac4c68b68ad1472dcd3cd92f0697fd4bd704 GIT binary patch literal 117074 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 z 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 P|GOwBr7T%4ZXEDG5zd32 literal 0 HcmV?d00001 diff --git a/library/parts/esp32-d0wdq6.ts b/library/parts/esp32-d0wdq6.ts new file mode 100644 index 0000000..a6153be --- /dev/null +++ b/library/parts/esp32-d0wdq6.ts @@ -0,0 +1,2228 @@ +/** + * Espressif ESP32-D0WDQ6 — datasheet-honest part definition. + * + * Primary source: ESP32 Series Datasheet v5.2 (2025.11) + * - Table 2-1 Pin Overview (pin numbers, names, functions — copied verbatim) + * - Table 2-5/2-6 Pin mapping between chip and flash/PSRAM + * - Table 3-1 Default configuration of strapping pins + * - Table 4-3/4-4 ADC characteristics and calibrated ranges + * - Table 4-6 Peripheral pin configurations (IO_MUX-fixed vs GPIO-matrix routable) + * - Table 5-1 Absolute maximum ratings (cumulative IO output current 1200 mA) + * - Table 5-2 Recommended power supply characteristics + * - Table 5-3 DC characteristics (I_OH per power domain, I_OL, 45 kΩ pulls) + * - Appendix A Notes on ESP32 pin lists (input-only pins, drive-strength options) + * Secondary sources are cited per-trait ("ESP32 TRM", "ESP32 Hardware Design + * Guidelines"); nothing below is carried over from convention or SDK defaults + * without attribution. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 49 physical pads (48 + exposed pad) are + * leaf interfaces, in package order, with ids "pin_N" and the datasheet + * pin name as the displayed name. + * - Every pin carries its verbatim datasheet function list (name, direction, + * routing) in an `esp32_pin_functions` trait — display data is separated + * from the canonical capability tags the matching engine needs. + * - Instances vs combinations: `max_instances` states how many controllers + * exist in silicon; slots + capability tags span the honest combination + * space (GPIO-matrix signals match any eligible pin via `matrix_in` / + * `matrix_out`); IO_MUX routings are captured as named profiles. + * - Co-requirements (`co_requirement` traits): ADC2 vs Wi-Fi, 40 MHz crystal + * for RF, MTDI strap vs VDD_SDIO voltage, 32K_XP/XN commitment, MTDO/GPIO5 + * strap vs SDIO-slave timing. + * - Implied harness connections (`implied_passives` traits): crystal load + * caps, BBPLL loop filter RC (datasheet-specified values), CHIP_PU reset + * RC, LNA π-matching network. + * - Shareability exemptions (`net_shareable` traits): the five analog supply + * pins are one decoupled net; a single supply instance may serve all of + * them (and GND is inherently shareable). + */ + +import type { + InterfaceDef, + ModuleDef, + SlotDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import { + Ground, + Pin, + PowerIn, + SPI, + UART, + I2C, + defineModule, + clockFreqHz, + resolutionBits, + voltageRangeV, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — Datasheet Tables 5-1, 5-2, 5-3 +// --------------------------------------------------------------------------- + +/** Table 5-2: VDDA / VDD3P3 / VDD3P3_RTC / VDD_SDIO(3.3 V mode); min 2.3 V for chips with no in-package flash (D0WDQ6). */ +const VDD_33_RANGE: [number, number] = [2.3, 3.6]; +/** Table 5-2: VDD3P3_CPU may run down to 1.8 V. */ +const VDD_CPU_RANGE: [number, number] = [1.8, 3.6]; +/** Table 5-2 + note 1: VDD_SDIO is 1.8 V (internal LDO) or tracks VDD3P3_RTC. */ +const VDD_SDIO_RANGE: [number, number] = [1.8, 3.6]; + +/** Table 5-3: I_OH at maximum drive strength, VDD3P3_CPU / VDD3P3_RTC domains. */ +const IOH_RTC_CPU_MA = 40; +/** Table 5-3: I_OH typ, VDD_SDIO domain (see note 3 derating below). */ +const IOH_SDIO_MA = 20; +/** Table 5-3: I_OL at maximum drive strength, all domains. */ +const IOL_MA = 28; +/** Table 5-3: internal weak pull-up / pull-down resistance. */ +const RPU_RPD_KOHM = 45; + +/** Appendix A note 8: per-pin drive strength options; default setting is 2 (≈20 mA). */ +const DRIVE_STRENGTH_TRAIT: TraitDef = { + type: "drive_strength_options", + params: { + options_mA: [5, 10, 20, 40], + default_mA: 20, + source: "ESP32 Series Datasheet v5.2, Appendix A.1 note 8", + }, +}; + +type Esp32PowerDomain = "VDD3P3_RTC" | "VDD3P3_CPU" | "VDD_SDIO"; + +const DOMAIN_VOLTAGE: Record = { + VDD3P3_RTC: VDD_33_RANGE, + VDD3P3_CPU: VDD_CPU_RANGE, + VDD_SDIO: VDD_SDIO_RANGE, +}; + +const DOMAIN_SOURCE_MA: Record = { + VDD3P3_RTC: IOH_RTC_CPU_MA, + VDD3P3_CPU: IOH_RTC_CPU_MA, + VDD_SDIO: IOH_SDIO_MA, +}; + +// --------------------------------------------------------------------------- +// Datasheet-honest per-pin function metadata +// --------------------------------------------------------------------------- + +/** How a function reaches the pad (Datasheet Table 4-6 / TRM IO_MUX chapter). */ +type Esp32Via = "io_mux" | "rtc_mux" | "analog" | "gpio_matrix"; + +interface Esp32Function { + /** Verbatim signal name from Datasheet Table 2-1 / Table 4-6. */ + name: string; + /** Datasheet Type column: I = input, O = output, "I/O" = bidirectional. */ + direction: "I" | "O" | "I/O"; + via: Esp32Via; + /** + * Optional display override for notation the plain name cannot carry + * (e.g. active-low overlines on other parts). Unused on the ESP32 but part + * of the honest-display contract. + */ + display?: string; + note?: string; +} + +interface Esp32GpioSpec { + pin: number; + /** Datasheet pin name (Table 2-1) — used as the displayed interface name. */ + name: string; + gpio: number; + domain: Esp32PowerDomain; + /** GPIO34–39: no output driver, no internal pull resistors (Appendix A note 2). */ + inputOnly?: boolean; + functions: Esp32Function[]; + /** Capability tags for IO_MUX-fixed signals (slot matching). */ + fixedCaps?: string[]; + adc?: { converter: 1 | 2; channel: number }; + dac?: 1 | 2; + touch?: number; + rtcGpio?: number; + /** Table 3-1 strapping defaults + Section 3 boot parameter it controls. */ + strapping?: { defaultPull: "pull-up" | "pull-down"; bitValue: 0 | 1; controls: string }; + /** Table 2-6: allocated to the external SPI flash on a normally-booting design. */ + flashReserved?: boolean; + notes?: string; +} + +function unique(values: string[]): string[] { + return [...new Set(values)]; +} + +/** Build one schematic-honest GPIO pad from its datasheet row. */ +function esp32Gpio(spec: Esp32GpioSpec): InterfaceDef { + const outputCapable = !spec.inputOnly; + + const base = Pin({ + id: `pin_${spec.pin}`, + name: spec.name, + pin: spec.pin, + voltageV: DOMAIN_VOLTAGE[spec.domain], + capabilities: { + inputOnly: spec.inputOnly, + interrupt: true, + pwm: outputCapable, // LEDC/MCPWM: any output-capable GPIO via GPIO matrix (Table 4-6) + analogIn: spec.adc !== undefined, + analogOut: spec.dac !== undefined, + touch: spec.touch !== undefined, + // I2C0/1 route via GPIO matrix to any output-capable GPIO (Table 4-6) + i2cSda: outputCapable, + i2cScl: outputCapable, + // UART0/1/2 route via GPIO matrix to any GPIO; TX/RTS need an output driver + uartRx: true, + uartCts: true, + uartTx: outputCapable, + uartRts: outputCapable, + }, + }); + + const capabilities = unique([ + ...(base.capabilities ?? []), + `gpio${spec.gpio}`, + // GPIO-matrix routability (Table 4-6 "Any GPIO Pins" rows): the honest + // combination space for TWAI / RMT / PCNT / I2S / EMAC MDC-MDIO / etc. + "matrix_in", + ...(outputCapable ? ["matrix_out"] : []), + ...(spec.adc ? [`adc${spec.adc.converter}_in`] : []), + ...(spec.dac ? ["dac_out"] : []), + ...(spec.rtcGpio !== undefined ? ["rtc_gpio"] : []), + ...(spec.fixedCaps ?? []), + ]); + + const parameters: Parameter[] = [ + ...(base.parameters ?? []), + ...(outputCapable + ? [ + { id: "source_current", name: "I_OH (max drive strength)", unit: "mA", value: DOMAIN_SOURCE_MA[spec.domain] }, + { id: "sink_current", name: "I_OL (max drive strength)", unit: "mA", value: IOL_MA }, + ] + : []), + ]; + + const traits: TraitDef[] = [ + { + type: "esp32_pin_functions", + params: { + source: "ESP32 Series Datasheet v5.2, Table 2-1 / Table 4-6", + functions: spec.functions, + ...(spec.notes ? { note: spec.notes } : {}), + }, + }, + { + type: "power_domain", + params: { + domain: spec.domain, + ...(spec.domain === "VDD_SDIO" + ? { note: "Pad voltage tracks VDD_SDIO: 1.8 V or VDD3P3_RTC depending on the MTDI strap / eFuse / register setting." } + : {}), + }, + }, + spec.inputOnly + ? { + type: "internal_pulls", + params: { + available: false, + reason: "GPIO34-39 have no output driver and no internal pull-up/pull-down circuitry (Appendix A.1 note 2).", + }, + } + : { + type: "internal_pulls", + params: { available: true, pull_up_kOhm: RPU_RPD_KOHM, pull_down_kOhm: RPU_RPD_KOHM, programmable: true }, + }, + ...(outputCapable ? [DRIVE_STRENGTH_TRAIT] : []), + ...(spec.domain === "VDD_SDIO" && outputCapable + ? [ + { + type: "current_derating", + params: { + rule: "VDD_SDIO-domain source current falls from ~30 mA to ~10 mA per pin as the number of simultaneously sourcing pins in the domain increases.", + source: "ESP32 Series Datasheet v5.2, Table 5-3 note 3", + }, + }, + ] + : []), + ...(spec.strapping + ? [ + { + type: "boot_strapping", + params: { + default_pull: spec.strapping.defaultPull, + bit_value: spec.strapping.bitValue, + controls: spec.strapping.controls, + sampling: "Latched on the rising edge of CHIP_PU; hold ≥1 ms after CHIP_PU is high (Table 3-2).", + source: "ESP32 Series Datasheet v5.2, Section 3 / Table 3-1", + }, + }, + ] + : []), + ...(spec.flashReserved + ? [ + { + type: "usage_restriction", + params: { + restriction: "Allocated to the external SPI flash on any normally-booting design (Table 2-6); repurposing breaks default ROM boot.", + exemption: "Free when the design boots from a flash wired to an alternative mapping — the restriction is conditional, not absolute.", + }, + }, + ] + : []), + ]; + + return { ...base, capabilities, parameters, traits }; +} + +// --------------------------------------------------------------------------- +// GPIO pads — Datasheet Table 2-1, in package pin order +// --------------------------------------------------------------------------- + +const GPIO_SPECS: Esp32GpioSpec[] = [ + { + pin: 5, name: "SENSOR_VP", gpio: 36, domain: "VDD3P3_RTC", inputOnly: true, + adc: { converter: 1, channel: 0 }, rtcGpio: 0, + functions: [ + { name: "GPIO36", direction: "I", via: "io_mux" }, + { name: "ADC1_CH0", direction: "I", via: "analog" }, + { name: "RTC_GPIO0", direction: "I", via: "rtc_mux" }, + ], + }, + { + pin: 6, name: "SENSOR_CAPP", gpio: 37, domain: "VDD3P3_RTC", inputOnly: true, + adc: { converter: 1, channel: 1 }, rtcGpio: 1, + functions: [ + { name: "GPIO37", direction: "I", via: "io_mux" }, + { name: "ADC1_CH1", direction: "I", via: "analog" }, + { name: "RTC_GPIO1", direction: "I", via: "rtc_mux" }, + ], + }, + { + pin: 7, name: "SENSOR_CAPN", gpio: 38, domain: "VDD3P3_RTC", inputOnly: true, + adc: { converter: 1, channel: 2 }, rtcGpio: 2, + functions: [ + { name: "GPIO38", direction: "I", via: "io_mux" }, + { name: "ADC1_CH2", direction: "I", via: "analog" }, + { name: "RTC_GPIO2", direction: "I", via: "rtc_mux" }, + ], + }, + { + pin: 8, name: "SENSOR_VN", gpio: 39, domain: "VDD3P3_RTC", inputOnly: true, + adc: { converter: 1, channel: 3 }, rtcGpio: 3, + functions: [ + { name: "GPIO39", direction: "I", via: "io_mux" }, + { name: "ADC1_CH3", direction: "I", via: "analog" }, + { name: "RTC_GPIO3", direction: "I", via: "rtc_mux" }, + ], + }, + { + pin: 10, name: "VDET_1", gpio: 34, domain: "VDD3P3_RTC", inputOnly: true, + adc: { converter: 1, channel: 6 }, rtcGpio: 4, + functions: [ + { name: "GPIO34", direction: "I", via: "io_mux" }, + { name: "ADC1_CH6", direction: "I", via: "analog" }, + { name: "RTC_GPIO4", direction: "I", via: "rtc_mux" }, + ], + }, + { + pin: 11, name: "VDET_2", gpio: 35, domain: "VDD3P3_RTC", inputOnly: true, + adc: { converter: 1, channel: 7 }, rtcGpio: 5, + functions: [ + { name: "GPIO35", direction: "I", via: "io_mux" }, + { name: "ADC1_CH7", direction: "I", via: "analog" }, + { name: "RTC_GPIO5", direction: "I", via: "rtc_mux" }, + ], + }, + { + pin: 12, name: "32K_XP", gpio: 32, domain: "VDD3P3_RTC", + adc: { converter: 1, channel: 4 }, touch: 9, rtcGpio: 9, + fixedCaps: ["xtal_32k_p"], + functions: [ + { name: "GPIO32", direction: "I/O", via: "io_mux" }, + { name: "ADC1_CH4", direction: "I", via: "analog" }, + { name: "RTC_GPIO9", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH9", direction: "I", via: "analog" }, + { name: "32K_XP", direction: "I", via: "analog", note: "32.768 kHz crystal oscillator input" }, + ], + }, + { + pin: 13, name: "32K_XN", gpio: 33, domain: "VDD3P3_RTC", + adc: { converter: 1, channel: 5 }, touch: 8, rtcGpio: 8, + fixedCaps: ["xtal_32k_n"], + functions: [ + { name: "GPIO33", direction: "I/O", via: "io_mux" }, + { name: "ADC1_CH5", direction: "I", via: "analog" }, + { name: "RTC_GPIO8", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH8", direction: "I", via: "analog" }, + { name: "32K_XN", direction: "O", via: "analog", note: "32.768 kHz crystal oscillator output" }, + ], + }, + { + pin: 14, name: "GPIO25", gpio: 25, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 8 }, dac: 1, rtcGpio: 6, + fixedCaps: ["emac_rxd0"], + functions: [ + { name: "GPIO25", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH8", direction: "I", via: "analog" }, + { name: "RTC_GPIO6", direction: "I/O", via: "rtc_mux" }, + { name: "DAC_1", direction: "O", via: "analog" }, + { name: "EMAC_RXD0", direction: "I", via: "io_mux" }, + ], + }, + { + pin: 15, name: "GPIO26", gpio: 26, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 9 }, dac: 2, rtcGpio: 7, + fixedCaps: ["emac_rxd1"], + functions: [ + { name: "GPIO26", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH9", direction: "I", via: "analog" }, + { name: "RTC_GPIO7", direction: "I/O", via: "rtc_mux" }, + { name: "DAC_2", direction: "O", via: "analog" }, + { name: "EMAC_RXD1", direction: "I", via: "io_mux" }, + ], + }, + { + pin: 16, name: "GPIO27", gpio: 27, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 7 }, touch: 7, rtcGpio: 17, + fixedCaps: ["emac_rx_dv"], + functions: [ + { name: "GPIO27", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH7", direction: "I", via: "analog" }, + { name: "RTC_GPIO17", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH7", direction: "I", via: "analog" }, + { name: "EMAC_RX_DV", direction: "I", via: "io_mux", note: "CRS_DV in RMII mode" }, + ], + }, + { + pin: 17, name: "MTMS", gpio: 14, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 6 }, touch: 6, rtcGpio: 16, + fixedCaps: ["spi_sck", "hspi_clk", "sdio_host_clk", "hs2_clk", "sdio_slave_clk", "jtag_tms", "emac_txd2"], + functions: [ + { name: "GPIO14", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH6", direction: "I", via: "analog" }, + { name: "RTC_GPIO16", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH6", direction: "I", via: "analog" }, + { name: "EMAC_TXD2", direction: "O", via: "io_mux" }, + { name: "HSPICLK", direction: "I/O", via: "io_mux" }, + { name: "HS2_CLK", direction: "O", via: "io_mux", note: "SDIO host port 2 clock" }, + { name: "SD_CLK", direction: "I", via: "io_mux", note: "SDIO slave clock" }, + { name: "MTMS", direction: "I", via: "io_mux", note: "JTAG TMS" }, + ], + }, + { + pin: 18, name: "MTDI", gpio: 12, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 5 }, touch: 5, rtcGpio: 15, + strapping: { defaultPull: "pull-down", bitValue: 0, controls: "Internal LDO (VDD_SDIO) voltage: low = 3.3 V (default), high = 1.8 V" }, + fixedCaps: ["spi_miso", "hspi_q", "sdio_host_data2", "hs2_data2", "sdio_slave_data2", "jtag_tdi", "emac_txd3"], + functions: [ + { name: "GPIO12", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH5", direction: "I", via: "analog" }, + { name: "RTC_GPIO15", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH5", direction: "I", via: "analog" }, + { name: "EMAC_TXD3", direction: "O", via: "io_mux" }, + { name: "HSPIQ", direction: "I/O", via: "io_mux" }, + { name: "HS2_DATA2", direction: "I/O", via: "io_mux" }, + { name: "SD_DATA2", direction: "I/O", via: "io_mux" }, + { name: "MTDI", direction: "I", via: "io_mux", note: "JTAG TDI" }, + ], + }, + { + pin: 20, name: "MTCK", gpio: 13, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 4 }, touch: 4, rtcGpio: 14, + fixedCaps: ["spi_mosi", "hspi_d", "sdio_host_data3", "hs2_data3", "sdio_slave_data3", "jtag_tck", "emac_rx_er"], + functions: [ + { name: "GPIO13", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH4", direction: "I", via: "analog" }, + { name: "RTC_GPIO14", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH4", direction: "I", via: "analog" }, + { name: "EMAC_RX_ER", direction: "I", via: "io_mux" }, + { name: "HSPID", direction: "I/O", via: "io_mux" }, + { name: "HS2_DATA3", direction: "I/O", via: "io_mux" }, + { name: "SD_DATA3", direction: "I/O", via: "io_mux" }, + { name: "MTCK", direction: "I", via: "io_mux", note: "JTAG TCK" }, + ], + }, + { + pin: 21, name: "MTDO", gpio: 15, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 3 }, touch: 3, rtcGpio: 13, + strapping: { defaultPull: "pull-up", bitValue: 1, controls: "U0TXD ROM-boot log printing; together with GPIO5, timing of the SDIO slave" }, + fixedCaps: ["spi_ss", "hspi_cs0", "sdio_host_cmd", "hs2_cmd", "sdio_slave_cmd", "jtag_tdo", "emac_rxd3"], + functions: [ + { name: "GPIO15", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH3", direction: "I", via: "analog" }, + { name: "RTC_GPIO13", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH3", direction: "I", via: "analog" }, + { name: "EMAC_RXD3", direction: "I", via: "io_mux" }, + { name: "HSPICS0", direction: "I/O", via: "io_mux" }, + { name: "HS2_CMD", direction: "I/O", via: "io_mux" }, + { name: "SD_CMD", direction: "I/O", via: "io_mux" }, + { name: "MTDO", direction: "O", via: "io_mux", note: "JTAG TDO" }, + ], + }, + { + pin: 22, name: "GPIO2", gpio: 2, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 2 }, touch: 2, rtcGpio: 12, + strapping: { defaultPull: "pull-down", bitValue: 0, controls: "Chip boot mode (together with GPIO0): must be low or floating to enter serial download mode" }, + fixedCaps: ["hspi_wp", "sdio_host_data0", "hs2_data0", "sdio_slave_data0"], + functions: [ + { name: "GPIO2", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH2", direction: "I", via: "analog" }, + { name: "RTC_GPIO12", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH2", direction: "I", via: "analog" }, + { name: "HSPIWP", direction: "I/O", via: "io_mux" }, + { name: "HS2_DATA0", direction: "I/O", via: "io_mux" }, + { name: "SD_DATA0", direction: "I/O", via: "io_mux" }, + ], + }, + { + pin: 23, name: "GPIO0", gpio: 0, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 1 }, touch: 1, rtcGpio: 11, + strapping: { defaultPull: "pull-up", bitValue: 1, controls: "Chip boot mode: high = SPI flash boot (default), low = serial download mode" }, + fixedCaps: ["emac_tx_clk", "clk_out"], + functions: [ + { name: "GPIO0", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH1", direction: "I", via: "analog" }, + { name: "RTC_GPIO11", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH1", direction: "I", via: "analog" }, + { name: "EMAC_TX_CLK", direction: "I", via: "io_mux", note: "MII TX clock in; RMII 50 MHz REF_CLK in, or CLK_OUT with internal PLL" }, + { name: "CLK_OUT1", direction: "O", via: "io_mux" }, + ], + }, + { + pin: 24, name: "GPIO4", gpio: 4, domain: "VDD3P3_RTC", + adc: { converter: 2, channel: 0 }, touch: 0, rtcGpio: 10, + fixedCaps: ["hspi_hd", "sdio_host_data1", "hs2_data1", "sdio_slave_data1", "emac_tx_er"], + functions: [ + { name: "GPIO4", direction: "I/O", via: "io_mux" }, + { name: "ADC2_CH0", direction: "I", via: "analog" }, + { name: "RTC_GPIO10", direction: "I/O", via: "rtc_mux" }, + { name: "TOUCH0", direction: "I", via: "analog" }, + { name: "EMAC_TX_ER", direction: "O", via: "io_mux" }, + { name: "HSPIHD", direction: "I/O", via: "io_mux" }, + { name: "HS2_DATA1", direction: "I/O", via: "io_mux" }, + { name: "SD_DATA1", direction: "I/O", via: "io_mux" }, + ], + }, + { + // Datasheet v5.2 Table 2-1 groups pins 25-33 under the VDD_SDIO power + // domain — GPIO16/GPIO17 are NOT VDD3P3_CPU pins. + pin: 25, name: "GPIO16", gpio: 16, domain: "VDD_SDIO", + fixedCaps: ["sdio_host_data4", "hs1_data4", "emac_clk_out"], + notes: "Unavailable on modules with in-package/off-package PSRAM (used as PSRAM CE#).", + functions: [ + { name: "GPIO16", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA4", direction: "I/O", via: "io_mux" }, + { name: "U2RXD", direction: "I", via: "io_mux" }, + { name: "EMAC_CLK_OUT", direction: "O", via: "io_mux" }, + ], + }, + { + pin: 27, name: "GPIO17", gpio: 17, domain: "VDD_SDIO", + fixedCaps: ["sdio_host_data5", "hs1_data5", "emac_clk_out_180"], + notes: "Unavailable on modules with in-package/off-package PSRAM (PSRAM SCLK option).", + functions: [ + { name: "GPIO17", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA5", direction: "I/O", via: "io_mux" }, + { name: "U2TXD", direction: "O", via: "io_mux" }, + { name: "EMAC_CLK_OUT_180", direction: "O", via: "io_mux" }, + ], + }, + { + pin: 28, name: "SD_DATA_2", gpio: 9, domain: "VDD_SDIO", flashReserved: true, + fixedCaps: ["spi01_hd", "sdio_host_data2", "hs1_data2", "sdio_slave_data2"], + functions: [ + { name: "GPIO9", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA2", direction: "I/O", via: "io_mux" }, + { name: "U1RXD", direction: "I", via: "io_mux" }, + { name: "SD_DATA2", direction: "I/O", via: "io_mux" }, + { name: "SPIHD", direction: "I/O", via: "io_mux", note: "Flash IO3/HOLD# (Table 2-6)" }, + ], + }, + { + pin: 29, name: "SD_DATA_3", gpio: 10, domain: "VDD_SDIO", flashReserved: true, + fixedCaps: ["spi01_wp", "sdio_host_data3", "hs1_data3", "sdio_slave_data3"], + functions: [ + { name: "GPIO10", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA3", direction: "I/O", via: "io_mux" }, + { name: "U1TXD", direction: "O", via: "io_mux" }, + { name: "SD_DATA3", direction: "I/O", via: "io_mux" }, + { name: "SPIWP", direction: "I/O", via: "io_mux", note: "Flash IO2/WP# (Table 2-6)" }, + ], + }, + { + pin: 30, name: "SD_CMD", gpio: 11, domain: "VDD_SDIO", flashReserved: true, + fixedCaps: ["spi01_cs0", "sdio_host_cmd", "hs1_cmd", "sdio_slave_cmd"], + functions: [ + { name: "GPIO11", direction: "I/O", via: "io_mux" }, + { name: "HS1_CMD", direction: "I/O", via: "io_mux" }, + { name: "U1RTS", direction: "O", via: "io_mux" }, + { name: "SD_CMD", direction: "I/O", via: "io_mux" }, + { name: "SPICS0", direction: "I/O", via: "io_mux", note: "Flash CS# (Table 2-6)" }, + ], + }, + { + pin: 31, name: "SD_CLK", gpio: 6, domain: "VDD_SDIO", flashReserved: true, + fixedCaps: ["spi01_clk", "sdio_host_clk", "hs1_clk", "sdio_slave_clk"], + functions: [ + { name: "GPIO6", direction: "I/O", via: "io_mux" }, + { name: "HS1_CLK", direction: "O", via: "io_mux" }, + { name: "U1CTS", direction: "I", via: "io_mux" }, + { name: "SD_CLK", direction: "I", via: "io_mux" }, + { name: "SPICLK", direction: "I/O", via: "io_mux", note: "Flash CLK (Table 2-6)" }, + ], + }, + { + pin: 32, name: "SD_DATA_0", gpio: 7, domain: "VDD_SDIO", flashReserved: true, + fixedCaps: ["spi01_q", "sdio_host_data0", "hs1_data0", "sdio_slave_data0"], + functions: [ + { name: "GPIO7", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA0", direction: "I/O", via: "io_mux" }, + { name: "U2RTS", direction: "O", via: "io_mux" }, + { name: "SD_DATA0", direction: "I/O", via: "io_mux" }, + { name: "SPIQ", direction: "I/O", via: "io_mux", note: "Flash IO1/DO (Table 2-6)" }, + ], + }, + { + pin: 33, name: "SD_DATA_1", gpio: 8, domain: "VDD_SDIO", flashReserved: true, + fixedCaps: ["spi01_d", "sdio_host_data1", "hs1_data1", "sdio_slave_data1"], + functions: [ + { name: "GPIO8", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA1", direction: "I/O", via: "io_mux" }, + { name: "U2CTS", direction: "I", via: "io_mux" }, + { name: "SD_DATA1", direction: "I/O", via: "io_mux" }, + { name: "SPID", direction: "I/O", via: "io_mux", note: "Flash IO0/DI (Table 2-6)" }, + ], + }, + { + pin: 34, name: "GPIO5", gpio: 5, domain: "VDD3P3_CPU", + strapping: { defaultPull: "pull-up", bitValue: 1, controls: "Together with MTDO, timing of the SDIO slave" }, + fixedCaps: ["spi_ss", "vspi_cs0", "sdio_host_data6", "hs1_data6", "emac_rx_clk"], + functions: [ + { name: "GPIO5", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA6", direction: "I/O", via: "io_mux" }, + { name: "VSPICS0", direction: "I/O", via: "io_mux" }, + { name: "EMAC_RX_CLK", direction: "I", via: "io_mux", note: "MII only" }, + ], + }, + { + pin: 35, name: "GPIO18", gpio: 18, domain: "VDD3P3_CPU", + fixedCaps: ["spi_sck", "vspi_clk", "sdio_host_data7", "hs1_data7"], + functions: [ + { name: "GPIO18", direction: "I/O", via: "io_mux" }, + { name: "HS1_DATA7", direction: "I/O", via: "io_mux" }, + { name: "VSPICLK", direction: "I/O", via: "io_mux" }, + ], + }, + { + pin: 36, name: "GPIO23", gpio: 23, domain: "VDD3P3_CPU", + fixedCaps: ["spi_mosi", "vspi_d", "sdio_host_strobe", "hs1_strobe"], + functions: [ + { name: "GPIO23", direction: "I/O", via: "io_mux" }, + { name: "HS1_STROBE", direction: "I", via: "io_mux" }, + { name: "VSPID", direction: "I/O", via: "io_mux" }, + ], + }, + { + pin: 38, name: "GPIO19", gpio: 19, domain: "VDD3P3_CPU", + fixedCaps: ["spi_miso", "vspi_q", "emac_txd0"], + functions: [ + { name: "GPIO19", direction: "I/O", via: "io_mux" }, + { name: "U0CTS", direction: "I", via: "io_mux" }, + { name: "VSPIQ", direction: "I/O", via: "io_mux" }, + { name: "EMAC_TXD0", direction: "O", via: "io_mux" }, + ], + }, + { + pin: 39, name: "GPIO22", gpio: 22, domain: "VDD3P3_CPU", + fixedCaps: ["vspi_wp", "emac_txd1"], + functions: [ + { name: "GPIO22", direction: "I/O", via: "io_mux" }, + { name: "U0RTS", direction: "O", via: "io_mux" }, + { name: "VSPIWP", direction: "I/O", via: "io_mux" }, + { name: "EMAC_TXD1", direction: "O", via: "io_mux" }, + ], + }, + { + pin: 40, name: "U0RXD", gpio: 3, domain: "VDD3P3_CPU", + fixedCaps: ["clk_out"], + notes: "Default UART0 RX — used by the ROM bootloader for flashing.", + functions: [ + { name: "GPIO3", direction: "I/O", via: "io_mux" }, + { name: "U0RXD", direction: "I", via: "io_mux" }, + { name: "CLK_OUT2", direction: "O", via: "io_mux" }, + ], + }, + { + pin: 41, name: "U0TXD", gpio: 1, domain: "VDD3P3_CPU", + fixedCaps: ["clk_out", "emac_rxd2"], + notes: "Default UART0 TX — the ROM bootloader prints on this pin at reset unless silenced by the MTDO strap.", + functions: [ + { name: "GPIO1", direction: "I/O", via: "io_mux" }, + { name: "U0TXD", direction: "O", via: "io_mux" }, + { name: "CLK_OUT3", direction: "O", via: "io_mux" }, + { name: "EMAC_RXD2", direction: "I", via: "io_mux" }, + ], + }, + { + pin: 42, name: "GPIO21", gpio: 21, domain: "VDD3P3_CPU", + fixedCaps: ["vspi_hd", "emac_tx_en"], + functions: [ + { name: "GPIO21", direction: "I/O", via: "io_mux" }, + { name: "VSPIHD", direction: "I/O", via: "io_mux" }, + { name: "EMAC_TX_EN", direction: "O", via: "io_mux" }, + ], + }, +]; + +const gpioPads: InterfaceDef[] = GPIO_SPECS.map(esp32Gpio); + +// --------------------------------------------------------------------------- +// Power, RF, crystal, and analog service pads — Datasheet Table 2-1 +// --------------------------------------------------------------------------- + +/** The five analog supply pads (1, 3, 4, 43, 46) sit on one decoupled 3.3 V net. */ +function analogSupplyPin(pinNo: number, name: string): InterfaceDef { + const base = PowerIn({ + id: `pin_${pinNo}`, + name, + pin: pinNo, + voltageV: VDD_33_RANGE, + nominalV: 3.3, + }); + return { + ...base, + capabilities: ["power_in", "analog_supply"], + traits: [ + { type: "power_domain", params: { domain: "VDDA (analog power domain)" } }, + { + // Shareability exemption: one supply instance may legally serve all + // five pads — pin-usage exclusivity does not apply to a shared rail. + type: "net_shareable", + params: { + net: "esp32_analog_3v3", + policy: "single_supply_instance_may_serve_all_members", + members: ["pin_1", "pin_3", "pin_4", "pin_43", "pin_46"], + }, + }, + { + type: "implied_passives", + params: { + purpose: "Supply decoupling", + components: [{ kind: "capacitor", value: "100 nF", connection: "pin to GND, close to the pad" }], + source: "ESP32 Hardware Design Guidelines", + }, + }, + ], + }; +} + +const powerAndServicePads: InterfaceDef[] = [ + analogSupplyPin(1, "VDDA"), + + { + id: "pin_2", + name: "LNA_IN", + pin: 2, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "rf", roles: ["transceiver"] }], + capabilities: ["rf_2g4_antenna_feed"], + parameters: [ + // Table 5-6 note 2: Wi-Fi radio output impedance for the QFN 6*6 package. + { id: "impedance", name: "Radio output impedance (real part)", unit: "Ω", value: 30 }, + { id: "frequency", unit: "Hz", range: [2_400_000_000, 2_484_000_000] }, + ], + traits: [ + { + type: "rf_port", + params: { + description: "Low Noise Amplifier (LNA) input signal, Power Amplifier (PA) output signal — shared Wi-Fi/Bluetooth feed.", + output_impedance: "30 + j10 Ω (QFN 6*6 package)", + source: "ESP32 Series Datasheet v5.2, Table 2-2 / Table 5-6 note 2", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Impedance matching from 30 + j10 Ω to a 50 Ω antenna", + components: [{ kind: "pi_network", value: "CLC π-matching network, values per board layout", connection: "LNA_IN to antenna" }], + source: "ESP32 Hardware Design Guidelines", + }, + }, + ], + bridgesTo: ["wifi_radio", "bluetooth_radio"], + }, + + analogSupplyPin(3, "VDD3P3"), + analogSupplyPin(4, "VDD3P3"), + + { + id: "pin_9", + name: "CHIP_PU", + pin: 9, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["chip_enable", "reset_input"], + parameters: [ + { id: "voltage", unit: "V", range: VDD_33_RANGE }, + // Table 5-3: V_IL_nRST — low level that shuts the chip down. + { id: "reset_low_threshold", name: "V_IL_nRST (max)", unit: "V", value: 0.6 }, + ], + traits: [ + { + type: "esp32_pin_functions", + params: { + source: "ESP32 Series Datasheet v5.2, Table 2-1 / 2-2", + functions: [ + { name: "CHIP_PU", direction: "I", via: "analog", note: "High: on, enables the chip. Low: off, the chip powers down. Do not leave floating." }, + ], + }, + }, + { type: "internal_pulls", params: { available: false, reason: "CHIP_PU has no internal pull — it must be driven or pulled externally." } }, + { + type: "power_up_timing", + params: { + t_STBL_min_us: 50, + t_RST_min_us: 50, + description: "Rails must be stable ≥50 µs before CHIP_PU rises; hold below V_IL_nRST ≥50 µs to reset.", + source: "ESP32 Series Datasheet v5.2, Table 2-4", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Clean power-on reset", + components: [ + { kind: "resistor", value: "10 kΩ", connection: "CHIP_PU to VDD3P3_RTC" }, + { kind: "capacitor", value: "1 nF", connection: "CHIP_PU to GND" }, + ], + source: "ESP32 Hardware Design Guidelines", + }, + }, + ], + }, + + PowerIn({ id: "pin_19", name: "VDD3P3_RTC", pin: 19, voltageV: VDD_33_RANGE, nominalV: 3.3 }), + + { + id: "pin_26", + name: "VDD_SDIO", + pin: 26, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input", "output"] }], + capabilities: ["vdd_sdio"], + parameters: [{ id: "voltage", unit: "V", value: 3.3, range: VDD_SDIO_RANGE }], + traits: [ + { + type: "internal_regulator", + params: { + description: "Output of the internal SDIO-LDO: 1.8 V, or the same voltage as VDD3P3_RTC. May instead be driven by an external supply (the LDO disables automatically).", + source: "ESP32 Series Datasheet v5.2, Table 2-1 / Appendix A.1 note 3", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_18", + condition: "MTDI strap sampled at reset", + effect: "MTDI low (default pull-down) selects 3.3 V; MTDI high selects 1.8 V. eFuse bits EFUSE_SDIO_FORCE / EFUSE_SDIO_TIEH override; software can reconfigure at runtime.", + source: "ESP32 Series Datasheet v5.2, Section 3", + }, + }, + ], + }, + + PowerIn({ id: "pin_37", name: "VDD3P3_CPU", pin: 37, voltageV: VDD_CPU_RANGE, nominalV: 3.3 }), + + analogSupplyPin(43, "VDDA"), + + { + id: "pin_44", + name: "XTAL_N", + pin: 44, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "clock", roles: ["output"] }], + capabilities: ["xtal_n"], + parameters: [{ id: "clock_freq", unit: "Hz", range: [2_000_000, 60_000_000] }], + traits: [ + { type: "esp32_pin_functions", params: { source: "Datasheet v5.2 Table 2-1/2-2", functions: [{ name: "XTAL_N", direction: "O", via: "analog", note: "External crystal output (differential clock negative)" }] } }, + ], + }, + { + id: "pin_45", + name: "XTAL_P", + pin: 45, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "clock", roles: ["input"] }], + capabilities: ["xtal_p"], + parameters: [{ id: "clock_freq", unit: "Hz", range: [2_000_000, 60_000_000] }], + traits: [ + { type: "esp32_pin_functions", params: { source: "Datasheet v5.2 Table 2-1/2-2", functions: [{ name: "XTAL_P", direction: "I", via: "analog", note: "External crystal input (differential clock positive)" }] } }, + ], + }, + + analogSupplyPin(46, "VDDA"), + + { + id: "pin_47", + name: "CAP2", + pin: 47, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "analog", roles: ["input"] }], + capabilities: ["bbpll_cap2"], + traits: [ + { + type: "implied_passives", + params: { + purpose: "BBPLL loop filter", + components: [ + { kind: "capacitor", value: "3.3 nF (10%)", connection: "CAP2 to CAP1 (in parallel with the resistor)" }, + { kind: "resistor", value: "20 kΩ", connection: "CAP2 to CAP1" }, + ], + source: "ESP32 Series Datasheet v5.2, Table 2-1 (verbatim: 'Connects to a 3.3 nF (10%) capacitor and 20 kΩ resistor in parallel to CAP1')", + }, + }, + ], + }, + { + id: "pin_48", + name: "CAP1", + pin: 48, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "analog", roles: ["input"] }], + capabilities: ["bbpll_cap1"], + traits: [ + { + type: "implied_passives", + params: { + purpose: "BBPLL loop filter", + components: [{ kind: "capacitor", value: "10 nF", connection: "CAP1 in series to GND" }], + source: "ESP32 Series Datasheet v5.2, Table 2-1 (verbatim: 'Connects to a 10 nF series capacitor to ground')", + }, + }, + ], + }, + + { + ...Ground({ id: "pin_49", name: "GND", pin: 49, maxCurrentA: 1.2 }), + traits: [ + { + type: "current_rating_basis", + params: { + note: "1.2 A is the absolute-maximum cumulative IO output current (Table 5-1), returned through the exposed pad — not a recommended operating point.", + }, + }, + { + type: "net_shareable", + params: { net: "gnd", policy: "single_ground_instance_may_serve_all_members" }, + }, + { + type: "assembly_requirement", + params: { + note: "The exposed pad is the only ground return and the primary heat path — solder to the PCB ground plane with a via array.", + source: "ESP32 Hardware Design Guidelines", + }, + }, + ], + }, +]; + +/** All 49 pads, sorted into physical package order — schematic-honest. */ +const pins: InterfaceDef[] = [...powerAndServicePads, ...gpioPads].sort( + (a, b) => Number(a.pin ?? 0) - Number(b.pin ?? 0), +); + +// --------------------------------------------------------------------------- +// Peripheral controllers +// --------------------------------------------------------------------------- + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +/** Table 4-4: calibrated effective measurement ranges per attenuation setting. */ +const ADC_ATTENUATION_TRAIT: TraitDef = { + type: "adc_attenuation_ranges", + params: { + source: "ESP32 Series Datasheet v5.2, Table 4-4 (after eFuse-Vref calibration)", + ranges: [ + { atten: 0, effective_range_mV: [100, 950], total_error_mV: 23 }, + { atten: 1, effective_range_mV: [100, 1250], total_error_mV: 30 }, + { atten: 2, effective_range_mV: [150, 1750], total_error_mV: 40 }, + { atten: 3, effective_range_mV: [150, 2450], total_error_mV: 60 }, + ], + note: "Above ~2450 mV (raw reading > 3000) at atten 3, accuracy degrades beyond the table (Table 4-3 note). ±6% chip-to-chip spread before calibration.", + }, +}; + +const adc1 = composed({ + id: "adc1", + name: "ADC1", + protocolType: "analog", + roles: ["input"], + parameters: [ + resolutionBits(12), + voltageRangeV(0.1, 2.45), // widest calibrated effective range (atten 3) + { id: "sample_rate", name: "Sampling rate (DIG controller)", unit: "Hz", value: 2_000_000 }, + { id: "sample_rate_rtc", name: "Sampling rate (RTC controller)", unit: "Hz", value: 200_000 }, + ], + slots: [ + { id: "channel", required: true, count: 8, match: { protocol: "analog", role: "input", capability: "adc1_in" } }, + ], + profiles: [ + { + id: "adc1_channels", + label: "ADC1_CH0-CH7 (fixed analog pads)", + bindings: { + channel: ["pin_5", "pin_6", "pin_7", "pin_8", "pin_12", "pin_13", "pin_10", "pin_11"], + }, + }, + ], + maxInstances: 1, + traits: [ + ADC_ATTENUATION_TRAIT, + { type: "channels", params: { count: 8, mapping: "CH0=SENSOR_VP, CH1=SENSOR_CAPP, CH2=SENSOR_CAPN, CH3=SENSOR_VN, CH4=32K_XP, CH5=32K_XN, CH6=VDET_1, CH7=VDET_2" } }, + { type: "low_power_capable", params: { note: "Usable by the ULP coprocessor during sleep (RTC controller, ≤200 ksps)." } }, + ], +}); + +const adc2 = composed({ + id: "adc2", + name: "ADC2", + protocolType: "analog", + roles: ["input"], + parameters: [ + resolutionBits(12), + voltageRangeV(0.1, 2.45), + { id: "sample_rate", name: "Sampling rate (DIG controller)", unit: "Hz", value: 2_000_000 }, + { id: "sample_rate_rtc", name: "Sampling rate (RTC controller)", unit: "Hz", value: 200_000 }, + ], + slots: [ + { id: "channel", required: true, count: 10, match: { protocol: "analog", role: "input", capability: "adc2_in" } }, + ], + profiles: [ + { + id: "adc2_channels", + label: "ADC2_CH0-CH9 (fixed analog pads)", + bindings: { + channel: ["pin_24", "pin_23", "pin_22", "pin_21", "pin_20", "pin_18", "pin_17", "pin_16", "pin_14", "pin_15"], + }, + }, + ], + maxInstances: 1, + traits: [ + ADC_ATTENUATION_TRAIT, + { type: "channels", params: { count: 10, mapping: "CH0=GPIO4, CH1=GPIO0, CH2=GPIO2, CH3=MTDO, CH4=MTCK, CH5=MTDI, CH6=MTMS, CH7=GPIO27, CH8=GPIO25, CH9=GPIO26" } }, + { + // The canonical co-requirement example: a second converter instance + // exists, but it is conditioned on the radio being idle. + type: "co_requirement", + params: { + with: "wifi_radio", + condition: "Wi-Fi active", + effect: "ADC2 is used by the Wi-Fi driver and cannot be read while Wi-Fi is active — schedule reads when the radio is idle, or use ADC1.", + source: "ESP32 TRM (On-Chip Sensors); Datasheet Table 4-3 specifies ADC characteristics with 'Wi-Fi & Bluetooth off'", + }, + }, + ], +}); + +const dac = composed({ + id: "dac", + name: "DAC", + protocolType: "analog", + roles: ["output"], + parameters: [resolutionBits(8), voltageRangeV(0, 3.3)], + slots: [ + { id: "channel", required: true, count: 2, match: { protocol: "analog", role: "output", capability: "dac_out" } }, + ], + profiles: [ + { id: "dac_channels", label: "DAC_1 (GPIO25) / DAC_2 (GPIO26)", bindings: { channel: ["pin_14", "pin_15"] } }, + ], + maxInstances: 1, + traits: [ + { type: "channels", params: { count: 2, mapping: "DAC_1=GPIO25, DAC_2=GPIO26", note: "Independent conversions; supply-referenced (VDD as reference)." } }, + ], +}); + +const touch = composed({ + id: "touch", + name: "Capacitive Touch Sensor", + protocolType: "capacitive_touch", + roles: ["input"], + slots: [{ id: "channel", required: true, count: 10, match: { capability: "touch" } }], + profiles: [ + { + id: "touch_channels", + label: "T0-T9 (fixed analog pads)", + bindings: { + channel: ["pin_24", "pin_23", "pin_22", "pin_21", "pin_20", "pin_18", "pin_17", "pin_16", "pin_13", "pin_12"], + }, + }, + ], + maxInstances: 1, + traits: [ + { type: "channels", params: { count: 10, mapping: "T0=GPIO4, T1=GPIO0, T2=GPIO2, T3=MTDO, T4=MTCK, T5=MTDI, T6=MTMS, T7=GPIO27, T8=32K_XN, T9=32K_XP" } }, + { + type: "qualification_note", + params: { + note: "The ESP32 touch sensor has not passed the Conducted Susceptibility (CS) test and thus has limited application scenarios.", + source: "ESP32 Series Datasheet v5.2, Section 4.10 note", + }, + }, + ], +}); + +const rtcGpio = composed({ + id: "rtc_gpio", + name: "RTC GPIO", + protocolType: "digital", + roles: ["input", "output"], + slots: [{ id: "channel", required: true, count: 18, match: { capability: "rtc_gpio" } }], + profiles: [ + { + id: "rtc_gpio_channels", + label: "RTC_GPIO0-17", + bindings: { + channel: [ + "pin_5", "pin_6", "pin_7", "pin_8", "pin_10", "pin_11", // RTC_GPIO0-5 + "pin_14", "pin_15", "pin_13", "pin_12", // RTC_GPIO6-9 + "pin_24", "pin_23", "pin_22", "pin_21", "pin_20", "pin_18", "pin_17", "pin_16", // RTC_GPIO10-17 + ], + }, + }, + ], + maxInstances: 1, + traits: [ + { type: "channels", params: { count: 18, note: "VDD3P3_RTC-domain pads that stay functional in Deep-sleep — e.g. as wake-up sources (Appendix A.1 note 5)." } }, + ], +}); + +// I²C — two controllers; pins route to any output-capable GPIO via the GPIO +// matrix (Table 4-6: "Any GPIO Pins"). No IO_MUX default exists — the +// GPIO21/GPIO22 pairing seen on dev boards is an SDK convention, not silicon. +const I2C_TRAITS: TraitDef[] = [ + { type: "display_notation", params: { latex: "I^{2}C" } }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 2, + routing: "gpio_matrix", + combination_space: "SDA: any output-capable GPIO (open-drain needs a driver); SCL: any output-capable GPIO.", + note: "No IO_MUX default pins. GPIO21/GPIO22 is an ESP-IDF/Arduino convention only.", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Open-drain bus pull-ups", + components: [{ kind: "resistor", value: "typ. 2.2-10 kΩ (bus-speed dependent)", connection: "SDA and SCL to the bus supply" }], + source: "I²C bus specification; datasheet notes speeds >400 kbit/s are 'constrained by SDA pull-up strength'", + }, + }, +]; + +const i2c0 = amend( + I2C({ id: "i2c0", instance: 0, name: "I²C0", roles: ["master", "slave"], clockFreqHz: [100_000, 5_000_000], maxInstances: 1 }), + "i2c0", + I2C_TRAITS, +); +const i2c1 = amend( + I2C({ id: "i2c1", instance: 1, name: "I²C1", roles: ["master", "slave"], clockFreqHz: [100_000, 5_000_000], maxInstances: 1 }), + "i2c1", + I2C_TRAITS, +); + +// SPI0/SPI1 — the flash bus. SPI0 is the cache controller, SPI1 the user +// master on the same pins; both are pinned to the SD_* pads via IO_MUX. +const qspiFlash = composed({ + id: "spi01_flash", + name: "SPI0/SPI1 Flash Bus", + protocolType: "spi", + roles: ["master"], + parameters: [clockFreqHz([0, 80_000_000])], + slots: [ + { id: "sck", required: true, match: { protocol: "spi", role: "clock", capability: "spi01_clk" } }, + { id: "cs", required: true, match: { protocol: "spi", role: "select", capability: "spi01_cs0" } }, + { id: "io0", required: true, match: { protocol: "spi", role: "data_out", capability: "spi01_d" } }, + { id: "io1", required: true, match: { protocol: "spi", role: "data_in", capability: "spi01_q" } }, + { id: "io2", required: false, match: { capability: "spi01_wp" } }, + { id: "io3", required: false, match: { capability: "spi01_hd" } }, + ], + profiles: [ + { + id: "spi01_flash_iomux", + label: "Off-package flash wiring (Table 2-6)", + default_active: true, + bindings: { + sck: "pin_31", // SPICLK -> flash CLK + cs: "pin_30", // SPICS0 -> flash CS# + io0: "pin_33", // SPID -> flash IO0/DI + io1: "pin_32", // SPIQ -> flash IO1/DO + io2: "pin_29", // SPIWP -> flash IO2/WP# + io3: "pin_28", // SPIHD -> flash IO3/HOLD# + }, + }, + ], + maxInstances: 1, + defaultActive: true, + traits: [ + { type: "spi_modes", params: { modes: ["Standard SPI", "Dual SPI", "Quad SPI"], note: "Connects external flash and SRAM (Section 4.10 'Parallel QSPI')." } }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "io_mux_fixed", + combination_space: "Exactly one pin set — the flash bus is not matrix-routable.", + }, + }, + ], +}); + +const SPI_USER_TRAITS = (busName: string, iomux: string): TraitDef[] => [ + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "io_mux_preferred", + combination_space: `IO_MUX pins (${iomux}) reach full speed; per the ESP32 TRM the ${busName} signals may also route through the GPIO matrix to other pins at reduced clock (≤40 MHz).`, + source: "Datasheet Section 4.8.2; ESP32 TRM, SPI Controller chapter", + }, + }, +]; + +const hspi = amend( + SPI({ + id: "hspi", + name: "HSPI (SPI2)", + roles: ["master", "slave"], + clockFreqHz: [0, 80_000_000], + maxInstances: 1, + profiles: [ + { id: "hspi_iomux", label: "HSPI IO_MUX (GPIO12-15)", mosi: "pin_20", miso: "pin_18", sck: "pin_17", ss: "pin_21" }, + ], + }), + "hspi", + SPI_USER_TRAITS("HSPI", "GPIO2, GPIO4, GPIO12-15"), +); + +const vspi = amend( + SPI({ + id: "vspi", + name: "VSPI (SPI3)", + roles: ["master", "slave"], + clockFreqHz: [0, 80_000_000], + maxInstances: 1, + profiles: [ + { id: "vspi_iomux", label: "VSPI IO_MUX (GPIO5, 18, 19, 23)", mosi: "pin_36", miso: "pin_38", sck: "pin_35", ss: "pin_34" }, + ], + }), + "vspi", + SPI_USER_TRAITS("VSPI", "GPIO5, GPIO18-19, GPIO21-23"), +); + +// UARTs — three controllers, any GPIO via the GPIO matrix; the profiles below +// are the IO_MUX (full-speed, default) routings from Table 2-1. +const UART_TRAITS = (n: number, iomuxNote: string): TraitDef[] => [ + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "gpio_matrix", + combination_space: "RX/CTS: any GPIO (input path); TX/RTS: any output-capable GPIO.", + iomux_default: iomuxNote, + source: "ESP32 Series Datasheet v5.2, Section 4.8.3 / Table 2-1", + }, + }, + ...(n === 1 + ? [{ + type: "co_requirement", + params: { + with: "spi01_flash", + condition: "UART1 on its IO_MUX pins (GPIO9/GPIO10)", + effect: "The UART1 IO_MUX pins are the flash SPIHD/SPIWP pads — on any flash-booting design UART1 must be matrix-routed to other pins.", + }, + } satisfies TraitDef] + : []), +]; + +const uart0 = amend( + UART({ + id: "uart0", + name: "UART0", + roles: ["host", "device"], + baudRate: [0, 5_000_000], + maxInstances: 1, + profiles: [ + { id: "uart0_iomux", label: "UART0 IO_MUX (GPIO1/3, RTS GPIO22, CTS GPIO19)", rx: "pin_40", tx: "pin_41", rts: "pin_39", cts: "pin_38" }, + ], + }), + "uart0", + [ + ...UART_TRAITS(0, "U0RXD=GPIO3 (pin 40), U0TXD=GPIO1 (pin 41), U0RTS=GPIO22, U0CTS=GPIO19"), + { type: "boot_console", params: { note: "UART0 is the ROM bootloader console: flashing uses U0RXD/U0TXD; boot log printing on U0TXD is controlled by the MTDO strap." } }, + ], +); + +const uart1 = amend( + UART({ + id: "uart1", + name: "UART1", + roles: ["host", "device"], + baudRate: [0, 5_000_000], + maxInstances: 1, + profiles: [ + { id: "uart1_iomux", label: "UART1 IO_MUX (GPIO9/10, RTS GPIO11, CTS GPIO6 — conflicts with flash)", rx: "pin_28", tx: "pin_29", rts: "pin_30", cts: "pin_31" }, + ], + }), + "uart1", + UART_TRAITS(1, "U1RXD=GPIO9 (pin 28), U1TXD=GPIO10 (pin 29), U1RTS=GPIO11, U1CTS=GPIO6"), +); + +const uart2 = amend( + UART({ + id: "uart2", + name: "UART2", + roles: ["host", "device"], + baudRate: [0, 5_000_000], + maxInstances: 1, + profiles: [ + { id: "uart2_iomux", label: "UART2 IO_MUX (GPIO16/17, RTS GPIO7, CTS GPIO8)", rx: "pin_25", tx: "pin_27", rts: "pin_32", cts: "pin_33" }, + ], + }), + "uart2", + UART_TRAITS(2, "U2RXD=GPIO16 (pin 25), U2TXD=GPIO17 (pin 27), U2RTS=GPIO7, U2CTS=GPIO8"), +); + +/** Matrix-routed peripheral helper: signals reach any eligible GPIO. */ +function matrixPeripheral(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + maxInstances: number; + parameters?: Parameter[]; + traits?: TraitDef[]; +}): InterfaceDef { + return composed({ ...config }); +} + +const i2sTraits = (n: number): TraitDef[] => [ + { + type: "instance_combinations", + params: { + instances_in_silicon: 2, + routing: "gpio_matrix", + combination_space: "All I2S signals route to any eligible GPIO via the GPIO matrix.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.5", + }, + }, + { + type: "operating_modes", + params: { + modes: ["master", "slave", "full-duplex", "half-duplex", "PDM in/out", ...(n === 0 ? ["parallel LCD data output", "parallel camera data input"] : ["parallel LCD data output"])], + source: "ESP32 Series Datasheet v5.2, Section 4.8.5 / Table 4-6", + }, + }, +]; + +const i2s0 = matrixPeripheral({ + id: "i2s0", + name: "I²S0", + protocolType: "i2s", + roles: ["master", "slave"], + slots: [ + { id: "bck", required: false, match: { capability: "matrix_out" } }, + { id: "ws", required: false, match: { capability: "matrix_out" } }, + { id: "data_out", required: false, match: { capability: "matrix_out" } }, + { id: "data_in", required: false, match: { capability: "matrix_in" } }, + { id: "mclk", required: false, label: "I2S0_CLK", match: { capability: "clk_out" } }, + ], + maxInstances: 1, + traits: [...i2sTraits(0), { type: "display_notation", params: { latex: "I^{2}S0" } }], +}); + +const i2s1 = matrixPeripheral({ + id: "i2s1", + name: "I²S1", + protocolType: "i2s", + roles: ["master", "slave"], + slots: [ + { id: "bck", required: false, match: { capability: "matrix_out" } }, + { id: "ws", required: false, match: { capability: "matrix_out" } }, + { id: "data_out", required: false, match: { capability: "matrix_out" } }, + { id: "data_in", required: false, match: { capability: "matrix_in" } }, + ], + maxInstances: 1, + traits: [...i2sTraits(1), { type: "display_notation", params: { latex: "I^{2}S1" } }], +}); + +const ledc = matrixPeripheral({ + id: "ledc", + name: "LED PWM Controller (LEDC)", + protocolType: "pwm", + roles: ["output"], + parameters: [ + { id: "resolution", name: "Max duty-cycle resolution", unit: "dimensionless", value: 20 }, + ], + slots: [ + { id: "channel", required: false, count: 16, match: { protocol: "pwm", role: "output", capability: "pwm_out" } }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 16, + detail: "Eight high-speed (ledc_hs_sig_out0-7, 80 MHz clock) + eight low-speed (ledc_ls_sig_out0-7) generators sharing eight 20-bit timers.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.8 / Table 4-6", + }, + }, + { + type: "instance_combinations", + params: { instances_in_silicon: 1, routing: "gpio_matrix", combination_space: "Any output-capable GPIO per channel." }, + }, + ], +}); + +const mcpwmTraits: TraitDef[] = [ + { + type: "channels", + params: { + count: 6, + detail: "Three PWM operators generating waveform pairs (six outputs), three fault-detection inputs, three sync inputs, three 32-bit capture channels.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.9", + }, + }, + { + type: "instance_combinations", + params: { instances_in_silicon: 2, routing: "gpio_matrix", combination_space: "Any output-capable GPIO for outputs; any GPIO for fault/sync/capture inputs." }, + }, +]; + +function mcpwm(n: 0 | 1): InterfaceDef { + return matrixPeripheral({ + id: `mcpwm${n}`, + name: `Motor Control PWM ${n} (MCPWM${n})`, + protocolType: "pwm", + roles: ["output"], + slots: [ + { id: "pwm_out", required: false, count: 6, match: { protocol: "pwm", role: "output", capability: "pwm_out" } }, + { id: "fault_in", required: false, count: 3, match: { capability: "matrix_in" } }, + { id: "sync_in", required: false, count: 3, match: { capability: "matrix_in" } }, + { id: "capture_in", required: false, count: 3, match: { capability: "matrix_in" } }, + ], + maxInstances: 1, + traits: mcpwmTraits, + }); +} + +const pcnt = matrixPeripheral({ + id: "pcnt", + name: "Pulse Counter (PCNT)", + protocolType: "pulse_counter", + roles: ["input"], + slots: [ + { id: "sig_in", required: false, count: 16, match: { capability: "matrix_in" } }, + { id: "ctrl_in", required: false, count: 16, match: { capability: "matrix_in" } }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 8, + detail: "Eight units; each has a 16-bit signed counter and two channels (signal + control input each), with glitch filtering.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.7 / Table 4-6", + }, + }, + { type: "instance_combinations", params: { instances_in_silicon: 8, routing: "gpio_matrix", combination_space: "Any GPIO per input." } }, + ], +}); + +const rmt = matrixPeripheral({ + id: "rmt", + name: "Remote Control Peripheral (RMT)", + protocolType: "rmt", + roles: ["input", "output"], + slots: [ + { id: "sig_in", required: false, count: 8, match: { capability: "matrix_in" } }, + { id: "sig_out", required: false, count: 8, match: { capability: "matrix_out" } }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { count: 8, detail: "Eight channels, each with independent TX and RX for infrared or generic pulse trains.", source: "ESP32 Series Datasheet v5.2, Section 4.8.6" }, + }, + { type: "instance_combinations", params: { instances_in_silicon: 1, routing: "gpio_matrix", combination_space: "Any GPIO (in) / any output-capable GPIO (out) per channel." } }, + ], +}); + +const twai = matrixPeripheral({ + id: "twai", + name: "TWAI (CAN 2.0)", + protocolType: "twai", + roles: ["controller"], + parameters: [ + // Chip revisions v0.0/v1.0/v1.1 (this part): 25 kbit/s floor. Only the + // -V3 revision extends down to 12.5 kbit/s. + { id: "bit_rate", unit: "Hz", range: [25_000, 1_000_000] }, + ], + slots: [ + { id: "rx", required: true, match: { capability: "matrix_in" } }, + { id: "tx", required: true, match: { capability: "matrix_out" } }, + { id: "bus_off_on", required: false, match: { capability: "matrix_out" } }, + { id: "clkout", required: false, match: { capability: "matrix_out" } }, + ], + maxInstances: 1, + traits: [ + { + // The canonical instances-vs-combinations example: one controller in + // silicon, a huge matrix-routing combination space. + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "gpio_matrix", + combination_space: "RX: any of the 34 GPIOs; TX: any of the 28 output-capable GPIOs. Combinations are plentiful — simultaneous instances are exactly one.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.12 / Table 4-6", + }, + }, + { + type: "protocol_compliance", + params: { standard: "ISO 11898-1 (CAN Specification 2.0)", frames: ["standard 11-bit", "extended 29-bit"], note: "Requires an external CAN transceiver to drive the bus." }, + }, + ], +}); + +const sdioHost = composed({ + id: "sdio_host", + name: "SD/SDIO/MMC Host Controller", + protocolType: "sdio", + roles: ["host"], + parameters: [clockFreqHz([0, 80_000_000])], + slots: [ + { id: "clk", required: true, match: { capability: "sdio_host_clk" } }, + { id: "cmd", required: true, match: { capability: "sdio_host_cmd" } }, + { id: "data0", required: true, match: { capability: "sdio_host_data0" } }, + { id: "data1", required: false, match: { capability: "sdio_host_data1" } }, + { id: "data2", required: false, match: { capability: "sdio_host_data2" } }, + { id: "data3", required: false, match: { capability: "sdio_host_data3" } }, + { id: "data4", required: false, match: { capability: "sdio_host_data4" } }, + { id: "data5", required: false, match: { capability: "sdio_host_data5" } }, + { id: "data6", required: false, match: { capability: "sdio_host_data6" } }, + { id: "data7", required: false, match: { capability: "sdio_host_data7" } }, + { id: "strobe", required: false, match: { capability: "sdio_host_strobe" } }, + ], + profiles: [ + { + id: "sdio_host_hs1", + label: "Port 1 (HS1_*): up to 8-bit + strobe", + bindings: { + clk: "pin_31", cmd: "pin_30", + data0: "pin_32", data1: "pin_33", data2: "pin_28", data3: "pin_29", + data4: "pin_25", data5: "pin_27", data6: "pin_34", data7: "pin_35", + strobe: "pin_36", + }, + }, + { + id: "sdio_host_hs2", + label: "Port 2 (HS2_*): up to 4-bit", + bindings: { + clk: "pin_17", cmd: "pin_21", + data0: "pin_22", data1: "pin_24", data2: "pin_18", data3: "pin_20", + }, + }, + ], + maxInstances: 2, + traits: [ + { + type: "protocol_compliance", + params: { + standards: ["SD Memory Card 3.0/3.01", "SDIO 3.0", "CE-ATA 1.1", "MMC 4.41", "eMMC 4.5/4.51"], + note: "Up to 80 MHz clock output; 1-/4-/8-bit bus modes; two SD/SDIO/MMC 4.41 cards in 4-bit mode; one SD card at 1.8 V.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.10", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "io_mux_fixed", + combination_space: "Two fixed IO_MUX port mappings (HS1_*, HS2_*); slots do not mix across ports.", + }, + }, + { + type: "co_requirement", + params: { + with: "spi01_flash", + condition: "Port 1 (HS1) in use", + effect: "HS1_CLK/CMD/DATA0-3 are the external-flash pads — port 1 conflicts with a flash-booting design.", + }, + }, + ], +}); + +const sdioSlave = composed({ + id: "sdio_slave", + name: "SDIO/SPI Slave Controller", + protocolType: "sdio", + roles: ["device"], + parameters: [clockFreqHz([0, 50_000_000])], + slots: [ + { id: "clk", required: true, match: { capability: "sdio_slave_clk" } }, + { id: "cmd", required: true, match: { capability: "sdio_slave_cmd" } }, + { id: "data0", required: false, match: { capability: "sdio_slave_data0" } }, + { id: "data1", required: false, match: { capability: "sdio_slave_data1" } }, + { id: "data2", required: false, match: { capability: "sdio_slave_data2" } }, + { id: "data3", required: false, match: { capability: "sdio_slave_data3" } }, + ], + profiles: [ + { + id: "sdio_slave_mt", + label: "SD_* on MTMS/MTDO/GPIO2/GPIO4/MTDI/MTCK", + bindings: { clk: "pin_17", cmd: "pin_21", data0: "pin_22", data1: "pin_24", data2: "pin_18", data3: "pin_20" }, + }, + { + id: "sdio_slave_sd", + label: "SD_* on GPIO6-11 (flash pads)", + bindings: { clk: "pin_31", cmd: "pin_30", data0: "pin_32", data1: "pin_33", data2: "pin_28", data3: "pin_29" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "protocol_compliance", + params: { + standards: ["SDIO Card Specification 2.0"], + note: "SPI, 1-bit SDIO and 4-bit SDIO transfer modes, 0-50 MHz; DMA to shared memory.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.11", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_21, pin_34", + condition: "SDIO slave in use", + effect: "The MTDO and GPIO5 straps set the SDIO-slave sampling/driving clock edge at boot (Section 3).", + }, + }, + ], +}); + +const jtag = composed({ + id: "jtag", + name: "JTAG", + protocolType: "jtag", + roles: ["target"], + slots: [ + { id: "tms", required: true, match: { capability: "jtag_tms" } }, + { id: "tck", required: true, match: { capability: "jtag_tck" } }, + { id: "tdi", required: true, match: { capability: "jtag_tdi" } }, + { id: "tdo", required: true, match: { capability: "jtag_tdo" } }, + ], + profiles: [ + { id: "jtag_iomux", label: "MTMS/MTCK/MTDI/MTDO", bindings: { tms: "pin_17", tck: "pin_20", tdi: "pin_18", tdo: "pin_21" } }, + ], + maxInstances: 1, + traits: [ + { type: "configuration_note", params: { note: "eFuse EFUSE_DISABLE_JTAG permanently disables JTAG (one-time programmable).", source: "ESP32 Series Datasheet v5.2, Section 3" } }, + ], +}); + +const ethernetMac = composed({ + id: "ethernet_mac", + name: "Ethernet MAC (MII/RMII)", + protocolType: "ethernet_mac", + roles: ["controller"], + slots: [ + // Common to both PHY interfaces (IO_MUX-fixed): + { id: "txd0", required: true, match: { capability: "emac_txd0" } }, + { id: "txd1", required: true, match: { capability: "emac_txd1" } }, + { id: "tx_en", required: true, match: { capability: "emac_tx_en" } }, + { id: "rxd0", required: true, match: { capability: "emac_rxd0" } }, + { id: "rxd1", required: true, match: { capability: "emac_rxd1" } }, + { id: "rx_dv", required: true, label: "RX_DV (MII) / CRS_DV (RMII)", match: { capability: "emac_rx_dv" } }, + { id: "tx_clk", required: false, label: "TX_CLK (MII) / REF_CLK (RMII)", match: { capability: "emac_tx_clk" } }, + // MII-only: + { id: "rx_clk", required: false, match: { capability: "emac_rx_clk" } }, + { id: "txd2", required: false, match: { capability: "emac_txd2" } }, + { id: "txd3", required: false, match: { capability: "emac_txd3" } }, + { id: "rxd2", required: false, match: { capability: "emac_rxd2" } }, + { id: "rxd3", required: false, match: { capability: "emac_rxd3" } }, + { id: "rx_er", required: false, match: { capability: "emac_rx_er" } }, + { id: "tx_er", required: false, match: { capability: "emac_tx_er" } }, + // Clock outputs / management (management routes via GPIO matrix): + { id: "clk_out", required: false, match: { capability: "emac_clk_out" } }, + { id: "clk_out_180", required: false, match: { capability: "emac_clk_out_180" } }, + { id: "mdc", required: false, match: { capability: "matrix_out" } }, + { id: "mdio", required: false, match: { capability: "matrix_out" } }, + ], + profiles: [ + { + id: "emac_mii", + label: "MII (17 signals)", + bindings: { + tx_clk: "pin_23", rx_clk: "pin_34", tx_en: "pin_42", + txd0: "pin_38", txd1: "pin_39", txd2: "pin_17", txd3: "pin_18", + rx_er: "pin_20", rx_dv: "pin_16", + rxd0: "pin_14", rxd1: "pin_15", rxd2: "pin_41", rxd3: "pin_21", + tx_er: "pin_24", + }, + }, + { + id: "emac_rmii", + label: "RMII (9 signals)", + bindings: { + tx_clk: "pin_23", // 50 MHz REF_CLK in, or CLK_OUT with internal PLL + tx_en: "pin_42", + txd0: "pin_38", txd1: "pin_39", + rx_dv: "pin_16", // CRS_DV + rxd0: "pin_14", rxd1: "pin_15", + }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "protocol_compliance", + params: { + standard: "IEEE 802.3-2008 MAC", + features: ["MII and RMII PHY interfaces", "half/full duplex", "hardware PTP (IEEE 1588-2008)", "25 MHz/50 MHz clock output"], + source: "ESP32 Series Datasheet v5.2, Section 4.8.13", + }, + }, + { + type: "co_requirement", + params: { + with: "external PHY", + condition: "always", + effect: "The MAC has no PHY — an external MII (17-signal) or RMII (9-signal) PHY plus its clock scheme is required. MDC/MDIO/CRS/COL are slow signals routable to any GPIO via the matrix.", + source: "ESP32 Series Datasheet v5.2, Section 4.8.13 / Appendix A.1 note 11", + }, + }, + ], +}); + +const clockOutput = composed({ + id: "clock_output", + name: "Clock Output", + protocolType: "clock", + roles: ["output"], + slots: [{ id: "out", required: true, match: { protocol: "clock", role: "output", capability: "clk_out" } }], + profiles: [ + { id: "clk_out1", label: "CLK_OUT1 (GPIO0)", bindings: { out: "pin_23" } }, + { id: "clk_out2", label: "CLK_OUT2 (GPIO3)", bindings: { out: "pin_40" } }, + { id: "clk_out3", label: "CLK_OUT3 (GPIO1)", bindings: { out: "pin_41" } }, + ], + maxInstances: 3, + traits: [ + { type: "instance_combinations", params: { instances_in_silicon: 3, routing: "io_mux_fixed", combination_space: "CLK_OUT1/2/3 are IO_MUX-fixed to GPIO0/GPIO3/GPIO1." } }, + ], +}); + +const xtalMain = composed({ + id: "xtal_main", + name: "Main Crystal Oscillator", + protocolType: "clock", + roles: ["input"], + parameters: [clockFreqHz([2_000_000, 60_000_000])], + slots: [ + { id: "xp", required: true, match: { protocol: "clock", role: "input", capability: "xtal_p" } }, + { id: "xn", required: true, match: { protocol: "clock", role: "output", capability: "xtal_n" } }, + ], + profiles: [ + { id: "xtal_pins", label: "XTAL_P/XTAL_N (pins 45/44)", default_active: true, bindings: { xp: "pin_45", xn: "pin_44" } }, + ], + maxInstances: 1, + defaultActive: true, + traits: [ + { + type: "co_requirement", + params: { + with: "wifi_radio, bluetooth_radio", + condition: "RF in use", + effect: "The external crystal may be 2-60 MHz, but Wi-Fi/Bluetooth functionality requires exactly 40 MHz.", + source: "ESP32 Series Datasheet v5.2, Section 'Clocking' (External 2 MHz ~ 60 MHz crystal oscillator; 40 MHz only for Wi-Fi/Bluetooth functionality)", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Crystal load", + components: [ + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "XTAL_P to GND" }, + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "XTAL_N to GND" }, + ], + source: "ESP32 Hardware Design Guidelines", + }, + }, + ], +}); + +const xtal32k = composed({ + id: "xtal_32k", + name: "32.768 kHz RTC Crystal Oscillator", + protocolType: "clock", + roles: ["input"], + parameters: [clockFreqHz(32_768)], + slots: [ + { id: "xp", required: true, match: { capability: "xtal_32k_p" } }, + { id: "xn", required: true, match: { capability: "xtal_32k_n" } }, + ], + profiles: [ + { id: "xtal_32k_pins", label: "32K_XP/32K_XN (GPIO32/GPIO33)", bindings: { xp: "pin_12", xn: "pin_13" } }, + ], + maxInstances: 1, + traits: [ + { + type: "co_requirement", + params: { + with: "pin_12, pin_13", + condition: "32 kHz crystal fitted", + effect: "Commits GPIO32 and GPIO33 entirely — their GPIO/ADC/TOUCH functions become unavailable.", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Crystal load", + components: [ + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "32K_XP to GND" }, + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "32K_XN to GND" }, + ], + source: "ESP32 Hardware Design Guidelines", + }, + }, + { type: "optionality", params: { note: "Optional — the RTC slow clock can instead use the internal RC oscillator (with reduced timekeeping accuracy)." } }, + ], +}); + +const bbpllFilter = composed({ + id: "bbpll_loop_filter", + name: "BBPLL Loop Filter", + protocolType: "analog", + roles: ["input"], + slots: [ + { id: "cap1", required: true, match: { capability: "bbpll_cap1" } }, + { id: "cap2", required: true, match: { capability: "bbpll_cap2" } }, + ], + profiles: [ + { id: "bbpll_pins", label: "CAP1/CAP2 (pins 48/47)", default_active: true, bindings: { cap1: "pin_48", cap2: "pin_47" } }, + ], + maxInstances: 1, + defaultActive: true, +}); + +// --------------------------------------------------------------------------- +// Radios — Datasheet Sections 4.6/4.7, Tables 5-4 through 5-9 +// --------------------------------------------------------------------------- + +const wifiRadio: InterfaceDef = { + id: "wifi_radio", + name: "Wi-Fi Radio (802.11 b/g/n, 2.4 GHz)", + domain: "network", + exposed: true, + default_active: false, + protocols: [{ type: "wifi", roles: ["station", "access_point"] }], + capabilities: ["wifi_802_11_bgn", "wifi_2g4"], + parameters: [ + { id: "frequency", unit: "Hz", range: [2_400_000_000, 2_484_000_000] }, + { id: "max_data_rate", name: "Max data rate (802.11n)", unit: "bit/s", value: 150_000_000 }, + { id: "max_tx_power", name: "Max TX power (802.11b)", unit: "dBm", value: 20.5 }, + ], + traits: [ + { + type: "radio_characteristics", + params: { + modes: ["802.11b", "802.11g", "802.11n MCS0-7 HT20/HT40", "802.11n MCS32 (RX)"], + tx_current_peak_mA: { "11b_19_5dBm": 240, "11g_16dBm": 190, "11n_14dBm": 180 }, + rx_current_mA: [95, 100], + source: "ESP32 Series Datasheet v5.2, Section 4.6 / Table 5-4", + }, + }, + { + type: "co_requirement", + params: { + with: "adc2", + condition: "Wi-Fi active", + effect: "ADC2 unavailable while Wi-Fi runs (shared hardware).", + }, + }, + { + type: "co_requirement", + params: { with: "xtal_main", condition: "always", effect: "Requires a 40 MHz main crystal." }, + }, + ], + bridgesTo: ["pin_2"], +}; + +const bluetoothRadio: InterfaceDef = { + id: "bluetooth_radio", + name: "Bluetooth 4.2 BR/EDR + Bluetooth LE Radio", + domain: "network", + exposed: true, + default_active: false, + protocols: [{ type: "bluetooth", roles: ["peer"] }], + capabilities: ["bluetooth_classic", "bluetooth_le", "bluetooth_2g4"], + parameters: [ + { id: "frequency", unit: "Hz", range: [2_402_000_000, 2_480_000_000] }, + { id: "tx_power_range", name: "RF power control range", unit: "dBm", range: [-12, 9] }, + ], + traits: [ + { + type: "radio_characteristics", + params: { + compliance: "Bluetooth v4.2 BR/EDR and Bluetooth LE", + tx_power_classes: "Class-1, class-2 and class-3 without external PA; dynamic control range up to 21 dB", + rx_sensitivity_dBm: { BR: -90, BLE: -94 }, + tx_current_mA: 130, + rx_current_mA: [95, 100], + source: "ESP32 Series Datasheet v5.2, Sections 4.7/5.7, Tables 5-7 to 5-9", + }, + }, + { + type: "co_requirement", + params: { with: "xtal_main", condition: "always", effect: "Requires a 40 MHz main crystal." }, + }, + ], + bridgesTo: ["pin_2"], +}; + +// --------------------------------------------------------------------------- +// Mechanical / thermal +// --------------------------------------------------------------------------- + +const footprintMount: InterfaceDef = { + id: "footprint_mounting", + name: "QFN-48 6×6 mm Surface-Mount Footprint", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["qfn48_6x6_0p4mm", "surface_mount"], +}; + +const thermalPad: InterfaceDef = { + id: "thermal_pad", + name: "Exposed Thermal Pad", + pin: 49, + domain: "thermal", + exposed: true, + default_active: true, + protocols: [{ type: "thermal_connection", roles: ["thermal_source"] }], + capabilities: ["heat_sink", "pcb_thermal_plane"], + traits: [ + { type: "assembly_requirement", params: { note: "Same physical pad as pin 49 (GND); primary heat path to the PCB ground plane." } }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const ESP32D0WDQ6: ModuleDef = defineModule({ + id: "esp32-d0wdq6", + name: "Espressif ESP32-D0WDQ6", + version: "2.0.0", + manufacturer: "Espressif Systems", + part_number: "ESP32-D0WDQ6", + description: + "Bare ESP32-D0WDQ6 SoC (chip revision v1.0/v1.1) in a QFN-48 6×6 mm package: dual-core Xtensa LX6 up to 240 MHz, 448 KB ROM, 520 KB SRAM, 2.4 GHz Wi-Fi 802.11 b/g/n and Bluetooth 4.2 BR/EDR + LE. No in-package flash — external SPI flash is required for normal boot. NRND (Not Recommended for New Designs) per Datasheet v5.2.", + tags: ["esp32", "soc", "microcontroller", "wifi", "bluetooth", "ble", "xtensa-lx6", "qfn-48", "iot", "nrnd"], + categories: ["microcontroller", "connectivity.wireless"], + + interfaces: [ + // All 49 physical pads in package order — schematic-honest. + ...pins, + + // Analog peripherals + adc1, + adc2, + dac, + touch, + rtcGpio, + + // Serial / bus controllers + ...i2c0, + ...i2c1, + qspiFlash, + ...hspi, + ...vspi, + ...uart0, + ...uart1, + ...uart2, + i2s0, + i2s1, + + // Timers / signal peripherals + ledc, + mcpwm(0), + mcpwm(1), + pcnt, + rmt, + twai, + + // Storage / debug / network fabric + sdioHost, + sdioSlave, + jtag, + ethernetMac, + clockOutput, + + // Clocks and analog service networks + xtalMain, + xtal32k, + bbpllFilter, + + // Radios + wifiRadio, + bluetoothRadio, + + // Mechanical / thermal + footprintMount, + thermalPad, + ], + + interfaceGroups: [ + { + id: "required_power_pins", + label: "Required Power Pins", + members: ["pin_1", "pin_3", "pin_4", "pin_19", "pin_26", "pin_37", "pin_43", "pin_46", "pin_49"], + policy: "all_of", + }, + { + id: "analog_supply_common_net", + label: "Analog Supply Pins (one decoupled net)", + members: ["pin_1", "pin_3", "pin_4", "pin_43", "pin_46"], + policy: "all_of", + }, + { + id: "boot_strapping_pins", + label: "Boot Strapping Pins (Table 3-1)", + members: ["pin_23", "pin_22", "pin_18", "pin_21", "pin_34"], + policy: "all_of", + }, + { + id: "external_flash_pins", + label: "External SPI Flash Pins (Table 2-6)", + members: ["pin_28", "pin_29", "pin_30", "pin_31", "pin_32", "pin_33"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "External supply must deliver ≥0.5 A across the 3.3 V rails (Table 5-2); peak RF transmit draws 240 mA (802.11b, +19.5 dBm). VDDA/VDD3P3/VDD3P3_RTC: 2.3-3.6 V; VDD3P3_CPU: 1.8-3.6 V.", + voltage_V: [2.3, 3.6], + current_mA: 500, + }, + { + type: "interface", + description: + "No in-package flash: normal boot requires an external SPI flash on the SPI0/SPI1 flash bus (SPICS0/SPICLK/SPID/SPIQ, optionally SPIWP/SPIHD — Table 2-6).", + interface_protocol: "spi", + }, + { + type: "interface", + description: + "A main crystal (or oscillator) on XTAL_P/XTAL_N is required; 40 MHz is mandatory for Wi-Fi/Bluetooth operation.", + interface_protocol: "clock", + }, + { + type: "capability", + description: + "LNA_IN must reach a 2.4 GHz antenna through a π-matching network transforming the 30 + j10 Ω radio impedance (QFN 6×6) to the antenna's 50 Ω.", + capability: "rf_2g4_antenna_feed", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { id: "vdda_analog", name: "VDDA / VDD3P3 (analog + RF)", nominal_voltage_V: 3.3, voltage_range_V: VDD_33_RANGE, max_current_mA: 500 }, + { id: "vdd3p3_rtc", name: "VDD3P3_RTC (RTC + RTC-domain IO)", nominal_voltage_V: 3.3, voltage_range_V: VDD_33_RANGE }, + { id: "vdd3p3_cpu", name: "VDD3P3_CPU (CPU + digital IO)", nominal_voltage_V: 3.3, voltage_range_V: VDD_CPU_RANGE }, + { id: "vdd_sdio", name: "VDD_SDIO (internal SDIO-LDO output: 1.8 V or VDD3P3_RTC)", nominal_voltage_V: 3.3, voltage_range_V: VDD_SDIO_RANGE, regulation_type: "regulated" }, + { id: "gnd", name: "Ground (exposed pad)", nominal_voltage_V: 0, voltage_range_V: [0, 0], max_current_mA: 1200 }, + ], + metadata: { + pin_count: 49, + package_pins: "48 perimeter pins + exposed pad", + cpu: "Dual-core Xtensa LX6, up to 240 MHz", + rom_KB: 448, + sram_KB: 520, + current_consumption: { + tx_80211b_19_5dBm_mA: 240, + rx_wifi_mA: "95-100", + modem_sleep_240MHz_mA: "30-68", + light_sleep_mA: 0.8, + }, + absolute_max: { + input_voltage_V: [-0.3, 3.6], + cumulative_io_output_current_mA: 1200, + }, + dc_characteristics: { + V_IH: "0.75 × VDD", + V_IL: "0.25 × VDD", + I_OH_mA: { VDD3P3_CPU: 40, VDD3P3_RTC: 40, VDD_SDIO: 20 }, + I_OL_mA: 28, + pull_resistors_kOhm: 45, + }, + source: "ESP32 Series Datasheet v5.2, Tables 5-1 to 5-4", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 6, width: 6, height: 0.85 }, + metadata: { + package_type: "QFN-48", + pitch_mm: 0.4, + mounting_method: "surface_mount", + pin_1_orientation: "anti-clockwise numbering from pin 1, top view", + }, + }, + { + domain: "thermal", + // Table 5-2 note 3: chips with no in-package flash/PSRAM (D0WDQ6). + operating_temperature_C: [-40, 125], + metadata: { + storage_temperature_C: [-40, 150], + primary_heat_path: "exposed_pad_to_pcb_ground_plane", + }, + }, + { + domain: "network", + metadata: { + wireless_standards: ["802.11b", "802.11g", "802.11n (HT20/HT40)", "Bluetooth 4.2 BR/EDR", "Bluetooth LE"], + frequency_bands_ghz: [2.4], + max_data_rate_mbps: 150, + }, + }, + ], + + traits: [ + { + type: "lifecycle_status", + params: { + status: "not_recommended_for_new_designs", + source: "ESP32 Series Datasheet v5.2 cover page: 'ESP32-D0WDQ6 - Not Recommended for New Designs (NRND)'", + }, + }, + { type: "chip_revision", params: { revisions: ["v1.0", "v1.1"], note: "The -V3 suffix part is the v3.0/v3.1 revision — a distinct orderable." } }, + { type: "requires_external_flash", params: { interfaceId: "spi01_flash", defaultProfile: "spi01_flash_iomux" } }, + { type: "wireless_soc", params: { radios: ["wifi_radio", "bluetooth_radio"], rfFeed: "pin_2" } }, + { + type: "terminology_policy", + params: { + note: "Signal and function names in `esp32_pin_functions` traits are datasheet-verbatim and intentionally NOT normalised to a curated whitelist; canonical capability tags exist only where slot matching requires them.", + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "ESP32 Series Datasheet v5.2", + type: "datasheet", + url: "https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf", + }, + { + id: "art_technical_reference", + name: "ESP32 Technical Reference Manual", + type: "datasheet", + url: "https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf", + }, + { + id: "art_hardware_design_guidelines", + name: "ESP32 Hardware Design Guidelines", + type: "documentation", + url: "https://www.espressif.com/sites/default/files/documentation/esp32_hardware_design_guidelines_en.pdf", + }, + { + id: "art_errata", + name: "ESP32 Series SoC Errata", + type: "documentation", + url: "https://www.espressif.com/sites/default/files/documentation/eco_and_workarounds_for_bugs_in_esp32_en.pdf", + }, + { + id: "art_product_page", + name: "Espressif ESP32 Product Page", + type: "documentation", + url: "https://www.espressif.com/en/products/socs/esp32", + }, + { + id: "art_snapeda", + name: "SnapEDA Symbol and Footprint", + type: "cad", + url: "https://www.snapeda.com/parts/ESP32-D0WDQ6/Espressif%20Systems/view-part/?ref=digikey", + }, + { + id: "art_ultralibrarian", + name: "Ultra Librarian CAD Models", + type: "cad", + url: "https://app.ultralibrarian.com/details/A7AAB95B-922A-11EA-B5D0-0AEBB021A1EA/Espressif-Systems/ESP32-D0WDQ6?ref=digikey", + }, + { + id: "art_chip_image", + name: "ESP32-D0WDQ6 Product Photo", + type: "custom", + filePath: "./ProtoPart/protoparts/esp32-d0wdq6/artifacts/images/ESP32-D0WDQ6_tilted.png", + mimeType: "image/png", + tags: ["image", "product-photo"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/esp32-d0wdq6/artifacts/thumbnail.png b/library/parts/esp32-d0wdq6/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..8ee2fd8a55f65934fe2b8bd3cc0c9452760d420c GIT binary patch literal 289438 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

G^p{tiGLVj4E@g%8uS-ZTf*u#f+ zY#{f=klnv`M+L^qmt%SL<7{cOksTZysi=!BL|g|v9ocx`nCN_GV0a3NmDOciTrApU z>0Ct+iUz(D$^Y!9-8w!c2%f3S4TC0}T1VqA7 zb+@Iuj#M<`mYD`i;KU^2^tNDXGn4&$?>qlre)C(07yJ32bP;x z;m18xS6wI6W6-i(F)g2R5`cL~^SPqpfvI2_A-K6ZS?x%HMpmv6Yx=@I{^(=-!G}Mv zKl<=f^9ADe{+GXM@4f%Nt*xvH8U;dRvvKj6WDMX8*jHCc2TbTjHksAt0o=*qph+CW z8)fM_E`ah3JY?M?<3lRMqeD@H<>A<+8%~(xqadK_cWz=%j>Msg`Hr(htv71=-7+4L zYncCw=;Lddk%CCrP+E0ufXkS#tS;Kc<(WFDd8U{?qdW&l7F75T=maDsob|jyV)&$> z1~NR7QMpHB3FKe0SEbvCUYiUB?C9{=&QH$-+pesx>gRZY*u$MW|3gbe)^|>+BP;xE9MWt zqMlfz+R~=KAX6an6U@%eFotp3XhuKpz5kBf@TRlAg+epywyRceRPE;Wmc94hm+a}2 zr?$JlCl@&mVNjxX-hJD088q{B;lTZM$yjk|q#UL@Efi4@kZ^|#tzlF1+gtCvXB%7F zx<*f*zpzrdY@0W3*!t$0V01`mFx}$`?nTfxw>B-AhzZuc4!HutB|u7^5+DwVn8sY) z&cHgYp`D#qtv{SvG?B3YSq-tMEt>V7MZ-8+E-K(j?wNkSMk~WH;ZSB%NMocs zQnXWuc5tKX$ujov@Wc)dkCcgU_wKfgaw3tGd5L2lh|;Ffgrsdl{69=xKW>2Ga8N(5 zGw0X0L}*G>H_C`+*+U*D-`k?34tas_ogYJSQlfTxw-f^W2HKF zD6Yd{9f%ZnICEax*((1d>^%1Q2ggymZoC;F%+1Ikz~_H3oSS12>)h7C38w?6PUUNa zLb@-`$jP~Dq8MOI$M`Qa&prX($Dg4)qRBvRIGmH9XL3VDmB1S29&zA^(CZgW7RzK>p@=Anc7iH#8u8r|Uus#DgX#5{J-Bf!`NuGFN5H#^Wiw z@n<3b_z$^0-}=_KeyqBGUT+Y9KjZ6~EOK~u_I4y1egCpl!dAvZCpa3-JbwSwMR^Km za(Z#RwXYYSh;~!<3!mKkZr|OuOeSV8pFgpBwPv0fR-&@qn?v4oyHIve2srCix*aSu zU%Y%N$>8G3ip*DJ``c<+<*KIN6%9wlLRJ`uP3`RL{0mrc8ggAJEOZWR7I?W=o@?x# zlO9pV9LN*_`d^QmfwPcCa{RtpPa91S5t z_2kYa&AI`l4=v>Js%T+zz_u3C91auamHY#G!1p5Fl#LpcK)&UUt{~LKB^!bc__U!o z?*hLC5{Ws)=n5fO49|7NiZbmpmvvnl)}!zORB-TF$3tyg{5%_WFcPs=x2+L}Iy)jz zgF$u4Klt!tD`x+iMl`i%&n_w@+Zb)BtMBy5w~y%F{?UhjWMBL0S8OuF$6;*i8#l}! z0`=(H>zzY;`TUig9PNqV1nViwl;^E!ghs6Z?bjK2}O$A`{a=%d>@CuvTkn9Wsk2 zglc3HsT0E8zVp$aOynnoE z*?13}e*|-LU~*JI6spYSDZo7gI0i7hmfsZvvR}6HIGNRG0srW=0K`{*)1Efu% z2}i(U5nEbYSFwQGANPgt$@5AvQ!14;hG4`X_Ix1Zh^&3QN}P{}q@K;Teg4T48}%nb zVL+ya6SH=2WU(-j;(qf_Km#BmJ4r8V>e@vU&H>E@`%Jgp)BUGtW1aD=asQl2QNXTh z4HYv3B7#vn;9^*-s0hO7%j0*x4~j15;I}`%F5DXmEXE)dM=l-INw33!u!?JnqGr1# z^7LdvMu>ODH6L*wMuUI-fBfrz+4*rJ|6RY{6aat5*SEg)Ew#tr{r0zixmK&CrqkK5 z*X{b%6?-ATz+(0Z>Z1CDolED=#&{i?!=}K@^!|f~cK6mzC7d1X?_0OkG0$uWh1I5` zq2_38=0vixxoHsv37SD$>xhMP^qrj@ZLSdc1W7~GLpMA0elcSdF-J#_S9AWwW8)URmhkQA-&8@rU3x=$6)v&XRGs|StcJIL*J3Ts; zul?@Mz6Apj+rGJB%1Xht5xBC~vz=GZ?ezqcl8J5NsJFgkJBPhz9FqW$I zuJpNAS65ZgX)P$tbF4xG8)rBLd|sV?cxTK!QWwyr!;q)zrZ^Uf*i7gYlFYr`eH(fm z*GP_)L=od>F&N7Keqm|Jre|k%es-$0gHaNpQsQ$QmaHd6y(5aU<|%YREg`>#{8Nn; zW#$tKm@gO>sZK^ctVNU#JtDt{D#ZI3WrdLvM}+L*RWb`O;v=w!BHtPMtgo!e%KFo% zj}^Pj^E$!m9DWk}Cf*5NpH-VR?RAW=DAJGvQs^_z09j;AP_H>u5M+S)zX*bHP_CGs zVdpmJR07kWf9myk174ps0@KL9|8XS$UBBKG0Dtz^^u71qOC22@{jJexJo9*byqx!U zAYg@JL8LqgbwKO0kemIpficrk45!y8lF!Q8vZWGHE0+$fe0gd8?!c1qh$T}AnQ*kx z=VMSKsT`T$Q}c}Q=Y*Ti9m^Wd`>m@OlB>k9%TtYmX--QNAu1FN;l z=Jf<^dFh6=yG`qK>bAcAB_*se%jDo4qM;wLK`56?R=SxC@xl=+S1#4*11)n1iv5qA zFN|uTC_@)V*qd0hU6+Fz5G4yyk|eGNV-uo8nI(H&(jWi7@&kNsqX*81sK-p6F@pj> ze9nWw5fKA_+p1>agcFt{~DN=U*;+X5wVwA;23L4^E-qQpOcum!T#_Am z71%5(p5Q~@e1qZv5UDdoIdL@Rt--k33SH7{W zEU(+%&VdeRHb<^0MH~g*qqiQ~g9kV5cfS3f?ew%H?m{XRw{E*77IrjBw5-?Cxx9I@ z6MO#brG4_*Gs_m21grGgOd`p9qG!+Hj%Va9G1%!6|`)| zH*T(5A`=(i;o#s{$i3AbS8}gz$mb-`|rf zAw~1ozy3A*_@hsBP(OO>mWmL@E9@20&?i$WGWi`8T9AMxvmB4j4{ro6#Nx(cgfjrKd5RfUU$RJ0GB`i%GtA=g&*1ti4V3_%5pxw2;Sa^aHGvkyMTq8f zCiJ6CC>XNaxp5aJKRBF%cC;IHt>^F5-VDHu>q{ zaQLv_he|T`a3HvDC?FR)AVaxSk%~nJ%poV&Dze&L=b6rCrNhN0^V!p9_Tt$qD_>SL zBL~`BTwb#Gzx=*!-MC@7tV_-s^+)pd=TKsyu%I#Y;2++bgK%kiSphIEh$NypsCPay zyLa!N{nD@el4S}>J3T&lc7k6{T^(4ujTSdD-<%ey}e-@n`;W%!GoVJhdCw( zv21x2AKF)C&kL79piXABdf)lKi)2VR5;ntw-aOa@t6T>|vY08HuCoY0D_Gbt^Cyxo z`OJ$Kzq*`=Toma5PR>p>3Q<=$Kt{#qKoaFbSmZxG4(lP9mtJYo6w6C3^RJ8#*~{mf6P ztlPo85%tDcF!2aCNgssAl!N}6w*!GP7ak1MF_PN%=+S+PM*WseC3PLS=UlHMwzq^) zU6v#l^ecfcVcA?k&rl*6R~lhNX>*J6)29>b4||N@rOkiz=#dT<4r3bOcrq^a1{*sZ zj6je`=7>c@K|46ulOfTy=klKt17CHi;>iZV;_edMnot`7$>PK zoQ`GK!?QpU%rgMPdu!u{MhWdEs6|di4=#c55b~L%{p8obVsE{5$1>@defsIg;%dO_ zxP9xE)CU~0beMA41U;IW#$#-fByw^%^1Z^uV*AZvskja{!oDDgA_wIfWU>Sp%|w*^ z$_HPuTX(i~s8R$nMnesOvIi9j9V*X{lqxWA=L9$TY77Y1VWc>;Qt47i0UrIV2PBY; z1z)||kwWOsty{LZw4gX)QVn?zLcad%M-uK}>ofgS!Z_opjpr*_`d~A6m6WW_isfGopP- zIqVBUCTp8;7Dz&Tw%wgw6$Km)nE1$#AG093aEv}s4k-VdP8``F&>-_k9Q_8eNoCx? zZ28gKZ`sS2FVyj;QW+7ar170G=k8e0KUDe}vqCm2lnRUn*qq2K=c+4nJQUC-4NoGI zPfJS4wL(6`pLg1A!IIiQ#$)Nwy)DNorl4Vz0E7y3%Ip}Up-{*{i*$*MKRD3Z&4wKv zA37`NAml^3woCiq{fE*)lQpjlf>F;lH`eX->s|Zp-~N3oU9?0ngAnQo1O+dHyRb=5 zW+7{|hUSa(?X7p;x5bq!`}l{SD&_BDI*x;is9J9rCh!2Xa=@6VwJiZC4Dv5=80 zl=}n9bbEWt3c0+?G-$W1RH|9OKea$OA-{&>!vnjqv0)xh*iKJt7K=?S9F1G|qH2xf zQ<30iBdn?WmI{X~pUYY{leS*3ZV<8)iKrC|IU5c7>Z~d3w$?Xguv5M~v1rI|>kqfp zQ6lSunRR1x%j(Up)vGO$^MJ=Okiz$ZDg*aB!g~1JXBWp-tu}3IbK8R9h~$8z_T9a; zC97xbdNE^qaR0V7+CBT<{^`H8-NQ2*k7l;Myl$K8D|UEtuJH)ZD`ThtBezUO*PYKS z2fk=rwz8ld6oX-3*jn|LQXNra@ch%k^Fsa`iNwWU!Hnq1=Z`gl-~gn!Bc@lX3FiKA z4+z8R(T&4znfvWy`8y#KqifkrMkY_VB|Cp#oe z=Z+ohAEx@-*kn%i?7gRGTM*t*lcvJ}FdpoQUG;2ARR$V`f{PrF&OufF%LE#&g{ z(bK1P{>iz}%BjZ{*A#ycL~ZC$L%u&@RO}_ap;I97VHr7UB;kSg6On%c>&zcyw#L}6 zJsXY3vv4pJ=nwj5)z;O2cKi9SyN&wC@b#tu_-}tnIR4FVesihOY5Z&;M1oq(2OK#b zjXYG&%of>z**prVf*AiIT=ja|#Hb$d{ZHp|wzRhF;#~J%YcVaYteW2+Hec9piEPFZ z&srT@l)wGJ78i4}jP3V^R=&IvlNwiAWLQ9g6cs>g*y|$wyVmAX6$6poe(=BwD@8j# zJf;o*>n(iX0sMF!NyJ zu(^e2SY5v6|4IgP$b?Jx0?Mc0c1e107W|{@#4rMcC=l3_TzVp1KKblGdyaG9lI`d` zGU=?~=cD5TYc%mPz`>7B#+fTkh9sU{v!Lk|V7aql4=ojsStgdSbRuQvr{_*m2v36l zn-ZGSurVz2P(+73%z1s@VNZ~BzklEk0-r}45k3QKju4XgdJxmj&Ib1R=a23E58k)@ zVb=CuJ+(jjUfkaM;C=hr2OroEzW+4HA19`~(S!0tC{?Pk?x)1hr|->}7{Rhc9;$))o7ET2tTr|q%b zS4T1!q5wEMuh@6bzb|qml2wXpiZ5i2N^ndwuo+veQqci1oXzCq7Ys&hV`E8Uuj8`| z^MxWRXa^IIJ%71ppFe(K;~CoXw2P!}w`_OswGNk5Jf*{OIO(h4h0~z`oiwh4A*pYa zct`;c|G-1Y(o}_G-`BHzzMvU>chJ)~?*~8pBN0il<^_?V5T*d)+Fz?|q+^#+&)5Pp zlrhdz1AfD}=Ugr~HaD~eiO^*YiliC}X+*~%eROoJ=brB@iSB3)^W)k#8VLF>mr61N zVqC`0f^O)bMVpM4MeKT4RD&Qe(gO_uLFDtw&_@J9PFlycp=jh;!*Gau-y8R>KO@g$ zY8jBcsYeE5!$HS&;zS0I#`;~Ec-*4FpjG<=J&$c9&(*R z^B>Q{pVylL;Lm9NTfQp)50lAkB^nJ)ve~?s1GaQ|X1)>Z^O?vu_=j1{9lXTUdVO`N z0r+DMk4!de`FzTzQ)GE{Xp+2l~Zsbv%iSOvj9} z#Nr-JbTC3tqZ5T0>+uk(!@qlVNUUzI3vT@6;~&_l-?q)IZS#9VHj{6ENQ~+6)FW?m zVoyOc&Q6Z(^z=dtcYS@+zVXek+joBNJ5m!UZEFS}!9i}2bznq~=Vlu$NID*1Nfs&` zgvG^0jSbq(j=m3E3AzjB`g{j`)Scz4llY)h=liBJXxoFX1DGe2DN;D#Jkqg*g|wtJ zK(9}n18>)vgs{~TE)oeu?a^DeZ8T;^yDyU%N4lCSpoiHZ?@5Qp`*8S!W^{)gDHwn{ ziE0H&pop80HX_5NiHvE+UB)6l%|c-vKYjYt9)0Pdz4P`XJKlMwP59#M!tUO@ZJl;c z=t-%3A?so`-!Yx}?v9LjfM7SbHf()k%|el!EL1Cvs?dTDzx%N^WF%5({jWU>kU+t% z29~B+T3TMT^|fUs;sNz9Eat5se~6NmD^(S7FOLo_o5DGc=;MT?@)>J%8bU<~5yGAB z`#<e;|~lF%McIBxM|LVg4OkY8EzFQ2`(J9lo`gZmH6?}bQ) zQ=Z=z7YkO*CvA84wMeJ+df)!}Kl@kk)h&}MiqU>}dgh)9eC!n;i-tQO8KxJt3Nzhg zOoO;uwc?_vM+3>>mX{VSUs$ky2hL1D=#np(vd542?K{8wJ?jrlC<<^PWC=rUUubty@+sg5G_kup!5H z;aPRYJ3RNQ_{?X`R@Yv}*xN{%{ zMwvn(*laiSyp(HK_U-Tfq4|B_bRb?nk&?&ooP5qnkoSrBP$`5ZY3^V$Hk;{QLkI-r zQ&J$;R0KgHfG5@%)@&LK*y8$%by|&C>FmNA2n1%?Ozz*XZh`-Q9NGWZuQvt2f7{F1 z#+iA?qv7B2dP6|#v+7mF%R=Tqa!3aJVRiBRI|m`*-s|(9B^z|VcbfH zr$sAh9YPairs|bd&Q1l}$J5xT*6i8y*CKTli;IHnhXbI;_w4rVZQH*2K#(tm1jZd6 zzgNEPj^8lR9GJvF2tKQ8>(*(tZ2#aun+^vr2NUB0*#8{dE(y`424Y1ES^{jX`Rll6 zp0P*fHT->Mq^;KQi?9?9eWYOU9@sGH0touykmle+i_V{O*vSbD#RXw2!=4Cn$vF0- z6S3nt7^Z}!gd;ZfjFb>|-I;}9BzGN2iN8;GhFMBj5{j7|(nM@*4(4)Blpitk%jpdr zbxPKxm!*n*_`Of;AN;+)Y2WEhfz{rD3-e0+ZR=*X(*g$Xml%qSS-yFW$w#lev z)#{a1YYmyQ;5tbv9Q=l1uV?kEs;+4?nG!1=1DWxtXQ^C91z4q4v-QnYLCP1$mv(l3 zVg6vmhP{FL<1rhJFjn%~jny0Ct2}@FiPf(f=Jz6p%Uiouv)8-(N;E8$&QxrS2Hd}% zot#|Sifk{TQMw ze4BvRI_-v)E}GVE_jRwA7TPL4#VhdmY;|?nHr7^cb!}0sbu{mt*2ubE3NeqYsAGw^ z5IG>BPal6KWOI42t?aXRR$su_L95P&YTm!iR+apXZzB z2;wlF2<#6aChS3c4v+&mXJ_Xps<^YcqSfn2lP+|Kvtajj4pjskF6AtbL?;>%{7-k3 zh@&%}Ltm<{hpOsf?*gp~4rh*xTqzQ;P&8uEK*-V&pDpHcmd+KdJ7l4 zot~bmAUHfawyj%h_LZObhV^?*`_2FKpRKawgEu8N&NtX z&!IgWwgm?d1~WT5JrlVOT`$D|nOMrED|21UwTRO3Vof5du==KEeb~CQ@IJ z6G2euG?k(_V-5-_EM}oVSjfWIGcnJ^8J|ezInPy(#Ut{ffA(z0e&*+X!M^(kzhO^5 zdtyh2CvtyuW-1{iuTc!vYdza*ADPdCK@0Y%0lO?+II|*1SI7=0rfw6rJ+^d7Go>Yu zShvr!I1prB%opwbci*v0DrO&j^tsc!`$JZ%5j2yQY>@Y_US8Uh$4`}R*B_3oQmJYa z-M+P|XI8RGZKzW_*gqD}fajOO79%4HRn#u9!|&X?XW3LnF}PgUPy{HqZ=q)5gRo(91yK8XCf4Z&-}a zlvc=f;klW}os(xXs$vL#kjY%$3u3}`1i|6ippa!>py*+(@WIFrqG?Z?sj z_fNmx6aasQ*Qn$9Wq-iZ)5)|SjRZozfP`y`$3#jcTT144qp7S>*{GDhrI_23kmOcU__GJiVMqv`5^fq{lW{M z-^I_QeF3Gu@$XkxB}s$2!>PS|`pRzK+OSwEE4RYI$fHC2+8MA~xw59esS(Bb`Ki@v zgoM0h#X`YezItWPU%j$qBCP|}lk|%iSE^K`&1Ufly2igd&IU5Its5H_PsZ%x;>hZ? zE5WkT?<-jly?k9A9N$^7!`^vN63Bs{j=?NXTAi8ZjI<)@bkCj|M{KjA{l1{C;+3nruke-l|tXviGx`$MWJoWOT zV$D`Z_QaqB{C%A1nD2T6ctj8aI}z)C*XOZXqh-TxAI}`Sckix>F`(u@_`~m7xze(4 z{KQx7*6rK6hp%4jTO<~=_GnbI1uhq6r8%REGUe81a1Q{5O`51|yoEd8|;In$8Wg{%SW~^5rdA~w-_#VA_Lm2=Z zAQT^P03iCoHiLAEJPl9#kS}JjVAv|syFUaw5hhGUO-5v)1nk030{6Y+XywOS=G^;pMmvw!{L zYW@4CUvCP4|N56s`I|RyhGtXyyVHr6g$VL59XqlZHi;2ZJZWk<>p8%*GzFC_B`X*b zWDbET;2rDmMOOmTW7<>AB$C~ZFwVODi z!3AjAXwb7*GAY6z8$C>302el@>eZEU$r%Y?qyuxELIXrYkPNV|f2PBMP3Gk6NSi$c zi8e$tD`a!pq%f-C;0ORQdVF#)Wzws zP$clZ6})HFN=xrgQO9V5>p+l%f@J98yfbU}TW;n{h!0Y}5_5T2<7D zzY;XMxU{Tpl6%T^r-(YeIJG->@7u$7-xdOLets^L35XnL#B!;kVw3`_-ycb8hyo&? z4_Zi8wQchd{R%TZ8n@-e1)GjZdkg9MmM+Um8id79X9&|C+1knRg%y|AEgVglf6BO{ zV~JSU7MBZFW41h-sz7PfJMx*|-rABx6ORTCQsC+svbN$FTMLE#od1Q_kYiJc3xYtuw=vFND?@F{WmtYY;%3vdhH#p(di80AL(=xb@DJs z7&W;SjqDyajUgCF#P=NJw~x8Jj{Tn57;siHw4hL^&MnY;2gPtoampkfP>=})`^bWvqQdF>*;6Pqkn{Y^PV?TH}Ep2{;T!zl`@9y||H2&M`q!oBd?5i}5t2>s!?o{SxrhwHnsx;7gR2GdA5 z;2%#%->WBZLwQ>Z8Y{&;6A}@*9$0@ z%?lQ$E2lF7AqWN?Tnmgx#m=H4nT}5MXt*l_o#}+Udu&5Bkhg3qWzlFs%7-`B3i=U4II4|-0*8YDAM{5Le?f$<-}ue{tc9CMWtu$%fMMLnI81%>O++0zHmw|NQI%o* zJio&{9fh=5oDBq@Z{S|ch(UJh!2Wzceh8$8O_8og&S!j9 zNy!2VvVkW;Oz^{p_iQ@F)sUFukPaO-V+uSvK3%UN#bU!6jkcw-S#9vyOw3xO8Ty0z z-Te1*`AP&*h*j=)Dh z5Qy0F>V{_d&!2u~+v|(6=FKk@tlsKaA_9TZW2H_@c@W(p>X!vE@##kCtnb}hv|@I_ zt}c(1+DDea%U7@EqrbYoZC8~`J3qU$&9%F>bz@tch(@DsrExYkCm}7 z=ud2+uxRJ$vYnovnhzvH>t&|yllxn1)HLcqOU~M3)Wmbe_ofH~ZbqhuZob5L$spav z<_8mmQ6#cM?FGauKY#XIgu~@j+Md05Zo!b>wzs#eQEOPI+0ZC}0)UR4`{WI{PM1wc z(ZRi*o_Cq%NS-&*dX4zPQvYB|GMu5xac-fY65Kb;#6TyxpZtAEDoNlR4qRNg-v#Q7 zXEVX|Jm=0*+bcV5o(uZ`h$x*DG?M*=b=_qTBU=G45DGHJZa95P9fZG%Gi3s0 zn9W>B*mN?Pu`hv^ji&Z*f9=zhGP33$(&o9GiAzt1K^$+iP zk=kf@eC7`a#9{}2V&g-@jYb$_6*f$CurQYS2ZGR5wI(m@O0{ZTIqr?!oXr=qNHk%~ zD{GoXLkMGZK$lOvtQ0Pi)!}Xym2MXe7la>=C#20DX%vS5T@J7uuo%o;LPJv7yd{%a zbq%9oM;67~+v~P{bK7!-ye%#lEf$SPPBZh4tyaS*=E~OAwrqR*j@`U<#~$3jYt44m zI?_IaNN^|y#8r6bowqESAXw+f&W=yb@9|kA6tQBdIu2_-O9ni_lFFpxhC^pAs-cW?!b?93;Ym@0X7agQ4W4K=<~~S z6#{TK(7A(r2u3Bvtku%{&^<9DtyC(~VRKMWgfR+9rV}za;n2;b3B3Wv9M3nTsic$; z;P^9&1nwIfEyTG$_}=#fQ!>5*q4?nserQi0KeKAp&FA|=lJ8oAnSH1bC{kp13mMVn znd4*#B+C82Hecd!Tw7n$IOFSIecuYXs2v@?w5Lx#6{5oPK{PD9jsD3U{R>|C;i zg%u_3VS&vkgAUm7dT^L?vAcBZIAKzRDz?@KEbmBf*cg+4adA<$tE-wVFRyA`0ND;Q z8`3-G@ccZZh3C&+XgoxLrEoCpaaFwbG!mmyN1lk^WCSCH=|s;p(0!2+RG2hF7n(zn zOBYN*z&In9E65K)`-o?zghh=b_zp8?4<1V-Rg}5-qH;7gE%ytt>Cu&8-_^^-so-9g)`J`|-y?WNRxccK0sH zkCVCakV6|FGhbd_N&*Oiq)`lz|B%AdIUKUD@!eV97>da}37)~Ar+;W#WSQ>4u&igF zKY2RYJv#80D&?z-TIoOkI9vbz>DLWlSSn+Kk#q6$45l_6hO9AArK$tx#*Hn_ z2>17PrSWAh%mz!<52~O54=QU6c7XQ;_dBnC4h_tN^zl_OkT>43Pe1+4viYoS-?}Yp z)MmSB!NEw3{3(ujRc4kQrPXnWMPm{31*KcV@nT&!XO_ZEfAKV9+DoHFIM+45U>2FPRB!lKdVzA6WSm zT;e8}Gf{c*e8=wJyJxE_1<6I(m^qkZvAoT^eyeqwR#+~mQ{u1y073u0xvbWdWCyg% zI0Didg#>oP@_d+QuZxQ?9^2Al!B*E-Y&e9Rd1U2M+1A!?+KtUMi^m`iIvE%;EaGn| z93s)MU7VfU(f+;_vRO-{vW8Lm*~yupWTb?QPij?)Grv>>Xy>_(6b8(rA-lcx_9LiW z_St8j%B?QsK%I_w${co$Q?0u-mis!kKo zN@cBCkSPv)UXc*agkzidWHDGJILWt(Ou7K=LqCQ$id`B=<+ z&=)lQ3a*-a?JLNMz_Q6yk~_v~6oLF1dkJfYXN!#v10l%AT$jm!F#~(hSOqgk367hI zxI?BG6AHzIzd*)Er(@~tlF$Oavxtdvc;6-zx+CQQP|!$1$es$3l5|v`-$s+6#Zw8b zGf+}Sg+a0>+8yVl=*NB4DSPA)}tG2T*Ir(Ge(SP z@beZK%XNv~2`pT9P|6~AY>IcC{*Kw#zwr%QS>0AP`c?VT8uh9+Io!Em0n^#ky9C}~ zIMTGsQ)bMex!DZ{8*~v)_C~S7!NMVR=k9HbMFW~&rqdAY#@6f(ZU3}t>o@LOFp{z3 z<0C~6-?+75wX3o+1r`=CIl7@tdn}Pb=r}<59&~?n{6z1vupu7hNY-n0G^dqgn8zy% z-$W`VA9kGOlsf36_n3$X2NK{+LncxdfUL+n+=E<@&Jn2?vP5Kd80okm5e`|pqr-zE z9pu;nqs9P@z^)X(1(NaNA>>Qc6OOb;$3-zE=eS5zXv25D^IiKNfAv=cnI9MPc1af= zgp3!FN+HPsH!9ld+Ol;zL;J%&{JspI=ulzIXObi@vVr^T!TtNX&Ui9#-+uOIzhOA0 zeD?WgLV@UR>6WJBzQsZz+uow+OIf3FZU{EAxulALdiB!6e#eQz00$!2(a9OE!{V(p z>ursYFhar^5Z5)v1axk6j+sNLIM=}g0*bR(hFI;cmJLYhw6At3j-G+fKl{vX+`MJEbjDsjd90Dk=GINi7K(ONh3P-CTQ~37U}X0DzyCeuHY77i z3xq>D$SIiV&0*66Pb=qPII)YfvgD46)g_cG;M6GaTR^Dr4=9~qT0WbVlV!i-B5zr< zz|}mr>uYN&4k#Gw^@ePo^M$-5l}K|j{!#!JGklq5VSp2~AnR??m-`)uI~6}`kK!09 zVmRzqhfUGyq=XQTA?lJ#($OKQ)IAUZY_S85ozJr!PbBAPhZ_;m(O;)rf(G!u{dQMO zd(d;^gS=s{C8G(OPDhqZ#1)*ofO^l*z1Z1Hc##WvuwB-6cTU>?%usG-v;#E z@Its=C&wrD?8OWF`JewOD=fOm+wRes6<1dkq;mr6zTFnzBH-`Z#`>~|lqct9b(4v> z$((02=-Sm)S;kPn+RiL0EA9ZZZi=!yx9`bK@a$yY_79FNnpoCm`$r#s*9P6D0-XYW zk1ZCnRyvJZG!?hy)n$z#80nzRRu%)@oX>CFZp-|B$ZR3W!n~wHhJvyeM!`WS6yq;C z@_wH=I(@HKvvX?USU7C?Y|>JRti5`9Y{TKX^%rwC9ASbqwQgr}YpSMAUdPZwGs?t+<$#G1lqnk%|&d!0BWl-v(yR#N47A-+8%j zl}gjH*=0*5qxxKO%!CvtDJ!XXS*u^wB#lJ}54)ew!Tpn+G&Ajx^R@?B(fH3F(1E(U zw<{7X&j5>5@VR-dG3Z!l&{NtVe>fftEfI%VAJ&1#!4{me`UxQd_2Jp)cQeOlbi?Pv z<&)=`d!9+8RowJOSPutn0#bp&&ZsAp40lN8^~myg&g%s0pi~M`tjC;;aq3b-yX-aS z_@`49FpSaUC`nZD%%?q#Vj1(ML^^FPWj{EhCdC_f`$B0jdt$F4+(&r8Ja`L|D&8a% zPRiz>fPt^W+@5_h6t+an$tFP-K;WF~Cu_{-x_z(L(%GC{Tvep7N=D)umqJkBz;}f` zMTZR8X5;C|2JKE@IO^~Fe1+d)|M+p&{{P9>n*!kf{^gy+|Esgv>}S~oy;Hw;?48d1 zK9T@<_-E=uNy%ezaS#H1yQiO!dY=tsBRf>}4GVhl4?eWztraV7Y?uvKZBXmj?(1EP zMuN7mvM6(q!EkD6bq7fs4mRZV-fj^uJhgg*nJn@ppg{7mWn$~{u$4&W79j~=$^=k~ zA2FeHEkPGBa<dYq#z4Y2{0 z*TmhAPM3|LuZ0I&I~4ZW{=tQu%7$dPSDRKYR~5Ajbj&Q0?i$TB-Tqg<_MW}>jn$X`7qtc6NHH?@R%}44L^MW+7}CScf8`gFpr8h=3fJ-8XIU3?u$3@6d zI2h5PsAmKp0FPI(yg<18yYag;*Pq(q!HMl19NW_Jx}4@_jDsRUOUDwH3dL=jV`C)7 z_S8HcSnuSyw{_st8RZs=lDD0n9jY76<(DKw^!m|&)0t0YK$FfSte8((trD?EZ@pt| zh#!9VU3>N7g*~`?M_TyZSFdy!&RB z&E_nVDF~ezO>wn!R=Hwz&t@81q!JUWRO;doBzj?M))<)tEnt4@wOZC~H*9zJ(02C| zcKhxv%NLfdKO9^0^jyS8jm6lch#H1F!(pRXVCKeM^LgmVOSX0+W?z2)eT#&=Ds0fn zzyIZTY-8<)?e8Ag>%9Z3RIbcsuPq))X{{tODM?Y!&ri(npW5O=T9(9TmscXRQLuyD zaOjA2?E$AOK1G36%;dq44qZXF}*G zY8WRlv_@h{;Vm;9Kfd-;DN=$y40b$<`Qy*O3qw8ko@JUf8)38@~mvZP~6`6$_MrnKlL+qvy;!z-7wwBBE2deGWwS9zS3Kc=9jOSp6#sb4FXlJ) zxX87R_78F|y7t)b(z+!sTXf*BB>sR)>-~P7!U;p7ZHD*{_-L|EC(R>pEhPswc zCzVgm?u9)pi<;Ric?z|9MFb}&SDaXg9C$x+t-gadaTfIZ#jhZFjEy0a%gDPOGzA3^ zMoo-OKqWY|Ib`LYMp*hTm}wZUh2fhQx$v=zVrEvHs$9p zUYmJPBP1o?!|E9{>#esRY9{>Ar=O}=#)skT95bk~-MG1I@l?e2_7BB}!F{hzuEPw% zVL)gCqcOZKI0)%f=_v6>phzfRL1OGHRv0PULUB=@VX0EpdSrZZd~$AyWK#2eo@kJ? zC(j<+)8|j@@r&m+^>}RK#tjuz<6c)pM&yv*IdZ{g;QQsWIsKy~i=Zp?C=|J`($u5M z@OriO!&pU!@YC<=8K4Nlwsv!4LlRZi_E?eF153n!y;E+yCFz{ULcWmA$QbB#-Saja z*#6#uHQOyA3y?bN&4#@?*mVW2q<$lzT_6V>^4Ht|MrQn;XgnrlgJO?E6>=y)bL|d9 z?g59e-{Y4|5pD+s5L^$|Ae<3Yr=VF!hx_8>;Hlu$M|hb0|JeJ_XGyc`yc1pNy*=KW z^1j-j8;vFmjYLv3BT524Ox*joFz`+K7jDE%#Do+R8nsAK5=qelAUxVtcloO0y-9cS zq&IKojo-8L6i5wqNlKhhT%eNCY;>7CneY4Vz1MoyWBmHLkT4-XLP`bwRE`G4+(?xm z3+tY12G~c`tqTS4No7+go{BUGX&D6z@#iFz@(eYa9TjK`jQUau1scIs;yY4|QgHF} zq>AXZhoMj)5DW!-Wap!)A@LAGwh1S~(&+jEJuPxQpd8LaT<$^&l5d<gWi#9(qXX&vi zOJg2WPubBi^Z$l6J>*v~*1IjtfjXAT<|Jpr=ms*Hbhe~>@fkz{Bsv$kET_#A%`^WX z|AGlF#yVdNZBNkDeLs7;W|uBqwYm9aY1kip`iZT-cqSiuvA%&RmBz+~f!e@@`*0#L zTg;D73es-%ArQ6&NdxDdmCIH>t4h+N1#d8zBTn1i_u2N#ZTrq&eAmA6wJ*s(KEbEibk=oAget|N`iD-dQES=haakJ_9_2*a!V>2|1h&Mo78qBgDc}+2 zy|@RC!kD-h6k|A>ft*m>Y;WyohT7`=*uM6)FWE2r(y!R=)`lG&?J2%C5b9cRWI6-$ zzaI%&HaB6zK*)}dPc0q|NefTnpbf}Th{#Op(@#FPt2Zv&^&7X}=cp`!_8dPuju3wsrag8~Vc1ywl-L zrV`eJdl6%t9kI=geT7QV2`h{VJ^Lu<;qdrSwzd?z#N1|bS$py9bKBe9u<5x8i$>nI zVaK!L$-XU7z%F01&E0j|J>0cOoO_nAv3%NMQH)`7R;pBV$TyljjXLm$K;b|EN5{%~ z3MZ0UlMwhYuA!)0T$tCB!{>3Xkc{7gR;`er*wG=18bZ;xej106H0gBsUb|=hxXC?_ zgPqy7jHx<(p;b78`usz!8Q^qabxeIYIVm>I>KI`SZOABsXN`R){ir`vf_y0k?xE}0lnECM8{DGnMBs1>I zCOVN$i5~>tfxVE=9Kmb|RmK4+n>Y|bRzzm#xIC;C{((>l2~$M~*qk@wDba96qRu*f z$Owt}ViF8vQW8Z#(m*3x4gDN_&QMq~MN|khUV&c7eC^;M9*YP2eec1}PVr;D*lYOz zufJXw0DlMg|N8aS+n(ort=Ah26b@qpUxXqcfK1IXW@RCZbKj`KWz%Bwf>-5S_B!U* zp#T)^w*m9hKIA6Pj)r~P-`&%p2)lKDW!Y|Azh>{e`@Y5s5ZE@?)~r%0+3x11SjuyY zD>gkhCzn0))rl{KVaoxARA*^v*)CmMRkxdsrtQ+osvRC5*^|dlR7}vpT%>!68$ftY z<=j5{@rU;A7w;?keTbKTw{PK8WK@mEwK)Tua|mE}GsFTHxl%M{w{BdwiOIA*dHzyz zG-5#y_D{^uCWT(N({n*ZFqVPcyB)#i$o9~^&o0c`SAX$c6-EF4-~O&Tgj9A+G9@R0 z3(Inu4z}+x8+1lObnKN*S)E!YlhHLqN>nMj%zIgl4(OC?E?qF0(|-epI`4vk7{=VY z8UZkouq`Yss@sCtI6jUuSzi(*kqrYF#o%%7IxIdL*Moz;Tz1y2nM_h$pW2?`&?;r- zrOZO<7)fJu3~m_fJV*cU|Mj=cKk)4Ihy!fOVxyUK<-B22Gn3YC!+;LiR6i|W^zDr` z>vTPBi0IfUHsCzqx4*HrW2=|1+V=XoZEPJ`FgRwjb8&6*5r5D!sfbNXr0vn;2e!Gn zVY#s>!TcY8^0B(AyLazP>%OzKrSFVi0keKsgM(gM9X{PH_u}6DFWKtqqV4Xj=}_N2 zJg|l3Wy|~hQiz-uk8NRoQZ~I5GS6SG*~0vs%}vi)&udxh964y*8Z8$Tb97v^a_LM3 zDu+QP9+MQ1FsQNoguX*AKPENF-tLx-PvpgD_gmk3ow|+Z$j zaVPUusg}fbdHdd5_TuHH4Lv7|U3!2tgL-Iduhx7+jr;)J}LB3U?wJ z8$Wzt^Nw>Fr1|LAojNC-OzYsjh`R=o_u(HvL!wblUWEoW+ee27BMt!G0RiiHo-!eD zW_Yw>6sKB?B`;dH4)Ip!?ik z3n~g+Br6iLOn?tL3<;i1-zYnvD$Y@X+fGNd^6npM3HM&DZ3=|NHAT9PJu{Ve?SDt%n>1e*mgl$a+H?pkr3i(3Rv3!;}5PLwou1 zrG5OvAKSP7^jr4v#}Dl2u!#P^BC(XDbdf|_v$RU3EZ4JGGA^kQn-p*z^EJHiAt9mD z$L#{^S-S9ieq8fr-0Vm-%a4y~(~wC~7bbYgKK#*#_RVj8$M%j&wtDlPEnm4|{Q(Jv zo=r|pSUeeX-h;ytK)#cF(C-L;Y-(I%9$-*{OeSSB(~dch1{sp&{rk6U zabdxn(h=kXh`f6DIPf78D3&buydHV{;*9Sn8814O3fm1VuR&rcvw z)yfsp(mLukoYBe9dC0>9VRH=y)S;n2mrJ4g8=qVk*t330c+J8GHtqc?V6zUL9c1~e8k>*`-Y`c5!>I{R8dJ3bhF9NugkUX`O`Iv z$FjD#de!O#%+${9@};XbKRs(6rZ@Rvp(z zWZ(JA?`gcWy|twSeSBiZX6F}2>(giDDv`W>J$tPN(Z5++np?CWXqI7e)6j@YhZYWY z-Huf&gd{Zun^P3Pg@JvJkq(C%l0McBs6k)po4!{DKpfN*1B|3Ff})6IUJj{{!xm;e z$&sK{a%LQ$eIJhaBS;ZLau$Sy$H9s0m9-5Y0qH8^Fh&ZXX8b<+6=LP%oe(CY!OhcI zC;UU8(8=MUJRd+aup_^H`?jEd?5J^&{{P=!uMvR%_RIId z2j(p;Ek*tQ;BT_BhCa_nfDCI)hddegnu)rDoWZXMH=|#p3%KYEIWUsZl$gzAhqF1* z74@m0K^0)S2ZNe-;snUN4|&+j=W8}K4H++Mi;F9^dg-bTYPv^dju%Th#5Jw&(q%=& zw5DT+oy?|LZ`K68#oHN+N8^@CrbPn8W|+eh85_~4y=K?Wn{9jkV#BW9zG-j0eP2N= zr^O?&rvt&HWhxXPY>sX&$>E2N9M~6`&cJIb0kPM@w>zo>Iu$2oHEGpq!$NFSsgww9 zu!>>NBmW^quyR(h5@bVfAX!wWhXY?t-46#4$VU^GL=0YHK+qkVo*K6=zyF>*$w6V* zbjT;5t6p1sVY|BrI(&Ec4s37tz$Fht2t>EVW*tun)(38fF*k&{8njZ_-wsT?wdC)x#gq0OQPzl$U7l@1o|3Xk=+9WwxnE`kDJxSRhVtw!X zKbBF{o!i%~d{(h~8@6}R_6`p1=AHYtx_ZUF_np5KX>4jLVJnvxC7avdKehnrYrejW zdC;=c$xqGBS~MQ9xw%Cf&n3klsFurCJ3A4qPn7QE>sRcbef_uWU;mqbXJ@5`EiGLZ zhvU;vKeywfqGi)#l8ACRKmwGsDjcguYx=Hrb$6+o*?Bu6e=K9jUc;Y6A6 zQ`3{yYSi?1xi0guC1qJWc<`x}jt^~edRA(cm8E5S-d?x!a}qAYdM0`CzRK1J`1Ksq zh0=XrzjoO&>9Ej{g}E7f^yrCI>s@R2&F1D7?8@y~>kWqTs$f)6Ij)GfcI(=0o19G9 zXP-YZlAN*fl{2J_e(-Ln+r%W#^0+cMQ1&2Y$;mzUK zq0Ieuj*Bjh6ZqTh3ZBTao(G{1CBV>nO7ZhF)*!?V_d3Q_tgCU1li-x#ZiyQnGCcyv z0F`_L%VcwQR&Ur@rRqMrq<(bwaAW*7KR<895?0R6IE%3)*V+I{_oGKK3Ided4KdIK~EU5CC|DsPvC(c4+E)LWu*D(CKMc9Mod@hHx z^U9g+?(Erv2cO&4*0yxIz?9RovnoK&N@v&%xHLQp2)GHO&7g*^dT!2EFRj|b(wx}f z*-Xl^`MgjBBseU5f`uUdh|C6a_`GggFW2q(a363@#RudXJPw!x0?A*@|B=F_6KT7A zX~ibSNSK?mTq#?%**HJr|jm9D>gqjIhupxQ82o|a3q@NI>2)Iv^8sIcCfpv z&5G*=X-u2L$mEC(7^xr|9AQWA|J+yXtuMT3=e45Mn`NulOI9lF+j;fGPEHuB_+%!M z%_eMRWnSMOh@bf)$PAk&q_@Y99_k==$$!qw2~riKoQsSEke>_E5*ruA7Tp%+z_hYa`2~#Va^(Hk6wVTIAFS9jl&I><|CwPwg+h^8;JGantfMQ#Lg_ zZILJk@R>ydQ5zeZk^vB;KMt&~eeKKk)vvy96BA>WPNYVkCn`^X|MH*y$bSFd{|9^e z^rg+uEh}PpdwbJTskjagHuWb@p4mPLh(5FQcv_>HPd|BN#bVVWp_Jff4j{U34rK}$ zx=rjaAx_@8eMj7e!~FxPJr?I?ZDncRlCa$?W!qX?w_4@Qg8rb@YfV|p*5o+&+^$|; zwL~(j?}E~UnKBYrh@|R>dsw;##1!Xp%XcCI7a?MsYrFQxfAnqZc6_$HxFpqsQu9(- zYxK+_$uX%B_V@Sn94#)aSSB@Y`RtUPo|dgxIuj9bYiHLUK7Oo&je?FK8<_W(FJIF4 zTAqgxgcOHnFrw$w?2Kfjm3wXY0I7kQu z;e!i=B=y3155gt~DJD*2L?~%=W5b?5d#+9##DhYQf|kRS*+0)Sntn)sO4SP^b!Oz@ zGCkz`A&-ELRn9Bs`7l3m6d{l!I4;B-gD^1qqxh#GLID)=`7MrpwLBKw8W*`33t_SX zYGjRgdKTDwLSgsaky$qDc>VJ^Q`+-D3W&C*vEiAGhQq^f!2IlSzKOo-27d4XS!iKpe4?7154<}tc6)>SGE^TWd z?X9xEm8`{#s;YybKOnxALx}EwXn_GxGLSe21DhRTLoGY64=p+D3qC9sPi+0=nl=~b z{MH+pUBp#=TcfGN(X1mM^v921*jw+sArE|J#$qU^qt@zoY(6@#BIK-8R2So+w^zkI zu>5$=mgZ(H3o$O6w!MR(s&bc3X42ndS^_(PLI|e*{LGYKS^WJubi3_=ot~apz0tC{ z`FZJ`kxIedKC9G5u3c?y@{`jOifLV3S+@0!7q-5+uFpKMfVc`=52!%EfHG+DIrtQw z!Q}L`t!-`D!>5m>mA|xnSx}&6wBex5&o9ch7tS6_`DDdqnbsEhtTY4TOqC#*%L4_#RB(*c|V^V1q4_2{Oru) z$)t86U~U-YY^Xr~@CML@KltPmo12}myLT?jayT5q*Tvtak`+^|?`-1_~7%`PA*J-1@1Y6k~r zwzY9!+3_)Jbb3~-lr^u$gojNUjtD=8q81b+oDSRgcz%>LIAuTl(Rc09qt9%1dS2af zv3O{y6#S6BEzZwd0&j;dB-x0)_r;%+tPtd5EITQs#O}_4tzNpWgR5}zSaV+s`Gq)e zNM+KHJDrL~DS(X3>K%LZ`AdyEs^t}_W3FAltG~0gvn^s6CRWVr)7derl-m}IVl;$z zLd%YikA+;Yjv(8mG8uK~!1NSbsA1p%C_E<-m%C%g0yZ%b965R>g}{}I#aBKQ8ucI# z3_2KF2RR&95A{mh+O4pz$IWZkbs&H5M?bPI${CpY1N)d}Dor?(w|P zwMX&Wmw*0HMAnVXEg3>7EUe)e@EB9EAMtl6JV2@V8OTo|tFlKySUfpC));eYI`v8} z=*9)k<6=CIc~H}`skFvAo4Y$2&9O#G1sn@Ko0&mz(N|a(BeHZhXFJ>5Qr*Cx!I+BY z8(x45FK$9@2oCWNhPL+fg$k3K z*RR<8%z|xgzEq5AIvufGIIA?TFhxivBO($g2Kw^*Z@*#FOY;gRDiodfK;OgfJ!r9L z+PV$kImmyQ=7hv9zI^qP`FsuAKiD;I$UKuc;Y0a~BZ)!_AB}*BT-Jgu5)IsL+2u=@ z?e^VU;y~=}Zrk4Wrm_+Ed1uw842XbLsc$@UMHUAVFPP$=J$h{ObJMo8a?J|IM-~Xh zY;oy|I&pt6rrGVz-mXQ$LCtCB#-@~XrwzV0uwdBt>RxGc8s!>HOitKXc1#5uWJ5+J zr5i`4I2M5QNPUmdt(xR}Pwd@y-qSo9vmbZ@M@K~~ zS5D3E2dVJO>h*Vj??2m%wJm$&t-F>==4~oFA?fGK7rU0rPukSfk{ul%+F`q>?u!u# z$OCb&pcMIBPS=}50%BM?6&K<|;$gjZZew{Os>j7K>GqIlR&926*77$e?B(+p+O$dB z+ulADu@iY>;|x_xS+ckJ`3387eY}C57s^aL=pneV%y>>Xm?=VX`JDOubheCLTK4GC zntlAq6T5Z$rX+g{b8r|+vf`beoVBBqV|(!Nr`BRjEIs@{#hd&L_@&XBRPa>OCmzk- z{+{G;L=s0LNfnxmr`&u$t^pF3e!Vlp7^CbvHqF5$W zi2MM_-stK_IS&{&c|D@3Guj_Y#e)6l$3K+!1>cQ0WV&O8bO{CP$q-3i{O!)D077T2!{Q6N|>9v_jT2}ffz+O_G)31>4N#Uw2y zJ8Tp(tZ$5x;7uTNq_DuDljo8Gjr#%uz*vRx*;r&ug;)8c>^K?GunmXd0jP=v{D1NX zfBqkL1^?S?>)*fW^|}D~8(v>G^M7FG9oK4K3j~5!x}AP66pF}kXE1cq9~PR(GRV8S zqwb$%He_U2`a%>`HvLeLHvv5`Q+de0NCMKx^vZyFEGL(Y*rYCqohYm0$iPTV9;7muoM?Mm{<%NsVyp)-}te z67u{8lV{csv5=HDW~a=^=MenfU;W4Uqjx&mcDcK(d6L)XvXb*hng2GjmgRY>oL;a;Po6txG!F}C z&+gs1XPav;RX`r>Ki5q6>ecJ=wBOxZS1=6f3M_g#B)M=~NtOT#|j!)Mp7U)Oj77#`yy zKGXE{tgg}V>4A6!u|(1yKYk(zH4re9c z;rr3EIzdwLqUaZwjhr~VIrK}QikgRW|H78dWK@Kd%N6+&Nbetw>9bO_GCriZ0-guO z0$rdW<1nT8stg7)4Pu=jV;*=h6&#gv#X>%xO-)VM@!{b}&IlrjpGL-Z&vvy3LT04c z)$`rwbGk4zg_XHfGyOSu6j+=?CRLt5y=~X8-LQ7MZlwa2$(IuMfl%$4S)tt$xSzb-VpR zI2sKy@4bliWx?>!BA@eoj>PBnfrY(S#xSzH#5cI_ATGZTyV;<+N2-0z59oGa{f>-# z*pLJ>vuK!w${>S3#i4kn;)2B_=n$H=S_M8+8BKP4VFz8jRrobbIN;qF}2hZbC zKN!~S?7XIpy;!UZHCUX#E{Wh^*tc{pZ^3v+3~T)R2i>O95WoL}?@Qvfv%O_gGjleu zkh%{#G-l^=5R6d=d z-u=@1wtuv1TWdQuIWcRwTv|pb6gS)_!KU(a;C`|JBd=_YJzb4$TGckbM^iSZek7rps~H|)vNb=%q@4mfDldc&$sClOnipSRW3OZMo| zW04v2xp8+rJ8gMfpLbuhjR4%6jkfQqGqbKTmTlKnf zBz%I9{Wg)C5PE?PGurS7ze84ls&9|UAi1aHfxF(PLD9zDYik8n5A=w%G$fp za2_0_;iZy#P7V$ag}ej?5d{))kGA*rtbvYSj(UEJN21DRU=N7~!uTht8DPXgL5a@- z|K@-OeE?xV?#eU7K@T4S?g(8mz8EJb1zjUP8)({Du_T%8_~fK!@x_yZ&;|zK@HzPV zoemPife-{f2;@h;6UbJpRUDb~um&8z#g7bE%zZxyyO4;=S=sUdo*$ArE0)V-buTC` zC@3z%j^H$K=o9753v`J+s^f3JLP5Fi+$&iVgObLbg*fAeOlDjN2zwU@k`zaW&KwBD z-`RQ_B+j8X7z6{sz@uI!`W=4OYxe(t`}Mj2_-_RNT)IS@o$r^ZI??KIDASPu+lBoh z$?jxR%CF1l#VG=0ej|VFft%%xe8wpRWY5Z`GD_xC7B>Gkg0wkMFnwb~Nsddcn4eiGteQawxTlU5qcNLg& z=l;8PdU$B%YMD{79T!gYy_oe!qXYSE?;Re=!nf7#Sg};mq0DB-=h5cqGn<=Vuy8bJ z<+Bk47mI5%-`+a5aFCR=u+#?0!;;w3kwj7*{d6=emNB-j5DljYxyenb`>T`>tWcPefZ(0_U1eHY<6be z_O}mha$;Oo%^v@!pYMA`pyVDyG`o;ajg3z@iDadsPGfOt!43}(?Bw`Rn|>ync83p| zXhHoh7C4mTK-|_LM1i-sxM-)Rr<#pY#L*pNWCE9Aa$?Hv+`erOKl{|lAA@1r*w}O_ zX93(5V|M-eC0klrv3m2|KKb~^wzajT1ikxr@7v_Wj6Ht**gk*oxlK(^*u6Wqg&Y+N z6-Deyx<+ON5wMNAwMUl1AWZ#X|CRSUiuxYk_p0^LJF1Q&#_*C%(>=BnMp9PTy z<91#$)YVlNB#a9ot2`UG;(mUi?6`90trM>G&`hfu#?zX=P!~o<4hI`}+qrKewRk0b9D&ai5WyBl0oe-i^&& zo1dMriLsnzvnd;&9+NF?w=+~1!$t$MnbCtB{XzlFq#YyN$r>Z!m^8^;b`DcE7!FzF zT67k8$1AI#-O@FIr_pZqzHST;1zl*A9*j zW#Nn}Ly@b*Ef)$RZ+-hOziY)}(cb;yJL>uwrTpn%{E0$f;?abq5^-BvnwO0*21LO4 zFvD-%x@%W1uiA^3Ym!42N@ogDA*2YY81IuvXN;R8vP z?>|IGk4rLo|1!Lrf&I#_{fd43;DO?)x$YE5;}a9QAB<6uzRu3i+ri1PI3K7$STE#o z@WU9@@VN)*_>)NyH9>hq<~=)e{-A!pRjO5?DEv1Z2gX8-f@Wr>tax-N9Xp3I&k=J%3$xs;i zTs$;m2C@N$exKGVoju(?$O6}n@kk<_&@)7FMLJI+7I`JRyngGtombDC5(0Q0xv7kR z$msQ(KN7Tvp$wU{b_cs?P!m%92;HF3iQCM~j0k!ZAY(`f$0;;xx_|6m4sgBPlwT9G+^en0-@M{{BIq4uU|iT zy)FR$`pbt^Bvs?i+WJ3lbhV=leVm{KZ-fFi=(+rLDpWRqs#rR0Nm_>iMRn3KC@Vh9 z)9jNTo5c>S2&)xn?(ED}+Z1WT@)S1PjIKqwD)a0a!i&F92j*koSSKmK6 zvBSe-&F?w9*-R1>Nhf6#44Sm-*RI>@rDYuo%yxsmkd=y6J3S$-4CcG@#;0gtj>_jf zx4Lb%_iTG(N0!FfOj?pa;*Z%#nMrdk*o5eIfc!yIxYiCWK!P_^N5pl)KDF7XX+9VW zyY#bIETnF#+hG6_5GujwQIL*|8P%#M^2NWu#kc$&z{LU;r6YYmK{sj)XcP{5^3vuUF!`3R;`xp%GJxV z1b*@2rJ!?C;gEg3|K3~ng}3k7#^#P7{X;!7 zE&o6=w58=G5#5fCT(PIXpj1la!JVBw5nmZS;E{jl?rrgN5RbF#;}r zNom)ES|c2q{2m1}*9G4Q)-`e6&C%y)48S4Hb38jWCC&$-P9eW3v2S;GM?4Sq4fOB) z9o8H3bWjZ}w;55utXCM7KOi$5avV@E$W@Q#V>omLLLW{Ho*X#n_0{>)On_A40ty!h zj|-4HI(tS`HcaUIX-)QevJ1x~YI|#2g;yq&(f&mmCS%9yInQ;>Qt6zO3ZO7}a4an? zTD5RyAAbBJjlC4dJF*66KLWvH%~7a8h9=M|pUpXCf~2%R8Gll^^Ib2xf1YdIONx;o zjaJM0;v&^79CnU^AOZo|V6$fou)Xd_3%B} zjUw`SOno|*$)!~M)GAFoIWCGAiG?eu2nR>I>5P)te6c~L>pVUx*x~+>8XycKX#bQC3s7y>`HCH{akqh3k>8Z510I;~f@ZMK+ zZ5}@ONb$zljH215Xkfg-VGxTGViVU)k<11PE7TiKxxt@n$((3u@rF%|W34+Yo95?F z)~$A4v$=(7J3Knjyp~bP0R0TsgLA zIAHm)Nqg^0Z`$1Ati5=#uHtTeZQG9a4}|)hp0wmB_~kEu*}nVT@7ng(u1!x)NmGt- z5YHpsHoOaekPeSTM9(%h_wB{Y4UIUy^xk_evNaMD>6C+l!vK=l!PJ;-ZSGhimA0FA z?%4Fqj6M9l|7=g5ytHg~+^Xj;7={9X*k0gzI0LLHI0qDC@G0nsnV>OSzD`h*&un9T z&5>~7=?2U)xwO+4$@ODGpZ${JT(0zY36{F+`@g(mBZB9;P|pM&{UDwVd+AAWAr z)6)uxdiwOK-MD^3zt15}YTgC615OY;4&d>Lu?ZRQeE#T(2#3tMv?d|SLrV45XDnVQ|&(P^f!IG(j3+mBlcm62~D1(QQh+F^66*JoB6ge^w z=Lm#`>y8AGf`;o%Hbk%2vO#zh2OJ8*%weSUA3ylugYIkV-@pC!x&Zhqudjdo>r{-^ zs_G7e%YFw(W^z#r-CB{MXvJ>%*u72?zFSU=Kp6^eJ^t<8J5uo?b0n;RP) zAv)v%&^c>Fz>E(ccf1Lt9DtdR{jWnAI-PTojAmzME$YLXwPJw)pC4nJuK9vk9-AE; z>={+l3555q-oO{d{A`|8);x7#-_TVOyM8i++qhAc3L zqlu&~UY@YcjZJ&}?6F26>GXuv&Vejjj`$Y{zv@CsKh#Dn{zkyk$)u$-NlRrCcKON` zZA2W_%tb%_=y?FjqU3DgxlfMH>hqvB*({9|jC&Q(Fw=OpK z^XKc5Yr;yOpP#XE<;XU-U)X7>Xt!_QmlwkF%Di2_aY-HL&i0`WLY|*S1No&VJ-0u2 zq?zyX)Rf4IxKrkGd8<|{dVU-sux^cW3Z{WQ{OqZ<+n!y$d_@PM{BS^`#PEg#am7NB zto-Ofdp38E?VwP#NIWZqhLJ^~aB7DKX?43IXm&UZdiMEepGl#T$)`j@?GwEmi|SzA z-`&+%Y<_ayQkkTTsuV1PYaULEGPS`=0jun~&?|To(U}?XV!Dl{4pbs`fukkO92L)W z*c53Tf&~14+TavOK_GNtFtF9-726LT+KU&@EmRKLnVpGjK~>FTq7v|2CV=-@yFC>w7+rR@LWbYv_NwZL@y6t9cv?1Bjk1 zbmrEbdUq5DnvzQw8vyfGDqF8yu|dCU-8MuqH%0&^1BU0|XTuS?4XMz>Mx{TJ=J;ga zJM#b3Aqp#&2VPEu!GLC{f(1oX>|3*i`G->pD2Yp)h z@kGexm!|F7^-GFKe)jaKefr6|4yNgudD~ilZoMw7{+d01v99}d`|eF!Tm&5ms^dF6 zJhfUCi6I2h$SYGF&=AMO9>J!gNYsvCY&;OiHy;X>;2=`CR1mA#i1k~ZJ=%F}#gnqt ztMAzTH?CVIJ*gaqO6AB}ZK8vh#VSvw@^Q2#o?)f)%uonm@Dm9}@$~ z3XP)F-ISM|(3e)33% zAG2$Ws^BE>Id=DU^)pB#Twa>h*s0@ntx~Dl`o^~WCuWxx?GS}Xy{sbI19@rHtzTPThgzjXLG0Hd%z?}=qKv_VetmsI?*WRYG)NspC_B*8 z=Vix>dgSon&^)^Ef%DV%1zj3utJl{$;}GQD=CXM~=j24doaZ~U-WkJiKUqKW0C*Kn z11TTV7vMF8;5L}UF zidVz)3?HUX#CSkxs0t7EmoC?|r9Fs0i?bx7Iqn_zvQ#|L^+R6Dygn97S|sN9OMF&7 zC*)g-1CfjqWD>+g?j!*fHl%R z0^*YAl}I$o9H1D1b3m7mZ$9uJa0-!wV7v3@V9FCt0|bY}uCJ~JSd*@w zM*~tFrZRLbiC9vQBsSZ=P*80CP&{rMPd~T)qf-&F=wRC&z8uWni1|Z75%effa605b z!2yqJ1-vSC0~WctxVm+$OUV)!q7iThCfzZFCl{{dOjVe#Quy%uY`A#**INa7_T%sV z?Ac3g=FBa-gue{Pa}QY#nVI1PcPc$Jvq?kx)okk;-@biEtn2NaEs?fDA-}riFMjbY z+uU5!0gLGlT#3(*KDW8~8GHZzpR>+104I>OYZ;2F`U`Lc~q@AP~lY&%f~Y7i6{j$A9uCDr&RoNjtBdSt1gW zrFEkfw#3T3Ew5g-nenXkS`B;ld`)oq$!SR;SPN2K6vc<2z>$4(JSKT7yq!P*E(u?w zYvl&>__R$;MNqdUULtyFDFNAX1<|NFEPg9BMCsq0VfZ0~n|s=$meNVq#n) zCXgj18^U+-`GmMQ=^<{Sp2(9l6m-!T1yS6ve_#Sc@(5PT@F6m}j6?7!d}rtMec(!@ z(@w`vVqrX%P*Ffv4i_jMPpYs)p#cAZu3n)!j4fJiUGsP*BT4S|?v6-y@EAZ5@IIi4 z5OEL$4_uP{gmHsr@T1XXz$v8U(x)>Q60=J)q-o+WPESv%knIz!6pC4cz^A@vZ-3>h z;%9v4``^>|C;y`?tSE#Pw+YMHKM}|U>hcqu_rUx{L0g<_)g<{2e@DFhA^K55l$MDmp zm_Rn?H2Hl?Vsje`3E?2fB^XFpt=_S2t0yVeu-{ZyLjh1YId#$=8TGn(H{CT|5!R(Z z@<`5L8gtl#Jha+%eLu0BM;;1FIfSSeBW%T4F!NehJo3<1Ru(LiomHWcO_l7yXFs-D zqh+&mOEx_-rUH&|r3Qg95F1C9s$BPU)+sHx&IB{DEa-ZXh+V$CVn+x2_6L9PpJiu! z|K1%d&Y#=*`nERG-MvG}_O4&Qqs?<>CTEWyeQ1sIs$~*cZLl1UxCr7Qz;~v*hM=ch z2{HZyHZwJ?=Yq`*^adgwvcnfIHbl(ow4C=svv;mS3627XGWP(PBXYklyz{2L^~ODm zgiH4P*$Z2_JZ_<&Pn$c$sV{ut9V@LCZ3nyD!G&^RAd6|B;=_Y|o1dG}A&Bhn@`_WY z>>un|tL3+usd?Mo-L=!xg7_UFWO2!a4*c?2U5xKGHn6pto@r9;kiu0eHLFxkNA7qr z8z%iiDRc<6J6Z?uLU<-7$H(E_TEE+{&8-(!DjnHaKC3*5T<)^H`R1JwD)7`vM`6|X zn)b<~kF9!+DO1=^kB==8PYYe*z@_K~wTdOMbf%E(=}-Z6a2y*t^Wn(ItED0pbckmi zX9$nhK?8J;Jr8bhFh0bS!aAtiG7gJ!VDK>m#9QYz$`xASkZ z9q7Ef9k+*&u*Y@S*>xmC&;&?{Mq?;MiO){s zHcG4uO> zlg*78ml`sNb{KHbb&mpY^bZdudDSCmULCf0D;n%;Q;{WX6qYv$b8Hmu5SM2FFge{f ztU3z`fA9xKx?CVJ5B~t7dU5p|Iqy+Gupx!%;87uX76?XcYI0hH7-q6q*0Py!z%gsS zC<5@*5Ap$#H+jV967L#T?)U||0q=&6M9yP6m>V*O!2m>K3qNK>4mH5$_waa6a2-Vr z5-~Pg=BX6$%nYN6xP$h9EI87&j{UC=FO4ArqsUZZK+R{-kkjK+`0%|Ib4uU{3W`YB zV#pi0C0>7&6o*8tX3ge?JPvS*8=IW6vGJ@udHhVlM^~<`=bADGbnTSDrZ5wy!{6T6vV+|{X`R#Qtc{ONiy@8Q!TS2Tefr5KHZ?V6ckkb` zWG-pfZ@yve?gQJ{T(@*GZwm`^Ry-|h1k!3T=IDzU+7AzG*zdiPGjRyf!Sejn>MfBl z=}JKni0cJ$NF?#r?}(UHD!O8_-Jsy?X`_GfatqO^WwLp@dhL=O>~CAI+fZRzq#JHv zp3)Kr;p&wul83FWt?NErx^!72E%GMnwX&@&uiDb;l2vM}w!3p=p%78fNX)`k9XVdc zF&HXWtk-YLGk;=|`FO#C0hb{VjU}v9Ik9r-$dZYy4uSwN%n4A5w8aup6`JFdd{>vJ zu(Z5l-k@z$GkN>9U;jtyBvG8uVMFShotd#%G+>V(JrMkRMjFDIs2kT20+Pg)biX6nc1LfVSX*n3r$C3#(OYmdRwL@ke!Fb+_I@3n=n= zu86=5N5fVsmKC>r=gw{0+}s*v7jzU(1sN2%ASxclUKBR$1MC;bLuY0Qjta==iTePj zh4sXmryyY`Kq12K@tGtWMCzDGSObDy5OQrw$QJtt$PE9mZc&FsVljR1Mg*gxGlzIg zO=yJjy5WillE9DGniZnWV`};EeVa-z@Lg;kPfD}hPjZgVK z8XEQ~pN~MOkhNJ$&6bT%jk9%2IcPrLpZxys|Lf9g^55V6^|}D~EAamy8T+Mx-?uXK z`+DY?KO6}91poW!wEZI{K87!7Ya!o-ENEe~kef$4>t8o_*PAjQ!+=AipQsKicK1*} ztOZEd1y*^1C@_B0ci_3N#5jtB{%9-#>>r6+fZf#_+SbOpas}|| zXR*3*i0ka7UG_*LbF=PY-?Pb?8A11_g%fw3lwFV%6pN_|*NV>15g8r9l0z#QN@%0t zzp4DCYEY~=c?^!{K=%S;nGpuQ1$S=WvUlJA1)G|kxBYz#b3Dst@-Cv(cVNwK*REZI z%|C7*fAWdUO6XKzG&6SLVDR~(3gO}4BdYkf{^>v02nUkklgH1ka9VNW9X!;rOYU^- zv{+W44E(- zv5BckM^ePR#qT^K=(LdSp?bh?fkKn(fZZ{0>B8ciWyj+pQccYV$YsGvq;Rj z-(jQr-WR_pL!YNlpXt3(g>Z<(<6*1SO6K#;*;p=bg_ELu>Zd0sZFhIys>tX1IJ9Lf zjs0w~V98`o_hEH$%3963b-kfozIMa>zK%6(t0Ht23uQ&#UcGwF{C=XKJGQhqYuBz{ z({E*o1li{@#K4g02Z;P0;+b+pQtq z4L+Yg8@ZjbNE33VzIJ_ zkYve{7HAzqj923U_irTx4lf{9PCJ&33&C)%?^L+>&6k$_kj!C{ z#Ao1o(FKe9fKib@U<)gYntKx<0*6582Xp^6U2|Ip1x0`tNovf&RTS|G^3utPiW+|Z z>C@*Tx{+4*_Ph5i5cX_mYhA`bu+ek*aSKP<+GtT%$l6&yXB77f^wLFrkkrf2Nj#GWrZ33lIjC}9=-*ZGS zB&sJx`{dInvIRy_!0a~`Pm6a_EEN=K%lmL(vysyo^4#F{?zgCUorr9UA3c0(ckkWR zeZW5eXT(^vgM~)vR7` z+gN_wO68)StB8&O7JZQC`UpMarLtJM!JokXibKYR8>%7gtmH;UE2>_4~+iqmFA(DA@emyb8WX z^W5=DLhgXSNUZ~1k#7K~pLy1-pIbCZ+^(lXnCr&K@5bVyb$We!@$9+zePOHD8kS6D zUH96C2h$LF%>qNoY=;f_AR!%+blo%nkTFpZFyf<2hWLl|aQGfHv70W8v7 z5Ol7sf^cSfO8FSoD#l9#y`Lindny3@Sb!HPnld`zDNY6>#H(JbX>X5)9_&!xAHzTDWC!r9Q9glSg+Ry!B8aR5BNVG4%!=bhN9hW~a zB$7DfI&C_H(VSEAy>Q6F!;txVXiIL&z?PdZ0r88%#Gv|A)f}% zV!@b5k9=1~6wHXZzHI&!KFpGt2g6Y3&!d~)Y;W3mscPd3i`tBVi%X@7wL7>!9@>*f z&lHaI_Sv6Yp1Ni;nV1o}r@DiIH}v}gJYX#NLBOZQ*6emb}Ir9y=dL_J3$qFCU1MB+(H#&a*yM1L)G92qE7t*M9OT*jh1{?P`-Up-S8LReOq}3SFTK}>)zVl z)HNeKXKioa3daQVujRu%;D?(S|` zBxv^Lz590M+AT|F(&8OFfBD=VeD**E38p`MzZ*Ah$ZB|VW5-rk7j1cUK^YCe&>Sq6 zu3WdpWt29lLrB>Yz4o_`iX;GH6j~_qN7^qaPia4n* zx_&MN2_Z7fje(YVt{@Sj;NjT>Wg#0Nn@WqcOa63*^uK;r1~we7*h2S)X3Mj4Rwxu5 ztDQiqM$1l4k2N;q*=3Z3>V#)B9HcOfj`%OmI=s{F3+~5uHtlAuW$MBF^wCs;RPw$+JXP!jLDe&GvbJ(BH|-7npKVC(ut&U z5Il^vL?U)0G>m?xViW4(clQpgg=-}QK1@(YPZv&?>;+nrqbPH}mq^mXzWG4U7|Der zwz#~Y0~^9G#Q}Q)Zv=k?bV81QLs#JP#c4{0gT9J>_BWayd{Ah-Xogrz(^JzbzCa*G zJgi|P5DE_agLWt|{7j>NC=qOWdGV@ z#x2)9zZN{1;`q}`Vh1B%E0^v!DDt4QttA3ys66dV+NFeX7&_NK$GYbLr*kfxo>)b2 zFMjkchIKHigy|xwkQqa0Y@iwbh{+#=+ylhe)+(f9kViTltqO^eOQA*%kjq@L!Hb22 zu?BN(X1NfUQiFj!2U`BR$V-d|k;3u!9X#h*y;ZXoEI*+c9Qd%Tsc885F4KSw3ZHdI zi4goKKp-8;iy#DvhfMFfHYWKJNQwu{nsl2D8-fUno{E}GCT!t=&!%T4ZDyK`g0Q`O z@xsahPliY2t~cs60|tr3Q`$Uyy{0v4C9$RN-nyesxZd@wg(kn}3L`o#q>>_3c0K2? z79tJrO!wrXuwm2y8L)Pakxb7*0d(KQFB7vmP`Bz0eVYA$^(*gdL*=l?+=f|mv(eUl z5gIZ|oTHm(qo*5!*e8$kdQBTE#UMYI=Y~y>eEJJ*ypqyJP$;7)*-np&MZ66(dJ6b- zNaIBT^h=lT8~W|==)}JJgAeU}3)sgWKd@9PVV5o~+QR&_ZLFIGVAI z^>roQ5va9ybfh@wYNck?vxcB5W1>E!G{S~4u1XDeGwKJ(_fZ{>rkVx_~q|zBVA>xSuYCu=b&tT+}AImv| zuQupJT!-|a(%1e#&`>&^wA$IZVz!l5IfT#*-^gu(6pol)u{WI-PSrs0>_sA;;C`+Z z*9laCgPE}w=pXwEg>Whn74k)n2+!vE*|~l6@y9|F@k3xAaC=n9`aUO_#+!oii(;9j zP;z$a=|o0`L=+q#oT)6KXMGuz@!l?j!3XDH=pXp~y?*a|gTUYso6DsNA@5$3L+5yncTW2nKx-+4qv1*0f%urTP4T?jJ~Qqz;hvsODoXOa}Orn9rfP zgIWjf5Se*bvo*oLBk7r>cY%QBeyvn=Lu}G2YOeknhlFy^;tHWK4r>(G>!4 z4fK`JtB+v$9_r9*!)tbQd?H&`HX1f5`SvGbcIncRWK|sY z4Q9)ssHGE8+uA9p0||#1)%e8r=5uI60T%CdbZCiqnMA$^ArOO;hE;2H`q(W8ZF+h} z2m0>rhMWR#-+#+~^;iCpO^>IoSR@&*;Iz{|kR4AWjw@HMNwZI3!243D@w4eJ*{}(a zVZ;D~onjE;=hPH(vwcCWY`PR}CGrVG_&nEj3P*UhBDz0}sfZ08kY0z+Kmn;>NlAPh zCNB99RHbWAo;gexUMDY2(D`=kh1ey-+u7JKeJ&V zXjiUZ7t+EZ2KlW|ZoL;%D&1fZ6*A@wvz*bA_&Ou>ET7G2okOAo`e&Sjp_cd&(HOi} zmqs}l$bg7-f?om8GDVSOy&eT?P^bd;7t3gZgq)2raov460*2%8Pl}2IhD!t+NGcF< zh8!Cn-+#=LDEy0is4AQ@DAG{n7M!2k`r3wy0C#{py?s29)ZgbbVRD6{fC8cCMJ<+w z^k)|C4XtsG)Rr|6bP`OO4hnvV&7hH;j+8uf-=Ga~ltA97Ll5C;foT@$n;hm`gV@M; z%q)}2Xau@{aHQ`8DhR?vqu>t^YL=BwBfiNt=>=kq1}eXr|hCF0r^2$_Fm zxPsp_hZLJf1iijYFC1x4fHnU1-cZCn$XGz(n4m$L6T4i{e&3>_P!6TWg(5CZ4jzCq z<{h(^&4LPFWHd_JfP=K@^!x#2SU_Jct`x|OnVB>H@sAP&eM*&cazl3*$Xh_xwrGec zUI^IWXE>6cFYG+hk@Lvnc;GCJu@43rpmT8oLi_}X15W-GUv_5zBKw+=k&Oscy_&wW z3Z)>OuV(>2MFOTJgqXMpT{bul5y+AvF^X7(HL@#Y7(4JiR#q16=8Y@%=;6nn1PBZp5tw1}6bVnqc95HdutP%y3{1ymrJjM?qmH*9=n%I21qED{ac@$sQOef-1@ z4i0T{GHJ@DdD$?c@}Bs8dcThBz2>o)9=44u*Dobg1XgU0*i$ zxH>~cw#FjX?)Vg512m0yB%87?5V9mFNUN#CJ)KCX17{A4oU+{u*pEN_k<-8TJv%r! zm1z(@?o*Q!mPs@7_eq*HGqYsV6PGL)AQ2HI%DClolXh^hB?un9cfcRjb%}(QtlD6c z4_c$u6WQ(PV8P_wJkW z4>&qGwewoX^4Td%rziFEF?-_REflNr-hjw=bW~EonuzDb3m_U9GzIo}G!_&ZFgG`+ z=Yea@=n45Bg+RO2)pg;X<7z2R3{HQ!yv9ACc1q<0xe5hcge}2c@PcYJ72(QAV8jKP zF%)~{^TG3WcyuUk3S&TL78SNmzoUJGy?{|6#W)BHMKNn#sg%8*3JD5Sikj((N$n-a zr^j~v#&s)~DssYu04v*GMsI_GB@$7~=O2q}(*aN(8BMyQ0hXzW#CK=;9-msX!-K+SJmzCG^~ z405m{rD0CimA$RvfpPT%T37zKBOr>*6OPF2M=~AS7Ii}$z8J~CSqQyy&;q$vbgnee zIw}BM2d=o@KtPtQC&i-mhC`d2ny`<5{9}9Y;8V+tkLmi~ zym7;jOw?+-<6+~s- zu3Wh$%{ABM%H_*;?b;Q~=cmN@=d+T#FgZ0YYhd$-g@W;1%}&o~gj21zoeXqr(rTqM z>-1XkQs8;Ra=KA(+tftJhW?=C#;0syfr2J(lgYgGJ44H5##Au>*=olyZjv`iwc1BdRH0`66D zi+_gK7g1I*;BZAo8TRfucQM;wf*=b#qf--;LXUKSqf>9A?1+ubxI!8W@V?!4OL9UG zJDyKSx^RdX18F_s?-B58jZtKw7D>kwQkzi7MYeW@n1NOe+Rj=SG!ecDf1c-Sk%H%} zs`16x#F*vMW7e*BESm;S?>XcR6mQVCOd=y61uT^D1}L1K>KZ81Bmz$X&P~I5=ZvU2 z79`*&k<$8S#F>ag*mH7WP_2`~iG^t?slmBq^JHPWg{@3vT-~Sc-SttMb zhr{{zvjGrA4UlrsC0&5iV?3bzj~e@Mo$;y z&txhsv<3u%!blq;MIUm`4w6t8D&_Y(Goi_exRoj;9g?u%v2x`=V8f?~jo{MA<4fV$ zYuV5T4+U?9p?RbgHd{{R5(GscfiNg&7?~DfM7!I2vfHKOOQ#e1w`5tH%#KG=u}scV z$*ffwV?-jBADgo3Sy|5*k~Oayu%*?jnvP7f1Ba+gTHp|WgrfEg3V4120wE?%GzVNSMgkx{AR0X1XH`@* zewTWfPRsd`rR5~09c4EtuH3^>u&#ZFXRrmoC&>Ds81U2w;a13VTCKKier`c)n|*JsCk%S~1joMkQDxxZd5xfnqCGpi1MvX?pFF%%G z;NSBbPoF*=d4s-w{e50P%LRZtl83|JVl3M3cDug*AQTJ)N5gX$Jfl#ZK+vKLjn(lE zM;)3o1rh@`6w!mOtoI=s76h~YD?%HczYdvzU(RbRVk|*9oFTz*=p#L1779VkS@w?D z-^}CLpnXmqpl%}Mmu8<0l8#+A!IC(QI(t7MMZm&MZH8>r7y~(dzO%oDTFAnShVTn# z9yfd?V^k61bp`!j1d8w@lu*_qxX6)s6wDL!TPl+lBo4d|`OpOxVfNz=G&T*z5NoFA zB9N(lFdPYnUHTdDVI=IA^oQ>I0+GNekHX;ev}E7^-iLPS@`}acd7GYrI7Q$}&gK{9 zY-@W*(x&rT)%NxsJWXMOD;_g{Aa}o?&I-9xNX+m`rDQ|Tuem7)1owbqjH0G`cJ9V8 zj3{hqbF=Q3d-9Jha|XNw|=J!BJ3pqg)n|BKECZs_P!YGH>_$ zN*Sa`>>-$C^BFzUh2p7&1F*aM ziU&r{SSX!Z^{g@~Y%weHTcudk9GXLb*?2S&lZjKQ#Qn@_Hq3YCxzA+BR1^`)PC zPgc#}`~LS`wDOrl)hMQc>G^ZJyE`H-N=6GDABb4#tgL&_A&k>y@uX^#xI&SOaxpBnH2Qj+%qk zp=krl=5h`eC+6E9w7nfTE{qmgFClfz7q+{|_@<`jH1jWf^dpxOp?##IIA1UMN!4q{O2db+8`zJfIyt58`3N?Nj&- z;8xh`*m>nd&&a~`yp_vmLWn2|;Sf>SVuV#ksZnbvYXlWVHa8}|2_sk+X5_9p1sD6< zMG|YX)#By`BeCd^+SIz&m{*zh%kH4g~D1TzutZM-d@L_r-<*Gaplt5t)$g30P7# zn2O14%T15UTz}t&g7(-{T$Vf}oq!-*-j6vUi??-=l&AOf>-W)GtBaN~5y^v$3Ifu8 zv#{Cxne#H6?6$ks>-5x-O6?$&fv$p0iA9JLpo+uX6o4{1i-lM9~{`&>Z;&wloGk%m_;L|8THY@ zi3+YtwQSusg-A@c(G(y^34Ml6-TC#yxQBQc55;tFN`@G62P)km4uV`$AZ{dXq%#6d z&n(Q@rOQ|B`ID#CZTD?_A}@zR$dh!%sAz-OPCoweIHZ`p$%e`v=iC$@a=zF7YR4qAW5vC=xPA0gXLyUzIvFOnA2EJyi^@soV-~OBGYxw`a z|Mjz40H{^&h5WzZ^M=bq^Yuf4ke|7j!Y(kgfefb(-yL2u`tkZBH#X-~bwPTgV`Cxk zz;lqwo)#rR9JVTKY2ah$BfvrKVsHB+%U@!KfhTJs-H1I9A;~MKO`dApaRqvsV?unQ zHlTZe2nKY00gs7bs6)&l4s;LU804Ccz6Xm`i<~)TC}?3XszX7RwgVGcj3Ni`ZZ>z2 z3KqA<2MSGrneSwAVgxgqK+CH@5C^TZDas&;4uc3~r|nTuAUFjFP?*N*2HP@^0oed9 z9_b5IuyBEK&Euf#!=J$Wzh1S_DO~{b^j*2wJ$?4v;_-+=Y^EmXRRAz6KPi@l8uYrO zYmWbakj}eh-mt6B9f`QeQmGDl9a|imvqe1LD-}zmQ+D~vReR&!T^pZB+Yi3?P1*Jm z|BT$}!RHUu6~FVPFG~8FKeGp=v2-=T+xKcjM*_yMFz$kg8U_Y13olHkQxX`u3K-TeVcRYGvIjr6cp@$1NrE zBZ!l(@T90@UGV%1E%1|!NpX-A8gzPESGW-RZDfinXaYgYQuHLv(wUsx;qYRZnwYh6 zrDUh4Czc({tB3`S8FqRqDmjoDU+wPgsRIQ`gSbj}h}6y5(Rxz09PJ<2>B*@ODr9!I zZ`~D~j!iGmrhFD^AR}RM3~-BN1hulfB$vXMYiokjS5{XmzOgB!g}j6LnK?xY_q~?x6C(?8V1|zCK_QvR zW##!#F2nKBu~HnN?0Z2xHG*bcI{vuKk{&;*k4%1u+)mr#(vm%V^r;*51iJFoK(c#s zTF{=6#m*OWuHO^Ul*Qi1U!>c!0~9pFq2)7VOBAh@h}+osm=HLMIs8XhrZL9buN@gX_btdwOy-OeRwyKK|g$e)oU&LGu6aub$fM*!p zKAiO27(hDy5rpp!bZ3E!p${FXOZFpT6Y@|;9SFZq=PTDhBuG*SQarH9x%ndTxxs+* z;|~QfC^9AZ@$1=iR@Hm;96c~F9tSU7x9c#P*aCYFV%KQne4s=^-Xs_$2q$12^xd*U zjyP0e6mZ0M=n!8_vBaDc*^W1|OdaLhiv9WPM&fA2)2(7_Womnlq zc~a53=0!YR6MbjNkO=rm*vjgnedVh^r=o7}@K~D|hXql*2m5`Q%N!O8>P(pL_p1X- zW^*<*J!e}xhqk*%j{Q(1t4KI%m0sCu&AK4$Tt08b@`+U{1)Ch7mG1eCH}2V&zw)LC zQFOz}RNkIH+p^C;dt^I1yUKm=`9oreR!85-ep5K1`IfZX_I zP2LN2gyK4;P4U}L9X_X>D(zae#qZbP7&mMfH&qYy2 zQHxIm&XSB0(7LYTr@A~Ojalu_ldba z_krgE1oOe8hj!j-SR@&3 z^_zM>5UD!GTUZ0LW(6QRWsozx!U?obzNSN&!XX(f;j=+M;2#WyYSfzzSqRTgPT5J{ zvr@HUxeV@=Z`q5dFD#6LDCiqDn$5vrFbo6&fsY1*&X3v5Uz7j-`(MGIRrvqPl`E^h z;qd3V1inDP@9a2-hF^t?mKv(k2jY~~C-O0o)SNRG9ZA5$_-3e$0+z7+_%Q+kR_yz% zt3!@qxFf}Brmfs}Hp8wq^Ii{V-jU$=b(aK)<*jpqa}04dU=A%OgW<3wjSCYH{(L5r zx7vAGodgFLuphJkp^pwpeWlOy0V~=z_qKFty;@l`Q%gtyQAYnizcJiYIH3a^4V9v@^iX} zFJ7$K?(UxE!xW6noR=2o<>UzR;v}gcH4!V~b%8uFj#YF}3JA@Kn@yV-vEmhLOqRxQ zs5Cegc|%i-F!u+jJ;>)Ccse*C@S%6VC@kO_aA;n=a#;z2t_UJC!;_6J1s;by9Xm0+ z6avV{Ag}WG;doSQHAMvz>5KI?V*>sRV>ej-9Dt1T;9ji1d@1HVTspWaGxO7e=}Xn3 z#lkU-^s0qZo0^!A74oA;k7S=qA(l$u*qO23pr;}VCrL9$PSo`(m9>YU_2=FLl{=mg zW0iz?Lw8^!p~IAkLPe3<_&oIbQliYwF4*DzseSX$|6D49#n^&a^sB2Y&V_O`HX`AX zd&18sl?w{=$xn=FZG)P$8%;GFWBH8M4aIqe!T>^KEN=clSoYH(6G6WTg`kiEB@x%j zAF$)oQ%9gBSgG67b0b+Z1wFFnwj=!3I$i5kN>(KgfxLmUGd;8Z6GD}+xK0R(va^bQ z=A(y?l->wuiqTxJ-x~ya0ULDszx%tt`@w7N|Nr1C__GTCM?!&rG936PyM15J8x8|3 z6d-HFMQq^wAr6j<&RfPU%;ASV!PP7d%r5-cf3gem#+q6C%!em{ph;q1h87r-DCqu- zy8VkoPNr5qC4JF}vSHzjO*ijChk&ht^_}D}c;U(IqnmAypy1#ubOK`@Z6bU&&EQ)W zi)S=5XUUwdR<2n6ylO}y6>v20xebR+miSj88;l`bI-q2R zvY&O{^^!*s*uxB8W=fcw&=IJrP-l$YDq40WEOOm&4I4NnK3#(|T5?W@bPS9>jt-6` z=Sro{bkRj$kAV{`%Dw zU8l>JmTYHp*LHUftgUed@H^V>uzCKz`GTH`)N-f!3eiAYp30;wm(AMN#)f6G3Hya# z_zHfG4uzOPQ=hhEG^MmPIzJ*@IpphSbvr9nY<_m$ZeG7)t1FB4{N-TbAxsAaHvk11OI{`OCbQUj@W3_5J*jd<5j$d!|G7!>Ua0{Ee4q|=$8s1>=Y{`D!jWG|z zz8KO?XDmdt@Y3RZH3&;Nj*|JwTZf9&z)=4gU57Uq4E^=)dV4TOyT0skVZU#;V4{<3FauJyU%B(gqsDoAc0>&T&M$tuYMaRL5cvp0r2<68rBsILNq#EsQ@T4 z*g$}iDGa=RN8NF+6EH6lS0T_0*O1j{9?K@(sx`E!vth6SQ4q-l1cM(665@*~6zH&l z2?qlQi-s`%ahwGRk0LjAx;oI zWARAJ^0{&Auwh%kre-H?Zed2=_4_*qV#Xu&Q&14jH9kfXE_#&0g&QC*ez*``&+3(? zUGZPCXf$cX(~_O;A6Xc4p@n%tk&8=HaS2Th^t z43T(NZ>ivbsZSakusONv++SGdTxaeBE`0NIv)1kg%^QYnESIv#wXpd^KC!A%37nr* zD;`&@JLs9`A6T(`EOcXRd|XU#UH5QU2jTYSrd__g zVqg5?+xFnW$98zMZ(ZF#)FlBsJ+0^ffAikkHZeJF-}&~ptayBE)k@KZy^g*8-g}nG zQ9xo<9ka7?*^Z8nEf|VvmaL2izh8$Nx_0b`H#awxP{}5qPGtm{bKhaVvqt!J{PlUR zCb>&_Y;5jz?h!JPxve^lWx| zN=g(yFR(fV_2l@ZZLV+XAf#BjFwi1dQN~_FpU?!>sgwqhy!nDK&)cJj>!$c3z|$Bz zu~vDO*VbQHt5uinE&QKqkFchp_6;%tK)=qbHCtL*5TXGx5|2m4j>k769Ze~Hj{=JV zBS6?xl%@j$rjy^+>s1xmjPp)U7%5dO7{QAqD8nnRA@WcB5-1EnL~6de*!rM~WPJpC zr1oLiTotrWn&d<_Z;7Cb*u|H?MSq8-C`cxv%ERFK=KUdGG9qC##dC~2i2X1gCOz?7 zoCu!vYPGC1P1YjUo_llk$`z3ox3{-cFcU~{aB!q&03Jmw60x$11JiY*K%=1mr67|5 z5@4^}^>;emZ~pn8|M~iB^56gXEBLbr|KGWD{f&NqAnRXD{733ON1z({syl5h(z~v8 zJd9AO~@kOR{<8>c>1A-+Sq{yKZLrO8c(})VSqyc}eV8Fpk9^ z(1s_u&IqDcLKil!>H=J$Az2B4(-tl*S+Q`Wymp{-!eqYowV$_VPoLY`%XJ%^4vjo=HdkNItkHMwa%4hq zFjDlfIV%1XW0goqT@RcHB#3|U&2I|Pz)>(B4cVBO-9t-d7Bw;<)sWnYlcPf&PB*Sy zwwpJu*;%!2o9kOLCJIHP;yi3^?kI7N!_(_^Z2~7f;(K%Bwz_iJ4h|1rnM19;+|d22 zRL%wW5~;ksvuD5Xi(j*q2HMz(jVLei)aJ{&;vhl^A1lPf!U%V3b zC?I(J6d3z}*kH3O5-iFbsgN)f1F<9ZFRuSh4hb^FOP4O&#+G}oP?aE+#1yFA=~?VT zn}1dnAApUN_Z*v>)qVpJm3@qYn-LKO6ABCvmryLCu|Q+wYKe4`)D-@L<0G+0rG-L> zWSb^*%lRSTy}+{(3Ug9UJb`r%y+gY_DJcy|16C0^oOk=XW5CkO}^q zX1=K37wpo+x&zZmkpx4d`BfL~U_s#awg)jOYJ&ia*oAB`-{&yYAQV6Q4$G2xI-8d} z=tCjmg2FA25gQ(%D{b-wu>WuWtX_2U4LT$1dDa1oL%S}z$)cmw9t<0Nm*s-TiAG!2Fzu(5j#;kA(Bs(ztW7u@M z*3(80^1)#(rG#ea@G%JTIks>A<+tn?zVb!8borW!j^(Q>3PRc1+p*&5k;TH!FP*Nq z*KgXu>)O@JSM2(=Yl?{ldEi;7omC|F@_XDH$cIj^jo}NP?7=|ahJm5gn{BJsD!PV; zhLj7>^?){RnAY!q`CSpnh%;VZUa-fXe=f73)k|0G_WfISRx4XJCs~wb$0s#s-rU;O zp_L7WWfw>9UAxe!w)~P_4Q4=cKxb-`TZ}+ zP4B^jAKCHAffWiTx~CLUJjggG0^L$bC4w$r0KW%_ZF{@BDh@oapwCBF=*X)B3y=!g zbC{b{`=v>ha!9O1hOuPji#%Faj*4(P95jHa7c;^o>{Ib z-8Jt`Fcj+wk{u3z#bU*L0~fZ$&*U>LFE6Vj2N~kmIj}%bkd{V);ag4f`;s=ZI4kr+ zAz9fA~F17-BSdx zzlq!9BZnknQ&Us=40~JKYIe@+=QcGnr9G!{-mq4yYqeTSV*(Cj+NIS?m#x=oX|x1b z;~Y&Le+Se_nti0miInWlDHcR*X5VVm)bIqOVQV#<;tBF0?vCQq-@%^;Z1Y{J#b(S7^VV<>Wel z+4#~Sj^ud3NLaSIK==_3BoWg_toc_O^`ZF{v^P)(ONyY_{B6Ct%LrhuDE)uXf)S^w zWq~p}pqi&Mk=MTu3s-D4fz4Ywz~zVE>8S|m_i-9@W*96ev26uBI9ZrrT@V6T!+?l_ zO;ISEsM6-}bCIKB6+pptGCP@hI9~##4R+ejkuER_IFTmbp%xTDbbb(j=xi>6bX2Gy z*JFbZy1*Rf?Q94*!0Bfj#egF@_C_+rP%hIXPp~lhgXSpiyu)AjVBjPe>C# zyD($rYQdg7d?INjfjZQVSOD`}jEzlLDn+4kW*ci;*6VooPk!xJ?8>$4wzIu%lT&%y zT-($A0=Y4N(0oJO2P30Iyq3swJa5NGN4nO`b%A{u3$$uL<6~MgJQF-ebiwct_-A8t zL&_JN^kCsjt>Jkt^B|G31as^vIq>J!47F4|@{F?vT6NgbFC*g)Bfiwm+H25~sAj*aeF#qv|*Rwx$j((0<+ zynbUe8mLRIC=;S`N!J1nOV@LS1&2Sy!uHON3KTvDXagG!`vPm&#eX;kJ?H^y0@-2v zOawcgL08DTZJY6aVuVfBoxz+@j7CiT6Xj!QE!7GZ+qi0Y41BA@nF$ZKB&}uVs#kO5B-uU)jCZ_2*MRF z7?g{ewEdNepi8$focs^c4yGV<|38V>Bv#bP1ew`6bD*AJL=K$uv)U^gUtmGa?br}i z@IdC{yRmTjV(xLk17F2J-$nb110ckMuB9eNvWe`JyvBhh*^pWI6fOLD{(T_@bdn&( z79awU6CJ4wQZO9?dV85Fw_IW&*BXLeBowm6K#UG5UbbCS^F6?x>BRE`H3xlD(Sl_apy(2k3=JOdb zuhY4_EiEtE(xvOVM(b-Y?fiV&Zr`{iczkDn*E-#nb(%FxC#P-t(z4+9z1;&F4gzwK z<3mhN&p0{X!J)9MR$jZJD}ZZ|sCZ7^o>ESf^^9+u`m90@AJ0rDyYNvvIU;2^=O z)#X;GLP;`Kv(1fN`{<)j?5kh>f)(Np>d)tM)@@hBCWnnp0Z6)?BzC!+?T&1)={lMD za{CGR85rq~FxlfO#0VbhcUeIYGyN(MSsLji5w<|*&htUZmwt$&5f^*g?@1yEdPT~k z?78~`>$Q8MF*Y)EuV;U!1Nrr9PX7WUipVAp3%OS$^_L^ zEi=rx;2jw9a>aA&A7w!EIb^z!y3@}-``pH}IelNOu*o<8#)c@$&zP9Rr@`6t0*j-| zXW!tkRE|M7qV5={Jnjt$2ucY)H@3W>1(5M5Jot>LCB*Lt233HBBLU0ga?X+)`ERqS z{Uw=BTe))Pp#Bk#$JzxUoSw|v{{FTLD{8jvynLpgo62T%|M&Lx6&nnS13E~$scgbq zJqtwxvNFa(n`Opx$$Ki-0gguu^-)_t7qo#whdqoU#Pj&x+_S#fz>)m05f-0H>7QLo zj%1vS3fSK$kQSE~hbS9Lh0{PN5cb01@bCRkJxG4aUOzJhz=$n6?Du{DyxZ-Eyq?z$ z1cM>JKZs}#@7qz@6pnat$I5RuR2bkIhdB@BFc5A$f(eNy$dAL3jnsMfo4RKO1YLv$ zsq+Y!4>y~Ujqt@BUv}26JAWg&EM~A9Y1IXt<#zijAfDIHr1fLb75`Ip9IIwyL>tn_he$6!btU!XC3h2Or zf;TtT?YxWxDQ@$0k~S11it`}4=(b?xzI6y}iN#d_@g2Bc(J(H3o{ANm2nngFR10=~ z4p|R4)i2M3{?N12Qc>Uc;N)0c3}j36+4-@oHvhS~8M}Ptx@GezOXo8dOGa$%#WOn} zv~BIh6AOf*l9)|kH|s|_)shV>^KQlws7qX64+;qIq)`?^BqTziyEhl;j?cUTn?zLWl!mccfLUg58*mZW>*F&vSGAkl%0PV`D1Tj*6#(-gysHL_pW@ zby$b2S-Nt5KG61hf#g0<#em3%BkuztR2tj4_*;;_`)|Bq&z?QA=g*((dw?SH*~E;m zLM|=n*}QxEx)ePa2r&wQrvmE1oisb*&ig$ml__>|RZRa;x%a3hkD6+1;ryWIw~3)UO8XZ>3H2mHJbKKQ^Tw!MD+ z550a?3IHWV-MxEvvejz-s^@t_x)s^viU8m&IVH1URyoo)Q%{o|=DHKLt?rJMD;O{Z?C79iwR7iT01x22N;l?s99&CGZg43S zd!Be-g{-t}Ze~t?{g~=75~47{@sVew-R#5_uD=)ugqWZL6KPL{wdS z^w6qjHOpow7R)N;bIq)$rlu9N1c~n2)vFpAeD>J`$FL{au~f7~GBZL3f|4J?+;3qB zRjlfHsFus-i>E{^tWo1I&AvUuVbRV1^OJcMY^7pJ zg~#0DygK}c4o{OhXo`@Sj@*Ex-yL-EGx}(^qQ=OfgwL>6kKYRmXt2|i^DL<}>!l#Gx9x>gSR`MEjUfHwpJp|PT0_W<`mo^=X$o`v(HV;7y> zXxPr)?#N5T$^DQmg1oTSIdC!b0WIR%uul0ojRw}xU8|PQ( zb*+6mYd$}=zYsE;4Z8e<!Thi^OBrYS!I&A|6!?dZpslIeSPnj<uk#_-_M7Qt8F<4?Bs{o>a0qNl9V48OK&K)6%KA)#GnTThFrk)fEYO?S#fgcq| zA<}42j1A+lsIT4a{O+Iq*`GCD!~g$qub-6yK(TjT&-?kI*I674hdrO)?^g`(=#XTy zzOeR1?@t#>wa&w@!%vZ(TrLbN8hXbILYWSK$U!m_0xtLd8r04KM7KNW4R!FdVA#~V z(y0SyLWl}k57@E?EFG|*kNJIHpF>^s2*zVm;E;6j!$TD)Y#RJoSi5>ZI0%~GK}O_o z4LOL;$NbriCRn`ux(g-pED&TpUgcH~? zSri!<&SpJ$91#nrOqt};?~e*6q?XwHcKdBRIy|t0{S}*EoU%)ouiMPrf=qsn4~w?G zw&UVrnPbx30cA%Vbc@RxW=6-y2SRB$j82OMYZ4$cJ=8rU-WP-*o`kaiaj)b^mw|xQ z&YRY3?AwOySUCt1Dzf-FK(lmVkVIpNu)X)iUy?Xu>-mOt@et^=6iKZ690&-ac3$qt z-;gejX=X1%TLaZf-@fq9n+kLK?DL1x-gi0!d+~h3e8Zsa>>S$6^n&GkO?&?0rAL}uRyiwb9FRyvB>Q{%>~j%zaq$D@WM z{2`DmXX4eV#o%eaZ_I59q^{o^8JoG~AT1^1kP_zVXu)>2o~YwL(0U= zUc??8^C$!;H0aJ{i#iI^7|l)TeCSGmD3uo0g?Iz3IGW=PT|$-^?4uA7s&b%T4mqI( zA`UsbQpiA%^q3QlmO%(%5PsFHVAmArgnC z4(AI`2A`+dHV|dE?Ys;!`J}Yfr2_ME3Y(|`Noox?eGF`lZGB_gmX>C1d1>D2^>c09 zBoA_^Mxr1hI2U5(6jZSWjLtzoG9KdvHggI#?l*xk95}T=P1k>ZZeFf)8{1pvuQ<*r zjPIc@XahwuH^tjvL%w}`+0v=3AmdiEVW%at_pX1*X6EMYvj-p9kAD0^TVB4VX9t5E zkSPjUB8ZWA0S|M3D8Arx0L6k>bUjbc((=l(9UL6W6er+|XdR$IPb9N;>GEZJ_WW}d ziq$f_m7wLvbN1`M@vC<0`VDoR`=BUK)|9fixUwRJK|0Q18npSPIeWggW{t+VP0vj0 zGjZrt$|b9mi+X0~=I50IQLa=ZQ^h3^%SR5^3W;(Qqn?7iL>h!hxV^J0ABSWwDTw*3 zcBVp`q7^9{&o?6-jfvth-8=qXKAW}K*;(6^G|*?MTt=ioQYN`JAY6<}fTlUnVEV(J zZ=bbQT<{4M7D1$q(qhUTX=pqA-)?w~`UDH18=naYUoC+1VMXXc&jyzI(@tr>C~Jvull7 zU3(w?9gzq;2MTMD$-ebEkffbL3X?GQ4-i9$pS4Y|Y`@!i z75~e_&*AS25$xeS=S6zs2Z^i~vUn<`s-D?1#HtGtoMweeB=ZCh^XoWq$#h6@q9MVR z+AMq|anaFGzqlArhf$2kg+TTr2JOWhpN)e9P6vFqEBT%CFfbXzz#ou{o`R2f4`(t0 z)QsDqX7%#@A6TQ;Qh}mwBOEf{z;&^*Bc?FGFeDt&X4kZqj7vZb7-6uP;K5IURV-lP z>X#wT(DPX$nzmeaOp-Yc;d3NUL9$OAYSHbqtlV$OfsOBQR<6qk2u(XE14c&Ck-nQv zoeiD)cA@J=RX_*CEx~AsnfC?T8aR~iNh%<6xMVV7;}esX%0}$=?OT?Jr_?z?{(Ji3 zi9PuAGix^b)~L5+nG00O^S~$uHvRg`9Xr@N5n{nDAl^3;O6p$FO^eeYb0=5OmC8jI z$};jLP)u%!!o}&VA%Edx-|P?)(-Vm-mm4=9hCjuU4R}w5<|Je>OJEDEefbUev5WSE zeB8Qo*8-uiouAh&7>J61hP5g`v)gT`h~e`Gf?-=&SQOfUZSeHWlwF;kwR)>1Nf?f8 z{dUWe@v!ae9jgF9#Xxt5^z-;+U-MvC?p)t%*RR+w|H?1g496|w_@Q;#r4eeq{aj6k53*w zcD@qn6l1F4+S*Hd`uyqd`h33E*1!M2ub=t?;Ok%iIu#=o{%_b|IN`NhJ)h49V((`2 zbf6IPMle4eD-bsYfJ?q}wxP@e1@9y685!Zwt-FfYg$60S2Eto_S$)UawT2FM4r)3; zWJ$P#v6*3@BO?zVFh7g2Ci_q}BR6tjG{O9k4&41Lpk%t+3wAU=x8AJ_-jEDXS@xb5 zBnLH%NOMe#gyIPs&yU;I_NF#U4shP?T%WsBXQxL~A%7=d)8sm1|r;1$Kr$MRHqZsj9@y0k_?OJuG0 z)HS8Gp#$Yc?dpvyIz)DXzk^|$nO(HPNln)ldE5NLl1ON5cyv~ft+>xXr2Ka*&itFa z^_0yoOsccHfA6kcy0T>Lc3mAl^IZQRYo$s-#zPZhW9A!+SfkZd7s$+A@uyKnB;i-+ z4A#7KM1?A|)tCx9Huabv`DoC>!J&NAxfe6jb1KS^&N)J5-+Fk!^Ih>=z;d=&cBVCr zrhb;(BzsQHAyi6aF?=h0wzt1;iFnfH7v|OJVF&~Rzg|6)BOi4uMoFd8nRVJO!ye8^ z&#PH5fQ52L2*k`nCHH_)0x`)TKBt8vD-?m=ed03UA@H@Y zeZ^Xxy8X$Yeq>V<{P~_$YgJ{yFE6cFK0l!%ClUr_>e)%j9gs7Vb4sIQ&Rr@NoQyK$ zEUjO>d~W9XER!H2wrj~4ZgxGx0*fNC-=)AE>ae2_qL{*vhx9)Vk!lrg2Rs{4AFUS6 zr4z}RT=C$iH2eX52M(c9wcs@T(U@lGkU3e4jJJ?2f?&DBH=s3*%$E1f<+574bjzRx z6q-mp;RxNke_w?Q-MXTFL1Gdy{W)NK9)uUqp9>WL8R8)I`G;Do9H<~4u;MjBz@QA2 za_Ctmm9%N{3Ak>hqUDVwzn1tCfj%93TjXLI9RByv^IN0dRHG7&r1V*No+DrJ^;yLv_E0<6QF)DI)%BUCoK{6@YLaeS|zhRFaJrs$R6iZMl`J(g(8cXp$ zaymtdJ4Bv~3OitNR6Xo@BMCC!jRznU@C}QnC!tcQSgADY|CzP%y8Hi!ef_i-037}T z;X~orKNB85@DDh|k@jdtuS7jIT4&0^#-ong=a~J{#luV$ zR6U2a0MUBW`9c(gL%;&#pgq%ko?xT4cnfTPY{bkxtCgz$JV=8xKyp?;9O@&ggrs=P zYnAv{sp!y8PfVyQ*x%mMVL${p-g4iz}U>?cQ71SDiybQB5VuGvla+W+st&{wl-fX5*E`W4?EjzRxEdt&@hGK zvtd&j3T0hb3;Jw-&<^$wbS-^>fbN5eM-eV5)<(VzJaX8#h9deL1UI3(-#^$B#46I1 zX1`4x+-K)l$hv%WX1&1X)w9+JULNXMlrjXesz{e)w7dKW{Tb9CV|ghIKK$_yl=&Ww zX5_wzj$dX>1JgAprH(NST_2k+pNH|y=JuAD^++T)HeTApN1q#e`S`@F6^r|}w78;z zv{-P#Mto=B-}k@tp4125|KUfn#=Ujxp3TnA+k0R9l1N`9Di#W5b&=PvU9q>{ecQJ8 zw(acb%!U&~9iU_YI4fC#qrw_3Py~R0q!MvEIXxC~#`vM#>WK`9lN5(Oj)oMDtY!Wl zhxKXUM5IAD2_QXqAuuYy)1G3Eq8E2T5&CKrL_Via_na)X({i!ZJo6+A!o>hO=lSBE z)z2Hw=V645u?|5HA?;CgBUNnq+G6u#6)f^zt0_q+hb=`S<3v0xs@*f^aWIPP#a)ke z2HL|+{Mz+vmdobsv(FxB?a)oP!y#wTgjBEF)j`e(;UesawE(@WX>!-c|V5PqM=9~A;Z|`>7IQ|d)RG)#q&&R_Jd!5aUu8zZ5@VZ<8olaS1 zA_QoR!hs|Y4750MoIy??WP<>6`o0cG$WF>2$MsLdJ~muu>>+1C0zx1jjxqu`K=~Pr zx&p-df}C__iB{Dbz_5JQ$r>sT`>ftXh?c(4s139=BmK{ASd`2z-VW4po^hX<#4}t^@<`y zA3ge9alAv@v-P!Yc^33NxCcFZ`SPV3O)w`NxejvJIWi=p61of`heLMl#x=`iV)p34 zC-(T^XXXw3wzPcN8m*cRek^elNzb;oH>}@B_l)gt+tSH|Al^F3gLKi@wHgO&N246> z2ZX77E@e47^1~xX&?JbcT(M|8VQcGWddBc=uars(#sRM9kaj78_)JjDK>Q?DH6)mu zg9sR!0}4I?xdA+vK&Z@Ki>11{Qx1xBDrvjBI~E8yI2V~42NXpPV*{QC?h6Of%1uKQfTwKxOa-3d86Qq8*1nvv#f_hz0usHo^7tx>Q1m$w}Rt z>Cd&*JwZqobhl*~Iv`I(lMuJ3de~NO&$jcVc2(w#lFi{5mlF)2B!RiFbz8 zpVKIhXQ6z4E{;(qmD8T(^9_XjzypHU!goYAI59CPhr|8dJy%rueBvJQ%yBvjn5ZR$`q@Q;NEt1d0^Gaszv|?9PZc*9<7iCaqTNkC@QYZ#7G93y>a7;g@QiKiaBgKSQStc3G1-)23@P1mn6BPi;)(( z4}|J?2D}-Y9rM>~SFYIQl_fhqJh8QnElZ~Jc4_shu1hvMVW+2Oc5+&_vB?>`eC@j3 zyn9E4ub$*|XuWIJYSq+{3PBl~Win&Vfi6Z-2-OioCPGwPmOGyTWrA}$BjpU}yQEP7 z@+s_)o3)l*UcF-Ta|`O!nJ05!*fcRql3Y_cRzHb|25F)5>UkZFYi8zV?9Dgs$|(@& zfg+EM9At)rkU8+e@}jOk*A)Z-G{PnC@pDXsvbW!Q)0rgo`;zF@&(9TRgK~lb0^$~( z8VJ^%yLS{fe0a2Nh0|RX!wXA`(yM>^$picLH@{;W>zf*BfQZo9BQgB=!$&qbF=xw5 z3syKiv}iD3jq`JR`1pwsy7Ank?g`_9ci(x#{`o)ub$jED+t%vft?wzhZfuf&_K&)4H{z=k>)6!6*H{H*-;Q7y2CpisDa zBE&|VCk6$L(iX?y%ye92vJAl>%B4gUgj@#^mw$r_5VFJgOht`| zk|iMudX~6x{-M3#Ikg7;)!3sS(ZJ3|l(0}efZ-$iux&MG>*)t3!Nnsz0xx!I$*0FduS zF~1kKq@;%p10%SYxtJeSLRdy5yt?wtr%-V!1G*bJ2k`-5o^!}IJVB8n_y|UG*2dWD zQf%|Tjx#e%d(U`)&WVHZxqK?4fykPD}V zP&_gLNpK`&y~+;^SR~}&Og1u*22C8=uCmhSa6=Lm85%is2a2+#3py?q^yil26a>u9 zr!1Gt%a#XOyZ%5nn)B4&0uF_D)a#N&t0MJCKd zGUk)ak`c&2l0*JY_g$+&bfUP4ix@_61M&fcE`nyIA{2zp6{u8v45E37Se4w$6O^w2 zBS>r_sd{3M)45Sd@^6fO=p3)EF59>M|+>v6add zY4kt+^b_414nG}AOG|cmd?FiTilDK{aa&zpvXhfjt2dpRM&27yau!^=9*;N9nk%cz za)X2{M-gg9Qm8}2FrmW6mxA3F@GMqkZeG>_fBDiS6-bZ{XJ@B@>XbZ5LqVZ`babF` zN6;TK&+iI7t~JOLvwH3WC`2?8(|u%gqcsJ(!Dq!%oWch55?O6Htb&<8%(E8CkE=*J zK0Q`ZO@ZF&;M);W5zgA2o|%>FCdCpB0N0BHKG zx+P+9Tby4|!9kHmL&JSwA7G7x((rfo_x6QO@yvqc1pGel3M%GXbG0id(aH#zww&l}$D_In-^EosgNj+M`W%tI)SJtja%pM1_mOFcBOy-0VC z9M{oYi^Jb_?5t#Fc<9JgSr7SjAZQN5kvR}1KO>6oyl@u(AP+aWmPM>L+%M)9yDOzL##OGj6?c4#K%O8kGz)~p=L_7%~ z0YMyWk4#ORhk!Jgl1+NrgognT6&F1WdLV8Ee`YYWiM%tQq4UV*bK2Z7reW04>wq{w z_)A!?<-7@ihHcbM@jis*U?>ysbnLt~v|_bvOG{U5WpQ2`_sn?O%Ecomd8)cd;zol+ zyRsEeigy0yeaqyh?aI}l9UbmlA{^5}1FX%gpR2-mbloDGEj)vmvmZv9mW;`;rPFDs zKkmd5(dCj^#S7e=@9NXDBOl?OZl{=-^w=M^CG^}|sY6#f-FJ3+sY#j7O zZDBrR&3ebqs%2|79nq2ZSXf*VTfJC3u%m-LOQy0mmCxCer!TE=T(Gf;X=_5)8+x)6 zb}Ad$TV!}NJT>?{ z+{dGn6Dt)88dqeq1DQcl5bzvg8(cUkSgDAlG%1FAF5ehQEaN&%-Sr9E=H`|Z6Yy6G zC#NFTqIJJ{^M-A2@7d>{KDJAjR~6|C{C?-o9V?cL?m*0DEFNxrlgg4b~S18%9lfpuGLD-Vj2Gs3gr*+AaBv9_-69-=2B7~X5( z8(IwxlQ$4*aDL{BIM!4w9t*~!@s5Rj|L(7nxnIBjVP8MZBLE$XKJ)zx;;$ObcE8nb z`((~B(ydC*DjQBZ@_-IoS4q3HJ_>}9TcG)n1>)pI)x@tU%!lKUgP#x!x*iC3K>88u z4?q;0SrFtw<($Lhr`#AiS)q$Nr9i-9lUUfKg-OLi`o|(3DHDK=NsFVpN3KPut4^9j zJ>dImhD5wBJPq1pc7r^qLqu-qq=Z16kqEOtAVFYxNB)7)k8ZouYFGzpPpd9XIA$gE z>Fqwg0q&5dPyu44z~JRzSCnpHxT@< znAK*-K7ahuN{xa2`fvZg?ALzlx8*Ug{`{r>yv%lLb*Bs&V8vUsAAkIr^(ed&G6 zWO8-}N>C&j(Al$M93(qmSvBMPp3r=_)4|xLE6G#84@`^QYDdw~Sgoo+!V;SCOCqjK znBs{sl(-^#HeD7T&mf&92nWw4MW~9)Kv0Dop9LqoshMf}@rOUO2ag_Dqtld}6qL&m zP~C;+xnP!y9@`aoJsX=CQ$ie^nEAyy6%(yi-`Z^l`|j=R+s@9OSn_;d9wpQvt1GLP z&1I}uII-Q`J#jLQ4+^%wdn8A}PO~k;pLilFiJ+7!!@dQ>kU$4kJ13ggFJ%FNHlP5f zg=4|OAX}kW*uwFMZSL$?G?8-N_d<*u*^Wb(NM~8udY+zRI`B&?E4H|>AiHj&kaM|= z#$C@}Je375#fa8gAYf0QJk|Am_uY4N--&8IIX)8fO)H4f{MOOdd!VgAPc8b3K8P@VNAxeJ~K0`-zRDB>EjnxER+>+g}GC?d~U&D#G1{v z&;#chi5kZ7Hekv-ldOS-$tHm?9Hwz_Xe2~Ir_D!o%&@SoiDGh>KSK`M0G=$8P7BKh35yq2KXenK61_B zh2VrZ7$Ac!=y@H_=WTXoMx!P6tC^`Oiv)uM?lSpTqRPRGlG$&EwVT_2~elZA@98J-NB}Sl97l0 z00;rEc18X=i(Y249Olwv%M!R}L73knzqrngqC@6GexC)Ajxm0~LN^>1S*KbpX`~Pg zgcaq=p-D%CJ1=7bMi9-jb61IDYU0DC&m{r!xs*WWA6dONo8l}uu7Tqm@IAN|bi<$# zl7scY5F8f*TTYVu0s&MDU8URgl|wL4N5cWj;pjm!#7Jc5)CSVy^D|`p!)S$IAZ$uo zj?XX*sZ&F%JvBQcRzDpL*+T)3P#NcTNTI@JqzxYF9Ja0FIU5_#Sl{dFAYmguuQKZl z>Hs3u4d}GpXo!)|yb)jjLA$R|oc5q=+^aKY`Rwm7)LYp7Mim)6Jw0jB zgx{V%e<;3!KM)bh0jc%HiucqTEhy3 zs>VmtlM{AwTGVraTowmDSm^b05-#yz$Vh$hVslFw4G$iEW-ni^DN&PW7jDBz;ne(V zL;K~Guh_(7&c5}{zmz_o107|?cy>&M8~2g159{FS)vNZ^uYTEHJb&Se*P+io`tgSv zQSr0`<70S3Xig@RQYs^zIpZM+fxYfXZX0l&JZmMLN=u~y`oh6Zyf7m$P$;es?u`@& z%=aPeEiNo->;>Or$g|UKTHf!ox8DAOJ%9F6`~a?db_`a&C%GUqaISZ&-4HUws{X>; zZ!014^M?;q?4m3fDnXK&yQlSnEcl}67hfcxcrC3-+8H@thC;S5IiZ6dVk3o@BDP~m zJxid52M2pX0p9+?+qQRbAfA!-LzGe7o{B5x_Py?co?E1SvxN|mC;Q%Q{tK>dP2q@-DKh)RWHn9xF9c&;I#o;RFvP%s?+5C6yi@xQfSTmSw) z_X_?r!~gAe@8`qe(EMPC{R}O=oa%hNLHAWR&%Ne$gBhCL%`nG%4( zs(sqj*-V^&et=vv3(y4yBkHp0k`gI8`jifhdb4Jpe`w)kT<|ZpxuJneJ?k3eK37RA zbK66X=cIy20qKI-w0Y6(aj>vh_0NSwQ3gUT{#Oz@W!(b{J1+nj_Y6N+WIY(Vt;UET zq?D#^lAc-2?c(q!yPP1V}&=OFGa!I5rjA1Tax+JuLgvg!;3)_uSI6NpmablFh zK?s$nG|6~0ZMSb+u|zs&3yX6$J2z)53v*UDMQ49z1#u3dnk8eR1kd4(x9^G5aB_U0 z=Y4B;cXaRl`ZJhYA>(@comG4K=#lOL#QPm!7Bj4X&zcR=?yztMQKL9yd%_Agt%9C>01BaUoy;G=kQ-0t7MuY>pG z=t#v!B9YO$;`x`lM@uiPZl9u?0tVY`;CdH!Ms)D3z7w&)H*eii5r{o6MJOa<#z5Fp zpH*Bz$~s^iq4?k9BP$#oX}wp=A^AptSk6vQTdUqu*1)xEmxbnSZnAY1Rh4UMG;xjSZ$U zhctvAr2*po9@EBGu9Ve5zy?p}GB!CrX_aEp+JZjKhP|#euo7)FT<04I3xQA^st+j7 zSq38~bhGu8U<5W(EoyZ&j~2RY=B!l>J^VK}0$6xkqVFM`;a=`zcdywYc-QdQj`iF1XM zhBo}(pl{(sMlvk!5}y?~S+jOou_ECcS|}BE9_xdFogAN9p;&e!n;2t=mIdN|OQzy- zDa&Qq&|8+srYx1u19sZU(W&)^eM?11{;OFL0~`Dcc*cf&hla)DDSPML_iTQCPS7(E zy`=OVo$On7EN_#yrtSQ!uJH?_o$6U#o2Yc&B59h<%+AUx7o?(5cZ~FOCSmLAFN6pn zrvl;~_C1S+64vk3?egU-mYW#2O0_N$;MLVjHaVWP&Fwuru|?>E<&GZv&ixzuwNs$% zP|Ws^ckT4(SduuL+#rFX5TPg~QLb98SU4V)S$#l+Qk%WpAI!t`t z8IAb+Zj{C|Nf*h%Ne~Sv5y%Wh%Ht=GZ5&=jHfMfc*y=th!iCaw`{dl8jk4zZvPcFc zg9m~Xj>DfqWMV95@4okz5g+?UfAEL)t#5xvJ`!9TI&%JZO<^ku^5} zR8~!TSypE54B_JczqQu8UeW96-lDnXGvImhd91EoQgckABM8dW)U3YdqYplC*$D>! zz>%Oi-&_`g-{y%@#`f7CP>LVig_DC55r%2(I1BJcI66F*V<7g-jc(ggk+^(Ls_mLM zCd%0mSD|A)cu|qiu-R<%hXaqlR4o7f=l|CaH#m$5a{E~qm0#4yFCqs(-1>X>?p^W+ z{J-k)c!r^1kmO%ckCbgMV|8cHmBnHJHg$k~i6f?xoXG`54fnV6(86{5fi+NYr610Xj;cF%3ycrci`>G@|T z*K=V$u&{yj2$f+q0puu;e4PB+ExWva*|HPk>gIVZ{5k6eSjo;CJgB1EXcOGhlac}V zIvN3BZ5j{x4+4oJgH&h=YY`d{^6ASKjs$J}`l?;Ib=fB8CLBY$SQ6pQMJ|&pR(0k% zp@2=zOh`ix0aNRck)t66j86>09ndJv3zE%nBw-#Oy62Q^XhA_Pte<&L^?CQ5UGH0O zy=lMm+uxU(;laZPcFJT_t;%(cpABNvXx6My$f=>>P|l>r1+^j@ytKY%_wK!>iIe?j zzL2vo?|*5ByL(p2PZpkRBTquhRgQ*LUG^z-x8f<8fpFS~tf_|UgSEjZh23X#ZnlKjxG-H?Mm+WwR z$HD=p&u8*P(I8?BNsE=5QV$pAXD#US+V;kVot)&fKBD>M`td1|GNAqXY8e`ySepZC$6YdSf(`wlk78b-;KmozunZ9W-U4%9(z>v5DJRcATy#Ki; z`RvY5&$K?`Ue9JHWc0+8E&^x3uj0wI&Ck;csMj?g$eq_?b2GDQSU&#fBi(Pm@oT@K zWJ>nwiqEC_3y1U`!}(yXK-0~-v4VteFqBgyuSK!TowmL4#vAta*AFDAjmBd(H#aXr zV)48nz6{wLD2s#?j@(c~(U>hPt?Idho`Kk1y>d;e4&Gy$gyWM_tu4}HV_JuBt|p>! zXJ_1I@Zd;vLk+6}h8W_TZ``<{_fKoXP~Z=KY(MV5_uhMs?fTv0ALQ|iiU3%%+x$I` z$CEW1bo~B6P-HzXC{XrO!!9t>TWt|d1c5wEyeW!B-L+Xh8& zTmT%~=)if%@^i#+#sv-t3`BtM&7YjwpydpCl9{wkW|1sabtphMYV$LZnqkDz>8d%Q z0l?}NxRMT?6$8%!>7n%f5P2X}HENOziq+3VF+kddCe9T&vGrMl2)Vcj;c)~(k>-?M z$aLo1*j#7_ZiHb?e;fcCTN_q5KXs(Qc0*IRvkxXo5K|x8M!1x_&~^ON5|;c znMlJHX4#H0FAizFz6e;IK~H8mK&rfV$ft^hmY`nVQ`pKaBv7C@!@gzGal5*{YIk0F z-QIlduAS#k?W2!Au*3YZoA60-Bz&ejux1@nUq^=|5GnZw$SO(y8y{b^<)vk@(4Tz$ z*gC_eUB9s|B4r|(vhmcI)vI+Gxv(zCrn43a_$-r7n%^^2@R2tdwxh#+`2_I3g1X?Y zSg97(2xP}6^ctARkbM31U;U*WAMDv1Z@y|PD@(Svc1?%_TJxt*9@}u}w|Fe6l~exg z#J0CKZFl#%rZ9fr#KepufZOeY?H=qoy?bh01*}jgTPWZYYJgO1c5cchCNkEjom;8K zy2)i|oY4$6JNj%F<`(2E*zfc$HWnAdoW>V<+W>dJM9fYO4=oxB+2Qet^zIPf6tCOp ziYRyY)q55Wr>#=1tDqotgoLI&aU?9{X?c0UuHU$BQ&W?+y0RkF1Xo22o-og0>ODL> zc3B%eNUs%X{U@^-yL4$)4R<;n7jI(N>sqDJ&^69=go`I6H_X2d_D{^~gB<6$LrmrD z^RX6&5x=pCRWt)YeWc1EFX6=53H$weeis=5k`%*)uh(sPaZzUnGElfW+-pqnLKX)@ z`}o6893KLANi{UY9~X3HICW6W-hAUtd%3k`&tE)ObAtCYX9HXmigRVe?gwF@5&!hl z&vZt~q{nfJrHX-D^Y&YBibt}ux23ZomI&($awmEFyAS?e>&DE)m_2>*#BScWY0E21 z_TuFWHI5*STCL(wGHMFQhG43y)T?q19FX)a1rur_kGuf}gWj;&Yz9N&U_LXR{3D*z z`|rR19r^Dc@bQb-06_i=_WS*RJ}TP7ff#sB3WpWAU^jW;JBK~yXQz?oFR!!K9J*9G z$Z?7jH3z55IAo-s7PDH`q0Smqd)N`LK4GjtfJT6yMgOGr1`SCEvLH!+ZRY~kY-(!aEl{$beAOKy5)Rv}B}MUKcP=+XcQrEwubK5Mo+7K??2L{z$6 zi^M&)c4^sG7w2qcZAE*}qmv!`?9)%}>j#f)d}_+cu&PaKw#jcmU63-b*YO;N1D=^v zWn900#cteKvtluCPal42#|PV%p2%1@9<{lJCG&YsZDxMXr9Hmf)CwvRFl&X(#xn^U zPbVcQ%;$@WP({0sxe?bI=mXd5%+#!4W+^_ftL3`%nmu~_+_rc3?e?vkwzftwTvF^V zF~*fj-RiBH)yqvy>Pz!8YCt35xTTXB%bn&0q31zdsx=YY;9GbTev#imY#_ERtuAP9 zzwzRcRqN*#^80LOYttgpq*gFo2a!a~c6WDFB$?F7jHp>%q*jb>vdJ-9Sz5G%-AyZ; zorzt(wszJ2_HTY7)F2#=N&Rt_KT$xB913B(i}(t+0vNq6ncBTq?uy&;=+OgB{$t}A z{W(08si_Gu+bKX?10-ltoPPCJ-?Mk$dfk5VlfSd)&z{=c{DQsu>TNZ34fF2j7RmSzjmuu>4?96A>;ljS!7D%8^7O%{@9eJUSfu zeCVaTfAnwv?Y}+#*Z=xod%uJK|6w1$Xbpffi|BUm2121%gTe5y({6h?K&g!b8iJ7v zA8_|Yp0(ywA0|C?_D<>oEF5IlZ+soQ|DhbJFvfuGjjo!h9_XBd;v%3$QbH9_2zLCQ zfD7C(6J$##u9Pzy*g0ky9vs+)f=WRrydD}0iX>bGnhB@%=XY@MUKCFX2UEOn;C9$_ z(HGh06my_yk2figZO{##hd2-y+4l4b5E#9qJ-#|4XPZl!7>9vtXlO`WND`9aqkB|_+4w(4(%s@{om~1FmKUV$~?uP zee{!$MZm*jpjfWj`qis;`}NnYSu0yANfQ>Z(<82tpk##XzLBWvAzuowwVO;?Au4oSpkrGAg^xUkCO=PWJE!qD5 zkt}}++3|Q;Zv~XV2pUDh!S#d79{X^dDN~80_D)FH%4g?RF4t^xbK7R-7PU5_p`mf( zb)xHsM9TEenx@rlS#Qv_^~-nVPzXxIN{0J~bs8K9nl#9gpjxOVa9`w3m?JR{1PLz* zzehg@q9W;bPoF-vVZUQjlaum-AV7y5H|P)i6;wH#1(5$FcbuQHRu_{WJSbYW@#2|W z4Vk`S@MF9)F)=P_Wv9`$v%;xXBE$sG&n_zOpy$J?nbbgvyo0uB2;dt?r=LtJ*8mO$ zMOk?Pe%{-J)`P7cBss5bZf@A*#FV6Stat9-y{D*Oye~-N;~wJuK?V!~k$bG^X^Jnz z&YwFPq-kkxPG_4Yc``!?l9G?f(6ZxW)=4HEGHFg;d|oVCARN#tk#hhN<-x(8J$d>> z&mH9sYZ98K^|i|yBtS1nIhE%^GX9M}z{P8Bww(WmNYpxx3DR;y4$Tg-O}r*JJGQoV zS?3Ku{OH4BBpmUKk7xU(a^XL6wLf|Ctpi*^6iO~QoCG1iMMH71rGfc5e7VT!p4q3uoR^Cql0f;~ zyNMX2fCP$(F&AkJlwkyu|y^5a)=5|@IYBtnNgLmNwHM3Q8x zLS)hIa0m}96dqXaaNio$vL#c~*6Di$VKetfNLeE?cVXVlb85{N>ynVQy;9Kt+Ue1e zEv>9rI7U;Ex5NEoDMoQKmN*|K7MSzaNI7fU9nod zXU`ryQ*#Az3aYi|4`6 zLVkD%b?Y?SDsDqk<4CmZLM-c9$*b1j!jHM@N2x)l$Ot#FpJc#Jg*NSV((F!Lw;cF;W3 z+Ydy}#L0?{`;k<@%U4#FQBW=wEEtXGJ~-GrlF?1CSGN}Auzp9Z^2MbY+uz&KJ+>#s z0nN8ZAw+My`I>Bbb0-HfLZW!1zTx@@NuUwr^O6E*U@Efw?#t_|_T=d!n_rr>P&8oW zQr-6V4{T?bDL-Skv4BqC967G!KpF)ai9)_&Y<&i{YA;{DlojyHjTdUFrlzM=;9op@ zA!wb68cqOaLoylic&*XvTKS|XSuN|VT<%n4$@BA^$etV{H0|&Ma8XRBQ~I3YFhEWX zMUe2}qacl*Qz?w4^xEJz@Od?Abqy7~7eIqtlQ(YOwEJJ(w{oQ-=`9`&{En4NYgVgP z>`38OX6MCoy?(c%=-a}=vTbc`$bk_aO{oAOvnPK7I0z7?$H%g|-|>S0rD5&D8O!_Q zA4MqR3dk8lGqAh6s}&!-1+UNR>2q1lR4iyiiJ!FhTIqgo}4RY~oQ+4UAkM^G@4I-jozLDi|D;Ow$~YB+21>PBG*_ zmdOpUya%X1V4i@pq#b&Q5q4?=;4bb;rV~t6T#T@D(_=plT*fidYxk}1b+$r7kI&l3 z<~(Tjksw0ka|Qx(5mY>eLk5&8=yCbA4Ul2)q;gD;F2u=WtCucWG8vTy{`%F+ zT3vt~JbAt$C>(wM)byN1qG{XTJF#lDC0Lfm$E_2}N>pR|1B!fnC0G$rk6{F<+oL@;;cvx z4#{*!(;l+;cv61)s418P)5(-3KAH2-XpOij7pa7SFvPT$ZEWsnUyZFZ#4*^}^+rvI z2^j)7znvCOZDuMgKM0x^EJ3lMp*_U5@Et4wJsgTct2*l&$Ljs^A*Mj+dY%lr-G^@JC?q)693eZ5x}KlJ~m-IDz2M10vNbpW3 zWnsJzq7kd)&+X~MCl-!zJtb{?Y(kRBv-1*a<;F%U{7h4R3y zV9#Hw-~u?Xa=GNfl_JhcSlI{Rh|W%$1LU);_mJF*nC><|{=D$buA7@xGPqHAj`r2;ixq|G zmkSyPrE^{Lt6+2U3CbS12s$|$6NZDgA&EI0z$O35TRRXGJgWvl5;55a>1%+bZP+${ zh_7c_=O6&m?fl+Kkuy$ zEE)`D7a%DLDaZ&YnuCbugemaTPd>7f(^*TS`<`C1L^@-U@uW@d&DhtUe6FdE^#qB0 z6kSY7Xs(zf*v<2v02NahG!B_Z2PPLrvvDriGm%Q$+`^2lt*zPG(uAFzo(O$7%N>Ya z&4CQGnVpz2zi-ygPV!c(b?x{huS1)lo`(+~x^SOR$SmZLBc>guP2R_^zrJsWCx^Da zwqP@J>soodc=|#qgZ^mTxn57Vi#ylBJJD|X@Hobxeo9En4Ovzlw5DRU?lN9hIrIdxJYiqfTjp`rsbKZPtE~fjMke*?aME|kX(+5k3g8E`6;_``=;$4?dWq{T%5Cq4`0~v!KpPeRT1B? ztL?U17KkV0nJ_y&Ddsq2Qj{_~J6je@ByDH=*mn2!rQYDa;rEgPdFv(tKov=9xn?8r zs0@Tc{;18(PRo0Nh6k-b4Vl+B5Sfqn4uAVj7g=iC?%sP)hYSfiv1sH_!2UC@Dy3YHD6+6>FK-UVYU{rGl+pUbeAx)*d~6YKKQBiu@&Q z^wzDrn(P%yBr@>8(y1|kaZg7OWPZp zc6O4J`at&EK9n$|ZE`*`kbC6A;TewE*;!8a7^FVs4=BtF2SC5AEU#L2V$8O;UyA7u zqJY~X*$XGRoK{8{Fv)dLtGtlzwO+5M%e_As1fr2>ClH9r@Ao_H|3A*-7pVboNg|J(v5hnzIp*D{qSVsSx#+`MwWgRCb5p#D#dg)pn}vznkdQ^0}sK`eae zZe(o36vy{+C^L!iy^x3;6PdHakp@LTlx`Q|q0<(N)6j2Ozv0M?ju`3Dp3wyqc~!_n zBOH>p*Zk&dKpqq-G=wAJUMueng$^?#nj_`WkF@m478tEkSbKICi8Bq zW#yh*1u%6t8dXg}#d6-x^2e4=WfbxfPDO2MVZv5#UKinS@8za`cK3o00o;v~q1?|L z|DxN6k+0NekuMX;gr&0yOHL&8d9Ghxw^v_#&EnCZJ%8}IK7V9jj~_h}Din>UEfF8n z`@&v3SE$HP3D!9hH<$Pb&!eYx5{5?n83jV|s?n&Lz0=dYh-YL)KqO`ArXj@pT&M&S znxvHcoRE#D$1D|#nf2Qu%SGueLLn=a@-AtOLq8G!CTNPLjQ1D?1+NwZzi5?0#Rk|9H{IGn%@R!VW=n-uZgL(BlhWe1aCmdAad`&3eyi0w=4rMS z6a-;#Z~su-hwYs`yL#=CUA}h1ws$x5`tf9#nH*Ox15S{`Hsn?m9bt>dBi8ArY;|=_ z{1=Ln-y4*!o;6#e-j>9Ve=qW5Y;}1-{DhYqTXsTHULSPPXS;g``i!Ti zChhL+JGQmCWydEcLf;6eYRcXjaxRT=SWJ3CtYFG>J<7eZ(U1l5AeFRaIz6)AE$MpT z{zM@}01s;-_y+X9Adx78P~fnZ3F3cIZ;8t=K0ju@Fz8>=;*p4w3;p4s-Mo9#PEU`l z+ZoF0nCl%r3DW?kRY-3|3gmjhS#V}X9u|qXM{7xlun<-Iy{0vrq$|3WA*h>HF*a~Y zC)pKyEtO6)ObwH%#IRH>`}6s;4_cT`akF#k0E%(1?=|nxx$x0t%R-p42@LPS6iB(Z&RB=s zuTWS!S&HJ2C{PaJ(L@e3$VIM{yINgb0S;T9gIw=~>cbchTOyUTaKtZ|)M?S#@oIio zW1@mA6C<~qM?+5`bvt_J00_JZ^oSRL3_I|0ZxNjf8i3m$Kg%70%CYYfSKIw*UO^}< z*&)v<9D!Iz6e$xnyMI{oOrow~NDw=mOo|Z=cY&hJ;fO4fq7@1ItWGeGjFTXgIqpO% zom8sXSek=7X3bXF_V;$JU&p)$#RU?#t`*NQiwRgH5wg9VxJ}PxRy7^jD0?FbH43EyGRuz5PE0E8?)tSWV!JmQq~e(x2%a}#E0IuC1)t9^9Oiuj zI!1ZmQE|AwG-u&x&@#jwU#55^#bbbsc^V;a0W+PN?H`^vzk&#>2%k``I@Ys<@FaL| z@NXE(xa#%SUa|B1x!wQrzD>_eJJd-#=dSJUZri}KXa|R$%$!QL%1w* zpPU!Y#eiR!o0PRMoSd~wS9QlLPd@0gu3lfaOUn!P!QcJF_IJ1K#;uz|1$TG$bRBVhuPiUw%dUV*-7haMTd`cy%7+Gt>+CFdrsvD+ znwgo_^#BteB#I_*2%3k^J{Y#?*%=w~Jbm<7XI;5ev3Mq7GjsE{Q`%M|jz<7wNv;_h z02)1-2r?W9LV|n1z>`d+MGoCRJkYSfSwp|Qy}e@|Z%+sf7So(foG(J6h66cYa-Z;? zfQUf`3RrUA3*~SH83I|rO~{by zR4~J0H@CelP4{T<8QJK_;R#SwnM55c9iQ}zeZI5s6vz*y$z zyNTYJ3JFaZQ59$c`0pyT>>XpUustHVIa1@u7FRGn+yi#w0l~nnR(-T$a6f~B+UYR0 zGF>{7B-5%t6xJjQ)G7lYpk(+61cnG!c4j{O4yGe)doko;l4NH)HkP&ZYnQbX4KVdh zj9I5w)z@ayh=K=JC=%*|?2weRv?YQO%k3ZA;m(dcyTKEgXrOXMltdC!(-5yL}aldEg5p-tFk;YxB<|$oSl$$sYFTc1?6SE|<`-w} zSAPB1EPtM}Ub|_@1Yty7E1hHVvu)#3THR%Pf??v|WB zT+H6fJJJR;G7LebQs@LmP(67Ef9{5|zX=9*gPx zp&8DMC9Q~!b+4(<9g?7=*POeo2ub@?iYg6zN4^Bz0WfVZ&~3L%UT;v^|6lo)Um3jr z{`)`cn)3e_k6)AqKnq{5*Zu`JaHH84AKoYsg0`LBR;D+y^(6?1iIM%4+f8fMmwhe{ za&fZ(2N#AL_~`d+2%!#zs-G#_r(M7F`u(Q%%@k?>z-jEYE64p$vA&Q1hl(1dXbWz~ zn5Pf)8<6=BowUMfpfRRv$>T zxY>DMf#E?{e51SppuW5J?%B$fCEI-Q($3CKZP;&_KgfTB(Y4IE~V_Ca?{gy4xPuYL_&mY^L z{r5i91)H*#JMpl9e$-&w)1?)#?s@KOvI(1$12$8kDJ#YvH(pZ-U(x4Hn+H7>+7qs zh5gC+3UB})dj(`C&#Dy+(p!@)Wi>f^_hsKY~XQ~p)exHNC~?%h&zTRcA#l-}$N?B(XR@-aL#W{tLtxyXAs z&tp8*RADB+es||UL`r-*zWD5^ZEifb+1W|^7ysgauuE%e_St72sW?aD#65e3{K!)L zh)|un3O<(BzM5<1)9H-Ws#sEEGSs!*gF{0cyu7?(@l@QNK6m6;X@WvNoqeXVP%+0@y`N@FZLZq+Z5 z{}MkPvT~(nlT(vI!oK?KD}CNbE1RvnogC~5$z#RIbw&fndM_T0Tc^RQsb!f|N@QSG zc>}mXeUJ{fzT_{s3!H6!zi+_(H0Tfh?hpUVk2k*4{{Q1Xei0e~RkbTumallcp7#*D zdHr7Rpf?zDkwc~9pr=^K-`eX^{`g}V*)WaE>CZv!OgR2g*Gf?X3T=_hN2#Sz0A4V6 znEE^+{dyR%z^BM>DE{yfTO`i#4+<{w4<0cM(t|!y@1{SlCU+agf6w&UG{#bl~I(xYZhK4sJ@&2T{y= z9Tll|i-M22&*(`olvF$4!e>-A`kNXc_P;k^d3Gq(caP$P^dl}N}FKQo@R zrIk6W6bp88a$wN_5bv3_Deg?lv4}0NF5CFTq*d!JOJ;D|4=8wqLmw5#Kygm4DUw%v zIIQ=DgQ)GLf$6$UqgJ z^_o?Rs0U~)eDdYz=jnRz1tssJuwcqUbJoNf8AJf}2T%$DH^H!MnP=w~6eo+-E`<&> zgy-q?ksKJZwY627oz7Y$6tIbzDZMYpJ5^2Ql}1fPkW~lQ4Lem2O(CKLDZr z#;^UdtzKHRQn_eH`&-s5=4^g^O{{-jZz`6u?DUi^tS{L1t_weElrV?tjNG5#VBn)~ z7W9WL9CW$yKHpGE1)8~ui3$1oQ|M_xB60HJvqHCY?RrcmI{*Do{?vZ=pZu1+`^)dz zi)YVl@8HNLd2-#a+6Lb+dnvPaeIrVDL}vcYp9t?AEQD~Dr=M4Zr2;A?I0r3hCDs_zmT7`Sa z6iezH&~BR~SxpuY1ZjDhq?LtED2+2Fba4JCO4#MkJCuS05rhHhlYFxw86r7E*26>( z8o=|EJdZqi*EG;s11r}mjv$9Y3g0X9Al@WAw!=IR*NH=d6gnd0!Nt)+Oj42M`QqVE zbD-Tb#B`S&D7hi_$>g8OSMK0B{fL~`p6dsZvC z6u!xstVn;5E;wjo$+X~i-dCW@R4rlkHj%3>H68pX1X%w8$9}K&EgA^Q!S2qjtJZ8(EIe#m zvvg*0#SDAosb6ljEtN=Fc06OjP~5WPQ}*EVN7kq|%ohlXq0NeiJO%tN2Cas*8daD7 zkcerrB-{u#IfaZuM6)IX9+_kXWTy)Ug6sDAvzKa6FR!oI>e>~XnOhbi4n$)tJ7obs zdVHVF&90~+eg16MDiuhGVe^Ikde4rIPSlW0O;6h1{=Pn&H{ZNt$49$bd%){BK0Oya z-RTS!nal0?_190dF2O>Xob6CNXg<)HE}>W*d+V*&%^&pHU;fo!3K2`C#>~7BZ9{_F z@pE9(y>a8Z-Mn$lD&>NvZmvlzn`y?kwzhOXns;FB4luq+qknXCYJc??e{1i&`<5k= zQJbHg7jIx?HDK4StlPovkrmG?LZ2d08fVsMLCFH0nU`0#y~rIQ8`5CnJ0^vP-z&0T zyG3AFO^J(YaN}{^k6aV*hCqtu=NGh^LXt;8MsWf;kR(Jc7KOwmEgAvtU(h`R>f}wO zY;SK*Tnuhuu5XvE;J4>bpX#g#g}g!sA#yVDXObyNNNJWaCQ2lbJO*_wWyaH1Yga8_ zD(c>FlIyO{Q&xwpAK)pV^jKJ0?2jeWp|{_7bLaBXrN8)J|JVP!J-+_v`2^KuXtZ)r>jm>0(y@QGZjL4<73j}rt7|- zG6%oo#-_sEbNhQZ0`lx<|JHJ%J_s_Y%%sR#K5t(;ziy*p;ZRh1SteG+<93>A3Md>* z=1RqbtjOxX!@ql#rl)Gl3+(q?127^FI&vY2V2-Frk{={P4rbs^^t3)7)2n-4fdCPP zPWr_Gf6;KTx9bn0BK)W^fl)76A8H1IdR&o%Xy#H6*_T2-Y+J8`Qo`x(TV0}kAqdh? zc{Dw8aA0$cSN+v%*KKlU%(k~4ThI?lF{z0w8jo6XJRy&NidM7Nwe0ka5)zO150sA( z3&$*xOxvk1Z)Zr=v_~IWqv@WjGcrO2;F0-JqgAuPUe`YTG-2=k>Mz-yH{P=3WJ=Px zWNN~S#WVBt#%y|$*j0A$VasHaHVpXeYKQ{cwB7APtCoujO!72|T<++-00yNe$5QrZo6qcUZ`;!2<7PfM z5z{smo3cWgCZuV;fJrLpR4Gn@fn_l$0}aG$uiUc3y)F6I=P8KouBFoxw!L#`Pd2x# z-fU_5rjQ>UoM;NZd;3)@7mIdCq-(w)xEN+X?cuYtC!_Er8X%kkyVmcbAmQl+EfkB` z?9_~%pXJpUgri~WG&({m{2{-J&Z8$U?dit0tt>9s%EF=udy5Ne@}h_IN3mpmwDEFV z$l3bUOSZMWC7W5UQ)G7_Qr%wLqRLh9+0<0l{Qj<0D|r=aI1T%Ido}<@Ph~||E1cye zYl94z$|O~2nYf8~CQ_OE5*Q!v{Bosk?|yI9_V$kSXRK*hZ80zqCWP+(!@X@gJI!fI z4#v1Y>URD59TmIWY0f&dMLw@hq{jr&vo8De)6ea-SMO-`gt-zD!+z4I)J1Y0n(c-f z!R*+$ofoPKzrk|?mjCkNlGY_(-oI~w0B(q+aE5gj0rO8xge>SM1gon3JnDyAw{FRI z0?tk%6}RnOLX1c`9M?So(s=jv*JNBoqr5P;q>wY@kZ^;z-)L-jP53f6zY<&xo$WAW zMt(P@KCJ1K&Cu=GHZZrW8E-AFeG%t@8k?%u^yIHDja ze?bZ~vN9O|$n@M=fc-3bbS3JE^yj8@>`Z;3sNDY`#(3D{L)g*&FD6;kVB{C?CUd^d zJrn)E>qpdBC`yBgpA;_kYRC*n2ahA`IhhuPO;W{CsvhyQ6buL76Vl@y-Qeu~hbrir zZdozlQQ!?p4n`q&Zi&uakbf5+dkzTd1;uUVtsu|#rQc?q#(!fJ&x8y`!{AHG;U7t1|D zobZt1#6%rXFbmHU#<2@+!3wt_&Ib}N9Nu{Da|^@?<03e20dLH%-FU?YSDShtm7W%h z+S4abbl|OBzF{*nv)W(2*my2d)m(H=MFT>b3Nez-QdNy#I++l|zgj4y3(Y za~#4I@!0JEE$j3>uSRfX(LbYVQdf(ESlr^eVt5x78 zBsHy$PfQ3MA^ni1@8I~zy7i8o?w@MS7K(&MJ`WHVal33;yWJH}gQ#8ca)&4o61KRw zV2__ZmGvy-yooHSeHbWhD!_LLb^qBcPsE2%3trk_N*~LG7 z`b@FKSc?-2EYFVN$nM(9iG!MGZTgcYI!~zTiXfdRRAzFzokf_Yd*4 z)o2T)3i^C@o;$T*1i5lha#IYH7(9>+;{Z50Hen&3&%)t8&7==`?33sD|8#-me)sst zef+#P0J>x4bXUO{6n4szWLtjMWR!{p6%85^Jma~EG{KI(UkHE! zzu}bUWQu}a74qZ!{gn}b%OLvfP*B<2iUL*h;mBe%GJGAbW{S9Vwm|N8_dDh{pih^d zPXEO3cM6CRH)5pY=jQ?QvoBm;Syhq5Oopj|X#jUM=kisPA2}AMBp6aaaQfolpcr!? z^4?YoB_#pYIz1V#oR@KV8){MomQ5y#HaELu>sM2@u(;wf;_rW9o6m~Ytd%T4SWPOS z{j1(L2#(kX^ZtpO!RCP#2l1k2XJZl-djkQ>j89l1 z9<`b2DH+PFtzWjawM$kk=4^XwL(@}tFtqEpU)BB|3+03TL+jK#+Br8GgcO;GUl(z& z=7sMNu-9L|XN!xoRysQ{pLbxp?6WI1E7v;~@kT5VkIFN_OXoORFI7twd-?2zt*@=v z^i0;0X_^ZgLG4FYt2y>K1)7~O4IiO0{5yoO=pdprz{d|Ci`bb-rX`d0hXNxmOhCv) z3W;U2DU+T~pra<_9U$O4UOmIiH=iU;sb-m>nM%ED(%XBp9)Nt7q2pS}YN@&BAlbot>*`#jk*39gC(E z5cKg!pUbwl=N;I|@sXhN_ul)SEi6vkg9i_6e|O)ldZJ-_0ckZ?5cw6Pjifvfjg{3U zJJ{b9^S{-uD<>f{ma&Zuya774dV5t_4j=s8M=mWeJ+20Vcwmq(Qug51EUzvK4S2b^ zDIO7KMn{JQi%w>RxXsN?t2sJ9JJkvVe~G<=4c+Vc^D~`s*eu_r2CJ;4jB?>$LYywd%5va&GUuF2P={D{H9bPr~x2+@;x*RTz{-9SZyH}X5E0Y zhe;kLKcArjnucb-{L8;;dwZL`}#h= zH`r*`AA~}_kH542{ngg*S4Ho&DI0bzFXs=JG3kNFCLDHX*;f(wOMAmX9Lo(E8wXN%=_`5J88WPBi zyjHA;X;b>Ww)W;8Kko&)2v;mQgaQH91x*@pP@g{l!6W)H?Y0UXPP7k>?u}ic2+1jGzHf~^ID_aP{X6k`#;?QOoW+~JYM5*h26-|7t~pTg5T ziA^kd5}l?+qJGPcWi5b=t_SL{WNYiI+LzZWB|ARew_3eylN02~2W)&iW&Th|tBwA) zY4^(-21p&;L{YxIXpBh)%5|4YXY9s}n@X9Z zk#ZA!LyZnBbw12gGHvZ9K}%sJ>Ct!<3uSxxV$%+fjx04crr79UD5`&V;aFZPR*Lrh z-~4r3Sz5LaKKx7D-QO33A4wn5wNNOkBF6QC!(A{&BrdG}o_zO_Ib!7V!3Xba)v&a< zB8VL%g!`SzoU?`10!kTt6i^F1*nBST0a40m`oobJE_RygTTPb@fji;!)SO;7P0`xr zRm;XHx@Xq(H|+HE*gCC-U0S=WpMB@f4V#>r&?<=UNA`;1U~yr=LPG9*R%<{+bZVF? z=t?SOsd!TM!Qp6B#ym9laD*TM@>>;L}$`nQemtbcztkDucP;D=tbANT$K(0d-U8-wAX7w`{#z23m% zlDU3rJ?k>>op(M(3x*yOtaJ8rx%5b%sQ==yLBeCACHI}vSib$v1cwJdmkFL?O=krd1-V|F96-6fB@)Zhwrk@=_ObR)a8(fLcsn03r9U^67W_( z*i*rQU?iBoi@*FxvWOQw$!wSsjg%DCO3m6$^5WTRI|Cp16SY!F6A*Ge1=}!5<1rA9 z$j?9%Vg1}{)w1PFCzeb_?48%|IkzxB5OUQ*k+|UG0m@4VmAKTR=D_(3yIR~6frAI= z<0JYHOnM%}i43A%#p+EbyCji}p9MtE9vn9Q#8lR%7MCp^i&!$1wEdlJ`99!5Kr&%0 z=C_UyUcFEin0ZvZ$ zl`IHkt?Sbtu%5N0Pv^B%ab2^x1%pwuAyZ?>UVZf*SFC;c`RA4l$L#Rr)atFKrt0&2 z#d`g7O~`OdXaHyi!Ivhdrp4SoE0&dR2|0_)vRo=^9{?#q*1pUt2=kv7=*(%}Jl=st z$f5Unw7VwghysAuKaC@#(`Ya(wLm%(v$?4m1vZ@*PwnRITXyZ*Rr~nk&(wSdq+#A&-kJksHS?Xl9OU}h&V9~xS--jeYX?th^OlGnbt4eXT{7v{7Y zD3uyEw@8v+$sRxY+LGz4a|_Ixt*)+EE?2Pq#*vkZHF;8S4}jhvQ=>7^j$Y^+*Mv*A zE96VMuee5$3}cbqs#av-OcXGd$)E?R^teSZC5lFDY3ZKrZf)BAuf9?OAjG>;$?+dR ztvWsDkVxvIJV^R|Y5tkEF)q4#ZQT-yux)Q|*r%U=A{5{(pSRiRSsTlwZE_-QnM_=S z$=3Rc9UPs?#gLx?Iq>rOnmu^(^Sx_S>f?FXxa5p;gD~KnP3h>(6 z+EE?|XBb=pnt%QcWd$6Vy`2L!5Hzg3Z%Qa6>?jtsvwTiyO*%bhlamv6e0pS^e#Z_E z3CxPx?DUl0H;)&y0Z*XWsyC)5vj2sn@H^|@pUvavwgLFp|N8pyM?V6t4*UyBRlnQp z4*MR~fe!Yj0ieJtzy^!dfODn;z*mMg`REXi(8$Ba2jX)QFeT-M!q)A0wde>w>WR>m)C4!YSw=JxBrQy662OTE7_wbFSIr|Jv_BGvZr3(-g)a?yLV^Za>qwj ztafa1Y1y7WeqcMBFR^gZ^T|%dH38H7936h4rjbUW)@)d#)(~RC`T>j73*#pUo4j7) zsAXKl^qfj5GPzdC+u6yH9k&M7><*+fVJ%Xv!bxG(BP%I2kCa!YUH*(FEte0GVzfa{m}ZFp29d&Mm?rb|B&SsnE1BKB z9XZs^&d=MzA|$!8%j_6<s^;;C=KxOyxSxRssj6$Nau!V`^%|c%d90?)nK%(n)E7#` z%*FTY?Cfyf46_sC!`$hae{*y5qd)ueKgRmk^P?aA$T6P3d;Ft5eqI{@FBi~odkP=c!K@v69T!&PRtxC&hl06X zVwof8$*`y8rX;6gAc-qv;b6pCzLwx;M@)ow2qfNhlQ8lBn7ur&7a z9D_kcqe99$KQG9tlaLp(4s!WZ_xIle6KCF|q7IEAKkQSx_I{t~t z3G;b+c679FmCBg{Wd^tlf*g1+oC%R05)li*&}q|oKQQO%wFY+k)@v5SJK^DdtC5Y+ zVv6Fkpjg1WaLNtwJ@j!fO`8S7U@UzLB4LU~q{sJ-Ctc#B*Dq&48i25jR){2K4K%Q3 zy=_N(hn7eMZ9JQ{dVOdcFLx9H3#FsoA?>hlODn5(_wEfV2|LDJ3AegkJrA6D> z*_4k2vVD)YBWJiuxox#($Ij2odadzvLZ7FzVGe7D-f54ZW*i=+@^Czicr0qee%Y3m zW(~-+Rn1$en1^C$@#LiC5B9BEtIMt#@)y?_Q#y?VugMqkSh)%r?93LI<}`KF^i;}q z3k71j4oPB!B*(!IsZ4q9x(;2MBXB;``J1o5s)?Ii2iV}}xpVvMZ`9+D1p`U=Xsl%nbALEbBtd8<;$mPKqe<=?CAJZjqTLbtU{04&APq*#yvsn8ynj? z7ijokyc6ETv@F#}tEtr#4GZ@$Yr9CqHQq=jIb$foN+skziA3z)y;p2`c~KJL&p!KD zwAE*Ca&VL(7Z&01xLv<~#g0!-6;^~ik?W3o9;A`xfW{Br31=jYmQ+XnfSLu!wh(8z zPHAMgMnU>$Fi?kZ@ACWcBFIim+U;9+)XZ>;mZ}x&oL?AxLvqHHZbiVmY03AJocTpbtH^edB}== z^0P;*d0@XG&4nZLDX6IBcKMKuxS@1#7y%nKd5E)$kTg-Mh7Qzf3x!AoM1=sV;Cdc( z{e9m+x^9@}IE=~Y2!x{7vsQ<~>DCU&0U_!D%{oIN-lO5j^PeBcln#SC=ve-p3yC6o ze-{eG0YL&FNDFL#+}l`D02M-5VxoTW;+Y-pZ0PVxjb+ReaeMpXS<&j%mi3J$2C18V zyGumu4sD1j%+PDmP)Pg)5gqk@xqu^ViT#)@m`~41a?CEDkJ-dTTJkuiR)St;r{^r4 zg;+L}%Oj}I*Y_XD9q{bDWc}K}d_jkppjkevSM4;{v%>?XJVIhB;&rr}&IpLZJ3Bt6 z=X!d2Xx03gHJZm(JUg>kBH}XKGjZ!{4TD8m$Wlp~zOJ(D#x0G8yg$SEkLR_JGZC;)a`T6 zxniYN-EgSig(MDde{7C5ZKoWgd#gTGph^;Y>mIX|G8aSTM@^A zh71?WPe1)k(${D*qk_7;xM=BERNe)wescK}E7zJLRp9IwqeXX;ehkQiM7>ctmVJU{bd%3(71%GjgLPGa3P?3KFXoB`e@OegBQ>z zr~nWnw#X3PoW39Eo#Nlo4Gn6+gu)Ge*gX`qtF*#V3^IRCH^ujXZqO*9RieKnKqF_=I^lRH9*vMqy;f?Rfvh>X?z>z=*HHAVfg2RtONl zm}FmUKDBbate=ZR%1Ef-8Y(|fW>iI{S$AP2>+37_?z?YVG>p8eZpm2Ms`auJs(I_T zovaE-J~NrJE)88UB)KOtDGDkRB~19BFDk+#+y|ON-28AU3=d)!jijXZ0QwCjGvX-( zf*qTgowwewZ{yQh1rZ&c9IFAGog(e7Y=?oNie{-$P!R%l<^5yt&1Xil$=_vy1R2!l zl_5zPEz4eJ`*&zYGNV22K-hkmi2yc4_p*q*x{@hD&?|_ zY`h_l#nUm17DHC8BIRmX#5=N=9rSgb2K^zM$&TC7%CeoE9on;JkL~z)*XHJ?ER}}O z0E8V7LXe%DvZ<*V8xEOnF|TS%hNkNrhs2pV?Us>)u}22>X9C7Tncx`;4UBn6c`lr* zZy$W{v2AaX1(6c-e{5<@MpL^xJ4j(PkrML^7bKrQmV+Jm1*!^Q=_^;S*jHbCZCl%{ zcrw;%V&UA7w*BPv7!JMNx^-QqLkEXPBB}8nW8ZxD?ma7#uGjC|cxJ+ig_yXkY%3d%WC2|TUghjj)8+TJ3Aw%Ow7bCU%G5BUOtr% ze-Vh(I?x;Hz`fA7 z19=VEn=7YQ(18o`8T}TT0J&J{SGv3a3WVT3wDO^liZ{Pk&Z>g*-6{(u0yiI1IE56A zw2%g-b6E4h#H_uL1HwfBLgdewRGEw~@&zckDB#6Q5M#eB#3B}tsKd_}@{ZF$ z5}^;Dd{6)kgu41&ayuM_Bgqh{+tGXA6p;9G2S<$uJ7A=Z0}FW}K{45*?G5O#Wrd)F z0kuJx02$o9Xc`;}fWgevGzWFVTFr_MjVgz3WXwS3YqgTa(@|SXtTBjM<-BNT#WM?r zqn3^)Y+^EFuf6lSMhG8GvZJLB4MEemW)~=9JW)RM=`h*G+qNAW4+N835^2F zgxhS_^xl&hKvuxxhtHIRcjv8ltkLe-%E~1>IXaY{o;0|l{R6?tn%p}rTV0vAY%(Qz zT993=QtxPZfN$KjLoWrq45^C7t6HyHC?2(VJYk`5+>VdV?BFPGeHzbzU+4gzr8poS zpPB@kP8uDM6ZXaYoIoI@>kg=%W<(WQ>g^tkY}S!os}GFI=*R51z@Bfd+)XXlR|cgkKiDG~oF3 z*XzXEmdzLRSRxVEN~DG?la8690Rb%-wDXd4yJL4xQ;|PAmOg)B`I6nabH_gY@b3kQ z|LU*2t93!{>CH{1HAGx&c-_IkO>MgISn&Y6BY^krC$&G1A@s5=Y(YuwiK|J zFP}RY+!wTZ9m!|N27Y)X0gDGBR)m4?xToUtAe)OPVy+>{om;=h>dgg=X+YsI7+Po0 zvg}0K2E(rHA8k9A(1F>D7rVCka#N}ZR#GJS<@4v_>KyEy*oXbk>{q|{nq6LB7k`05 zOK!%aufCRF0p1A|cCOcU^GwY$T$5-d=6E4;I&I2o88kB-^jjhp6TFZ4nC@xTa}bcD zQC%w+g9M)=$_`K(P)-yc7(qd(^)XQi!8FC&J;dkJVDp=l}OV zvkLOv!cFF_s2xP$v(QU}jbLK)!{?06?XTBa2q6^GXw6M>s_*f2}UbC%( zm+zI;Zy#7SBxW@fEF@dpAc`Oc=9WvJvk!Lc_<^8cr$9h9*R^uVxddLM&cVn$E8lb!UgngzP~%P?cu+t+(E?*I$3t#?vYL^rKHL zcXn*IZ{MuKb2tlRC)5hs>BplXo1V&w1O+mJ>VRnxOJmkM?4CKq z%H@J2Te;&C`|{JTY;A2`#d>loVewSjvb~lyDkUAZa|?@_dJhi|tXe6^V|{gP$rhI8 zwR86daa238q1PF;FhNn6`Ci^n5DePME~r4KZ)Yb3+u1o3q)$R)n_V)8a|2m~v$IB) z3KD>}T#a6_phjnEa!LpK>FKG~S?Tc!o0yuh5B}~0NkP3s=a$)Sv;~*Lc%Pkz=+}`` z-)EnFE!o@U%hzqtZ|k*ox&wRj%~$Q{^u#{+;6s_-&^S>vl*Oft`_RZalk46;iiCAR zHcX@Zx9Rb$UAcZ)NY>uoq5jVMvAemgCYFMYC2qIhw8O)K-ka>il&&YZ9H0e{pFFWQ z-hR`5>jyuumzyumA2iEkQntOdYo$_EK|=+y9+ZDEkVD@1c+%z<=hQslX+M@pio^=} z@6~&FG?bMIKyVN15J+<%DR72B(30`E^#)D5_sT6@JLmZmp?u+J%=V6t<#9nK1u#3! z822G?JN^NSEA#f&+pk--QBuRdynIO$+rj>UK2ySdApe1IVcCpi zk>|#J{$gXpwl=mc912<_nRM#_NP&_G_m$ko`2&KAITPy(nsN5~teUt7ARY31504MD z&Rkhuv&h7xZSQQsQIesF&+GBGJME{Pe)F$5N`CaCAAJY^{|p~LZw-LZ-&bFKHBhfs z|CwTNeM67@@Gp#eoDqO_Zq8NDC#auEy)#PN)6QG_Mo3_ z9D~-W1$v~*Xvd2aA$$1Iq$n=~h+aKwVP>R=V>2IahdtQg@Dd!+&NW6(UMLg-GN5+& zE|)+=NuOVh02+AUXD90u<}tEPhFA${DXIfY)}ZVS@l0TiB94X65~+ku&rVCGhxR-g zPuciH&&rLSCDIw2pPez!_Q1~bIcwJ&)~Pk+A~&ASS|Ad%cq}fPQXt;r)0|xR*voeC zH!s7S$B2hXBrNzCbmGpPTY~)q0kaoRAK1>;3(I6CEfyUYggzL$cwY#VG!kQzGnz(7 zBpgd6?BL`~X>ghGthIaCvsU#QfxtQZG+gU5qHqOujdhw$?Rb&Vk?c1$H*33FduGFq zEiTU3+Lf!~PLK%@iG?km3~TKX3CF~o#vT|?c$5k&tMk&jpPuBM*8@?~jk?(NpbwEi zNN$iPdxzF+KqjS#xdxXaNHfr=G|bcQ$dCp^iz)uRP_Rb*SbJqGb=moU{nZ0I%b(b_ zo3~ZiAR%J>6AFffGBigB851y!`@@qXaYu@Us(teDSC&pjZG0+Y>Flh{%q-Z#>_F2b z9tXVMt(}(^iH1hr5b7^26vEy%Btm%umcYbh)~;P$l~U!w!~3%5#Bt6*rI?fDh76P)6`&D?&yE|$O z1A&Nr{Nd+9Yk=<+Ej{!|N(VnAog8xkLIbnYLfO25h%AP2I^^pyoPyX#`XKi@Yo(3N zO*t;EuU~asqHbRj&3E2@Lt#`0$H(@!fAhZVihuYo|D~jdd%OEqC|B$R)zOgDO4fE* zf_JUcN1{5=nt-_HPd@%k|BgC<=Z(rkgAFOCy@54a4fC_!>vW7$H5`rhlgXrSFc|#l zfBJ*puY9Nd|Jgr&9vgsRKA(Tp@AJJ%q4x)aUZv-0!hq1{^!_46jo@y@Phxf=;~2s` zMi~LXlEkuxLxSp^1jq$+==1{mSM07|0_f?@i^(EfB^CWXMr+81&aje(|r zP5Ny$5BTx}O==S9q3@@_!1#AO1P(bTEyTkB(jt-tSnXjO_?ZOTqlf?}A(D&X(D4I! zzD$Z@;?o?A8kZ39wICF50&xr+p$jrFVvkMATR19smHq!kco3@tU_oa}#EO7bhF5Na zUS1!*0FbJXs`2+k#Ky+Q1-BAlf>WQz7qRsCjP<=|a^@>GQWnZ)EE^5mu;sPgjYG-H zLeY@WlI_iH+uz!eaYys&L^TGQxFXghzwKu^mJAY3R4#hZ&K+z9*Bx<+uN_pZSLea zC#&4q#YK@i)9IwOnteI1K{zA0B^-)bzzh1(w(Y%5+uzyL^_IwtTOyUVAYK$81WiJg z+Ljp~(*a$rlr4XDYSD05rZQJ=UbF3uXZGcnpGZ!ZFPuw4$MlbNt-LRMUK`71)eM6s zZEkL=@X?edqft9KIppO z2G!K?vmvcr$VPczmRBy>2Os^lefj05w!VJZTCIW5rL`-UZDM9ZR?Eq;q*g_ZPS^Zc z*VdbsNu(_3Gdn)Qi7#cRCudR>jE{}!{@B|;)^p(cuGCp|bnLvyzB_I=u3xdG#c5?X zoaIi$NoX`fx_+-;zihj^8wwzz(Ug;AwW7}&=Sw&_6zzB3d0pNNG_wbLhvJaXVD9bg z+x)_UG6sr+l1x<^SCy?%Mk?%ca27r~8ZFYWg2dvzs77LEk$_RVW{b^VgVWE zPd>2@_jR{tJKNiKe0=0w9S1|9aBu|*<$}#GE|_=Vv*V*<4OFaWgW=$Ceqq)(=ncEA zPV+ziEQ`o@kDuQLKo7si_s_f@Z^+~I^?XYDaZ@e@7@J=17^Zn1OiApZna0K7H^=m* z&~mslc?-rCG{`RAg<>e;)iW@^7r*eJI&FqCWNS?4ZpYwqwK>b=5g>a_X9G-Qfeed% zr-*`mk^u3);9w+&8?=C*=W+|M^_3%G3n`yV1?2YzeJ&WtNgR>j^=yFC;mCV{0_>Fz z-;o~`H5v))bu(en#&ji*!~BRyTACu)xS(71JDs373jP4jZ0@BwzXN!8yk4jMH!mSP z7ZAKymeP19qcIgW8PJ46`tJuj`#Ka!OsrI@w!6J+&E~FcJlV2L7Ek=F3Qw@_u}Car z({nTWEY6Nk^}1n`Lnh)mlnW5Ca2iCpP**e6X=7=eR=^IsNs7$d^w_26w4iZAMHxQCEJ~^eLUq7#zH5yuZ&CkwR zvyLS!WXzz=FD=O&>BaNM_WZ?j3q_(fJF{RL8#^jO$&}-p@LED)_z)%89n%bxO@Lz| z*C~<37((IIf9dii%jIwDv#!;e=IsQm(`;BWJ8om^^OhWonfKDNoC?p+&n(l#pS~*> zMXtA~-)GI5^SjJl@^~LYnc4`xonu3zQbYXTuJd9674OU+KxOcW@abl=K-k^ zlc*Oj`5ugJ0_G3W(4}RH^VaLHOX<>SH>7WW`uLemj8AFZz_kwhAGHlcPwbr){uK^d ztL?KJ*KaBmXn=!dy>9z^hqA}!{9$T_Jh#4n&8oGE?d~4QBLFVRgRj0;VAs;6B{?Q` zn-%MKKpqY)J2fpbEY~^4MVT?Lwfj9a;y3}Wt}M%iaw417I*PT&SNFfNR>w{C#h057w?art9NZ2f#NXZ_3i9h8 z8HKpu9*Q3eddCvyc~Y2#7vKQmb;d3Dv&;C1_}GXu9~ydGQXsa-Q4ZZkU3zHz2%Hqr zeu`$moACK{BMZw=R)R+!|D>$3(F4n$7nL4(uzw_rV>MAe{P9tp z479Q+7wdMge`1l?p)DUnW*k}~#`|>3mX@!ON-Ig);XYGn*HWph_NUk`bFBcqR%%^4 zI?mb3>bm{L@BFSE9_(mG&h-I7uQ&AA%{#ZPS!>Ai9WFu7hZa0)H*Q|DJNIteXP=KGVpp88{2EUuk{AJHajRl z4i&P~8`|OFiA#kP+0^ALKn~=3#J<_9W#MHdhoTq^7?Ii>#gtE!QrtQ zAh-gA#uQI;Qo>a0H6{DaO=oN@9THss?AeCxY_{Y)Coc`8y*}h^DP8ZZsQO;)siT%k zfZX}CzNwT-_UOSQyL0!3MZ#0IetBKc_xhD}G3fv7&;QC67Z&Zc*Y4WV@}gWEK~<)w zrUbWV#xqKL#F3G6WdHC`guG;8Ozw{C&0+q<;t8wNAi~y!T1C8mTV7ex1buvbtmYlm z2rmsF{=Hq43w;~UPHAOwbmXLq@Kv}Eo1K;#rfREdJFT4jwPqnvmGNxUNjfGNHPY00-mDI2 z5M0hSq&i1b02vtAz=uQ!DIm``;7E*qZuX#9%NGuYJceF!>zxIwY>!81i3lRw*}a*du}!9ld*Ayax7#6tH6XTrA|1 z!+miwNMleQdaG^a{F%aq9L3s^IdR9Mn8U)y#O3<+Ybp+pA3u_Dj6agl6#Zgj#}1Fr zZP;nc9+lU@iif6#pErO|cbv0QxhgGm=FUy4mCmhGFIzksmtO-1D)4xnXkK>pzJSfn zP1`U3+PhXMa~&TP=Ovs}gUXC-;ZSBs8~9ZQfT=vBNbjlt%|rU+}_|0lm=AAk71y?plELcy5% zyj_c?{aTk)*|C!j=M9SBI-bqgi8U|gMe?b@*CB^?zpAFO+v%$@*xlW=%a?I198;lW z9kcP`h57nj3kN)QdVC~<8z6Xm2S`E;MZ*FtzHfoRCarzVt$2!h0JKcCAh z(}9&Gw|uilI%rc_5B^Bhx}}ODp<(*Kb>ZiXrxGHqGU`lDjoX`V+_eV}Kew$Hr*`M= zE4H${EaWDUNa^b)CTDDFV$PQ5r>%6Jvy=Rx?Hr!kaV~FDlXF^SK~Uv$q?tyk67+?{ z=Xm+@r5cfVlIzhKnQ`926Vghf-5Z>oocTMQR-xCd|2NK@@2r2n9gm-z2H?l`V`2J( z-r)EAp^z_Rf!@%DKCCgBmLcv?^nu~&u${-hW9_?CKv(dci`@tT@Iat~m5kFLkU0B7 zR09E*`Zfwhfw@oN$4y_xI%*zJ1zZFJQBFq;MfB5+jx{b4{PgFZk&izf01fSyRg45S zAn~KgAiqEnZgO>_;3#f08dWSUlQD&wDaXl)Mz2jyeJ)=>2m!G$vV`r+P)D)3dX5kv zfgG!1d}9zJGNg}0!KSqpYdn%Pj?9R7FtNdE21ex1v9xW;VBe7r8TNP&n9A`z=Q*D2 z9aybcH?JqC36QioR24KfuDN0(;R20-(?Jj*(t$$gv*>%Q+vdO{3)S%<+$RRV1BFG% z7Ut*WH&85{*~#IdwR=O0rze$j&n}h7+7SNwBR}(|ERUP+XV9o2%aSy!XPyA>9YIbt z^A7qJ55sbv5jVTP-Y>SwgWxhnepz zis1;5MNqF7Etfm6O0{LDk-Q3s*9($^u@SxzElWg$mKsZoe?im2VT-X6JL-++FKv4A zP1&%90)9&;V>UIDw0ftjCaPYm2+kgx9=B{JtH!5PDoF3n$4`ztlPIo)SmV+NLS{M^nvCd90$;+Hp7jRJFr0)gakG`O)=7sudp0>cWz(~h zcIEOVSs`ck53G28Zt+;g8jXtCu%~I?AB;ZqFhI95(rGLez9 zV`F2>#wW+^wbx&>4?h0bCML%0wbyQ2r`ND#JZ%2qxaCeyMEskZTd`8LYMYze_Q}bY zGF|A>g)CfKl$qq{`$qg`8WSYPOd-Oit^p#=cxe@8vW|kt26zO?>D5> z?+twH{VC#Zl4as$f{$2z(2%Vz4=0v$5AF9y#6U_jMV1MsGsHZH1UVphJnLN`3kSF? zc(D%#W(O(oLzYsR9zp)jE|Wrodz##V)gWA?|BdW-k##ldf^FIV%ViJ)A3qFR2z7j| z(@j%!fsuI*+*sJ8(oG|?Q#zsSY-t`K3I;~zameg2?QzJ3Pr5{(`AH`ldgWGz{(7MqZ3+@Y^T%-YEpwl>^mMOn8m*tmnO!HvzhQ)&`~tX=V-+n7)+@ z=YlmofsnO(!0#@=NOH_k46`!JMPihBvdbSBz%hXD;2INo^?Qbzf<67d_R4%-OzHFU z^MdNna(j~Q;gEn_ji}vvwW_c8lK>ZRCO=Gqz}ntW$U?rb3L+v0I0GJU&$8n&^ZNVN z>Q-eEh7NeH7a(W3Ck}=dj07Za zWM@>)7lZ~7Skdc%F1YK}d%;;54CSQ87K%MQ`Ae)#{9zo_Dpoo#X)=YhIx#&d^@JDa zyoT43p$Q8wE$CW-ghle&v!~Al>$37m#uI8Tfzo+@gQ18V{%B;I&Gt9Z*ffO@%6Px3 z)snTFH7kx*Q1CSFy>izkC&ujglLz8N%+Ai)>G7$w>RcljOL5(j33+`sJ2$WARj$`0O9Q4a|gTq~m zM8lR!#Z{>LouQr+S9+ydvi*ZYTV9=$GhZy|1`zlGpkKp5$1W|+>$&ota_y#5vkC;N z@7Ba6xqbbH#UnA>c$U{du&}r+EAg}3zRm!4@9+{JzTUa_p3*8$4tA_o0;TfX$?>Ue z?i|{}{EA#izxeD6B};B>Y}waeKeS)}^>^&OU;RzpumA4%|DE~0J*(HwEuNZmIVKhm z%0s#**GW7XkyMx!s#cPm8#LVLb`@Vf@GxBY1KvOIcsxU_e}5K5>45eIp2*Lz7H3iUiZ=h1`(CS|0l&Ha)8XexA$Oc0S*d+Bxi7)5j3^pMm>txZK5J zj^xG-gKP#re`Ggw)!6(>GNc&Zz8V^)RSsynZ#5F;`~i?w4Kyh;F?-Ad!qInAJPu(} z1Q6~6d5`bWdov;t%3ufuf=fVyJHYD$Mc_H{e$*>W!WB)m_!i(42U5aBEvZ`|B(l@$ z+9m7vT1vuec3b-Mdc!3d3IUKL(IXNVua(zH;}T_W9tfy-@gC7|0h!~}$NB-2CSE_` zFqrsYG_{zu`Q^Uh9nx-on@+kXK12;xD^Z9<9?;%kEeWLs{hDyb=Z zd>JzFnGCH_g;eOZbRsKRox*lPlCdh&03u-^g#SWM@3FpbIFw6amjc~2N#XwHuM2kf zwHtQtwO6dyZc9xtGoE(5k5JfrFyvcp+uqr>{lf#j{+Su)0kFNhXXSFkQmKqsoQ zSeUwbujKdMsLKM^6NfBGQTN*rRA%5-Wvm7&rHbWF^YX%9U0JiwKl@S*94iE%>qI;y z?Ku!Q$P^g?TrV>-(`vf6wzjNZtXe2AW&V&)uesgp$=@K8b{5Mt62VAV4I{5{b7RY5 z@n=#A+_-tw?%lg?6Vr26DSu>7pFY<8ixXp1-{V~B+%@hZtSuO_^-EW!yuqdxWk9u7 zFkg^%uW#G?2NpOazpHC=%kTlN*^O(9wuXcbQlgI)NmSuXIQ;p1QF%q|?(Nz5*o0N; z6+18F1(n0~Arr!lEd+L{jR;FxoS(LGv0$ZA&2r}zUF#@Re&@G-)7q_u zH2xD~NE7{bc(5mQ>hkiEtuHUy-u9+_^3lh-J}<4V*(V==Zn?8F8_Q(1ax3iY+U>iy z?8@aenP6=`e`RdR#;}Rz6e4k_*-;uG*5eEu*~vNk_22j%NlxK1 zoSqQs)fTrQ;Afc1=^94mk~=Ht`e7Ktvw`!M6_Vc{7*wle|8QuB@u|$8b9?;w#}3W? z?(wsK{9H5u|KUIUhrz%4S03N_x&McFaQpnhel=7H)H-#Mk9>XS=`XUM_WG`fgAQE8 z?5a@u*_V?a4}|Sefom&j7dReBPL_D1031B@`G5WlbYbKMIPfWv%lsVNBgZ{YaFj|1 zQ{80=X!=+95QjX)52k%Uk*gOf0uE}C0WsXch{x+3#xS0#w<)fUlJ6jYUW4=Lrx9?! z+ch9gA;9Ykm_O_$^^ia2(2z!5#30EHX=Xg3Z+Htp%)qkP7t5`+@3pSH103?f?_xcG zMp_ZTko^>A%j-;$kV_?Y_%Q5V0s~z2U%W4FYgLSe(fa#3M|Iyqd5*Vp^v% z8GQ}Y7fk_84y4O2J_R&)a1s<~G_c;Vqs#@QVDK=2Cm~)2eB`E=t;zI1K=HuqYfH|? z=gQ6!i5~|sk-iY-JY9%-75n@*y-Z7MqY9y@XKe4}SU(?mBYyTB zpzuyd$c8*D0s$S&To*K3ymnBce7RtOhTk@y?^!CE((amYm`DiN-kAZN93R;!n)hg2 zCE7z7Rx0Tq3Ql&2#ob|%^c-FReHmp?23+m5i#-(sz+V1pvHZ?OP z8Q-U$ernAIv9%HFd$}%6Ay7=pJg*qm!(&-Xr&Ds?3xpyzJvFZP3GWW1bhNpc^*BTe zo=aU;y%G*x*x90V0bURKrLJf;diL!3w)H&$5kgTDT)uWwD9_iA9+=;YNz=e`XQwVK ziL}8X%=@rVw05(nJwHt;*1|qt&&G*X*84z1O+E!~lrfn=Rm*uhIy#ffAS;E%`4w4Z zfAQHT_SxqjDJLKpap{L|y#Bhq^Y)wO_YUmj_|V#&hOJy$(OP7G|3G9r)J*MK+tTA1 z``&xsvr_Tg4)^x0T&kFF1t(9F4DYd1l%|qRf?~htQERL7!8G&NlZtH`*SD3=bwS~A(jDGyVNw* zqLKWNsTzhe)45`NnXvsK3weCjY<2WIo2|O@EC#(Kh0up#kqaEU2sWara7EuWFK`)< zY)PU>THnb3fFc1&$5{?HEfn@C*$um2cC7p?rY*-4@H(@gk;lLI6H+;Jb&xSF(l|h9 z)0%@}bU-XBK|OuJv`m)bKLF8px^`Zy*z@OGHl9t`IU3n1J0l~Yf9DPF zlJ7tqC^|@=VA9Kg$jJ|+Tb9?rD4X2VY>JIdaU}*fS3I@tT|5JdS^-c@X;MVS^Lkv$ zpu&z|OVc0{1_bdbX@|`Nc{OxeecOAnXN9wKOC+NrTov;*NhD$aD<;<;lZU=H*)f&yN)E6`(6mFR!$sw^Tf*qzd*IvCT!Rp>%zNB?Wvzr(5TkPxzF|@GIV`kNc z9UkRGdSfp>HXhZE9?6)RP>O6Qs7V{10sI+?WHdH!H}BrH?afWSUS1EV0md~nfE3)9 z&o`B%NP{s((F+HyP%Mg1FokUG;R8*>#Qx&ocyM?q^CTLj<)uX{SF7UPpkQ(N6GN>9 zAYMkISR6yVg&JzQR_E5{?0diTjx8Jo&x~0#9Jded|GoGdr8?2MEt|{` z&s`F72-%J7fNpPKspObV3_P~Iy{Y%`&b_3O9HNM@4O-R{Z!2%Zc)13VZirE`1m z;B!6i#f3|D@7^s*X8-Pk57Y?p9(DTz3r8agfO_NAH>^AlFEp4!~}ygrk}SPT4&6+1mX(f6DlpUWCN81mV9@l@-lnb`@Qi+}Uie`lwsd8uk>@{mwMxP&Cw z?6m!zdUp^C2mT`$+><9yE=*UydwdHXKMxInE|}h+^H1xwezM!GHV1=Y(D{oyH$QIh z3zolptj%vjp8|SaT(71|=cg}dP*JQd*V{D+AO_BJ-{lNp8O%O3q|hDq+Ro_@SY10U z!Oi@M^Z$1cIwUB52R8u|u~rMcfpXc0UY~`$ev5}A779C60<3L$gv0LVc@BU>aUMka z7k0kg@ogyjA9*DoYSt@OF5@ca*W||YWE$kAB-BIDpHvGj zp%6HpufYvYR;@?^+iv>i^^th!Vgx+qAL1C;(^MwE1=0cgeJh_A?CHY?vX2c%{8p*9 ztz4{F8-tpzbC#18vUg|!Nfli|h9zETmh@Vgn%dUVp)cYh?x8Y!3fTY_|41bPq)Ka- z&z;)V?wW$vY|F^-9G~4)Isu+VEL` z;1a)C-_I&#V5wBp#>SGCh=pyZQnKCMeM=-WR+AV*xAVPHp$aOMCLw7ZwPIY-#zjrHN?u1?{wRq6s)KgbeC(4ru1Mu3Fum)+4ws zrowTnl}d7XYxlZ#Y5kJT&P98@&jm8)gzADQ!rZ?{xXvy)k^YA8Y&_>fDG%a<*c$;tzs-+4i@ltJN$Ig1WZnJZ5M;~yAeh2@5yBGD4gMLoTesWy zD#q92`{|TF+QYleHm47S9jD2@DEb`kNTZk}UBUJ`nVI(AF!UXgpj18*;~?Vsh-{6j zP-#MOrCdLk>5d{U?EGSnFHt?u%aPpzVSM><9(0Lvn%?^mWUvM`L6Sqf1Y8n~5DCu^ ztu*9DXFday*|p4Y9Y7UaWHB0k;)xL`pnc|Lb5k-+I=LK8j3ajG=Rp<&O2yr;+y3bU zPtyX5;R$Nu<@?y#a&YsWkV_BoiM=WhrgUX2jG7LYh{!slVcp}FRZAt=fpXx({>KQ( z9SoowATLaHkSSTYpnh;G8^=K)UjepxcSNj2%89`eC<}n&DDK&YGUD;Y#uUry^B0u> z=MM+fNJ-w=VQs*QfdrMu&6_rr$=K=czU59%71v7+J@0Wm z5VBMvX3ee%L4aARMw7%!VtU(dGRJBdtv?D)*{pKN_j*>VHZ*lL8y$Q8^rg#$sPlfi zBtcv)VQFLa>%xVcM9U>bqKN3aY=%@!uceSL2tp>=tx>O9tyr{9vn2v!zeC_p#un!1 z^x1s*$zwtKL@W3D1+A*e<&v%so-?U)JhCJr9%6EHsB4yW0@ouA8>_A$E2=_4Y7lq{ z+|yi_WFYivxIMacRVJCV%d5*aogK4k>CD=ls%^Y{YPCkwGU1e+pI7YJvlnWJSs(B^ zXgq03W~OH>mFn8={*G2cgbzVpgD?zn4Wz8yt=W^O4-^&_3ddv=l*=92*7l|aBO#?X zLSTd_M+gxGnZ}%Z38V`&$3whwt)U<<_dg-MDtm9zA(#XSq}Bb=ww-$F(xSYS$mU zWtZ01t=`DnlSdD1XYat$<)#t{u?pYW+O?C@f)&q8mOCrk%JQlehRzeAP&&72yCvU+ zo!xyQ5b%k(9?P||-Mo3jE?-`?R`tvRgQnH0McdiivgzqLo0y!Gx&>nGcy`=2HeT5C zXHS(1$o+q5Wl?eBUw-+OwVRklRkf0!iOU9pw!U^*tC7>~Z4C;XWeWKrwmTTmb-;Ph z9u9{Ae{cv2&wvF^TM#np)Y*WG%OS<2#{y_mgJWlhB9dqhrvk>`AlKyC*x`DNGrt>)zKQA zo;7PNp&GEE`RuSLZIXJ2%iqu=IGcuy>xD)FEp$K;ydB5+@Op(%z$u^s7)z(^>eW^A zdiqu^<*nYVSTu$q4w(uh)&-UGkQ&d}jn{4~ubr?ZZ`fz`PR(|<^OoP)6?`5aAGhSx zq+Rm7YU7!tMM6>AeEif-PD>-zh(|^*G>wp3Y35|-?DbhJoX~oyQZA{XL6*oQ%lmsYt`-e{M;h3jEX8N91st91vDOfj$F@Xd6z&3Vx-2KX1FQR zBMktE1d}83N3m`CJvE;f=m3PhOe$sH|NgJq`s$MH?`_)N)=O)(9Is^U(iPjc?YK9MvkGO+uadBQ!Rwi4nednPe4X=up$GYO&uztfm6B93*kNu+q zYqFk+hK;lfrtDs~q6R5DPR>MKKktna9`nh&xO>yNX2gi1B zd}_5uODhciEbK8$C)0NI%2gSD^&4i@UfXWmShcZAR0E%eDJpW5-sv0b@-(^glPYy`)kJc|deJ9uXj? zC#U#4hlOI^!)KmJkNcyMP&4F>{->XD9r^C@bJ_st(QfzthvCo@?sj`UpU>~5s17v+ zkKjh&^AV)%LUK6B-QJKx6{a;ic^6IT*!fKG+WRAC>(Def^xruOIz}}A*lsr*f?)38 z&_U*i3A!Ov=+s!a-|PJ9+zuNV4$?3Ov3i_L%nzAu1ZTrdK$!>js$lBn-l7 zz%tlP_;Mo{?X#Uf4zHWnzy!|s(;T>U1cw_x75Nq@iAZ(G4bkw^o`8@jI{}pezhkI< zEt0)DKZDhP*wh}8+6Hh7M#M=96pU@25$~^(07nH{ampg`@md@|f}OErg%PV<#zY1uvfBpHY1)uXfUws*pyYIy$_l%7_{SD z$%^M&c6^8OgHNWv7w+8>S%T1;4)7K(=~IWgu?3)U$?zXkgNO`}XCI$bq}3ARnF{9SMSm zKfzA>3^fBe4vBU?^pq+Xotqp1s)8xiG&lXDcgk3-J;4T+Ac zRELjH0!OBEVK^@SR?xrS@c_7(ftKYPUpRMGz9VAZh2amypBoaA7;-Q6wiHZh1*Gfl zE1^xhdF{|C{IW0B)Qq@*=L{T5;e@P5f`>8%`*0pyav>x|?XsEAeO@UW1g9c*^0_9V z(L&qpAa9DlOo2u*#uV5-Nnj&4L`QaTvB<+=SFB;DFzCwO1 z2w`tK5~3q)I$#4r8RVqN@ipy}w>EdIP(sS)lUf5q9?%;V|31!Tkn#LN20$0gXok9I zzO)wd_gOPZcm@RP`oi-47EBec^B4%+>L`3B!wc)wR53f z0j{TzG2x@Un4h0hoG``xX#Y^gOd^N&d(LKB)2*|xh6TgN#I@wA0E}Vtg3}K(5%e$H}{In672gd=>gMHm=-& zdIh8cJ8hq>u3WK9HevVg-&gYm)E$-S4UKA7?>Qt=QX&^77IY@Oc)n#1A3oNKWOi}I z+Jps-KELy`Gp#rF_V#ow-?@87O~_}TeroY()Xq-M?C;-7^_gw1d!>=FPn{U5n*RNl-%*2!x%4KV`stTcc_0_vtBi;Y% zYegxqudUna>LuIU+)#sEtJif7kBz0R)eKpwSk%x%7D>O?^M;VOwA(CX<6>3Ru6l4z81P5vVC^; z7p{C>67Vpy=s0>i1#=|d69fOEh%#-0Adr;~!eGuRPcyz`cm5IF?(zo2)5C3`i>%J+ z>Rp3EDxm3iutV*4DZHQw9_x*QcN7`y!R&^g398@-Y(q3> z(;)G^OgehKdOj{mkjY)|jMo)t3OmKQJp^uc6A*jcN~Iyy*Rf*=Z@&)g&b}!I+>z}&w|f7G*dv-QZ{&0 z__eZ7ro1zK;!xV#J+MpbOBTch{h zeqOX>B5K{qF|Z;_jHRtBLfOD}wl}SCaLC6icf>&->*Rn4TaY~=?on73Ma{J`#17f9 z;-v*4b!Ph_+dOU7*F(yC?BDa+?h?C@aU67hsRfAUy`73m&@Dw0T= z$4}8ItALk^1vQ(%`aB2yX1Q*%pN@Tlh;i-90vq**k}X|s2Z$2f0h*J^nHgJNS+wAPeQ9CAa>pks?C=(t?y+{>{NlNuA5$)`3o{-Wj77rwIfX(|&mA&d?j&cedfhz! zrZpk~i}~X=^!n8R%97kXwzj@54nVO~63WA>C|@qwYm=mArtHz9hbpc#vcLV?zhz@% zS(}{B3aL9jJT!_Z3Y4v_UEAH=lh;0{h zbztfAr0pG?Nd}5Ex7#mSI6#76N)g5%efXIzFRog4Y|`$RKa-i(`1pj(nM%d7!n9C} z(4^w!@b!bQh0@W~f$HEhQLXw#3dE(e)9H}S;`e*KC*$K2f6UqQo%Qdx^YLwN08~!B zUhhA3hCC3$Jw6pjxzGZ+vrluAlJ8>r#877dygh=}MF1SB?PLzZM9y@HEbXU$_$p>X z5Zo7YSUEB07khuhF4OR=`NdPNRTf4bv=pGw}@v5a8P1WC{p@ z5b2P8e#nL+cJ64n*1CX$hdru1%zN%o33!S9#VBaB>Q}KxvM36J;CQVbRFJ*YGyNXD zACT{Q7z<%4%zouF|5O5Lf4?9>Yh}F-&5z`+LIK3mHzQrM&wdfDwNb9ak#^Fh8fN@n;y^FwOiLUx$N(4TdQ2L^Rv8E1A$;z zq|Bjq)IM9iv~2T>v({)9M{6d(0ho}yHuQ$={+IXdlfQr8P7iZ7p3Yh{xFnfi#|LY_ zXP$n*&JGT2e}CWl&4yUvu}D(I3=8CN(5pk7&tGOjxWR=nf*M#b;8DXMU;S3o5{a1I zy?5Jg-MDJon@{Y)=bzZ#_P!1MVOv#c+wW;mqcVcJw3Mk*|81#Erm5zDs77=lI9HsB^#SzJ=bX2v**tR z7xOyCvsqoIa2|aAu9~okiAfPT_jb44x&Rue&!yz%0tjb)Gyc4fm$Q%Xa-we_i*;oG-v zYo#?Yk+M*@qy)+T%m4g8*&qDDf3`?CW-F`9^4ov_IyXD7bEZ+RS*_bOPat6HH*RXT ze|mBx)1Kw!bqfaKc6jVi5f8%zsL-h4a;w3vZSU;b)ypfkyu2dR2Fu}Qy`fbG>YP-{ zZ$}454h`wFUvz%m4C!Lwot1_3yXz z;r}*I|BH)@GairUJ?>h+-%sS92iY0sJea`Yjx1`G(JL1|j4UWd;sA`Sg=NDluYC9C1gB_99>MF*kjJlmGW$$H zbm5Q=T}}NXGNKBzxC+Rz*ojAUL&2z(&9C1lGMXf0{($`LyS@78Ibew6CM+g?M`-d` zAQH48>4u~YLgHc%9te&?k9eLAM(>S&KhQEr2)j&4n+%hfu1G<2_p>Sw@(uov=G_qP22hqJY=gKGCMehYtLv-;T;7Uac4@|$2_aT4;FJN9dE_$Sa z=DF*=CQwJ8OILeqeDrs=_bidTW>YJd%@<4B;nArT3k{2>#)Jqtf}zI(9oO_t&&}G+ zd$;9vewsV7qmw=9_c<_oLzEM|KIi6`N+xV+ab9t~NBbMLyL)VvO4E|*F^eT9tXe5r zDSv9MMpY{fc#fT6-%fMqR%x*RZrfNgW6f$yu6HzAXse@M&=%LI;!KD{Mm^e?ChCm;gU5fU0E=r6d9YEvX%`bg{_v*wx8(w9UC84$|VgV zg%MdF7w<*9_sZ(3ou1}|m|@FJBSIrTmd)BR1ygdzu;Oh&6RMS}?!Eb?MQb-2RyaS` ziVe2Q-u}Kd>cry)tyQavL`N~_{%Eyu%fn{bW4S_J?*~#^ta#h?hQ-1Wd;I8$J}(?J ziH4?8eg6Epo*&{>@ef#{2uQai*uB@BSo3s7BJq7S^Z}XYQqG6E_ z>$S4=+I4CDGvisS)|??0t4b`ZJ)xl3`+DP@4x@u{{LI}_*OOm zKm6ejA&l7a!t(bA-r;JgRO+=_EibqdO@K29aXN2qNDZ(|&N9)VmQe8Bepep!+6X%* zItmvLN5XS1z5Io*w_PybA)9%bWQUS?IlVt#`lIQo+f&@C;}MLWGzHj)uG+cvaR@Q} z@b6j`=)84%dS|!mI0L8+NaP~k6xS}GR0=GGAwY(@m!!d-jEN}1y4l+_2{7Hg=EaH^ zc@^pflIKQbD1t>ov5;KH*r}FEMfV(3)LHe0G$8@C6GuB?U0QL@293zM>NBKU9c}nfiTI39!*q2VUQ!jU+@O4+2~5X#&f`C8I%EHUO17k z2wnh{rVi=8$0L$Wqd|H9eS(;I2<$MX)(QVPUAun6awmrtiKi?Si&>+^1PW9P$**Mn?qIZoADACf zSvV|(!7xOM9o`7MpFI&6DI%JTmB#2AQ>JR9dN*$0ut+RuFE^g)+M1o8vt*4%s3<>) zM#n+fBASgzv9(%RjWX_Td`;oJ=#T*OS{((=Xte`>4~l$6r6NqoV`6dHaT~ ztzQ=Fz8?r#15f*6(N1=@tkS4hcYe`Im7=Z>`~^^euou2icJNwQqd+cu_VBR~7{y(& zuaCrRVlpe)XZ{@YtYxph_NJ|^tqFSHc=1$9g5~)YMd#+uiq2uM-?e(PZP8f5`kl5t zd-_DzyEr*skJdHtJ$R4eA<%}tlob><46c+CYIyVGBI@p8ejklKs{tTv_Vfpb`#KL; zk1Q=N+wShRu76e%?Y2XqgbvcE`LaC^;saI`9kO<g?aDZ-d<

GNQ>)AcZMQZOVZ0}Jpv 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 AlvU!WNxsEX@_80%`a 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 literal 0 HcmV?d00001 diff --git a/library/parts/esp32-devkitc-v4.ts b/library/parts/esp32-devkitc-v4.ts new file mode 100644 index 0000000..935dce1 --- /dev/null +++ b/library/parts/esp32-devkitc-v4.ts @@ -0,0 +1,2060 @@ +/** + * Espressif ESP32-DevKitC V4 — board-level, schematic-honest part definition. + * + * Primary sources (as audited in the ProtoPart esp32-devkitc-v4 definition): + * - ESP32-DevKitC V4 User Guide (docs.espressif.com/projects/esp-dev-kits) + * — header pinout (J2/J3, 2x19 @ 2.54 mm), EN/BOOT buttons, power options + * - ESP32-DevKitC V4 schematic (esp32_devkitc_v4_sch.pdf) + * — AMS1117-3.3 LDO, CP2102N USB-to-UART bridge, C15 errata + * - ESP32-WROOM-32E / ESP32-WROOM-32UE datasheet + * — module pin functions, flash-reserved pads, PSRAM sub-variant limits + * + * This is a BOARD audit, not a chip audit. The board carries an + * ESP32-WROOM-32E module (which itself contains an ESP32 chip + 4 MB flash); + * module/chip internals are not re-modelled here — only what the board + * exposes: 38 header pins, the Micro-USB connector, the USB-UART bridge, the + * LDO, and the EN/BOOT push-buttons, exactly as the ProtoPart JSON defines + * them. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 38 header pins are leaf interfaces in + * header order (J2-1..J2-19, then J3-1..J3-19), with ids equal to the + * ProtoPart resource ids and the official silkscreen name as the + * displayed name. The Micro-USB receptacle is a 39th leaf interface. + * - Every pin carries its verbatim ProtoPart function list (name, + * direction, signal_class, description — including the generator's alias + * entries) in a `devkitc_pin_functions` trait; canonical capability tags + * exist only where slot matching needs them. + * - Composed interfaces mirror the ProtoPart `interfaces` list one-to-one + * (same ids, names, protocol types/roles, and max_instances), with slots + * derived from the `requires` lists and profiles binding the header-pin + * ids wherever the routing is fixed on this board. + * - Flash-reserved pins (D0-D3, CMD, CLK = GPIO6-11) carry + * `usage_restriction` traits — they are wired to the on-module SPI flash + * and must not be used as general I/O (board warning #2). + * - Strapping pins (GPIO0/2/5/12/15) carry `boot_strapping` traits; TX/RX + * carry the USB-UART sharing note; GPIO16/17 carry the PSRAM + * sub-variant restriction. + * - Power-input exclusivity (Micro-USB OR 5V pin OR 3V3 pin — never two at + * once) is modelled as a `one_of` interface group. + * - The seven ProtoPart board warnings are preserved verbatim as + * `board_warning` module traits; purchase info and the preview-artifact + * pointer (no OpenUHD home) are preserved as module traits too. + */ + +import type { + InterfaceDef, + ModuleDef, + SlotDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import { + Ground, + Pin, + SPI, + defineModule, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart power_domains +// --------------------------------------------------------------------------- + +/** io_3v3 power domain: on-board AMS1117-3.3 LDO output. */ +const IO_3V3_RANGE: [number, number] = [3, 3.6]; +/** usb_5v power domain: Micro-USB VBUS or the 5V header pin. */ +const USB_5V_RANGE: [number, number] = [4.75, 5.25]; +/** io_3v3 domain max current (LDO budget), mA. */ +const IO_3V3_MAX_MA = 600; +/** usb_5v domain max current (USB host / external supply limit), mA. */ +const USB_5V_MAX_MA = 500; + +/** Source citation used by every per-pin functions trait. */ +const FUNCTIONS_SOURCE = + "ProtoPart esp32-devkitc-v4 definition (ESP32-DevKitC V4 user guide; ESP32-WROOM-32E datasheet)"; + +// --------------------------------------------------------------------------- +// Verbatim ProtoPart per-pin function metadata +// --------------------------------------------------------------------------- + +/** One entry of a ProtoPart resource `functions` list, carried verbatim. */ +interface DevkitFunction { + /** Verbatim ProtoPart function name (aliases included). */ + name: string; + direction: "sink" | "source" | "bidirectional"; + signal_class?: string; + /** Verbatim ProtoPart function description. */ + note?: string; +} + +// Shared pad-capability functions (identical text across pins in the JSON). +const FN_INPUT_ENABLE: DevkitFunction = { + name: "input_enable", direction: "sink", signal_class: "digital_pad", + note: "Pad supports input-enable mode.", +}; +const FN_IE_ALIAS: DevkitFunction = { + name: "IE", direction: "sink", signal_class: "digital_pad", + note: "IE alias. Pad supports input-enable mode.", +}; +const FN_INPUT_DISABLE: DevkitFunction = { + name: "input_disable", direction: "sink", signal_class: "digital_pad", + note: "Pad supports input-disable mode.", +}; +const FN_ID_ALIAS: DevkitFunction = { + name: "ID", direction: "sink", signal_class: "digital_pad", + note: "ID alias. Pad supports input-disable mode.", +}; +const FN_WEAK_PULLUP: DevkitFunction = { + name: "weak_pullup", direction: "bidirectional", signal_class: "digital_pad", + note: "Pad has an internal weak pull-up.", +}; +const FN_WPU_ALIAS: DevkitFunction = { + name: "WPU", direction: "bidirectional", signal_class: "digital_pad", + note: "WPU alias. Pad has an internal weak pull-up.", +}; +const FN_WEAK_PULLDOWN: DevkitFunction = { + name: "Weak Pull-Down Capability", direction: "bidirectional", signal_class: "digital_pad", + note: "Pad has an internal weak pull-down.", +}; +const FN_OPEN_DRAIN: DevkitFunction = { + name: "Open Drain Capability", direction: "source", signal_class: "digital_pad", + note: "Pad supports open-drain output mode.", +}; +const FN_SPI_FLASH: DevkitFunction = { + name: "spi_flash", direction: "bidirectional", + note: "Reserved on this board for on-module SPI flash.", +}; + +function fnGpioIo(gpio: number): DevkitFunction { + return { + name: "GPIO Input / Output", direction: "bidirectional", signal_class: "digital", + note: `GPIO${gpio} digital I/O pad.`, + }; +} + +function fnGpioInputOnly(gpio: number): DevkitFunction { + return { + name: "GPIO Input Only", direction: "sink", signal_class: "digital", + note: `GPIO${gpio} input-only digital pad.`, + }; +} + +function fnAdc(converter: 1 | 2, channel: number): DevkitFunction { + return { + name: `ADC${converter}`, direction: "sink", signal_class: "analog", + note: `ADC${converter}_CH${channel} ADC input.`, + }; +} + +function fnRtcGpio(rtc: number, gpio: number, inputOnly: boolean): DevkitFunction { + return { + name: "RTC GPIO", direction: inputOnly ? "sink" : "bidirectional", signal_class: "rtc", + note: `RTC GPIO${rtc} function on GPIO${gpio}.`, + }; +} + +/** The JSON lists each touch channel twice: lowercase + uppercase alias. */ +function fnTouch(n: number): DevkitFunction[] { + return [ + { name: `touch${n}`, direction: "sink", signal_class: "capacitive_touch", note: `Touch sensor channel ${n}.` }, + { name: `TOUCH${n}`, direction: "sink", signal_class: "capacitive_touch", note: `TOUCH${n} alias. Touch sensor channel ${n}.` }, + ]; +} + +// --------------------------------------------------------------------------- +// Header GPIO pin builder +// --------------------------------------------------------------------------- + +function unique(values: string[]): string[] { + return [...new Set(values)]; +} + +interface DevkitGpioSpec { + /** ProtoPart resource id (kept as the interface id). */ + id: string; + /** Silkscreen / ProtoPart display name. */ + name: string; + /** Header designator, e.g. "J2-13" — the board's pin, in header order. */ + pin: string; + /** ESP32 GPIO number behind this header pin. */ + gpio: number; + /** GPIO34-39 group: no output driver (ProtoPart "GPIO Input Only"). */ + inputOnly?: boolean; + /** Wired to the on-module SPI flash — not general I/O (warning #2). */ + flashReserved?: boolean; + adc?: { converter: 1 | 2; channel: number }; + dac?: 1 | 2; + touch?: number; + rtcGpio?: number; + /** Internal weak pull the ProtoPart functions declare for this pad. */ + pull?: "up" | "down"; + /** Pin-builder capability flags for bus signals this pad carries. */ + flags?: { + i2cSda?: boolean; i2cScl?: boolean; + spiMosi?: boolean; spiMiso?: boolean; spiSck?: boolean; spiSs?: boolean; + uartRx?: boolean; uartTx?: boolean; + }; + /** Extra canonical capability tags (jtag_*, spi_flash_*, straps, ...). */ + extraCaps?: string[]; + /** Verbatim ProtoPart resource functions. */ + functions: DevkitFunction[]; + /** Verbatim ProtoPart resource description. */ + description: string; + extraTraits?: TraitDef[]; + bridgesTo?: string[]; +} + +/** Build one schematic-honest header GPIO pin from its ProtoPart resource. */ +function devkitGpio(spec: DevkitGpioSpec): InterfaceDef { + const base = Pin({ + id: spec.id, + name: spec.name, + pin: spec.pin, + voltageV: IO_3V3_RANGE, // io_3v3 power domain (ProtoPart power_domain_id) + capabilities: { + inputOnly: spec.inputOnly, + analogIn: spec.adc !== undefined, + analogOut: spec.dac !== undefined, + touch: spec.touch !== undefined, + ...(spec.flags ?? {}), + }, + }); + + const capabilities = unique([ + ...(base.capabilities ?? []), + `gpio${spec.gpio}`, + // GPIO pool tags: input-only pins and flash-reserved pins are excluded + // from the general "GPIO Input / Output" pool, exactly as the ProtoPart + // functions are laid out. + ...(spec.inputOnly ? ["gpio_input_only"] : []), + ...(!spec.inputOnly && !spec.flashReserved ? ["gpio_io"] : []), + ...(spec.adc ? [`adc${spec.adc.converter}_in`] : []), + ...(spec.rtcGpio !== undefined ? ["rtc_gpio"] : []), + // Every GPIO pad in the ProtoPart source carries "Open Drain Capability" + // and an input-enable (IE) or input-disable (ID) function. + "open_drain", + "pad_input_gate", + ...(spec.pull === "up" ? ["weak_pullup"] : []), + ...(spec.pull === "down" ? ["weak_pulldown"] : []), + ...(spec.extraCaps ?? []), + ]); + + const traits: TraitDef[] = [ + { + type: "devkitc_pin_functions", + params: { + source: FUNCTIONS_SOURCE, + description: spec.description, + gpio: spec.gpio, + functions: spec.functions, + }, + }, + { type: "power_domain", params: { domain: "io_3v3" } }, + ...(spec.pull === "up" + ? [{ type: "internal_pulls", params: { pull_up: true, note: "Pad has an internal weak pull-up (ProtoPart weak_pullup/WPU function)." } }] + : []), + ...(spec.pull === "down" + ? [{ type: "internal_pulls", params: { pull_down: true, note: "Pad has an internal weak pull-down (ProtoPart Weak Pull-Down Capability function)." } }] + : []), + ...(spec.flashReserved + ? [ + { + type: "usage_restriction", + params: { + restriction: + "Wired to the on-module SPI flash on the ESP32-WROOM-32E and should not be used as general I/O.", + source: + "ProtoPart warning: 'GPIOs 6-11 (header pins D0, D1, D2, D3, CMD, CLK) are wired to the on-package SPI flash and MUST NOT be used as general I/O on the WROOM-32E variant.'", + }, + }, + ] + : []), + ...(spec.extraTraits ?? []), + ]; + + return { + ...base, + capabilities, + traits, + ...(spec.bridgesTo ? { bridgesTo: spec.bridgesTo } : {}), + }; +} + +// --------------------------------------------------------------------------- +// J2 header (19 pins) — ProtoPart resources in header order J2-1..J2-19 +// --------------------------------------------------------------------------- + +/** J2-1 — 3v3: bidirectional 3.3 V rail pin (LDO output or regulated input). */ +const pin3v3: InterfaceDef = { + id: "3v3", + name: "3v3", + pin: "J2-1", + domain: "electrical", + exposed: true, + default_active: true, + // ProtoPart functions: power_input (sink) + power_output (source) — the + // pin is honestly bidirectional, not a plain PowerIn. + protocols: [{ type: "power", roles: ["input", "output"] }], + capabilities: ["power_3v3"], + parameters: [ + { id: "voltage", unit: "V", value: 3.3, range: IO_3V3_RANGE }, + { id: "max_current", unit: "A", value: IO_3V3_MAX_MA / 1000 }, + ], + traits: [ + { + type: "devkitc_pin_functions", + params: { + source: FUNCTIONS_SOURCE, + description: + "3.3V header pin (J2 pin 1). Output of the on-board LDO when powered from USB/5V; can also be used as a regulated 3.3V input to bypass the LDO.", + functions: [ + { name: "power_input", direction: "sink", note: "Power input on this header pin." }, + { name: "power_output", direction: "source", note: "Power output on this header pin." }, + { name: "power_3v3", direction: "bidirectional", signal_class: "power", note: "3.3 V board rail on J2 pin 1." }, + { name: "3V3", direction: "bidirectional", signal_class: "power", note: "3V3 alias. 3.3 V board rail on J2 pin 1." }, + ] satisfies DevkitFunction[], + }, + }, + { type: "power_domain", params: { domain: "io_3v3" } }, + { + type: "internal_regulator", + params: { + description: + "On-board AMS1117-3.3 LDO output. Supplies the ESP32-WROOM-32E module and the 3V3 header pin.", + source: "ProtoPart power domain io_3v3", + }, + }, + ], +}; + +/** J2-2 — EN: CHIP_PU / active-low reset, tied to the EN push-button. */ +const pinEn: InterfaceDef = { + id: "en", + name: "EN", + pin: "J2-2", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["chip_pu", "reset_input"], + parameters: [{ id: "voltage", unit: "V", range: IO_3V3_RANGE }], + traits: [ + { + type: "devkitc_pin_functions", + params: { + source: FUNCTIONS_SOURCE, + description: + "CHIP_PU / EN active-low reset. Pull low to reset the ESP32. Also tied to the on-board EN push-button.", + functions: [ + { name: "reset", direction: "sink", note: "Active-low ESP32 reset input." }, + { name: "enable", direction: "sink", signal_class: "control", note: "ESP32 enable/reset input." }, + { name: "chip_pu", direction: "sink", signal_class: "control", note: "CHIP_PU input: high enables the chip; low powers it down." }, + { name: "EN", direction: "sink", signal_class: "control", note: "EN alias. ESP32 enable/reset input." }, + { name: "PU", direction: "sink", signal_class: "control", note: "PU alias. CHIP_PU input: high enables the chip; low powers it down." }, + ] satisfies DevkitFunction[], + }, + }, + { type: "power_domain", params: { domain: "io_3v3" } }, + { + type: "push_button", + params: { button: "EN", behavior: "Pressing the on-board EN button pulls this line low and resets the ESP32." }, + }, + ], +}; + +/** J2-14 GND, J3-1 GND, J3-7 GND: one shared board ground net. */ +function devkitGnd(id: string, name: string, pin: string): InterfaceDef { + return { + ...Ground({ id, name, pin }), + traits: [ + { + type: "devkitc_pin_functions", + params: { + source: FUNCTIONS_SOURCE, + functions: [ + { name: "ground", direction: "bidirectional", note: "Board ground reference." }, + { name: "GND", direction: "bidirectional", signal_class: "power", note: "GND alias. Board ground reference." }, + ] satisfies DevkitFunction[], + }, + }, + { type: "power_domain", params: { domain: "gnd" } }, + { + type: "net_shareable", + params: { + net: "gnd", + policy: "single_ground_instance_may_serve_all_members", + members: ["gnd", "gnd_j3_1", "gnd_j3_7"], + }, + }, + ], + }; +} + +/** J2-19 — 5V: bidirectional 5 V rail pin (board power input or VBUS out). */ +const pin5v: InterfaceDef = { + id: "5v", + name: "5V", + pin: "J2-19", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input", "output"] }], + capabilities: ["power_5v0"], + parameters: [ + { id: "voltage", unit: "V", value: 5, range: USB_5V_RANGE }, + { id: "max_current", unit: "A", value: USB_5V_MAX_MA / 1000 }, + ], + traits: [ + { + type: "devkitc_pin_functions", + params: { + source: FUNCTIONS_SOURCE, + description: + "5V header pin (J2 pin 19). Can be used as a 5V input (board power) OR as a 5V output when powered via Micro-USB.", + functions: [ + { name: "power_input", direction: "sink", note: "Power input on this header pin." }, + { name: "power_output", direction: "source", note: "Power output on this header pin." }, + { name: "power_5v0", direction: "bidirectional", signal_class: "power", note: "5 V board rail on J2 pin 19." }, + { name: "5V0", direction: "bidirectional", signal_class: "power", note: "5V0 alias. 5 V board rail on J2 pin 19." }, + ] satisfies DevkitFunction[], + }, + }, + { type: "power_domain", params: { domain: "usb_5v" } }, + ], +}; + +const j2Gpio: InterfaceDef[] = [ + devkitGpio({ + id: "vp", name: "VP", pin: "J2-3", gpio: 36, inputOnly: true, + adc: { converter: 1, channel: 0 }, rtcGpio: 0, + extraCaps: ["sensor_vp"], + description: "GPIO36 (VP / S_VP / SENSOR_VP). Input-only RTC GPIO; ADC1 channel 0.", + functions: [ + FN_INPUT_DISABLE, + { name: "sensor_vp", direction: "sink", signal_class: "analog", note: "SENSOR_VP analog input on GPIO36." }, + { name: "S_VP", direction: "sink", signal_class: "analog", note: "S_VP alias. SENSOR_VP analog input on GPIO36." }, + FN_ID_ALIAS, + fnGpioInputOnly(36), + fnAdc(1, 0), + fnRtcGpio(0, 36, true), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "vn", name: "VN", pin: "J2-4", gpio: 39, inputOnly: true, + adc: { converter: 1, channel: 3 }, rtcGpio: 3, + extraCaps: ["sensor_vn"], + description: "GPIO39 (VN / S_VN / SENSOR_VN). Input-only RTC GPIO; ADC1 channel 3.", + functions: [ + FN_INPUT_DISABLE, + { name: "sensor_vn", direction: "sink", signal_class: "analog", note: "SENSOR_VN analog input on GPIO39." }, + { name: "S_VN", direction: "sink", signal_class: "analog", note: "S_VN alias. SENSOR_VN analog input on GPIO39." }, + FN_ID_ALIAS, + fnGpioInputOnly(39), + fnAdc(1, 3), + fnRtcGpio(3, 39, true), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_34", name: "Pin 34", pin: "J2-5", gpio: 34, inputOnly: true, + adc: { converter: 1, channel: 6 }, rtcGpio: 4, + extraCaps: ["vdet"], + description: "GPIO34 (VDET_1). Input-only RTC GPIO; ADC1 channel 6.", + functions: [ + FN_INPUT_DISABLE, + FN_ID_ALIAS, + fnGpioInputOnly(34), + fnAdc(1, 6), + { name: "Voltage Detection", direction: "sink", signal_class: "analog", note: "VDET_1 analog input on GPIO34." }, + fnRtcGpio(4, 34, true), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_35", name: "Pin 35", pin: "J2-6", gpio: 35, inputOnly: true, + adc: { converter: 1, channel: 7 }, rtcGpio: 5, + extraCaps: ["vdet"], + description: "GPIO35 (VDET_2). Input-only RTC GPIO; ADC1 channel 7.", + functions: [ + FN_INPUT_DISABLE, + FN_ID_ALIAS, + fnGpioInputOnly(35), + fnAdc(1, 7), + { name: "Voltage Detection", direction: "sink", signal_class: "analog", note: "VDET_2 analog input on GPIO35." }, + fnRtcGpio(5, 35, true), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_32", name: "Pin 32", pin: "J2-7", gpio: 32, + adc: { converter: 1, channel: 4 }, touch: 9, rtcGpio: 9, + extraCaps: ["xtal_32k_p"], + description: "GPIO32. ADC1_CH4, TOUCH9, XTAL_32K_P (32 kHz crystal input).", + functions: [ + FN_INPUT_DISABLE, + { name: "xtal_32k_p", direction: "sink", signal_class: "clock", note: "32.768 kHz crystal oscillator input on GPIO32." }, + ...fnTouch(9), + { name: "32K_XP", direction: "sink", signal_class: "clock", note: "32K_XP alias. 32.768 kHz crystal oscillator input on GPIO32." }, + FN_ID_ALIAS, + fnGpioIo(32), + fnAdc(1, 4), + fnRtcGpio(9, 32, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_33", name: "Pin 33", pin: "J2-8", gpio: 33, + adc: { converter: 1, channel: 5 }, touch: 8, rtcGpio: 8, + extraCaps: ["xtal_32k_n"], + description: "GPIO33. ADC1_CH5, TOUCH8, XTAL_32K_N.", + functions: [ + FN_INPUT_DISABLE, + { name: "xtal_32k_n", direction: "source", signal_class: "clock", note: "32.768 kHz crystal oscillator output on GPIO33." }, + ...fnTouch(8), + { name: "32K_XN", direction: "source", signal_class: "clock", note: "32K_XN alias. 32.768 kHz crystal oscillator output on GPIO33." }, + FN_ID_ALIAS, + fnGpioIo(33), + fnAdc(1, 5), + fnRtcGpio(8, 33, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_25", name: "Pin 25", pin: "J2-9", gpio: 25, + adc: { converter: 2, channel: 8 }, dac: 1, rtcGpio: 6, + description: "GPIO25. ADC2_CH8 and DAC1.", + functions: [ + FN_INPUT_DISABLE, + FN_ID_ALIAS, + fnGpioIo(25), + fnAdc(2, 8), + { name: "DAC", direction: "source", signal_class: "analog", note: "DAC_1 output on GPIO25." }, + fnRtcGpio(6, 25, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_26", name: "Pin 26", pin: "J2-10", gpio: 26, + adc: { converter: 2, channel: 9 }, dac: 2, rtcGpio: 7, + description: "GPIO26. ADC2_CH9 and DAC2.", + functions: [ + FN_INPUT_DISABLE, + FN_ID_ALIAS, + fnGpioIo(26), + fnAdc(2, 9), + { name: "DAC", direction: "source", signal_class: "analog", note: "DAC_2 output on GPIO26." }, + fnRtcGpio(7, 26, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_27", name: "Pin 27", pin: "J2-11", gpio: 27, + adc: { converter: 2, channel: 7 }, touch: 7, rtcGpio: 17, + description: "GPIO27. ADC2_CH7, TOUCH7.", + functions: [ + FN_INPUT_DISABLE, + ...fnTouch(7), + FN_ID_ALIAS, + fnGpioIo(27), + fnAdc(2, 7), + fnRtcGpio(17, 27, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_14", name: "Pin 14", pin: "J2-12", gpio: 14, + adc: { converter: 2, channel: 6 }, touch: 6, rtcGpio: 16, pull: "up", + flags: { spiSck: true }, + extraCaps: ["jtag_tms"], + description: "GPIO14. ADC2_CH6, TOUCH6, MTMS (JTAG TMS), HSPI_CLK.", + functions: [ + { name: "spi_sck", direction: "source", note: "SPI clock signal on GPIO14." }, + FN_INPUT_ENABLE, + FN_WEAK_PULLUP, + { name: "hspi_sck", direction: "source", signal_class: "digital", note: "HSPI clock output on GPIO14." }, + { name: "jtag_tms", direction: "sink", signal_class: "digital", note: "JTAG MTMS / TMS on GPIO14." }, + ...fnTouch(6), + { name: "HSPI_SCK", direction: "source", signal_class: "digital", note: "HSPI_SCK alias. HSPI clock output on GPIO14." }, + { name: "MTMS", direction: "sink", signal_class: "digital", note: "MTMS alias. JTAG MTMS / TMS on GPIO14." }, + FN_IE_ALIAS, + FN_WPU_ALIAS, + fnGpioIo(14), + fnAdc(2, 6), + fnRtcGpio(16, 14, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_12", name: "Pin 12", pin: "J2-13", gpio: 12, + adc: { converter: 2, channel: 5 }, touch: 5, rtcGpio: 15, pull: "up", + flags: { spiMiso: true }, + extraCaps: ["jtag_tdi", "strap_vdd_flash"], + description: "GPIO12. ADC2_CH5, TOUCH5, MTDI (JTAG TDI), HSPI_Q. Strapping pin (controls flash voltage at boot).", + extraTraits: [ + { + type: "boot_strapping", + params: { + controls: "MTDI strap selects VDD_SDIO flash voltage at reset.", + // Audit note: per the ESP32 datasheet strapping-pin table, MTDI's + // default strap configuration is PULL-DOWN (VDD_SDIO = 3.3 V). The + // weak_pullup/WPU function on this pad is a programmable pad + // capability, not the boot default. + default_configuration: "Pull-down (bit value 0 → VDD_SDIO = 3.3 V) per the ESP32 series datasheet strapping-pins table.", + source: + "ProtoPart pin_12 vdd_flash_strap function; board warning: strapping pins pulled to conflicting levels during reset can prevent boot or change flash voltage.", + }, + }, + ], + functions: [ + { name: "spi_miso", direction: "sink", note: "SPI MISO signal on GPIO12." }, + FN_INPUT_ENABLE, + FN_WEAK_PULLUP, + { name: "vdd_flash_strap", direction: "sink", signal_class: "strapping", note: "MTDI strap selects VDD_SDIO flash voltage at reset." }, + { name: "hspi_miso", direction: "sink", signal_class: "digital", note: "HSPI MISO input on GPIO12." }, + { name: "jtag_tdi", direction: "sink", signal_class: "digital", note: "JTAG MTDI / TDI on GPIO12." }, + ...fnTouch(5), + { name: "HSPI_MISO", direction: "sink", signal_class: "digital", note: "HSPI_MISO alias. HSPI MISO input on GPIO12." }, + { name: "MTDI", direction: "sink", signal_class: "digital", note: "MTDI alias. JTAG MTDI / TDI on GPIO12." }, + { name: "VDD_FLASH", direction: "sink", signal_class: "strapping", note: "VDD_FLASH alias. MTDI strap selects VDD_SDIO flash voltage at reset." }, + FN_IE_ALIAS, + FN_WPU_ALIAS, + fnGpioIo(12), + fnAdc(2, 5), + fnRtcGpio(15, 12, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_13", name: "Pin 13", pin: "J2-15", gpio: 13, + adc: { converter: 2, channel: 4 }, touch: 4, rtcGpio: 14, pull: "down", + flags: { spiMosi: true }, + extraCaps: ["jtag_tck"], + description: "GPIO13. ADC2_CH4, TOUCH4, MTCK (JTAG TCK), HSPI_D.", + functions: [ + { name: "spi_mosi", direction: "source", note: "SPI MOSI signal on GPIO13." }, + FN_INPUT_ENABLE, + { name: "hspi_mosi", direction: "source", signal_class: "digital", note: "HSPI MOSI output on GPIO13." }, + { name: "jtag_tck", direction: "sink", signal_class: "digital", note: "JTAG MTCK / TCK on GPIO13." }, + ...fnTouch(4), + { name: "HSPI_MOSI", direction: "source", signal_class: "digital", note: "HSPI_MOSI alias. HSPI MOSI output on GPIO13." }, + { name: "MTCK", direction: "sink", signal_class: "digital", note: "MTCK alias. JTAG MTCK / TCK on GPIO13." }, + FN_IE_ALIAS, + fnGpioIo(13), + fnAdc(2, 4), + fnRtcGpio(14, 13, false), + FN_OPEN_DRAIN, + FN_WEAK_PULLDOWN, + ], + }), +]; + +/** Flash-bus header pins (D0-D3, CMD, CLK): reserved for the module flash. */ +function flashPin(config: { + id: string; name: string; pin: string; gpio: number; + /** Canonical capability tag, e.g. "spi_flash_d2". */ + cap: string; + /** Verbatim ProtoPart signal function + its alias entry. */ + signal: DevkitFunction; alias: DevkitFunction; + /** JSON function order differs between D2/D3/CMD and CLK/D0/D1. */ + signalFirst?: boolean; + description: string; +}): InterfaceDef { + return devkitGpio({ + id: config.id, name: config.name, pin: config.pin, gpio: config.gpio, + flashReserved: true, pull: "up", + extraCaps: [config.cap], + description: config.description, + functions: config.signalFirst + ? [FN_SPI_FLASH, config.signal, FN_INPUT_ENABLE, FN_WEAK_PULLUP, config.alias, FN_IE_ALIAS, FN_WPU_ALIAS, FN_OPEN_DRAIN] + : [FN_SPI_FLASH, FN_INPUT_ENABLE, FN_WEAK_PULLUP, config.signal, config.alias, FN_IE_ALIAS, FN_WPU_ALIAS, FN_OPEN_DRAIN], + }); +} + +const j2FlashPins: InterfaceDef[] = [ + flashPin({ + id: "d2", name: "D2", pin: "J2-16", gpio: 9, cap: "spi_flash_d2", + signal: { name: "spi_flash_d2", direction: "bidirectional", signal_class: "digital", note: "SPI flash data 2; reserved on this board." }, + alias: { name: "D2", direction: "bidirectional", signal_class: "digital", note: "D2 alias. SPI flash data 2; reserved on this board." }, + description: "D2 / SD_DATA2 / GPIO9 (J2-16). Wired to on-module SPI flash on the ESP32-WROOM-32E and should not be used as general I/O.", + }), + flashPin({ + id: "d3", name: "D3", pin: "J2-17", gpio: 10, cap: "spi_flash_d3", + signal: { name: "spi_flash_d3", direction: "bidirectional", signal_class: "digital", note: "SPI flash data 3; reserved on this board." }, + alias: { name: "D3", direction: "bidirectional", signal_class: "digital", note: "D3 alias. SPI flash data 3; reserved on this board." }, + description: "D3 / SD_DATA3 / GPIO10 (J2-17). Wired to on-module SPI flash on the ESP32-WROOM-32E and should not be used as general I/O.", + }), + flashPin({ + id: "cmd", name: "CMD", pin: "J2-18", gpio: 11, cap: "spi_flash_cmd", + signal: { name: "spi_flash_cmd", direction: "bidirectional", signal_class: "digital", note: "SPI flash command; reserved on this board." }, + alias: { name: "CMD", direction: "bidirectional", signal_class: "digital", note: "CMD alias. SPI flash command; reserved on this board." }, + description: "CMD / SD_CMD / GPIO11 (J2-18). Wired to on-module SPI flash on the ESP32-WROOM-32E and should not be used as general I/O.", + }), +]; + +// --------------------------------------------------------------------------- +// J3 header (19 pins) — ProtoPart resources in header order J3-1..J3-19 +// --------------------------------------------------------------------------- + +const j3Gpio: InterfaceDef[] = [ + devkitGpio({ + id: "pin_23", name: "Pin 23", pin: "J3-2", gpio: 23, + flags: { spiMosi: true }, + description: "GPIO23. Default VSPI_MOSI.", + functions: [ + { name: "spi_mosi", direction: "source", note: "SPI MOSI signal on GPIO23." }, + { name: "vspi_mosi", direction: "source", signal_class: "digital", note: "VSPI MOSI output on GPIO23." }, + { name: "wire_mosi", direction: "source", signal_class: "digital", note: "Arduino SPI MOSI alias on GPIO23." }, + FN_INPUT_ENABLE, + { name: "VSPI_MOSI", direction: "source", signal_class: "digital", note: "VSPI_MOSI alias. VSPI MOSI output on GPIO23." }, + { name: "WIRE_MOSI", direction: "source", signal_class: "digital", note: "WIRE_MOSI alias. Arduino SPI MOSI alias on GPIO23." }, + FN_IE_ALIAS, + fnGpioIo(23), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_22", name: "Pin 22", pin: "J3-3", gpio: 22, + flags: { i2cScl: true }, + description: "GPIO22. Default I2C0_SCL.", + functions: [ + { name: "i2c_scl", direction: "source", note: "I2C clock signal on GPIO22." }, + { name: "wire_scl", direction: "source", signal_class: "digital", note: "Arduino Wire SCL / I2C clock on GPIO22." }, + FN_INPUT_ENABLE, + { name: "WIRE_SCL", direction: "source", signal_class: "digital", note: "WIRE_SCL alias. Arduino Wire SCL / I2C clock on GPIO22." }, + FN_IE_ALIAS, + fnGpioIo(22), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "tx", name: "TX", pin: "J3-4", gpio: 1, pull: "up", + flags: { uartTx: true }, + description: "GPIO1 / U0TXD. Primary serial transmit; shared with the on-board USB-UART bridge. Strapping behavior: pulled up at boot.", + bridgesTo: ["micro_usb"], + extraTraits: [ + { + type: "shared_with_usb_bridge", + params: { + note: "TX (GPIO1) is shared with the on-board USB-to-UART bridge. To use UART0 with an external peer, unplug USB or tri-state the bridge by holding the bridge IC in reset.", + source: "ProtoPart board warning #7", + }, + }, + // Audit correction: GPIO1/U0TXD is NOT one of the five ESP32 strapping + // pins (GPIO0/2/5/12/15 per the ESP32 datasheet strapping-pin table); + // "pulled up at boot" is its IO_MUX reset default, not a strap. + { + type: "reset_default", + params: { + note: "Weak pull-up at reset (IO_MUX default for U0TXD). Not a strapping pin — the ESP32 strapping pins are GPIO0/2/5/12/15 only.", + source: "ESP32 series datasheet: IO_MUX pad list and strapping-pins table.", + }, + }, + ], + functions: [ + { name: "uart_tx", direction: "source", note: "UART transmit output on GPIO1." }, + { name: "u0txd", direction: "source", signal_class: "digital", note: "UART0 transmit output on GPIO1." }, + { name: "serial_tx", direction: "source", signal_class: "digital", note: "Primary serial TX alias on GPIO1." }, + FN_INPUT_ENABLE, + FN_WEAK_PULLUP, + { name: "U0TXD", direction: "source", signal_class: "digital", note: "U0TXD alias. UART0 transmit output on GPIO1." }, + { name: "SERIAL_TX", direction: "source", signal_class: "digital", note: "SERIAL_TX alias. Primary serial TX alias on GPIO1." }, + { name: "TX", direction: "source", note: "TX alias. UART transmit output on GPIO1." }, + FN_IE_ALIAS, + FN_WPU_ALIAS, + fnGpioIo(1), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "rx", name: "RX", pin: "J3-5", gpio: 3, pull: "up", + flags: { uartRx: true }, + description: "GPIO3 / U0RXD. Primary serial receive; shared with the on-board USB-UART bridge.", + bridgesTo: ["micro_usb"], + extraTraits: [ + { + type: "shared_with_usb_bridge", + params: { + note: "RX (GPIO3) is shared with the on-board USB-to-UART bridge. To use UART0 with an external peer, unplug USB or tri-state the bridge by holding the bridge IC in reset.", + source: "ProtoPart board warning #7", + }, + }, + ], + functions: [ + { name: "uart_rx", direction: "sink", note: "UART receive input on GPIO3." }, + { name: "u0rxd", direction: "sink", signal_class: "digital", note: "UART0 receive input on GPIO3." }, + { name: "serial_rx", direction: "sink", signal_class: "digital", note: "Primary serial RX alias on GPIO3." }, + FN_INPUT_ENABLE, + FN_WEAK_PULLUP, + { name: "U0RXD", direction: "sink", signal_class: "digital", note: "U0RXD alias. UART0 receive input on GPIO3." }, + { name: "SERIAL_RX", direction: "sink", signal_class: "digital", note: "SERIAL_RX alias. Primary serial RX alias on GPIO3." }, + { name: "RX", direction: "sink", note: "RX alias. UART receive input on GPIO3." }, + FN_IE_ALIAS, + FN_WPU_ALIAS, + fnGpioIo(3), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_21", name: "Pin 21", pin: "J3-6", gpio: 21, + flags: { i2cSda: true }, + description: "GPIO21. Default I2C0_SDA.", + functions: [ + { name: "i2c_sda", direction: "bidirectional", note: "I2C data signal on GPIO21." }, + { name: "wire_sda", direction: "bidirectional", signal_class: "digital", note: "Arduino Wire SDA / I2C data on GPIO21." }, + FN_INPUT_ENABLE, + { name: "WIRE_SDA", direction: "bidirectional", signal_class: "digital", note: "WIRE_SDA alias. Arduino Wire SDA / I2C data on GPIO21." }, + FN_IE_ALIAS, + fnGpioIo(21), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_19", name: "Pin 19", pin: "J3-8", gpio: 19, + flags: { spiMiso: true }, + description: "GPIO19. Default VSPI_MISO.", + functions: [ + { name: "spi_miso", direction: "sink", note: "SPI MISO signal on GPIO19." }, + { name: "vspi_miso", direction: "sink", signal_class: "digital", note: "VSPI MISO input on GPIO19." }, + FN_INPUT_ENABLE, + { name: "VSPI_MISO", direction: "sink", signal_class: "digital", note: "VSPI_MISO alias. VSPI MISO input on GPIO19." }, + FN_IE_ALIAS, + fnGpioIo(19), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_18", name: "Pin 18", pin: "J3-9", gpio: 18, + flags: { spiSck: true }, + description: "GPIO18. Default VSPI_SCK.", + functions: [ + { name: "spi_sck", direction: "source", note: "SPI clock signal on GPIO18." }, + { name: "vspi_sck", direction: "source", signal_class: "digital", note: "VSPI clock output on GPIO18." }, + FN_INPUT_ENABLE, + { name: "VSPI_SCK", direction: "source", signal_class: "digital", note: "VSPI_SCK alias. VSPI clock output on GPIO18." }, + FN_IE_ALIAS, + fnGpioIo(18), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_5", name: "Pin 5", pin: "J3-10", gpio: 5, pull: "up", + flags: { spiSs: true }, + extraCaps: ["sdio"], + description: "GPIO5. Default VSPI_CS0. Strapping pin (pulled up at boot).", + extraTraits: [ + { + type: "boot_strapping", + params: { + controls: "GPIO5 SDIO timing strap; pulled up at boot.", + source: "ProtoPart pin_5 sdio function and description; board warning: strapping pins pulled to conflicting levels during reset can prevent boot or change flash voltage.", + }, + }, + ], + functions: [ + { name: "spi_cs", direction: "source", note: "SPI chip-select signal on GPIO5." }, + { name: "vspi_ss", direction: "source", signal_class: "digital", note: "VSPI chip-select output on GPIO5." }, + { name: "sdio", direction: "bidirectional", signal_class: "digital", note: "GPIO5 SDIO timing strap / SDIO alternate function." }, + FN_INPUT_ENABLE, + FN_WEAK_PULLUP, + { name: "VSPI_SS", direction: "source", signal_class: "digital", note: "VSPI_SS alias. VSPI chip-select output on GPIO5." }, + { name: "SDIO", direction: "bidirectional", signal_class: "digital", note: "SDIO alias. GPIO5 SDIO timing strap / SDIO alternate function." }, + FN_IE_ALIAS, + FN_WPU_ALIAS, + fnGpioIo(5), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_17", name: "Pin 17", pin: "J3-11", gpio: 17, + flags: { uartTx: true }, + // Audit correction: 28 is the WROOM-32E MODULE pin number (datasheet pin + // definitions: IO17 = module pin 28); the ESP32 chip pin for GPIO17 is 27. + description: "GPIO17 / U2TXD (module pin 28). Fully usable on the default ESP32-WROOM-32E module. NOTE: on WROVER-E / WROVER-IE and on -R2 sub-variants of WROOM-32E (ESP32-D0WDR2-V3 die with embedded 2 MB PSRAM), GPIO17 is consumed by the in-package PSRAM and cannot be used as general I/O.", + extraTraits: [ + { + type: "variant_restriction", + params: { + note: "Not usable on WROVER-E / WROVER-IE variants or on -R2 (ESP32-D0WDR2-V3) sub-variants of WROOM-32E, where the in-package PSRAM consumes this pin.", + source: "ProtoPart board warning #3", + }, + }, + ], + functions: [ + { name: "uart_tx", direction: "source", note: "UART transmit output on GPIO17." }, + FN_INPUT_ENABLE, + FN_IE_ALIAS, + fnGpioIo(17), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_16", name: "Pin 16", pin: "J3-12", gpio: 16, + flags: { uartRx: true }, + // Audit correction: 27 is the WROOM-32E MODULE pin number (datasheet pin + // definitions: IO16 = module pin 27); the ESP32 chip pin for GPIO16 is 25. + description: "GPIO16 / U2RXD (module pin 27). Fully usable on the default ESP32-WROOM-32E module. NOTE: on WROVER-E / WROVER-IE and on -R2 sub-variants of WROOM-32E (ESP32-D0WDR2-V3 die with embedded 2 MB PSRAM), GPIO16 is consumed by the in-package PSRAM and cannot be used as general I/O.", + extraTraits: [ + { + type: "variant_restriction", + params: { + note: "Not usable on WROVER-E / WROVER-IE variants or on -R2 (ESP32-D0WDR2-V3) sub-variants of WROOM-32E, where the in-package PSRAM consumes this pin.", + source: "ProtoPart board warning #3", + }, + }, + ], + functions: [ + { name: "uart_rx", direction: "sink", note: "UART receive input on GPIO16." }, + FN_INPUT_ENABLE, + FN_IE_ALIAS, + fnGpioIo(16), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_4", name: "Pin 4", pin: "J3-13", gpio: 4, + adc: { converter: 2, channel: 0 }, touch: 0, rtcGpio: 10, pull: "down", + description: "GPIO4. ADC2_CH0, TOUCH0.", + functions: [ + ...fnTouch(0), + FN_INPUT_ENABLE, + FN_IE_ALIAS, + fnGpioIo(4), + fnAdc(2, 0), + fnRtcGpio(10, 4, false), + FN_OPEN_DRAIN, + FN_WEAK_PULLDOWN, + ], + }), + devkitGpio({ + id: "pin_0", name: "Pin 0", pin: "J3-14", gpio: 0, + adc: { converter: 2, channel: 1 }, touch: 1, rtcGpio: 11, pull: "up", + extraCaps: ["strap_boot"], + description: "GPIO0. ADC2_CH1, TOUCH1. BOOT strapping pin - hold LOW at reset to enter firmware download mode (used by the on-board BOOT push-button).", + extraTraits: [ + { + type: "boot_strapping", + params: { + controls: "GPIO0 boot strap; low at reset enters download mode.", + source: "ProtoPart pin_0 boot function; used by the on-board BOOT push-button.", + }, + }, + { + type: "push_button", + params: { button: "BOOT", behavior: "Pressing the on-board BOOT button pulls GPIO0 low; hold at reset to enter firmware download mode." }, + }, + { + type: "hardware_errata", + params: { + note: "Earlier ESP32-DevKitC V4 boards may have a 0402 cap (C15) near GPIO0 that causes spurious boot-into-download or distorts a clock signal output on GPIO0. Remove C15 if you hit either issue.", + source: "ProtoPart board warning #6", + }, + }, + ], + functions: [ + ...fnTouch(1), + { name: "boot", direction: "sink", signal_class: "strapping", note: "GPIO0 boot strap; low at reset enters download mode." }, + FN_INPUT_ENABLE, + FN_WEAK_PULLUP, + { name: "BOOT", direction: "sink", signal_class: "strapping", note: "BOOT alias. GPIO0 boot strap; low at reset enters download mode." }, + FN_IE_ALIAS, + FN_WPU_ALIAS, + fnGpioIo(0), + fnAdc(2, 1), + fnRtcGpio(11, 0, false), + FN_OPEN_DRAIN, + ], + }), + devkitGpio({ + id: "pin_2", name: "Pin 2", pin: "J3-15", gpio: 2, + adc: { converter: 2, channel: 2 }, touch: 2, rtcGpio: 12, pull: "down", + description: "GPIO2. ADC2_CH2, TOUCH2. Strapping pin (must be low or floating at boot).", + extraTraits: [ + { + type: "boot_strapping", + params: { + // Audit correction: the low/floating requirement applies only to + // entering the serial bootloader (GPIO0 low); GPIO2 is don't-care + // for normal SPI flash boot (ESP32 datasheet boot-mode strapping). + controls: "Boot-mode strap together with GPIO0: to enter the serial bootloader (GPIO0 low at reset), GPIO2 must also be low or floating; it is don't-care for normal SPI flash boot.", + source: "ProtoPart pin_2 description; board warning #4; ESP32 series datasheet strapping-pins boot-mode table.", + }, + }, + ], + functions: [ + ...fnTouch(2), + FN_INPUT_ENABLE, + FN_IE_ALIAS, + fnGpioIo(2), + fnAdc(2, 2), + fnRtcGpio(12, 2, false), + FN_OPEN_DRAIN, + FN_WEAK_PULLDOWN, + ], + }), + devkitGpio({ + id: "pin_15", name: "Pin 15", pin: "J3-16", gpio: 15, + adc: { converter: 2, channel: 3 }, touch: 3, rtcGpio: 13, pull: "up", + flags: { spiSs: true }, + extraCaps: ["jtag_tdo", "strap_boot_log"], + description: "GPIO15. ADC2_CH3, TOUCH3, MTDO (JTAG TDO). Strapping pin (controls boot-mode messages).", + extraTraits: [ + { + type: "boot_strapping", + params: { + controls: "MTDO strap controls U0TXD boot log output.", + source: "ProtoPart pin_15 boot_log function; board warning #4.", + }, + }, + ], + functions: [ + { name: "touch3", direction: "sink", signal_class: "capacitive_touch", note: "Touch sensor channel 3." }, + { name: "jtag_tdo", direction: "source", signal_class: "digital", note: "JTAG MTDO / TDO on GPIO15." }, + { name: "hspi_ss", direction: "source", signal_class: "digital", note: "HSPI chip-select output on GPIO15." }, + { name: "boot_log", direction: "source", signal_class: "strapping", note: "MTDO strap controls U0TXD boot log output." }, + FN_INPUT_ENABLE, + FN_WEAK_PULLUP, + { name: "TOUCH3", direction: "sink", signal_class: "capacitive_touch", note: "TOUCH3 alias. Touch sensor channel 3." }, + { name: "HSPI_SS", direction: "source", signal_class: "digital", note: "HSPI_SS alias. HSPI chip-select output on GPIO15." }, + { name: "MTDO", direction: "source", signal_class: "digital", note: "MTDO alias. JTAG MTDO / TDO on GPIO15." }, + { name: "LOG", direction: "source", signal_class: "strapping", note: "LOG alias. MTDO strap controls U0TXD boot log output." }, + FN_IE_ALIAS, + FN_WPU_ALIAS, + fnGpioIo(15), + fnAdc(2, 3), + fnRtcGpio(13, 15, false), + FN_OPEN_DRAIN, + ], + }), +]; + +const j3FlashPins: InterfaceDef[] = [ + flashPin({ + id: "d1", name: "D1", pin: "J3-17", gpio: 8, cap: "spi_flash_d1", signalFirst: true, + signal: { name: "spi_flash_d1", direction: "bidirectional", signal_class: "digital", note: "SPI flash data 1; reserved on this board." }, + alias: { name: "D1", direction: "bidirectional", signal_class: "digital", note: "D1 alias. SPI flash data 1; reserved on this board." }, + description: "D1 / SD_DATA1 / GPIO8 (J3-17). Wired to on-module SPI flash on the ESP32-WROOM-32E and should not be used as general I/O.", + }), + flashPin({ + id: "d0", name: "D0", pin: "J3-18", gpio: 7, cap: "spi_flash_d0", signalFirst: true, + signal: { name: "spi_flash_d0", direction: "bidirectional", signal_class: "digital", note: "SPI flash data 0; reserved on this board." }, + alias: { name: "D0", direction: "bidirectional", signal_class: "digital", note: "D0 alias. SPI flash data 0; reserved on this board." }, + description: "D0 / SD_DATA0 / GPIO7 (J3-18). Wired to on-module SPI flash on the ESP32-WROOM-32E and should not be used as general I/O.", + }), + flashPin({ + id: "clk", name: "CLK", pin: "J3-19", gpio: 6, cap: "spi_flash_sck", signalFirst: true, + signal: { name: "spi_flash_sck", direction: "source", signal_class: "digital", note: "SPI flash clock; reserved on this board." }, + alias: { name: "CLK", direction: "source", signal_class: "digital", note: "CLK alias. SPI flash clock; reserved on this board." }, + description: "CLK / SD_CLK / GPIO6 (J3-19). Wired to on-module SPI flash on the ESP32-WROOM-32E and should not be used as general I/O.", + }), +]; + +// --------------------------------------------------------------------------- +// Micro-USB connector +// --------------------------------------------------------------------------- + +const microUsb: InterfaceDef = { + id: "micro_usb", + name: "Micro-USB", + domain: "electrical", + exposed: true, + default_active: true, + // The connector both powers the board (VBUS -> usb_5v rail) and carries + // USB 2.0 FS data into the CP2102N USB-to-UART bridge. + protocols: [ + { type: "usb", roles: ["device"] }, + { type: "power", roles: ["input"] }, + ], + capabilities: ["micro_usb"], + parameters: [{ id: "voltage", unit: "V", value: 5, range: USB_5V_RANGE }], + traits: [ + { + type: "devkitc_pin_functions", + params: { + source: FUNCTIONS_SOURCE, + description: + "Micro-USB-B receptacle. Carries VBUS (5V) and USB 2.0 Full-Speed D+/D- routed through the on-board USB-to-UART bridge (CP2102N) to U0TXD/U0RXD on the ESP32.", + functions: [ + { name: "micro_usb", direction: "bidirectional", note: "Micro-USB power and USB-UART connector." }, + ] satisfies DevkitFunction[], + }, + }, + { type: "power_domain", params: { domain: "usb_5v" } }, + { + type: "usb_uart_bridge", + params: { + part: "CP2102N", + connects: "USB 2.0 Full-Speed D+/D- to U0TXD/U0RXD (header pins TX/RX, GPIO1/GPIO3)", + purpose: "Power and programming (firmware flashing / serial console).", + }, + }, + { type: "connector", params: { connector_type: "micro_usb" } }, + ], + bridgesTo: ["tx", "rx"], +}; + +/** + * All 38 header pins in header order (J2-1..19, J3-1..19) + Micro-USB. + * + * Audit: the full header map was VERIFIED pin-for-pin against the official + * ESP32-DevKitC V4 user guide pin-layout tables (docs.espressif.com): + * J2 1-19: 3V3, EN, VP, VN, IO34, IO35, IO32, IO33, IO25, IO26, IO27, + * IO14, IO12, GND, IO13, D2, D3, CMD, 5V + * J3 1-19: GND, IO23, IO22, TX, RX, IO21, GND, IO19, IO18, IO5, IO17, + * IO16, IO4, IO0, IO2, IO15, D1, D0, CLK + * Every designator below (including the ~24 mid-header ones the builder + * assigned from resource order) matches the official table. + */ +const pins: InterfaceDef[] = [ + // J2, pins 1-19 + pin3v3, + pinEn, + ...j2Gpio.slice(0, 11), // VP..Pin 12 (J2-3..J2-13) + devkitGnd("gnd", "GND", "J2-14"), + ...j2Gpio.slice(11, 12), // Pin 13 (J2-15) + ...j2FlashPins, // D2, D3, CMD (J2-16..J2-18) + pin5v, + // J3, pins 1-19 + devkitGnd("gnd_j3_1", "GND (J3-1)", "J3-1"), + ...j3Gpio.slice(0, 5), // Pin 23..Pin 21 (J3-2..J3-6) + devkitGnd("gnd_j3_7", "GND (J3-7)", "J3-7"), + ...j3Gpio.slice(5), // Pin 19..Pin 15 (J3-8..J3-16) + ...j3FlashPins, // D1, D0, CLK (J3-17..J3-19) + // Connector + microUsb, +]; + +// --------------------------------------------------------------------------- +// Composed interfaces — one-to-one with the ProtoPart `interfaces` list +// (same ids, names, protocol types/roles and max_instances). Pool-style +// interfaces (one function claimed per instance) use a single count-1 slot +// with max_instances equal to the pool size, exactly as the JSON counts them. +// --------------------------------------------------------------------------- + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +// --- Power rails ------------------------------------------------------------ + +const power3v3 = composed({ + id: "power_3v3", + name: "Power 3.3V", + protocolType: "power", + roles: ["peer"], // ProtoPart role: peer (rail is input OR output) + slots: [{ id: "rail", required: true, match: { protocol: "power", capability: "power_3v3" } }], + profiles: [{ id: "power_3v3_rail", label: "3V3 (J2-1)", bindings: { rail: "3v3" } }], + maxInstances: 1, +}); + +const power5v = composed({ + id: "power_5v", + name: "Power 5V", + protocolType: "power", + roles: ["peer"], + slots: [{ id: "rail", required: true, match: { protocol: "power", capability: "power_5v0" } }], + profiles: [{ id: "power_5v_rail", label: "5V (J2-19)", bindings: { rail: "5v" } }], + maxInstances: 1, +}); + +const ground = composed({ + id: "ground", + name: "Ground", + protocolType: "power", + roles: ["peer"], + slots: [{ id: "pin", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }], + maxInstances: 3, // three GND header pins: J2-14, J3-1, J3-7 + traits: [ + { type: "channels", params: { count: 3, mapping: "GND=J2-14, GND (J3-1)=J3-1, GND (J3-7)=J3-7" } }, + ], +}); + +// --- Reset / boot ----------------------------------------------------------- + +const chipEnableReset = composed({ + id: "chip_enable_reset", + name: "Chip Enable / Reset", + protocolType: "digital", + roles: ["input"], + slots: [{ id: "en", required: true, match: { protocol: "digital", role: "input", capability: "chip_pu" } }], + profiles: [{ id: "chip_enable_reset_en", label: "EN (J2-2)", bindings: { en: "en" } }], + maxInstances: 1, + traits: [ + { + type: "protopart_requires", + params: { + functions: ["EN", "PU"], + note: "The ProtoPart source requires EN and PU — both aliases of the same header pin; one physical pin satisfies both.", + }, + }, + ], +}); + +const bootConfiguration = composed({ + id: "boot_configuration", + name: "Boot Configuration", + protocolType: "digital", + roles: ["input"], + slots: [ + { id: "boot", required: true, label: "BOOT (GPIO0)", match: { protocol: "digital", role: "input", capability: "strap_boot" } }, + { id: "log", required: true, label: "LOG (GPIO15 / MTDO)", match: { protocol: "digital", role: "input", capability: "strap_boot_log" } }, + { id: "vdd_flash", required: true, label: "VDD_FLASH (GPIO12 / MTDI)", match: { protocol: "digital", role: "input", capability: "strap_vdd_flash" } }, + ], + profiles: [ + { + id: "boot_configuration_straps", + label: "BOOT=Pin 0, LOG=Pin 15, VDD_FLASH=Pin 12", + bindings: { boot: "pin_0", log: "pin_15", vdd_flash: "pin_12" }, + }, + ], + maxInstances: 3, // ProtoPart max_instances: 3 + traits: [ + { + type: "boot_strapping", + params: { + note: "GPIOs 0, 2, 5, 12, and 15 are strapping pins - pulling them to conflicting levels during reset can prevent boot or change flash voltage.", + source: "ProtoPart board warning #4", + }, + }, + ], +}); + +// --- GPIO pools ------------------------------------------------------------- + +const gpioInputOnly = composed({ + id: "gpio_input_only", + name: "GPIO Input Only", + protocolType: "digital", + roles: ["input"], + slots: [{ id: "pin", required: true, match: { protocol: "digital", role: "input", capability: "gpio_input_only" } }], + maxInstances: 4, + traits: [ + { type: "channels", params: { count: 4, mapping: "VP=GPIO36, VN=GPIO39, Pin 34=GPIO34, Pin 35=GPIO35" } }, + ], +}); + +const gpioInputOutput = composed({ + id: "gpio_input_output", + name: "GPIO Input / Output", + protocolType: "digital", + roles: ["peer"], + slots: [{ id: "pin", required: true, match: { protocol: "digital", capability: "gpio_io" } }], + maxInstances: 22, + traits: [ + { + type: "channels", + params: { + count: 22, + note: "All bidirectional header GPIOs. Excludes the four input-only pins (GPIO34-39 group) and the six flash-reserved pins (D0-D3, CMD, CLK), which the ProtoPart source does not give a GPIO Input / Output function.", + }, + }, + ], +}); + +// --- Analog ----------------------------------------------------------------- + +const adc1 = composed({ + id: "adc1", + name: "ADC1", + protocolType: "analog", + roles: ["input"], + slots: [{ id: "channel", required: true, match: { protocol: "analog", role: "input", capability: "adc1_in" } }], + maxInstances: 6, // six ADC1 channels reach the headers + traits: [ + { + type: "channels", + params: { + count: 6, + mapping: "CH0=VP (GPIO36), CH3=VN (GPIO39), CH4=Pin 32, CH5=Pin 33, CH6=Pin 34, CH7=Pin 35", + }, + }, + ], +}); + +const adc2 = composed({ + id: "adc2", + name: "ADC2", + protocolType: "analog", + roles: ["input"], + slots: [{ id: "channel", required: true, match: { protocol: "analog", role: "input", capability: "adc2_in" } }], + maxInstances: 10, + traits: [ + { + type: "channels", + params: { + count: 10, + mapping: "CH0=Pin 4, CH1=Pin 0, CH2=Pin 2, CH3=Pin 15, CH4=Pin 13, CH5=Pin 12, CH6=Pin 14, CH7=Pin 27, CH8=Pin 25, CH9=Pin 26", + }, + }, + ], +}); + +const dac = composed({ + id: "dac", + name: "DAC", + protocolType: "analog", + roles: ["output"], + slots: [{ id: "channel", required: true, match: { protocol: "analog", role: "output", capability: "analog_out" } }], + maxInstances: 2, + traits: [ + { type: "channels", params: { count: 2, mapping: "DAC_1=Pin 25 (GPIO25), DAC_2=Pin 26 (GPIO26)" } }, + ], +}); + +const hallSensor = composed({ + id: "hall_sensor", + name: "Hall Sensor", + protocolType: "analog", + roles: ["input"], + slots: [ + { id: "svp", required: true, label: "S_VP", match: { protocol: "analog", role: "input", capability: "sensor_vp" } }, + { id: "svn", required: true, label: "S_VN", match: { protocol: "analog", role: "input", capability: "sensor_vn" } }, + ], + profiles: [ + { id: "hall_sensor_vp_vn", label: "S_VP=VP (J2-3), S_VN=VN (J2-4)", bindings: { svp: "vp", svn: "vn" } }, + ], + maxInstances: 2, // ProtoPart max_instances: 2 (one S_VP/S_VN pair exists on the board) +}); + +const voltageDetection = composed({ + id: "voltage_detection", + name: "Voltage Detection", + protocolType: "analog", + roles: ["input"], + slots: [{ id: "channel", required: true, match: { protocol: "analog", role: "input", capability: "vdet" } }], + maxInstances: 2, + traits: [ + { type: "channels", params: { count: 2, mapping: "VDET_1=Pin 34 (GPIO34), VDET_2=Pin 35 (GPIO35)" } }, + ], +}); + +// --- RTC / touch / oscillator ----------------------------------------------- + +const rtcGpio = composed({ + id: "rtc_gpio", + name: "RTC GPIO", + protocolType: "digital", + roles: ["peer"], + slots: [{ id: "channel", required: true, match: { protocol: "digital", capability: "rtc_gpio" } }], + maxInstances: 16, + traits: [ + { + type: "channels", + params: { + count: 16, + mapping: + "RTC_GPIO0=VP, RTC_GPIO3=VN, RTC_GPIO4=Pin 34, RTC_GPIO5=Pin 35, RTC_GPIO6=Pin 25, RTC_GPIO7=Pin 26, RTC_GPIO8=Pin 33, RTC_GPIO9=Pin 32, RTC_GPIO10=Pin 4, RTC_GPIO11=Pin 0, RTC_GPIO12=Pin 2, RTC_GPIO13=Pin 15, RTC_GPIO14=Pin 13, RTC_GPIO15=Pin 12, RTC_GPIO16=Pin 14, RTC_GPIO17=Pin 27", + }, + }, + ], +}); + +const touchSensor = composed({ + id: "touch_sensor", + name: "Touch Sensor", + protocolType: "custom", // ProtoPart protocol type: custom + roles: ["input"], + slots: [{ id: "channel", required: true, match: { capability: "touch" } }], + maxInstances: 10, + traits: [ + { + type: "channels", + params: { + count: 10, + mapping: "T0=Pin 4, T1=Pin 0, T2=Pin 2, T3=Pin 15, T4=Pin 13, T5=Pin 12, T6=Pin 14, T7=Pin 27, T8=Pin 33, T9=Pin 32", + note: "The ProtoPart source enumerates the ten channel functions TOUCH0-TOUCH9 individually; each instance claims one channel.", + }, + }, + ], +}); + +const rtcCrystalOscillator = composed({ + id: "rtc_crystal_oscillator", + name: "RTC Crystal Oscillator", + protocolType: "oscillators", // ProtoPart protocol type + roles: ["peer"], + slots: [ + { id: "xp", required: true, label: "32K_XP", match: { capability: "xtal_32k_p" } }, + { id: "xn", required: true, label: "32K_XN", match: { capability: "xtal_32k_n" } }, + ], + profiles: [ + { id: "rtc_crystal_pins", label: "32K_XP=Pin 32, 32K_XN=Pin 33", bindings: { xp: "pin_32", xn: "pin_33" } }, + ], + maxInstances: 2, // ProtoPart max_instances: 2 (one XP/XN pair exists on the board) +}); + +// --- Serial buses ----------------------------------------------------------- + +// UART is hand-rolled (not the UART builder): the ProtoPart role is "peer", +// which the builder's host/device role set cannot express, and the source +// gives no baud-rate data to carry. +const uartTraits = (aliasNote?: string): TraitDef[] => [ + { + type: "co_requirement", + params: { + with: "micro_usb", + condition: "UART0 profile (TX/RX header pins) with USB connected", + effect: + "TX (GPIO1) and RX (GPIO3) are shared with the on-board USB-to-UART bridge. To use UART0 with an external peer, unplug USB or tri-state the bridge by holding the bridge IC in reset.", + source: "ProtoPart board warning #7", + }, + }, + ...(aliasNote ? [{ type: "alias_note", params: { note: aliasNote } }] : []), +]; + +const uart = composed({ + id: "uart", + name: "UART", + protocolType: "uart", + roles: ["peer"], + slots: [ + { id: "tx", required: true, match: { protocol: "uart", role: "transmitter", capability: "uart_tx" } }, + { id: "rx", required: true, match: { protocol: "uart", role: "receiver", capability: "uart_rx" } }, + ], + profiles: [ + { id: "uart0", label: "UART0: TX (GPIO1), RX (GPIO3) — shared with USB bridge", bindings: { tx: "tx", rx: "rx" } }, + // Second RX/TX pair on the headers (ProtoPart max_instances: 2): the + // pin_16/pin_17 resources are described as GPIO16 / U2RXD and + // GPIO17 / U2TXD and carry uart_rx / uart_tx functions. + // Audit: VERIFIED against the ESP32-WROOM-32E datasheet pin definitions — + // U2RXD is a listed function of GPIO16 (module pin 27) and U2TXD of + // GPIO17 (module pin 28), so the UART2 profile is datasheet-honest. + { id: "uart2", label: "UART2: Pin 17 (GPIO17/U2TXD), Pin 16 (GPIO16/U2RXD)", bindings: { tx: "pin_17", rx: "pin_16" } }, + ], + maxInstances: 2, + traits: uartTraits(), +}); + +const arduinoSerial = composed({ + id: "arduino_serial", + name: "Arduino Serial", + protocolType: "uart", + roles: ["peer"], + slots: [ + { id: "tx", required: true, match: { protocol: "uart", role: "transmitter", capability: "uart_tx" } }, + { id: "rx", required: true, match: { protocol: "uart", role: "receiver", capability: "uart_rx" } }, + ], + profiles: [ + { id: "arduino_serial_default", label: "Serial: TX (GPIO1), RX (GPIO3)", bindings: { tx: "tx", rx: "rx" } }, + ], + maxInstances: 2, // ProtoPart max_instances: 2 + traits: uartTraits( + "Arduino-core alias of the primary serial port (Serial), carried as its own interface because the ProtoPart source lists it separately.", + ), +}); + +// SPI builder fits: ProtoPart role "master" is a builder role. No clock +// frequency is given in the source, so none is emitted. +const hspi = SPI({ + id: "hspi", + name: "High-Speed SPI", + roles: ["master"], + maxInstances: 4, // ProtoPart max_instances: 4 + profiles: [ + { + id: "hspi_default", + label: "HSPI: SCK=Pin 14, MISO=Pin 12, MOSI=Pin 13, SS=Pin 15", + mosi: "pin_13", miso: "pin_12", sck: "pin_14", ss: "pin_15", + }, + ], +}); + +const vspi = SPI({ + id: "vspi", + name: "Virtual SPI", + roles: ["master"], + maxInstances: 4, // ProtoPart max_instances: 4 + profiles: [ + { + id: "vspi_default", + label: "VSPI: SCK=Pin 18, MISO=Pin 19, MOSI=Pin 23, SS=Pin 5", + mosi: "pin_23", miso: "pin_19", sck: "pin_18", ss: "pin_5", + }, + ], +}); + +// I2C is hand-rolled (not the I2C builder): the builder always emits a +// default 400 kHz clock parameter, and the ProtoPart source gives no bus +// clock to carry — hand-rolling avoids fabricating one. +const i2cWire = composed({ + id: "i2c_wire", + name: "I2C / Wire", + protocolType: "i2c", + roles: ["master"], + slots: [ + { id: "sda", required: true, match: { protocol: "i2c", role: "data", capability: "i2c_sda" } }, + { id: "scl", required: true, match: { protocol: "i2c", role: "clock", capability: "i2c_scl" } }, + ], + profiles: [ + { id: "i2c_wire_default", label: "Wire: SDA=Pin 21 (GPIO21), SCL=Pin 22 (GPIO22)", bindings: { sda: "pin_21", scl: "pin_22" } }, + ], + maxInstances: 2, // ProtoPart max_instances: 2 +}); + +const externalFlashMemorySpi = composed({ + id: "external_flash_memory_spi", + name: "External Flash Memory SPI", + protocolType: "spi", + roles: ["master"], + slots: [ + { id: "clk", required: true, match: { capability: "spi_flash_sck" } }, + { id: "cmd", required: true, match: { capability: "spi_flash_cmd" } }, + { id: "d0", required: true, match: { capability: "spi_flash_d0" } }, + { id: "d1", required: true, match: { capability: "spi_flash_d1" } }, + { id: "d2", required: true, match: { capability: "spi_flash_d2" } }, + { id: "d3", required: true, match: { capability: "spi_flash_d3" } }, + ], + profiles: [ + { + id: "flash_bus_pins", + label: "CLK (J3-19), CMD (J2-18), D0 (J3-18), D1 (J3-17), D2 (J2-16), D3 (J2-17)", + bindings: { clk: "clk", cmd: "cmd", d0: "d0", d1: "d1", d2: "d2", d3: "d3" }, + }, + ], + maxInstances: 6, // ProtoPart max_instances: 6 + traits: [ + { + type: "usage_restriction", + params: { + restriction: + "This bus is already committed to the SPI flash inside the ESP32-WROOM-32E module — the header pins expose it but it must not be repurposed as general I/O.", + source: "ProtoPart board warning #2", + }, + }, + ], +}); + +const jtag = composed({ + id: "jtag", + name: "JTAG", + protocolType: "jtag", + roles: ["target"], + slots: [ + { id: "tdi", required: true, match: { capability: "jtag_tdi" } }, + { id: "tdo", required: true, match: { capability: "jtag_tdo" } }, + { id: "tck", required: true, match: { capability: "jtag_tck" } }, + { id: "tms", required: true, match: { capability: "jtag_tms" } }, + ], + profiles: [ + { + id: "jtag_mt_pins", + label: "MTDI=Pin 12, MTDO=Pin 15, MTCK=Pin 13, MTMS=Pin 14", + bindings: { tdi: "pin_12", tdo: "pin_15", tck: "pin_13", tms: "pin_14" }, + }, + ], + maxInstances: 4, // ProtoPart max_instances: 4 +}); + +const sdio = composed({ + id: "sdio", + name: "SDIO", + protocolType: "sdio", + roles: ["peer"], + slots: [{ id: "sdio", required: true, match: { capability: "sdio" } }], + profiles: [{ id: "sdio_gpio5", label: "SDIO strap / alternate function on Pin 5 (GPIO5)", bindings: { sdio: "pin_5" } }], + maxInstances: 1, +}); + +// --- Pad-capability pools (carried verbatim from the ProtoPart source) ------ + +const openDrainCapability = composed({ + id: "open_drain_capability", + name: "Open Drain Capability", + protocolType: "digital", + roles: ["peer"], + slots: [{ id: "pad", required: true, match: { protocol: "digital", capability: "open_drain" } }], + // Mirrors the ProtoPart pool: all 32 header GPIO pads carry an "Open Drain + // Capability" function in the source. Datasheet caveat: GPIO34-39 (VP, VN, + // Pin 34, Pin 35) are input-only with no output driver, so open-drain + // OUTPUT is not physically available on those four pads. + maxInstances: 32, +}); + +const inputEnableCapability = composed({ + id: "input_enable_capability", + name: "Input Enable Capability", + protocolType: "digital", + roles: ["peer"], + slots: [{ id: "pad", required: true, match: { protocol: "digital", capability: "pad_input_gate" } }], + maxInstances: 32, + traits: [ + { + type: "protopart_requires", + params: { + functions: ["IE", "ID"], + note: "The ProtoPart source lists input-enable (IE) on bidirectional pads and input-disable (ID) on input-only pads; both are carried under the shared pad_input_gate capability tag.", + }, + }, + ], +}); + +const weakPullUpCapability = composed({ + id: "weak_pull_up_capability", + name: "Weak Pull-Up Capability", + protocolType: "digital", + roles: ["peer"], + slots: [{ id: "pad", required: true, match: { protocol: "digital", capability: "weak_pullup" } }], + maxInstances: 13, // pads the ProtoPart source marks WPU +}); + +const weakPullDownCapability = composed({ + id: "weak_pull_down_capability", + name: "Weak Pull-Down Capability", + protocolType: "digital", + roles: ["peer"], + slots: [{ id: "pad", required: true, match: { protocol: "digital", capability: "weak_pulldown" } }], + maxInstances: 3, // Pin 13, Pin 2, Pin 4 +}); + +// --------------------------------------------------------------------------- +// Network domain — radios inside the ESP32-WROOM-32E module +// --------------------------------------------------------------------------- + +const wifiRadio: InterfaceDef = { + id: "wifi_radio", + name: "2.4 GHz Wi-Fi radio (PCB trace antenna)", + domain: "network", + exposed: true, + default_active: true, + protocols: [{ type: "rf", roles: ["transceiver"] }], + capabilities: ["wifi_rf"], + traits: [ + { + type: "antenna", + params: { + description: + "Integrated 802.11 b/g/n radio inside the ESP32-WROOM-32E module. PCB trace antenna on the module.", + }, + }, + ], +}; + +const bluetoothRadio: InterfaceDef = { + id: "bluetooth_radio", + name: "Bluetooth 4.2 dual-mode radio", + domain: "network", + exposed: true, + default_active: true, + protocols: [{ type: "rf", roles: ["transceiver"] }], + capabilities: ["bluetooth_rf"], + traits: [ + { + type: "antenna", + params: { + description: + "Integrated Bluetooth 4.2 BR/EDR + BLE radio inside the ESP32-WROOM-32E module. Shares the PCB trace antenna with Wi-Fi.", + }, + }, + ], +}; + +const wifiClient = composed({ + id: "wifi_client", + name: "Wi-Fi", + domain: "network", + protocolType: "wifi", + roles: ["client", "access_point", "peer"], // ProtoPart roles, verbatim + slots: [{ id: "rf", required: true, match: { capability: "wifi_rf" } }], + profiles: [{ id: "wifi_client_radio", label: "On-module Wi-Fi radio", bindings: { rf: "wifi_radio" } }], + traits: [ + { + type: "radio_characteristics", + params: { + description: "2.4 GHz 802.11 b/g/n. Supports station, soft-AP, and Wi-Fi Direct / ESP-NOW peer roles.", + }, + }, + ], +}); + +const bluetoothPeer = composed({ + id: "bluetooth_peer", + name: "Bluetooth (Classic + BLE)", + domain: "network", + protocolType: "bluetooth", + roles: ["peer"], + slots: [{ id: "rf", required: true, match: { capability: "bluetooth_rf" } }], + profiles: [{ id: "bluetooth_peer_radio", label: "On-module Bluetooth radio", bindings: { rf: "bluetooth_radio" } }], + traits: [ + { + type: "radio_characteristics", + params: { + description: "Bluetooth 4.2 dual-mode: Classic BR/EDR plus Bluetooth Low Energy.", + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const ESP32_DEVKITC_V4: ModuleDef = defineModule({ + id: "esp32-devkitc-v4", + name: "Espressif ESP32-DevKitC V4", + version: "1.0.0", + manufacturer: "Espressif Systems", + part_number: "ESP32-DevKitC-V4", + description: + "Espressif's reference ESP32 development board. Hosts an ESP32-WROOM-32E module (Xtensa LX6 dual-core 240 MHz, 4 MB flash, 2.4 GHz Wi-Fi + Bluetooth 4.2 dual-mode) on a 54.4 x 27.9 mm breakout PCB. Exposes 38 pins on two 19-pin 2.54 mm headers (J2/J3), a Micro-USB port wired to a USB-to-UART bridge (CP2102N) for power and programming, and EN (reset) + BOOT (download) push-buttons. Breadboard-friendly footprint.", + tags: ["esp32", "esp32-wroom-32e", "dev-board", "wifi", "bluetooth", "ble", "micro-usb", "xtensa", "dual-core"], + categories: ["microcontroller.development_board", "connectivity.wireless"], + + interfaces: [ + // All 38 header pins in header order (J2-1..19, J3-1..19) + Micro-USB. + ...pins, + + // Power rails + power3v3, + power5v, + ground, + + // Reset / boot + chipEnableReset, + bootConfiguration, + + // GPIO pools + gpioInputOnly, + gpioInputOutput, + + // Analog + adc1, + adc2, + dac, + hallSensor, + voltageDetection, + + // RTC / touch / oscillator + rtcGpio, + touchSensor, + rtcCrystalOscillator, + + // Serial buses + uart, + arduinoSerial, + ...hspi, + ...vspi, + i2cWire, + externalFlashMemorySpi, + jtag, + sdio, + + // Pad-capability pools + openDrainCapability, + inputEnableCapability, + weakPullUpCapability, + weakPullDownCapability, + + // Network (radios inside the WROOM-32E module) + wifiRadio, + bluetoothRadio, + wifiClient, + bluetoothPeer, + ], + + interfaceGroups: [ + { + id: "j2_header", + label: "J2 Header (19 pins, 2.54 mm)", + members: [ + "3v3", "en", "vp", "vn", "pin_34", "pin_35", "pin_32", "pin_33", + "pin_25", "pin_26", "pin_27", "pin_14", "pin_12", "gnd", "pin_13", + "d2", "d3", "cmd", "5v", + ], + policy: "all_of", + }, + { + id: "j3_header", + label: "J3 Header (19 pins, 2.54 mm)", + members: [ + "gnd_j3_1", "pin_23", "pin_22", "tx", "rx", "pin_21", "gnd_j3_7", + "pin_19", "pin_18", "pin_5", "pin_17", "pin_16", "pin_4", "pin_0", + "pin_2", "pin_15", "d1", "d0", "clk", + ], + policy: "all_of", + }, + { + id: "flash_reserved_pins", + label: "Flash-Reserved Pins (GPIO6-11 — not general I/O)", + members: ["d2", "d3", "cmd", "clk", "d0", "d1"], + policy: "all_of", + }, + { + id: "strapping_pins", + label: "Strapping Pins (GPIO0/2/5/12/15)", + members: ["pin_0", "pin_2", "pin_5", "pin_12", "pin_15"], + policy: "all_of", + }, + { + // Board warning #5: power via Micro-USB OR the 5V header pin OR the + // 3V3 header pin — never two of these simultaneously. + id: "power_source", + label: "Power Source (exactly one)", + members: ["micro_usb", "5v", "3v3"], + policy: "one_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Power via exactly one of: Micro-USB VBUS (5 V), the 5V header pin (4.75-5.25 V, up to 500 mA from the USB host or external supply), or a regulated 3.3 V supply on the 3V3 header pin (3.0-3.6 V, bypassing the on-board AMS1117-3.3 LDO). Never power from two of these simultaneously, or the board / supply can be damaged.", + voltage_V: [3, 5.25], // ProtoPart supply_voltage_V + current_mA: 500, + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { id: "usb_5v", name: "5V input rail", nominal_voltage_V: 5, voltage_range_V: USB_5V_RANGE, max_current_mA: USB_5V_MAX_MA }, + { id: "io_3v3", name: "3.3V logic rail", nominal_voltage_V: 3.3, voltage_range_V: IO_3V3_RANGE, max_current_mA: IO_3V3_MAX_MA, regulation_type: "regulated" }, + { id: "gnd", name: "Ground", nominal_voltage_V: 0, voltage_range_V: [0, 0], max_current_mA: 1000 }, + ], + metadata: { + pin_count: 38, + supply_voltage_V: [3, 5.25], + supports_usb: true, + package_type: "PCB module / 2x 19-pin 2.54mm headers", + // PowerDomainDef has no description field — the ProtoPart power + // domain descriptions are preserved here verbatim. + power_domain_notes: { + usb_5v: "5V rail sourced from Micro-USB VBUS or the 5V header pin. Current limited by USB host or external supply.", + io_3v3: "On-board AMS1117-3.3 LDO output. Supplies the ESP32-WROOM-32E module and the 3V3 header pin.", + gnd: "Common board ground.", + }, + }, + }, + { + domain: "network", + metadata: { + network_protocols: ["wifi", "bluetooth"], + wireless_standards: ["802.11 b/g/n (2.4 GHz)", "Bluetooth 4.2 BR/EDR", "Bluetooth Low Energy 4.2"], + frequency_bands_ghz: [2.4], + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + }, + { + domain: "mechanical", + dimensions_mm: { length: 54.4, width: 27.9, height: 13 }, + }, + ], + + traits: [ + { + type: "hosted_module", + params: { + module: "ESP32-WROOM-32E", + note: "The board carries an ESP32-WROOM-32E module (ESP32 chip + 4 MB SPI flash + PCB trace antenna); module internals are not decomposed here — this definition models only what the board exposes.", + }, + }, + { + type: "usb_uart_bridge", + params: { + part: "CP2102N", + connects: "Micro-USB D+/D- to U0TXD/U0RXD (header pins TX/RX, GPIO1/GPIO3)", + purpose: "Power and programming.", + }, + }, + { + type: "voltage_regulator", + params: { + part: "AMS1117-3.3", + output: "io_3v3 rail (3.3 V nominal, 600 mA max)", + source: "ProtoPart power domain io_3v3", + }, + }, + { + type: "push_buttons", + params: { + buttons: [ + { name: "EN", function: "Reset — pulls EN/CHIP_PU (J2-2) low." }, + { name: "BOOT", function: "Download mode — pulls GPIO0 (J3-14) low; hold at reset to enter firmware download mode." }, + ], + }, + }, + + // ProtoPart board warnings, verbatim. + { + type: "board_warning", + params: { + topic: "logic_level", + warning: "All GPIO signals are 3.3V logic. ESP32 GPIOs are NOT 5V-tolerant - driving them with 5V can damage the module.", + }, + }, + { + type: "board_warning", + params: { + topic: "flash_reserved_pins", + warning: "GPIOs 6-11 (header pins D0, D1, D2, D3, CMD, CLK) are wired to the on-package SPI flash and MUST NOT be used as general I/O on the WROOM-32E variant.", + }, + }, + { + type: "board_warning", + params: { + topic: "psram_variants", + warning: "GPIOs 16 and 17 are usable on the default ESP32-WROOM-32E module (no PSRAM). They are NOT usable on WROVER-E / WROVER-IE variants or on -R2 (ESP32-D0WDR2-V3) sub-variants of WROOM-32E, where the in-package PSRAM consumes both pins.", + }, + }, + { + type: "board_warning", + params: { + topic: "strapping_pins", + warning: "GPIOs 0, 2, 5, 12, and 15 are strapping pins - pulling them to conflicting levels during reset can prevent boot or change flash voltage.", + }, + }, + { + type: "board_warning", + params: { + topic: "power_input_exclusivity", + warning: "Power the board via Micro-USB OR the 5V header pin OR the 3V3 header pin - never two of these simultaneously, or the board / supply can be damaged.", + }, + }, + { + type: "board_warning", + params: { + topic: "gpio0_c15_errata", + warning: "Earlier ESP32-DevKitC V4 boards may have a 0402 cap (C15) near GPIO0 that causes spurious boot-into-download or distorts a clock signal output on GPIO0. Remove C15 if you hit either issue.", + }, + }, + { + type: "board_warning", + params: { + topic: "usb_uart_sharing", + warning: "TX (GPIO1) and RX (GPIO3) are shared with the on-board USB-to-UART bridge. To use UART0 with an external peer, unplug USB or tri-state the bridge by holding the bridge IC in reset.", + }, + }, + + // ProtoPart fields with no OpenUHD home, preserved verbatim. + { type: "preview_artifact", params: { artifactId: "art_thumbnail" } }, + { + type: "purchase_info", + params: { + vendors: [ + { + vendor: "Amazon", + vendorPartId: "B09MQJWQN2", + title: "ESP32-DevKitC-32E Development Board (Espressif)", + link: "https://www.amazon.com/dp/B09MQJWQN2?tag=protoboard01-20", + isAffiliate: true, + currentPriceUSD: "11.00", + currency: "USD", + availabilityStatus: "in_stock", + productStatus: "active", + priceTimestamp: "2026-05-16T21:20:00Z", + region: "US", + }, + { + vendor: "DigiKey", + vendorPartId: "1965-ESP32-DEVKITC-32E-ND", + title: "ESP32-DEVKITC-32E Espressif ESP32-WROOM-32E DevKitC V4", + link: "https://www.digikey.com/en/products/detail/espressif-systems/ESP32-DEVKITC-32E/12091810", + isAffiliate: false, + currentPriceUSD: "10.00", + currency: "USD", + availabilityStatus: "in_stock", + productStatus: "active", + stockQuantityAvailable: 393, + priceTimestamp: "2026-05-16T21:20:00Z", + region: "US", + }, + { + vendor: "Espressif", + title: "ESP32-DevKitC overview (manufacturer product page)", + link: "https://www.espressif.com/en/products/devkits/esp32-devkitc/overview", + isAffiliate: false, + availabilityStatus: "unknown", + priceTimestamp: "2026-05-16T21:20:00Z", + notes: "Manufacturer product page; not a direct-purchase storefront for retail customers.", + }, + ], + }, + }, + ], + + artifacts: [ + { + id: "art_user_guide", + name: "ESP32-DevKitC V4 user guide (Espressif)", + type: "documentation", // ProtoPart type "link" + url: "https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32/esp32-devkitc/user_guide.html", + }, + { + id: "art_schematic", + name: "ESP32-DevKitC V4 schematic (PDF)", + type: "datasheet", + url: "https://dl.espressif.com/dl/schematics/esp32_devkitc_v4_sch.pdf", + }, + { + id: "art_pcb_layout", + name: "ESP32-DevKitC V4 PCB layout (PDF)", + type: "datasheet", + url: "https://dl.espressif.com/dl/schematics/esp32_devkitc_v4_pcb_layout.pdf", + }, + { + id: "art_dimensions", + name: "ESP32-DevKitC V4 dimensions (PDF)", + type: "datasheet", + url: "https://dl.espressif.com/dl/schematics/esp32_devkitc_v4_dimensions.pdf", + }, + { + id: "art_module_datasheet", + name: "ESP32-WROOM-32E datasheet (PDF)", + type: "datasheet", + url: "https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32e_esp32-wroom-32ue_datasheet_en.pdf", + }, + { + id: "art_product_image", + name: "ESP32-DEVKITC-32E product photo", + type: "custom", // ProtoPart type "image" + filePath: "./ProtoPart/protoparts/esp32-devkitc-v4/artifacts/images/ESP32-DEVKITC-32E.jpg", + mimeType: "image/jpeg", + tags: ["image", "product-photo"], + }, + { + id: "art_product_page", + name: "Espressif product page", + type: "documentation", // ProtoPart type "link" + url: "https://www.espressif.com/en/products/devkits/esp32-devkitc/overview", + }, + { + id: "art_thumbnail", + name: "Espressif ESP32-DevKitC V4 thumbnail", + type: "custom", // ProtoPart type "image" + filePath: "./ProtoPart/protoparts/esp32-devkitc-v4/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + // The ProtoPart source has node_geometry: null — no geometry is carried + // over rather than fabricating one. +}); diff --git a/library/parts/esp32-devkitc-v4/artifacts/thumbnail.png b/library/parts/esp32-devkitc-v4/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..5326211eb14ab66bc4dbe635a3f42192f9ca0029 GIT binary patch literal 192110 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ξ6+EiX^ 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

v0z&G9`V$hcC^%cmBS@qFAE+ zgL^NjG<2@TEX2Ez*OGb{dQ2jwq0{p5@|8I|`>^6X4uoLDFd+u`y@1eZrm%8)M+o{1 zM{g5=I~QsoFdu-sKdR@0AMs;uA<*b)XE#7NkdFZ$|FFJwteU*z;H+5Iq(8vLHZhAzkcoed#C!W$eSSu6F!bc*3Mbyk0tQxX86|?5=s7> zS+jBf*(oIn1^-=pspkC&@u?MZ3>|*^{4V8Ra+;o~vvmX(2~hvI?vlVph&~~1#TaTZ zp6T=Pe2OCOksd4%Sc{9oeZZ;*fj^4;>iROh4m3b|zw_1g!bl`g7verLsz!^AVN)+K?At`Ck(6oCMtGqBqlUAasP;7)-aW(bVNx@nBcALv2ZmJb zd6>@j7ZDmam}?qL$LkGw*WE}FV|bacjF4h*(y}`#Y0$9>wv%Zv{$WGzd_t(2Xt~L` zDrlN{YP)ebc(6{b0dL@BC;$QBT^6q4vw|5rpS7Fz^$LnFRC>ReuW{F0HN=Pgkd}SO z-!_JaOHE^rqK?m8T0NyDkJrh5tAz}@CP7T7QG95|p?=f8m1U5!aYUEV2yPW>A(Q=a zVV!di0LoKDu1Xb#uePgD!~64Ouq3qm$P%bmaFDHcH_0BR0o=H+2S48uDOhChNy207 zhK~DLq6*Oyk8q>WJU0YkHn_6Tm91AH_WukN-^9=vG8x za3Uzx>8qyj^-}3yCaP22IXzpHi9I;XxV_&Nd%;dtri{H4P=BVh!gP|ch$!)xINJAc z<*l_ri);;A{kDj%3tnezVD7wQtWrm=h6+J$<8gDK#3y5Bi|nRfNBJsYo0zv;t%{1*!CGOd4d zD#=lwj=GopZ-=G%6+(gLM_rb<};&;%y3qyfn>2 zY`C||SpF*4pLV8AC>jL9Brb%M5kbgNtG60-L0BwwmJ66+jrjpsRmIZcn}j+RM?uds zpr3GGAC&{P&+XkR^Si=k89VcVL5-L9w^P-2zbCUoA5Go+`%ZmX>zk_GpI3c6-*`@o zkobkWEa(j)A82(8tJ*7@H#_F27mM5ZdQ;^f!p`4c^y#zM1-lORJHI6&w=4_*8$np} zlE-f~*PWHh6 z(x`!DQI6$)S#KB|G0#yEAO5;Y$zJ&l)yehI?CB-w8R+xy=B5PWivPO9)f>lt6EwbH zTo;gMN7AF(_}~lStK~o!5z%#_f_enj&G@mF|Ej|EsiNY*J|58%x0iINt_a|^Mtahn zRX6szrr1PF-e0j;+m5#So#@OSMyEr4eEuA?YR)v?sF&cS^-XT`PjGMzA`{F6(V z*E|k247pV5BhG~e5%qfiwjt;+Ap93r<|{AmIlo_{1GJbUZ_N-`adlqltwthvvM}eG z6&!M59Za)V^aCMZ3SXSz`8j#ltGe?rbhq*hc9#JA7WJCR+Jkv8CmRl72F^u~yut@L z9G|1nTbhN@B47b;m*CHi#m#-qKhF=El|A<+6A4cV@3MgtNfaJ+UyQ>5#F{WcQA#NO zH|xxAn7$ zT;)Rmy1c%cD*7GmJeP91yXbpiGS_13A`%*O_VVM+0)HM4S&vyCGF``ZG>tz|uTMRV z&q?ub&Y%r4D?{m>{p%on+ToYWcWL+QP0NDGkB_ddc>)US5_qYYNZU}1|FEIYxYc6Q zq`sv0;KKZ)fw`qOt~$8jq?<20X0kCOAb5;mci#WB_tjr*JkXc8JH>;$LveR6?(R~G z1$TFf7A+2?Sb+h9v|pHn2#-2J7odqu1%p4eP#t5VL78l3rX?~7$E#@xEbR2l)h81^RE*tO#txSw zrwj}L`EJT%vhAFFucspMS|0myuM3n29Xp&E$49@r{17og*4y}!ZYlHv0xhv~o%M6% zQQaG*a&d}4B)T|H_)z)$G(4)CbA2S`L8MjkT6sXhKCK9t{X0U-QE~GJxdX`xL+%US z#wt_O>+tU}jv%18+*hH%PRy<{h%T4bo;0LFj>!mj`mLlc7dBCV1@lI5*sN5Wl7JF7 zo+fiPE}GV>O)7usR5CAh@K@F*k#d}6K)3o-{7+aM0uY|b=SIGdDz@3ZqtN?sZC-QM0gt6m1NSx z(w&6%WKTT?5`;@sTO3r1FVVGI7=<@RSX*7ky-F(~njz(q{(aSg5IGw}Tqy0lTLV{G zH5Mof>KUx>VWhteK=tk@FgTtap2;Z*gJ??wV3}?bf$~K!m%3-dgQvh4@I~&Od7StK zkh+N}LsmMx9Bm8?=7#lar*T|PUGHxSyL>HITY@x2q@}IllA_|M`Q!?V{LfiGe8gl( zDHeX4iB_&KZ)XRO--P}TE*|)hV!kt0te)>B9r=Y_kh)$^Wjo|4StyFvUyz?hMlj_~ z`Um2bSrm_oPSFV|r^Lhhm?Yv4J+`7-i7--eJLRl(E3c*jcpfx;Xis@jgaW{dG6b|! zxFN&e&G-M*Jyh`8Ld<)@E^|FI5h!}T^lu&v8fHZdvp0{}T3nQksMY6x+a>D#X1y*z zF@lXNrZ$erU$*#MCs`+56q@%omF)_%K^x*b9Nd}wbwjVatcU{pY|%p#w?@)Y7T{%HM7h`{dYY?1SnFe#GTe@3E_Fi_iRVL zPZZz`8o})V4yss~hA|F3RO9Zmu{r}F(PJ*J_58{?9yhJ#^OAv8)|p5Y#3A_$nF~MA zLgLTU1Xuc_{)8V(1XhixW#=XMm{seZO`08ARXN{!NUS1)q+|88;Zc)b4qa^8R(*r+ zD1nfK!11w7`SIlQ1i>?(AlGvf@ZZm#$K7`?t% z2&c_~k3V#se`hf6B)%MWI7aqVQw2Su+nQBYR8Wk_V52GuC)x}QD%=Bmh#W&UU`zLv zFZX;swtw9S%kl(60(p?=uHapa2nG>o?6%U#F?miYBij-YJAq{NkfD8|2d!l%TiU~}aUN~4q?v8*85Vys7W+xpTS5o*VxL_j= zSL$y4^MnZ5yVtMRiuwFjsUgW>>xp&ZU-T=qEwW_sk?AbbO~DH{E7ExF3)0m;#Tw;| zj}JM;X6@zBoC<^k#%7Z_OuC1gYaGk7=~P(@FtJ2mQ#2Q106u|C3Wr*=nQiLM*9M3s z$B#WPy@OsO#dTTg`{;PqF44{-C?WgMZm0_h-%?@=?+a;RQwSn}`V!p#99nhZP4 zy=D{-5)WQBQ!+MQtb@IK1Eg~NWtnzmO#eA*IQgHne*Qa*9NoD&iXnzRPTgl zz45ur1GYIXdG9l#rJn{@uSs+AJSMQ4{q&}hp^Ob5vgo&;J5-weTws=!*E9F2dpg{G z?r;$WM6a~+u1Kyh!dq-xO2V3;U%N|Vg&W|Gz3^4rpI54k)?G96YZm0@X3jQQ_Jxi{ zUxFYBs_N=T>%tmOgM+Y#xq8zum+xN|`^Y354(-K)?N@H1qYCr%R}{uytx`}Rh-Z6E z=Pjt^`3KOHmTc;?!%!0a={YipwdkwpWfP}QFjM8;gGXxyNpsY@430z{;A5BE8Yq~wgeO2-M#cX0vaR5z-Tk3iE z!#36_?FS4(kTPBon^?%)vSqhjHLD%HI3uO`XaSvhwkX!1elx}0;#8P5mf`xpt;?2{ z!4H7_i=T&^89Pp%d6_~rT8ZA44gW&L0@>9!FJg_B!2YI#1?>0v3-favzlEXc;uC-o zk@N?pX+KYs;WB8k^M(z`3Iq?MK^t`|X@s|&dErvdOd@y-#w)d@W{WF5~_YHh2c2HAjGfaPUE-+#58yBt8{1LG~j+6|ID^m<5|I--x^&C7uWxv zmt#8Nb!Lp%?&KlDmkdmGr0<_;@rfKN#$`{H0=PinB0`6Y@X!wcFjR5YwdlkvzhU86QUVtFS$;q*NUYEsg7~1ak6f5Pv()t7peY>s? zc@=N@rX(FRkrNRs&K@!UCeuD|=_*0fD^tiDBGjYau)Z3)bMLm3miH(%10EI3GfA}HQs{H0&29T#@CivKvJ5#1$({#Mj#n-k{ zs6%GvP38;8Q(4N$6q7YkFAD9iK1fms`zv=~C1DW|nWOj7H3-gf>(+2|RA^J1j`+^q+W&OoC_we0 z`Z55^0U)G*ls7;^P5k$!0A?es7*LJnvm1`b|E~(D#t{^+|8(-(By3-JGR1Ytx7P=7 zU@5>;y{Zp?E}k=|h})Yarl|nWs`y+kpqC4?pbfub#*)Xp=5s8@(aWLcqbZ@mlG@xh zw15K1$X@Z|rKP%f!B@gl|A#`q_w#29o0=cX#P9X+*>i~L^#VQ^N1r90z)M%{S#2W8 z|Ah8uen(SMflK?>=V%u`EpeJcK})3$^v_V)oZx0N5c54Mog031bfm}g07iJ%_OWNp zfMJ{MYYmnNJ~FQ^0fyE2d%SW|<HS6@&_>7a~ZQIgG6^0B>*&;40~_=< zUyOwHh=8gANP9oXXh;@w6OVvzPd6?zrl;2&>>NT{eOK<)Dooq5bSvS7aior?%0$m+ zd38_QfQ;`7n0sSug=2mf8414y#yj-eZ; zvpwv;TjQtY&>P!t_MTBi@&ft)T2D)9kFMi^@Qy~{$Fk}}!lPyvW>KkiQh(-^|AUkN zC$~Tt)(VXakH#ZfGYf3*Gn{y@NHtI7`rSEa*-9dE8=KrRxxTWY0atega4c^yonjf)VcWf4!o zFKD(E%<|PAnz|tI?T}91_?9M`q9PU%4oL?bWf8}M)o;x`NjQe_Y4@XO8eDjLuGIyO ztegR`e8}|!kY^H!<46P3_j;-}(^^DDJ^d#X>;`_9*)3e4{-0uCWR?Q5WuC9-|Fo3%MY#s=}4Fw_(-XfCU>sNxHt52wJ-r+lo@QiC_XH}O& zG(S#=0_ym7#+2g0Mu6_#D+{z8p;C6+v~pp|r%_FHVT_T8KAD#q>c<&e^^x=3#?7nP z*#X(kq%`s{(0Rc_ohJbLU$4O^!DQ0ynf(SFY%St|lIe#W)U3ZvyKDhp$C3m;}* zOd_ku2n~FuefV%?QGio|?P)M!>V|z!QH7;4Za;)dg@7mc1VEmW@6oc1eah>gh-@Q- zfQTgE%qah4bu;JPf2Ad*PLeEr+k8Ng#t>btR2YXc^rxLZrG&2;5fM@Ck(ggKiN#~=pS~AuT?Jr@LFzF_ z@AV$mzZ?1-Lz2uZ$$Ld>>!3RX-Z=8R1cbcZnNGsaGvD4<7+UZ;h$co2O7Dw>#{i>w zlqQ}9Z!M5oHdlH0)U3!?vh+Z;d3{;ES*K;G!1pQ>+fo8o)czFB=o@2NnQ_>7&okvl zr%tEulqKAj>YprGAKyVcCzv@2KFl#TEAK-~)kym9+X|@7fo85qp;8LDkEH$XS2eeA zqZ@3}+Yn?t&$VlnPpH{?C7ZO?xl8$d6m(hD>HD{gt&PV-t2IBF;U5uEvFG~X{n2O` z#J6MPytx&tm8+5_EQ1N*WNU+8G17ef`?md^1lv3Bcois}9E^ zfxpTFJ-3r$Ox`12XB@dxKom};Af)sH#lSO!$FEFB7AL`!)hull`*plyr;Ylo5uy9v zu~6x3oX?B%0C9jCw0CF4Agi>iA%gHzvtDXxgt4qz14|9(yvLQD1Qp{6LerF8V0DQX zx$JWtpRNDPnH-h>dg()KGU*+ktTEzKDZ7wz{e@_^IBp5u6*U9iPs^`7XeguI-{kb% zau?Y3a>wfQWQiCJh*oV>HfY|q`Ete?`Vv_(>miFXY$1!=Nyaq`lxpc^%KF^vFRp*x zz`rfRaA*fo1n4HQFqeSS!mc4u-8~Qzm|y`qe2zm9>agW#j-f^UjZFuUh4!C2BR|iA zPI`oV&S3V8KyuutsM-hqzgPe^4z_2TlU~GafB4HP(VL$air`no#Q7Z{MKH*J_7*9+ z@jWc}3GI7;7C5s|@|~W%MQ8;4h$+eHT;C(KZ?9rJJ1-X?b!dV_Y!Z>s8-E#4w$LUb z`op0KlD$GzS{I>r%QqFH-{Fz)T2TSZeL;Dt$Vfh*5R~i3ImEjxv#>u%7pmT^+|2eZmsppF zB_*aT5*4TYs`Q$#_sh=AM0#-pv`Jp5!X*EZyXC&sz9}DKF7me-*_)}Hq89hwl>+AE zPurg-^2hm_z9sJk!|d|3$-Df@g~w(a2`k^jj9Nq~N384TSa0R5e-;RsmXgZ@JNB*s zVTwFFj96hwh+pr6#AetpBwoIEb!WoBhGd)~2$Tg*2E3k=maW#wl^FGv__X8$mveNo z)8H^FQ7@`o3>*>^_K2EOq)b4 z+U+d0Tr=_ndc^&9riG>|epsm0afg_I7sB5J+rl{y9x@=G?v?w@I`2 z9k9knDr{%*Z+(Wt15C(5XD#pvd!{lmZ7MOV_7$+&QT*lGpRjc+EwD!gE{{Bz$14ht zI8R59_<;zbz^6mJncs=^x?wkD_{Ofm-2GdW-8Eu$hj^+1v5P|ivqDY)xnAyv>Y=;R zAw|*=8Q)h$C=H0hc(4IP+N4DF*q6g;yVQN~wBN-!=Ik!7?Zo%+bDni4XE>eJX5&H2 zd`A8keW2n@!6kid2ZCO`gx>)=4@j{ln@n$V`MeiS*Ko=3h-j$p?>?zBQAk@ zd5#YD`TQ%B=AFBFO%8bzs1?6kO#O6=wY7}w0`)fh;P6qHeg|Z!%jtMm%cBUxAgF`b84q&riYDs-PKoAs@&Tn;8x$DOM9%9 zor7V`i;`nPmYIJP)=rB*MhNESei?p}uxO#T$TLPD;Ud4K43Bw*KmaU0jyPmH6FDTu zckn zHf4mZvfy>|co+@;)jfrK-WN7mrdu*`)Df8;)O=hrBhyxkcZ=$6D}Xvseyz1O=qHv^ z%zDDtQLDh4qop;Lq~zWS6wm(1TJWGtc=XGoovF2WIh)gj#z?@wxQRd$9&^o_y9JNz z+48n2y3M57X|chy%`Leq2;J<7@Xv!%Fo%oejzDHs7IuD@)9={E>gqlXGReoW5}BwT zIA9`m7(-Ah$D4*SoCOVR*N^QVoLtTb#F2cLozrowf$S?c0*n`mij{IR`rvvf4RqpLLMC!j!AKg z$sIa$OFHWk50j3u$_RVd)O-`~39-!L$5B<$jzZk14M&A> z@#`I*68%M=*N)%@;M91n8EKH~dAR|U7U^?DEe!ol{4psoJ0b6{vo@y&Txl(Gu2g!X z!pW>Y4)}PYve&HLueHX2EhnJtc&}j{E?eFZ`#;oKn+1pn zQ<684@F*U%j3lW;R0Pq3>&}E)9!0l8soIpUYa=@o0LBI%=k{Ib z6v0^JE`cUj2Wx%Zh9{DSA52@G$K`ZC2WMwzUsn!9=|2CebYJVcKAyQzZCDMd|0fx9 zzRsJD-*bOO;fLcg_u>ekP?Q9M>H^fVvB*W8^^8v<5MLJjPS@2!P_R4y_?=pn z*JJUBzlvA-oP8D@&b0_eKsihA{`RF?Ru6&Xj(l$hj=Fywk6SO=Jk7{>tig0b>qQ2h z)>x+sCnDT6ZRyl$3k6km2*Vv+*xwCM4I-+^IB5*@giqlH0Q2YEK-I$zyz#fMy?3j= zLI4Gj7YTqX$^W*ic6xdepi*_iV&kgtXd(#~bvpH*W>Q1H^qx(#@2{5*?SP(YC2x1> z`4-S$h8l#wB}0Hk6h8$LebV}6&~G85L@ zG%+-X!+<+jtNBB%Tpacb9i#oiROiic&k(qvB4zW14oSREP@_H=jkpOanldIGJjwB!4C*z{__Ta@csMfi z?OV-f&8eD#g6wQ63JQudY$3Q%TbQ?~Ha>}{<3J>`VBF@0G4i!0XH1OwTt)_!ns%uR zD~r}BqCA4^xsjyZ70i;=P`fZ`PM%6~+CNr<}J+aP>o0&^yS%(Ms~ZIMlr7g}Dp7 zVi_6C$=n1t?056^KFS&V1lZ|6=#h5bQ|Xdhu6b3aydA*(+y zTv}JJP+?%zJ8Q_4(u+d5-w6pCq^Hxwq2N7l`OVwd1z~1(G~u|0cNipyId}D^N$0FP zmRoI|=!yM$$q>1WI;cb)e4BoL$v0J#Wm4tv=bKNL$#K#O_3oy$J4!c}nN!+kKP8hV z(XIlTKWHBr$1WUMec?9liNZhG1CtycUvNeoXNx^CF$p@qu*pjsP*#v3N~W)}f*cbA z;q-kd%wVwY7Vlj*5x?)|7A0@{`Kz0VCT+lLXNvn>$>kH$8;&g_@|2_!V9H)h@YAxMOAbA6@wadYBmsdBZmgT-$#Ki<>f zaAsBnfCkjVMPcC(u=Bzx{)>nx)929T+p|59fB@P8Lxs`;?yA>`1FN2GOF?*bXOhpg++<>QWj5*6|o{v#RZ zqaOh93H#@cV^@&C;)+Xr(biHOWD-hx!h|27A%1+fdZP?d-XdqeFUQ}qQN|rXdy9)y7?7xC=hpc zjoN<%1YTs!w4VDd3uo;N*ijX z0RjpkuzZL{4;j|)Rfn#n3A#T%Ymfm+Sa0A{rVlB0Qv<9?U0GQB7cxFa9FgGLufMfQ zwC;OQBk>GouaA~iIP2;O^G!^)d&Tj3U^ch}a0ynqbnytQNS-95L1j0>9)FW=c!@|v zQkrNRT%9$Lqa*v`isQQMf~)br$?8KFsZz|$(6&`rt1DI2#w~M2efH1;UMrcum&?mV0ZGJn zLLDoiLE7n9U2iuy@X&lqX&zB!mD+jNBML~qPX{3l6z&aB9{A(ZGV9IDXbDGH;2EQB z4<`^h_hL3g)pj=*SK_*Ec$u8U&HY|6tzvss%0>xZ=Nnkr{MdGGe^C?pJ*9thH$EP8 zZJ~F$8-|p|KYx77=kVhW*%4A$@&gVDA-~L)`tDQsP3hYPs8L7&D3IV+5&e7Q z0X=*E1X(S!2rXiA;-CX$8B(?4poqWZ3s5i@YUvc%i3)YlpnVsW+vT1)K@JBqRr=<3 zsl2Q#j5LSG_Zq;$4fa@^bmZgnZH=+KDo3`=9Y@SE`h9d{dVJx()On9#i~IpiGR_P| z6e zZKYDPww~h1Uy%wrHham^uYDXhtk3){hbRUEkBsTxV{k~M7XX)xoJpW8Iu7`)9YUmZ z#4rR<>>G}N&&w4&z2tkTIQ-M2gl&Db9Uz_lAU(rcbLwF|?_2z?l#Ky$HT*k>8}ef+ znR4L4gww0TS30;-btCor&kIIktDE- zyU?w3e@W<%QbU5@5->jH`0_kFB0Zo3kg8HA?agL(dmw8s=^|voT zb_YC*2Sre0$8KX1-@e=5FFBtkVt*v#`}{D&$M*!NvZS2_Nw?z-m(H)A(*(lMuEn3% z_(UkiWLt>tgL$&4vy51_dw2dEOinEA*EPsL7(0PR)DazW-iqK{dOC?oYZ)WEGc0WW z!WDh|#?()fTFysDcb=SHUKR`hJ&ixiOrw|wY-f>lGOLvav%l`&^R_VyXl#3`Y3p`9 z3N<_ItD;kDIF*$qKV?X}=%?hC)uW-qL+d8^IXlRLz04aay;P0eRO zER7RzY)Hq~td)BFcq!oWc;g-X*x3H*)BHIm1{Fs`?hSKo%es3<)43!o8`s{K+BKHV zLF_@egmwH;Z*%2?Zl1Y2D#+gpx_hPQT4{!RDO@HT^>l7I4Xj-01=Y3-Gi+npt%Q6W zPJSqG_v}fR+|eJ{+{Hw%@4s=P~G2Zx~T7!1k=FdHf(+XxZkUUgkqls0;WId#0{las~a-) zvSfxOn-R3f;{y8nxB=a(lLk4ab7f_N?M)-jru;Z532Jz6_x7AMkVJ6a>nWum zZeZ{uO#aM^F;g+@U3tc0>qF4jf3yi3S^IsyJUZrkU&X%R-JZ%Xsp#R~QZ!pb!WCbc$v+3Il#f)I>Dpd+^QW_lZ zR4F1tzRwPW!wI%73JP)v!!ixovUl0C#w=NsOT9h^Qf6+cq7-W5ahHm8GtI^ZmE?p{@4p z21YwS^9TuzLWy>~MU{YY1+7LU9|7YZ0c-(2P(?+|b>v|FImaCYfiPh^vE#ySt71LE zsgz@a0v%7a;ZrI1=8-Eyw<3s~wbWmh{X#K?gF{^QdD0K{huqNMHXOJrRW3HR`lJ+z z%;Jk8)qNxVz(tMsFqp}6AznxcGCZe|%VV7Zb*3a|>D|RGzhlizQsu(t$omLgU41Tv zEHQ-{%TjjWEJK+XQglzKz&Qz|Lh(qvN5Qo%%xi983K^gFI(uN5?q4&wv>Ge+>?6K8 zF5G)6Xn&q4w9GTqGV;!0Tnh{~D5`*DxMz*C?~FOE$_M!11r+>E-u0q1ajI$K$>Cyc z2oySfWA2vv=O*fjqbio1-yaQ4PB&TFPP~jAgcOOLZX)7F9fgy=c^Vg^P>=!=e1z`) z=ItFGW(cYud2J%nWqnarw_L7uA7w_Kn=UW|ox9F!bG-;y*$aFv6Tl)%ID!*LN=`-l z#h{A?oLNn!BqI|c#m#-IhB-8m zfY`afmwH@g3`2aehdV%mN)HAenC#@-OlKU*IXNcBqfg&T`^Z#5LU zGS_SD8_-<_-PYzNHDXV4XgSR5kT4bzVJ0LXpqiSTbi*3n?4v-d(|S+heYRCi{jxYTnUy?ua_s-+!9Vgt=|bgCspb~z=Qzo zZyRL>weVv}`{txrOnLJgMT?56cKPqv3L3{8BHq8&FT~TrZ@`nAzl!9v$C9>0#{7Rn zB7#SMef7BX1W^(ZJ>}otHmX%>OuWDH7yk$;-3}qGFVnj3SRW_nQX$}{HwfF92kx$fGGKJ9(=%qbZjWE9AQijtF(+zSh`d9Am{0>9i< zw8@m_2J}-8>d08yWyA(xGNze9XeP3XCJYN#f6X$uJGtPE*BB%)vKv%Ujn?ctgU9Po zM`|1TxPUZ<@oaQd7q)P=3Cl9HAPV!}(mqSFT;Y6v>W6Q%op2b-&Hkna1T48|Z7ZkYqR!Nmrqi zk_);92HC15_0@b&`EQKm z4BMtk(c*R9Z?E_zMYXMQ;jDlwg}wipJ7-W{Os4r4r)PzvNMF)&a0XZO;Gk1(QIit< zAtDgny{)R+{c8gmHkY7fWNcbCPWf6*41Aj`uT;Ybi>KmLexhUN3qEy}wzN2Iclvnx zYSe>BifL@cmDOGAoV;5S=dOLhTUSEEQMgYUkLQMdNv61zI-{G{VkZPr;vUj2o?Qz1 zJ}s(r^JYPmo@CBANO$ko&&}~vm3K>yBWO#DW1?{ah3GsN+`kWxbOG1B12IVs?tB2~ z(v9^MMnzxZ#9z5*XQw2{MY&>5ZBuK9N|B*4Yffh7*plC2CUw}kO5;sz$ZJ{SuA5^b zDKYWUwiqsmkn|{1ypO!gPlhRLAOPcO)u8nKWY-7wa)DI_0d0 zmDP{mX}@GNW0d6G$cO~~@LCUkYTw`A=ehO(jF6Zx{P&`|qNk{~-V-VyRBW>LYkjT5 zG4=5Wq2>?wo{JR!hZVo=2OR3`cN7#O``8r2MLj_yoKi0xPD|euI80jKEPxoxN}Bcb zxGXs4=4PvqBA_8@tSUhN;nQ2qjCnY;#j# z@Rq@cXEXMX=zA&=NvG4a%CE9OK$8Dio2dUvp|-}xvp}{~i|ZATPoB!g`nS3Um9|z_ z+sfJ6PHEz-vYjmTS=O)3ejz~hHa9Pzd?=~A|WE>qTE8ot%^wt&)O6lxu zw>cL7k{-e$8R`-OVAQVx&B64l`TIC!D!_=Ir9j(l7+JD(@gSrQxQ4uZCIZ7;bw4cs z`okv3&tG&U>HJP%Zy6&!w}2xxKH;oVef*G>gX_%nye^dEi^(@{V@H$w*){cCVeqxC zrUVi30?-61(PGKOG!K@f&R8nXH>+pPUp`K`!p4>WEas^m(qp!?z`$KwbI#1b?5A1q zy25q?Hsa{~?wu3>Jl;MbWMYt#;uW|`fK5-Mvb|>CLHT|YhqUAN`{3WpCdnW$yzVZo z*lzvv`LiuH(C_Np**T7#n>%iyaF$|k`0}_W5p*NTtujr`pz?=PMW_Km=zzX`{yUf2TJ_NbpIEXgzY5mTt^d4Z-rKxEJ`wfQu0$TUuaVSd0C0R;m&> zLt2SQk}3rr;xHVqG!~2H3= 10 uS TTL high pulse; the module then emits an 8-cycle 40 kHz ultrasonic burst; Echo goes high for a duration proportional to range (uS / 58 = cm, uS / 148 = inch, or range = high-level time x 340 m/s / 2); measuring range 2 cm to 400 cm; recommended measurement cycle over 60 ms to prevent trigger/echo overlap.", + datasheet: "https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const HCSR04_ULTRASONIC_SENSOR: ModuleDef = defineModule({ + id: "HCSR04-Ultrasonic-Sensor", + name: "HC-SR04 Ultrasonic Sonar Distance Sensor + 2 x 10K resistors", + version: "1.0.0", // audited definition; ProtoPart source version 0.1.0 + manufacturer: "Adafruit", + part_number: "HCSR04", + description: + "Ultrasonic Sensor, 4-pin, 2-wire with a 10kOhm resistor divider on the echo pin to lower the echo pin voltage to 2.5V", + // ProtoPart tag list, deduplicated ("sensor" appeared twice in the source). + tags: ["ultrasonic_sensor", "sensor", "ultrasonic", "sonar", "distance", "adafruit", "breakout"], + categories: ["sensor.distance"], + + interfaces: [ + // All 4 header pins in header order — schematic-honest. + ...pins, + + // The composed sensor function. + ultrasonicSensor, + ], + + interfaceGroups: [ + { + id: "sensor_header", + label: "Sensor Header Pins (all required)", + members: ["pin_1", "pin_2", "pin_3", "pin_4"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Main power supply must not exceed 5.0V (ProtoPart VCC power domain). The source JSON specifies no supply-current figure.", + voltage_V: 5, + }, + ], + + domains: [ + { + domain: "electrical", + // The ProtoPart JSON models Trig and Echo signal levels as + // power_domains (a schema quirk carried over faithfully). Descriptions + // and the isolation/ground fields have no PowerDomainDef home and are + // preserved in metadata below. + power_domains: [ + { id: "vcc", name: "VCC", nominal_voltage_V: VCC_NOMINAL_V }, + { id: "trig", name: "Trig", voltage_range_V: TRIG_INPUT_RANGE_V }, + { id: "echo", name: "Echo", nominal_voltage_V: ECHO_DIVIDED_NOMINAL_V }, + ], + metadata: { + pin_count: 4, + pin_order: ["VCC", "Trig", "Echo", "GND"], + power_domain_descriptions: { + vcc: "Main power supply must not exceed 5.0V.", + trig: "trigger pin, works with 3V-5V inputs", + echo: "Echo pin outputs a 5V pulse, however this is lowered to 3V by the 10kOhm resistor divider for ONLY this device", + }, + // ProtoPart per-domain fields with no PowerDomainDef equivalent: + isolation_type: "non_isolated", + ground_reference: "common", + // ProtoPart Trig domain declared its 3-5 V range in + // `nominal_voltage_V` (as an array); mapped to voltage_range_V above. + trig_nominal_field_note: + "Source JSON expressed the Trig domain's 3-5 V window in nominal_voltage_V; carried as voltage_range_V.", + source: SRC, + }, + }, + ], + + traits: [ + { + // "+ 2 x 10K resistors" from the ProtoPart name: the divider is a + // bundled component of this specific part, not an optional add-on. + type: "bundled_components", + params: { + components: [{ kind: "resistor", value: "10 kΩ", quantity: 2 }], + purpose: + "Echo-pin resistor divider to lower the 5 V echo pulse for 3.3 V hosts (see implied_passives on pin_3).", + scope: "for ONLY this device — the bare HC-SR04 module does not include the divider", + source: `${SRC}, metadata name / echo power domain`, + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "HC-SR04 Datasheet (SparkFun mirror)", + type: "datasheet", + url: "https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf", + }, + { + id: "art_thumbnail", + name: "HC-SR04 Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/HCSR04-Ultrasonic-Sensor/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + // Presentational default (the ProtoPart source carries no node_geometry), + // matching the ESP32 reference convention. + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/icm-42688-p.ts b/library/parts/icm-42688-p.ts new file mode 100644 index 0000000..60042e5 --- /dev/null +++ b/library/parts/icm-42688-p.ts @@ -0,0 +1,1164 @@ +/** + * TDK InvenSense ICM-42688-P — datasheet-honest part definition. + * + * Primary source: ProtoPart audited definition + * (ProtoPart/protoparts/icm-42688-p/definition.json), itself sourced from: + * - ICM-42688-P Datasheet DS-000347 rev 1.6 — pin assignment table (pin + * numbers, names, functions — copied verbatim), host-interface speeds + * (I3C ≤12.5 MHz, I2C ≤1 MHz, SPI ≤24 MHz), supply ranges (1.71–3.6 V), + * Table 3 (Section 3.3.1) low-noise-mode 6-axis current (0.88 mA), logic + * thresholds (V_IH ≥ 0.7·VDDIO, V_IL ≤ 0.3·VDDIO), absolute-max supply + * -0.5 V to +4 V (Table 9). + * - TDK application schematic / Table 11 BOM — decoupling (10 nF at VDDIO, + * 100 nF + 2.2 µF at VDD). + * - AN-000173 — APEX motion functions (pedometer, tap, tilt, + * wake-on-motion, significant motion detection). + * Nothing below is carried over from convention or SDK defaults without + * attribution; values absent from the ProtoPart JSON are omitted, not guessed. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 14 physical LGA pads are leaf + * interfaces, in package order, with ids "pin_N" and the datasheet pin + * name as the displayed name (including the five RESV pads). + * - Every pin carries its verbatim ProtoPart/datasheet function list + * (name, direction, signal class) in an `icm42688p_pin_functions` trait — + * display data is separated from the canonical capability tags the + * matching engine needs. + * - Instances vs combinations: the four host buses (I3C / I2C / SPI 4-wire / + * SPI 3-wire) are composed interfaces multiplexed onto the same AP_* pads + * (pins 1, 12, 13, 14) — mode-exclusive, one host protocol per board + * design (`bus_mode_exclusivity` traits + a one_of interface group). + * - Co-requirements (`co_requirement` traits): AP_CS tied to VDDIO in + * I2C/I3C mode; AP_AD0 strap selects slave address 0x68/0x69; INT vs + * INT1 aggregate mapping on pin 4; INT2/FSYNC/CLKIN single-function + * rule on pin 9. + * - Implied harness connections (`implied_passives` traits): supply + * decoupling at pins 5 and 8, I2C pull-ups to VDDIO on AP_SDA/AP_SCL. + * - Usage restrictions (`usage_restriction` traits): pin 7 RESV must be + * tied to GND; pins 2/3/10/11 RESV are no-connect-or-GND. + */ + +import type { + InterfaceDef, + ModuleDef, + ProtocolDef, + SlotDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import { + Ground, + PowerIn, + SPI, + I2C, + defineModule, + clockFreqHz, + voltageRangeV, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — Datasheet DS-000347 rev 1.6 via ProtoPart definition +// --------------------------------------------------------------------------- + +/** VDD core/sensor supply: 1.71–3.6 V, typical 1.8 V. */ +const VDD_RANGE: [number, number] = [1.71, 3.6]; +/** VDDIO I/O supply (host interface, INT1, INT2/FSYNC/CLKIN pins): 1.71–3.6 V. */ +const VDDIO_RANGE: [number, number] = [1.71, 3.6]; +/** Typical supply voltage for both rails. */ +const SUPPLY_NOMINAL_V = 1.8; + +/** Host-interface maximum clock rates (ProtoPart electrical metadata). */ +const I2C_MAX_HZ = 1_000_000; +const I3C_MAX_HZ = 12_500_000; +const SPI_MAX_HZ = 24_000_000; + +// --------------------------------------------------------------------------- +// Datasheet-honest per-pin function metadata +// --------------------------------------------------------------------------- + +interface Icm42688pFunction { + /** Verbatim function name from the ProtoPart definition / datasheet pin table. */ + name: string; + /** + * ProtoPart direction convention: "source" = driven by the ICM-42688-P, + * "sink" = received by it. Absent for pure reserved pads. + */ + direction?: "source" | "sink" | "bidirectional"; + signal_class?: string; + description?: string; +} + +/** Verbatim function-list trait — the honest-display contract per pin. */ +function pinFunctions(functions: Icm42688pFunction[], note?: string): TraitDef { + return { + type: "icm42688p_pin_functions", + params: { + source: + "ICM-42688-P Datasheet DS-000347 rev 1.6, pin assignment table (via ProtoPart definition)", + functions, + ...(note ? { note } : {}), + }, + }; +} + +function powerDomain(domain: "VDD" | "VDDIO"): TraitDef { + return { + type: "power_domain", + params: { + domain, + description: + domain === "VDD" + ? "Analog and digital core supply, 1.71 V to 3.6 V (typical 1.8 V)." + : "Digital I/O supply for the host interface, INT1, and INT2/FSYNC/CLKIN pins. 1.71 V to 3.6 V.", + }, + }; +} + +/** AP_AD0 slave-address strap — shared by pin 1 and the strap interface. */ +const ADDRESS_STRAP_TRAIT: TraitDef = { + type: "address_strapping", + params: { + strap: "AP_AD0", + low: "7-bit I2C/I3C slave address 0x68 (AP_AD0 pulled to GND)", + high: "7-bit I2C/I3C slave address 0x69 (AP_AD0 pulled to VDDIO)", + note: "The host interface supports only 7-bit slave addresses 0x68 and 0x69.", + source: + "ICM-42688-P Datasheet DS-000347 rev 1.6, pin 1 description / ProtoPart compatibility notes", + }, +}; + +/** INT drive options — datasheet INT_CONFIG register, verbatim from ProtoPart. */ +const INT_DRIVE_TRAIT: TraitDef = { + type: "drive_configuration", + params: { + options: ["push-pull", "open-drain"], + polarity: "programmable", + note: "Drive type and polarity programmable via INT_CONFIG register.", + source: "ICM-42688-P Datasheet DS-000347 rev 1.6 (via ProtoPart pin 4 notes)", + }, +}; + +// --------------------------------------------------------------------------- +// Leaf pins — LGA-14, in package pin order (ProtoPart electrical resources) +// --------------------------------------------------------------------------- + +interface IcmPinSpec { + pin: number; + /** Datasheet pin name — used as the displayed interface name. */ + name: string; + domain: "VDD" | "VDDIO"; + protocols: ProtocolDef[]; + /** Canonical capability tags for slot matching. */ + capabilities?: string[]; + functions: Icm42688pFunction[]; + notes?: string; + extraTraits?: TraitDef[]; + /** VDDIO-referenced logic pins carry the supply voltage range; RESV pads do not. */ + withVoltageParam?: boolean; + defaultActive?: boolean; +} + +/** Build one schematic-honest LGA pad from its ProtoPart resource row. */ +function icmPin(spec: IcmPinSpec): InterfaceDef { + return { + id: `pin_${spec.pin}`, + name: spec.name, + pin: spec.pin, + domain: "electrical", + exposed: true, + default_active: spec.defaultActive ?? true, + protocols: spec.protocols, + ...(spec.capabilities ? { capabilities: spec.capabilities } : {}), + ...(spec.withVoltageParam ?? true + ? { parameters: [voltageRangeV(VDDIO_RANGE[0], VDDIO_RANGE[1])] } + : {}), + traits: [ + pinFunctions(spec.functions, spec.notes), + powerDomain(spec.domain), + ...(spec.extraTraits ?? []), + ], + }; +} + +/** Pins 2, 3, 10, 11: reserved, "No Connect or Connect to GND". */ +function resvPin(pinNo: number): InterfaceDef { + return icmPin({ + pin: pinNo, + name: "RESV", + domain: "VDDIO", + protocols: [], + capabilities: ["resv"], + withVoltageParam: false, + defaultActive: false, + functions: [{ name: "RESV", description: "Reserved pin; no connect or connect to GND." }], + notes: "TDK datasheet pinout table: 'No Connect or Connect to GND'.", + extraTraits: [ + { + type: "usage_restriction", + params: { + restriction: "Reserved pin — leave unconnected or tie to GND. No signal function.", + source: "TDK datasheet pinout table: 'No Connect or Connect to GND' (via ProtoPart design rules)", + }, + }, + ], + }); +} + +const pins: InterfaceDef[] = [ + // Pin 1 — AP_SDO / AP_AD0 + icmPin({ + pin: 1, + name: "AP_SDO / AP_AD0", + domain: "VDDIO", + protocols: [{ type: "digital", roles: ["input", "output"] }], + capabilities: ["spi_miso", "i2c_addr_strap"], + functions: [ + { name: "MISO", direction: "source", signal_class: "data", description: "AP_SDO: SPI serial data output in 4-wire mode." }, + { name: "Addr", direction: "sink", signal_class: "data", description: "AP_AD0: I3C/I2C slave address LSB strap." }, + ], + notes: "Pull to GND for 7-bit I2C/I3C slave address 0x68, or to VDDIO for 0x69.", + extraTraits: [ADDRESS_STRAP_TRAIT], + }), + + // Pins 2, 3 — RESV + resvPin(2), + resvPin(3), + + // Pin 4 — INT1 / INT + icmPin({ + pin: 4, + name: "INT1 / INT", + domain: "VDDIO", + protocols: [ + { type: "digital", roles: ["output"] }, + { type: "interrupt", roles: ["output"] }, + ], + capabilities: ["int1", "int_aggregate"], + functions: [ + { name: "INT1", direction: "source", signal_class: "data", description: "Interrupt 1 output." }, + { name: "INT", direction: "source", signal_class: "data", description: "All interrupts mapped to pin 4." }, + ], + notes: "Drive type and polarity programmable via INT_CONFIG register.", + extraTraits: [INT_DRIVE_TRAIT], + }), + + // Pin 5 — VDDIO + { + ...PowerIn({ id: "pin_5", name: "VDDIO", pin: 5, voltageV: VDDIO_RANGE, nominalV: SUPPLY_NOMINAL_V }), + capabilities: ["power_in", "vddio"], + traits: [ + pinFunctions( + [{ name: "VDDIO", direction: "sink", signal_class: "power", description: "I/O power supply voltage." }], + "Place a 10 nF decoupling capacitor close to this pin per TDK application schematic (DS-000347 rev 1.6, Table 11: VDDIO bypass C3, X7R 10 nF).", + ), + powerDomain("VDDIO"), + { + type: "implied_passives", + params: { + purpose: "Supply decoupling", + components: [{ kind: "capacitor", value: "10 nF", connection: "VDDIO (pin 5) to GND, close to the pin" }], + source: "TDK application schematic, DS-000347 rev 1.6 Table 11 (VDDIO bypass C3, X7R 10 nF)", + }, + }, + ], + }, + + // Pin 6 — GND + { + ...Ground({ id: "pin_6", name: "GND", pin: 6 }), + traits: [ + pinFunctions([{ name: "GND", direction: "sink", signal_class: "ground" }]), + powerDomain("VDD"), + { + type: "net_shareable", + params: { net: "gnd", policy: "single_ground_instance_may_serve_all_members" }, + }, + ], + }, + + // Pin 7 — RESV (must be tied to GND) + { + id: "pin_7", + name: "RESV", + pin: 7, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["ground"] }], + capabilities: ["ground", "resv"], + traits: [ + pinFunctions( + [ + { name: "RESV", description: "Reserved pin; connect to GND." }, + { name: "GND", direction: "sink", signal_class: "ground" }, + ], + "TDK datasheet pinout table requires this pin to be tied to GND.", + ), + powerDomain("VDD"), + { + type: "usage_restriction", + params: { + restriction: "Pin 7 (RESV) must be tied to GND.", + consequence: "Floating it can cause unspecified behavior.", + source: "TDK datasheet pinout table (via ProtoPart design rules and warnings)", + }, + }, + ], + }, + + // Pin 8 — VDD + { + ...PowerIn({ id: "pin_8", name: "VDD", pin: 8, voltageV: VDD_RANGE, nominalV: SUPPLY_NOMINAL_V }), + capabilities: ["power_in", "vdd"], + traits: [ + pinFunctions( + [{ name: "VDD", direction: "sink", signal_class: "power", description: "Power supply voltage." }], + "Place a 100 nF (C1) plus 2.2 uF (C2) decoupling capacitor close to this pin per TDK application schematic (DS-000347 rev 1.6, Table 11: VDD bypass, X7R).", + ), + powerDomain("VDD"), + { + type: "implied_passives", + params: { + purpose: "Supply decoupling", + components: [ + { kind: "capacitor", value: "100 nF", connection: "VDD (pin 8) to GND, close to the pin" }, + { kind: "capacitor", value: "2.2 µF (bulk)", connection: "VDD rail to GND" }, + ], + source: "TDK application schematic, DS-000347 rev 1.6 Table 11 (VDD bypass C1 0.1 µF + C2 2.2 µF, X7R)", + }, + }, + ], + }, + + // Pin 9 — INT2 / FSYNC / CLKIN + icmPin({ + pin: 9, + name: "INT2 / FSYNC / CLKIN", + domain: "VDDIO", + protocols: [ + { type: "digital", roles: ["input", "output"] }, + { type: "interrupt", roles: ["output"] }, + { type: "clock", roles: ["input"] }, + ], + capabilities: ["int2", "fsync", "clkin"], + functions: [ + { name: "INT2", direction: "source", signal_class: "data", description: "Interrupt 2 output." }, + { name: "FSYNC", direction: "sink", signal_class: "data", description: "Frame sync input." }, + { name: "CLKIN", direction: "sink", signal_class: "clock", description: "External clock input." }, + ], + notes: "If FSYNC and CLKIN are not used, configure this pin as INT2 output, or tie to GND when unused per datasheet.", + extraTraits: [ + { + type: "mode_exclusive", + params: { + modes: ["INT2", "FSYNC", "CLKIN"], + rule: "Pin 9 (INT2/FSYNC/CLKIN) provides exactly one function at a time; if unused, tie to GND.", + source: "ProtoPart design rules (ICM-42688-P datasheet DS-000347 rev 1.6)", + }, + }, + ], + }), + + // Pins 10, 11 — RESV + resvPin(10), + resvPin(11), + + // Pin 12 — AP_CS + icmPin({ + pin: 12, + name: "AP_CS", + domain: "VDDIO", + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["spi_ss"], + functions: [ + { name: "CS", direction: "sink", signal_class: "data", description: "AP_CS: SPI chip select." }, + { name: "VDDIO", direction: "sink", signal_class: "power", description: "Tie AP_CS to VDDIO when using the I3C or I2C host interface." }, + ], + notes: "Connect to VDDIO when using I3C or I2C host interface (per datasheet pinout description).", + extraTraits: [ + { + type: "co_requirement", + params: { + with: "i2c_slave, i3c_slave", + condition: "I3C or I2C host interface selected", + effect: "Tie pin 12 (AP_CS) to VDDIO; pin 12 is SPI chip select only when SPI is selected.", + source: "ProtoPart design rules (ICM-42688-P datasheet pinout description)", + }, + }, + ], + }), + + // Pin 13 — AP_SCL / AP_SCLK + icmPin({ + pin: 13, + name: "AP_SCL / AP_SCLK", + domain: "VDDIO", + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["i2c_scl", "spi_sck"], + functions: [ + { name: "SCL", direction: "sink", signal_class: "clock", description: "AP_SCL: I3C/I2C serial clock." }, + { name: "SCLK", direction: "sink", signal_class: "clock", description: "AP_SCLK: SPI serial clock." }, + ], + }), + + // Pin 14 — AP_SDA / AP_SDIO / AP_SDI + icmPin({ + pin: 14, + name: "AP_SDA / AP_SDIO / AP_SDI", + domain: "VDDIO", + protocols: [{ type: "digital", roles: ["input", "output", "bidirectional"] }], + capabilities: ["i2c_sda", "spi_mosi", "spi_sdio"], + functions: [ + { name: "SDA", direction: "bidirectional", signal_class: "data", description: "AP_SDA: I3C/I2C serial data." }, + { name: "MOSI/MISO", direction: "bidirectional", signal_class: "data", description: "AP_SDIO: SPI serial data I/O in 3-wire mode." }, + { name: "MOSI", direction: "sink", signal_class: "data", description: "AP_SDI: SPI serial data input in 4-wire mode." }, + ], + notes: "External pull-up resistor to VDDIO required when used as I2C SDA.", + }), +]; + +// --------------------------------------------------------------------------- +// Composed interfaces — host buses, strap, interrupts, FSYNC/CLKIN, power +// --------------------------------------------------------------------------- + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +const HOST_BUSES = ["i2c_slave", "i3c_slave", "spi_4wire_slave", "spi_3wire_slave"] as const; + +/** + * The four host buses share the AP_* pads (pins 1, 12, 13, 14) — exactly one + * host protocol may be wired per board design (ProtoPart compatibility notes). + */ +function busModeExclusivity(self: string): TraitDef { + return { + type: "bus_mode_exclusivity", + params: { + exclusive_with: HOST_BUSES.filter((id) => id !== self), + note: "The same physical pins (AP_SCL, AP_SDA, AP_CS, AP_SDO) are multiplexed across I3C, I2C, and SPI; pick one host protocol per board design.", + source: "ProtoPart compatibility notes (ICM-42688-P datasheet DS-000347 rev 1.6)", + }, + }; +} + +/** ProtoPart interface constraint `requires_matching_voltage_domain: true`. */ +const VOLTAGE_DOMAIN_TRAIT: TraitDef = { + type: "voltage_domain_matching", + params: { + requires_matching_voltage_domain: true, + note: "Logic thresholds scale with VDDIO (V_IH >= 0.7 * VDDIO, V_IL <= 0.3 * VDDIO).", + source: "ProtoPart interface constraints / compatibility notes", + }, +}; + +/** AP_AD0 address selection applies to both I2C and I3C target modes. */ +const ADDR_CO_REQUIREMENT: TraitDef = { + type: "co_requirement", + params: { + with: "ap_ad0_strap", + condition: "I2C or I3C host interface selected", + effect: "7-bit slave address is 0x68 when AP_AD0 is pulled low, 0x69 when pulled high.", + source: "ProtoPart i2c_slave description (ICM-42688-P datasheet DS-000347 rev 1.6)", + }, +}; + +// I²C — fast-mode-plus target, up to 1 MHz on AP_SCL/AP_SDA (pins 13/14). +const i2cSlave = amend( + I2C({ + id: "i2c_slave", + name: "Host I2C", + roles: ["slave"], + clockFreqHz: [0, I2C_MAX_HZ], + maxInstances: 1, + profiles: [ + { id: "i2c_pins", label: "AP_SCL/AP_SDA (pins 13/14)", sda: "pin_14", scl: "pin_13" }, + ], + }), + "i2c_slave", + [ + { type: "display_notation", params: { latex: "I^{2}C" } }, + { + type: "protocol_compliance", + params: { + standard: "I2C fast-mode-plus", + max_clock_hz: I2C_MAX_HZ, + note: "I2C target interface, fast-mode-plus up to 1 MHz.", + source: "ProtoPart i2c_slave description", + }, + }, + busModeExclusivity("i2c_slave"), + ADDR_CO_REQUIREMENT, + { + type: "co_requirement", + params: { + with: "pin_12", + condition: "I2C host interface selected", + effect: "Pin 12 (AP_CS) must be tied to VDDIO for I2C mode.", + source: "ProtoPart i2c_slave description", + }, + }, + { + type: "implied_passives", + params: { + purpose: "I2C open-drain bus pull-ups", + components: [ + { + kind: "resistor", + value: "required; value not specified in source (choose per bus speed/capacitance)", + connection: "AP_SDA (pin 14) and AP_SCL (pin 13) to VDDIO", + }, + ], + source: "ProtoPart design rules: 'External pull-up resistors to VDDIO are required on AP_SDA and AP_SCL when using I2C.'", + }, + }, + VOLTAGE_DOMAIN_TRAIT, + ], +); + +// I3C — MIPI I3C SDR target, up to 12.5 MHz SCL on the same AP_SCL/AP_SDA pads. +// Hand-composed: the ProtoPart schema (v1.5.0) has no canonical I3C protocol +// type and modelled it as `custom`; normalised here to protocol type "i3c". +const i3cSlave = composed({ + id: "i3c_slave", + name: "Host I3C", + protocolType: "i3c", + roles: ["slave"], + parameters: [clockFreqHz([0, I3C_MAX_HZ])], + slots: [ + { id: "scl", required: true, match: { capability: "i2c_scl" } }, + { id: "sda", required: true, match: { capability: "i2c_sda" } }, + ], + profiles: [ + { id: "i3c_pins", label: "AP_SCL/AP_SDA (pins 13/14)", bindings: { scl: "pin_13", sda: "pin_14" } }, + ], + maxInstances: 1, + traits: [ + { + type: "protocol_compliance", + params: { + standard: "MIPI I3C SDR", + max_clock_hz: I3C_MAX_HZ, + note: "MIPI I3C SDR target interface, up to 12.5 MHz SCL.", + protopart_protocol_type: "custom (no canonical I3C type in ProtoPart schema v1.5.0; normalised to 'i3c' here)", + source: "ProtoPart i3c_slave description", + }, + }, + busModeExclusivity("i3c_slave"), + ADDR_CO_REQUIREMENT, + { + type: "co_requirement", + params: { + with: "pin_12", + condition: "I3C host interface selected", + effect: "AP_CS (pin 12) must be tied to VDDIO when using I3C.", + source: "ProtoPart i3c_slave description", + }, + }, + VOLTAGE_DOMAIN_TRAIT, + ], +}); + +// SPI 4-wire — target up to 24 MHz, mode 0/3, on AP_CS/AP_SCLK/AP_SDI/AP_SDO. +const spi4WireSlave = amend( + SPI({ + id: "spi_4wire_slave", + name: "Host SPI 4-Wire", + roles: ["slave"], + clockFreqHz: [0, SPI_MAX_HZ], + maxInstances: 1, + profiles: [ + { + id: "spi_4wire_pins", + label: "AP_CS/AP_SCLK/AP_SDI/AP_SDO (pins 12/13/14/1)", + mosi: "pin_14", + miso: "pin_1", + sck: "pin_13", + ss: "pin_12", + }, + ], + }), + "spi_4wire_slave", + [ + { + type: "spi_modes", + params: { + modes: ["Mode 0", "Mode 3"], + note: "SPI 4-wire target interface up to 24 MHz, mode 0/3.", + source: "ProtoPart spi_4wire_slave description", + }, + }, + busModeExclusivity("spi_4wire_slave"), + VOLTAGE_DOMAIN_TRAIT, + ], +); + +// SPI 3-wire — a single bidirectional data line (AP_SDIO) replaces MOSI/MISO; +// hand-composed because the standard SPI builder cannot express a shared +// data slot. Pin 1 (AP_SDO/MISO) is unused in this mode. +const spi3WireSlave = composed({ + id: "spi_3wire_slave", + name: "Host SPI 3-Wire", + protocolType: "spi", + roles: ["slave"], + parameters: [clockFreqHz([0, SPI_MAX_HZ])], + slots: [ + { id: "ss", required: true, match: { protocol: "spi", role: "select", capability: "spi_ss" } }, + { id: "sck", required: true, match: { protocol: "spi", role: "clock", capability: "spi_sck" } }, + { id: "sdio", required: true, label: "AP_SDIO (bidirectional data)", match: { capability: "spi_sdio" } }, + ], + profiles: [ + { + id: "spi_3wire_pins", + label: "AP_CS/AP_SCLK/AP_SDIO (pins 12/13/14)", + bindings: { ss: "pin_12", sck: "pin_13", sdio: "pin_14" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "protocol_compliance", + params: { + note: "SPI 3-wire target interface up to 24 MHz.", + source: "ProtoPart spi_3wire_slave description", + }, + }, + { + type: "configuration_note", + params: { + note: "Pin 1 AP_SDO/MISO is unused in this mode.", + source: "ProtoPart spi_3wire_slave description", + }, + }, + busModeExclusivity("spi_3wire_slave"), + VOLTAGE_DOMAIN_TRAIT, + ], +}); + +// AP_AD0 register-address strap — a static configuration input on pin 1. +const apAd0Strap = composed({ + id: "ap_ad0_strap", + name: "AP_AD0 Address Strap", + protocolType: "digital", + roles: ["input"], + slots: [{ id: "ad0", required: true, match: { capability: "i2c_addr_strap" } }], + profiles: [{ id: "ap_ad0_pin", label: "AP_AD0 (pin 1)", bindings: { ad0: "pin_1" } }], + maxInstances: 1, + traits: [ + ADDRESS_STRAP_TRAIT, + { + type: "co_requirement", + params: { + with: "spi_4wire_slave", + condition: "SPI 4-wire host interface selected", + effect: "Pin 1 serves as AP_SDO (MISO) in 4-wire SPI mode — the address strap is meaningful only in I2C/I3C mode.", + source: "ProtoPart pin 1 function list", + }, + }, + ], +}); + +// Interrupt outputs — pin 4 carries either the named INT1 or the aggregate INT. +const int1Output = composed({ + id: "int1_output", + name: "Interrupt 1 Output", + protocolType: "digital", + roles: ["output"], + slots: [{ id: "int1", required: true, match: { capability: "int1" } }], + profiles: [{ id: "int1_pin", label: "INT1 (pin 4)", bindings: { int1: "pin_4" } }], + maxInstances: 1, + traits: [ + { + type: "interrupt_sources", + params: { + note: "Programmable interrupt output for data ready, FIFO, motion, and APEX events. Push-pull or open-drain, polarity selectable.", + source: "ProtoPart int1_output description", + }, + }, + INT_DRIVE_TRAIT, + ], +}); + +const intOutput = composed({ + id: "int_output", + name: "Aggregate Interrupt Output", + protocolType: "digital", + roles: ["output"], + slots: [{ id: "int", required: true, match: { capability: "int_aggregate" } }], + profiles: [{ id: "int_pin", label: "INT (pin 4, all interrupts)", bindings: { int: "pin_4" } }], + maxInstances: 1, + traits: [ + { + type: "co_requirement", + params: { + with: "int1_output", + condition: "all interrupts mapped to INT on pin 4", + effect: "Aggregate interrupt output on pin 4 when all interrupts are mapped to INT. This is the same physical pin as INT1 and is mutually exclusive with using pin 4 as a named INT1-only connection.", + source: "ProtoPart int_output description", + }, + }, + INT_DRIVE_TRAIT, + ], +}); + +// Pin-9 alternates — INT2, FSYNC, CLKIN: exactly one function at a time. +const PIN9_MODE_TRAIT: TraitDef = { + type: "co_requirement", + params: { + with: "pin_9", + condition: "pin 9 mode selection", + effect: "Pin 9 (INT2/FSYNC/CLKIN) provides exactly one function at a time; if unused, tie to GND.", + source: "ProtoPart design rules", + }, +}; + +const int2Output = composed({ + id: "int2_output", + name: "Interrupt 2 Output", + protocolType: "digital", + roles: ["output"], + slots: [{ id: "int2", required: true, match: { capability: "int2" } }], + profiles: [{ id: "int2_pin", label: "INT2 (pin 9)", bindings: { int2: "pin_9" } }], + maxInstances: 1, + traits: [ + { + type: "interrupt_sources", + params: { + note: "Programmable interrupt output on pin 9 when not configured as FSYNC or CLKIN. Push-pull or open-drain, polarity selectable.", + source: "ProtoPart int2_output description", + }, + }, + INT_DRIVE_TRAIT, + PIN9_MODE_TRAIT, + ], +}); + +const fsyncIn = composed({ + id: "fsync_in", + name: "Frame Sync Input", + protocolType: "digital", + roles: ["input"], + slots: [{ id: "fsync", required: true, match: { capability: "fsync" } }], + profiles: [{ id: "fsync_pin", label: "FSYNC (pin 9)", bindings: { fsync: "pin_9" } }], + maxInstances: 1, + traits: [ + { + type: "optionality", + params: { + note: "Optional external frame-sync input on pin 9. Used to timestamp gyro/accel samples against an external strobe (for example a camera VSYNC).", + source: "ProtoPart fsync_in description", + }, + }, + PIN9_MODE_TRAIT, + ], +}); + +const clkin = composed({ + id: "clkin", + name: "External Reference Clock", + protocolType: "clock", + roles: ["input"], + // ProtoPart description: "32 kHz nominal" — stated as-is, no tighter spec given. + parameters: [{ id: "clock_freq", name: "Nominal CLKIN frequency", unit: "Hz", value: 32_000 }], + slots: [{ id: "clkin", required: true, match: { capability: "clkin" } }], + profiles: [{ id: "clkin_pin", label: "CLKIN (pin 9)", bindings: { clkin: "pin_9" } }], + maxInstances: 1, + traits: [ + { + type: "optionality", + params: { + note: "Optional external reference clock input on pin 9 (32 kHz nominal) used to drive the internal sampling clock and reduce ODR temperature drift / device-to-device variation.", + source: "ProtoPart clkin description", + }, + }, + PIN9_MODE_TRAIT, + ], +}); + +// Power interfaces — the ProtoPart definition composes each rail with its +// ground return (VDD+GND, VDDIO+GND), mirrored here as composed interfaces. +const POWER_UP_TRAIT: TraitDef = { + type: "power_up_requirement", + params: { + note: "VDD and VDDIO must ramp monotonically (10%-90% ramp time 0.01-3 ms per datasheet A.C. characteristics); absolute-max VDD/VDDIO is -0.5 V to +4 V (DS-000347 rev 1.6, Table 9). Both supplies must be present for proper operation.", + source: "ProtoPart warnings / design rules (ICM-42688-P datasheet DS-000347 rev 1.6)", + }, +}; + +const vddPowerIn = composed({ + id: "vdd_power_in", + name: "VDD Power", + protocolType: "power", + roles: ["input"], + defaultActive: true, + parameters: [voltageRangeV(VDD_RANGE[0], VDD_RANGE[1], SUPPLY_NOMINAL_V)], + slots: [ + { id: "vdd", required: true, match: { protocol: "power", role: "input", capability: "vdd" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { id: "vdd_pins", label: "VDD/GND (pins 8/6)", default_active: true, bindings: { vdd: "pin_8", gnd: "pin_6" } }, + ], + maxInstances: 1, + traits: [ + { + type: "supply_description", + params: { + note: "1.71 V to 3.6 V core and sensor supply (typical 1.8 V). Datasheet Table 3 (Section 3.3.1, D.C. Electrical Characteristics) lists low-noise-mode 6-axis current consumption of 0.88 mA at typical conditions.", + source: "ProtoPart vdd power domain / vdd_power_in description", + }, + }, + POWER_UP_TRAIT, + ], +}); + +const vddioPowerIn = composed({ + id: "vddio_power_in", + name: "VDDIO Power", + protocolType: "power", + roles: ["input"], + defaultActive: true, + parameters: [voltageRangeV(VDDIO_RANGE[0], VDDIO_RANGE[1], SUPPLY_NOMINAL_V)], + slots: [ + { id: "vddio", required: true, match: { protocol: "power", role: "input", capability: "vddio" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + profiles: [ + { id: "vddio_pins", label: "VDDIO/GND (pins 5/6)", default_active: true, bindings: { vddio: "pin_5", gnd: "pin_6" } }, + ], + maxInstances: 1, + traits: [ + { + type: "supply_description", + params: { + note: "1.71 V to 3.6 V digital I/O supply (typical 1.8 V) for the host interface, INT1, and INT2/FSYNC/CLKIN pins.", + source: "ProtoPart vddio power domain / vddio_power_in description", + }, + }, + POWER_UP_TRAIT, + ], +}); + +// --------------------------------------------------------------------------- +// Mechanical +// --------------------------------------------------------------------------- + +const pcbMount: InterfaceDef = { + id: "pcb_mount", + name: "PCB Surface Mount", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["lga14_2p5x3p0mm", "surface_mount"], + traits: [ + { + type: "assembly_requirement", + params: { + note: "Surface-mount LGA-14 solder attachment to PCB land pattern. Package body 2.5 mm x 3.0 mm x 0.91 mm.", + source: "ProtoPart pcb_mount description", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const ICM_42688_P: ModuleDef = defineModule({ + id: "icm-42688-p", + name: "TDK InvenSense ICM-42688-P", + version: "1.0.0", + manufacturer: "TDK InvenSense", + part_number: "ICM-42688-P", + description: + "TDK InvenSense ICM-42688-P is a high-precision 6-axis MEMS MotionTracking IMU combining a 3-axis gyroscope and 3-axis accelerometer with selectable gyro full-scale ranges from +/-15.625 dps to +/-2000 dps and accelerometer ranges from +/-2 g to +/-16 g. It supports host interfaces of I3C (up to 12.5 MHz), I2C (up to 1 MHz), and SPI (up to 24 MHz), a 2 KB FIFO, programmable INT1 and INT2 (with FSYNC / CLKIN multiplexed on INT2), and APEX motion functions including pedometer, tap, tilt, wake-on-motion, and significant motion detection.", + tags: [ + "icm-42688-p", + "icm42688", + "tdk", + "invensense", + "imu", + "accelerometer", + "gyroscope", + "6-axis", + "i2c", + "spi", + "i3c", + "fifo", + "interrupts", + "fsync", + "clkin", + "apex", + "motion-tracking", + ], + categories: ["sensor.motion"], + + interfaces: [ + // All 14 physical LGA pads in package order — schematic-honest. + ...pins, + + // Host buses (mode-exclusive on the shared AP_* pads) + ...i2cSlave, + i3cSlave, + ...spi4WireSlave, + spi3WireSlave, + + // Configuration strap + apAd0Strap, + + // Interrupts / sync / clock + int1Output, + intOutput, + int2Output, + fsyncIn, + clkin, + + // Power + vddPowerIn, + vddioPowerIn, + + // Mechanical + pcbMount, + ], + + interfaceGroups: [ + { + id: "required_power_pins", + label: "Required Power / Ground Connections (incl. pin 7 RESV tied to GND)", + members: ["pin_5", "pin_6", "pin_7", "pin_8"], + policy: "all_of", + }, + { + id: "host_interface", + label: "Host Interface (one protocol per design — shared AP_* pads)", + members: ["i2c_slave", "i3c_slave", "spi_4wire_slave", "spi_3wire_slave"], + policy: "one_of", + }, + { + id: "pin_4_interrupt_mode", + label: "Pin 4: named INT1 vs aggregate INT", + members: ["int1_output", "int_output"], + policy: "one_of", + }, + { + id: "pin_9_mode", + label: "Pin 9: INT2 / FSYNC / CLKIN (exactly one function)", + members: ["int2_output", "fsync_in", "clkin"], + policy: "one_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Both VDD (pin 8) and VDDIO (pin 5) must be present within 1.71-3.6 V (typical 1.8 V) for proper operation. Low-noise-mode 6-axis current consumption is 0.88 mA (datasheet Table 3, Section 3.3.1); total power ~1.584 mW at 1.8 V.", + voltage_V: [1.71, 3.6], + current_mA: 1, + }, + { + type: "interface", + description: + "Host must attach through exactly one of the multiplexed AP_* host interfaces: I3C (up to 12.5 MHz), I2C (up to 1 MHz), or SPI (up to 24 MHz, 3- or 4-wire). AP_CS must be tied to VDDIO in I2C/I3C mode.", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "vdd", + name: "VDD Core/Sensor Supply", + nominal_voltage_V: 1.8, + voltage_range_V: VDD_RANGE, + max_current_mA: 1, + }, + { + id: "vddio", + name: "VDDIO I/O Supply", + nominal_voltage_V: 1.8, + voltage_range_V: VDDIO_RANGE, + max_current_mA: 1, + }, + ], + metadata: { + package_type: "LGA-14", + pin_count: 14, + supply_voltage_V: [1.71, 3.6], + power_consumption_mW: 1.584, + i2c_addresses_7bit: ["0x68", "0x69"], + i2c_max_frequency_hz: I2C_MAX_HZ, + i3c_max_frequency_hz: I3C_MAX_HZ, + spi_max_frequency_hz: SPI_MAX_HZ, + accelerometer_ranges_g: [2, 4, 8, 16], + gyroscope_ranges_dps: [15.625, 31.25, 62.5, 125, 250, 500, 1000, 2000], + accelerometer_odr_hz: [1.5625, 32000], + gyroscope_odr_hz: [12.5, 32000], + fifo_size_bytes: 2048, + gyroscope_noise_density_mdps_rt_hz: 2.8, + accelerometer_noise_density_ug_rt_hz: 70, + low_noise_6axis_current_mA: 0.88, + esd_hbm_kV: 2, + esd_cdm_V: 500, + logic_levels: { vih_min: "0.7*VDDIO", vil_max: "0.3*VDDIO" }, + absolute_max_supply_V: 4, + power_domain_notes: { + vdd: "Analog and digital core supply, 1.71 V to 3.6 V (typical 1.8 V). Datasheet Table 3 (Section 3.3.1, D.C. Electrical Characteristics) lists low-noise-mode 6-axis current consumption of 0.88 mA at typical conditions.", + vddio: "Digital I/O supply for the host interface, INT1, and INT2/FSYNC/CLKIN pins. 1.71 V to 3.6 V.", + }, + source: "ICM-42688-P Datasheet DS-000347 rev 1.6, via ProtoPart definition (electrical metadata)", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 3, width: 2.5, height: 0.91 }, + metadata: { + package_type: "LGA-14", + mounting_method: "surface_mount", + requires_special_tools: false, + field_serviceable: false, + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + requires_thermal_management: false, + }, + }, + ], + + traits: [ + { + type: "apex_motion_functions", + params: { + functions: ["pedometer", "tap", "tilt", "wake-on-motion", "significant motion detection"], + source: "ProtoPart description; AN-000173 ICM-426xx APEX Motion Functions", + }, + }, + { + type: "assembly_requirement", + params: { + note: "This is a fine-pitch surface-mount LGA IC and is not suitable for solderless breadboard use without a breakout board.", + source: "ProtoPart warnings", + }, + }, + { + type: "configuration_dependence", + params: { + note: "Current, noise, and timing specs depend on selected power mode, ODR, filters, and VDDIO level.", + source: "ProtoPart warnings", + }, + }, + { + type: "usage_notes", + params: { + note: "ICM-42688-P is a bare LGA-14 IC, not a ready-to-wire breakout. Use it when the PCB can support the TDK LGA-14 footprint, local decoupling, and a 1.71 V to 3.6 V logic-level host. The simplest configuration is I2C with AP_CS tied to VDDIO and AP_AD0 strapped for address selection. For lowest noise and tightest ODR accuracy, drive a 32 kHz CLKIN on pin 9 and use SPI at up to 24 MHz.", + source: "ProtoPart usage notes", + }, + }, + { + type: "compatibility_notes", + params: { + note: "Logic thresholds scale with VDDIO (VIH >= 0.7 * VDDIO, VIL <= 0.3 * VDDIO). The host interface supports only 7-bit slave addresses 0x68 and 0x69. The same physical pins (AP_SCL, AP_SDA, AP_CS, AP_SDO) are multiplexed across I3C, I2C, and SPI; pick one host protocol per board design. Unlike the Bosch BMI270, the ICM-42688-P does NOT expose an AUX I2C master for an external magnetometer.", + source: "ProtoPart compatibility notes", + }, + }, + { + type: "application_examples", + params: { + examples: [ + "AR/VR/XR head and controller motion tracking.", + "Robotics pose, vibration, and gesture sensing.", + "High-performance IoT motion analytics.", + "Industrial and consumer inertial measurement where CLKIN-based timing accuracy is required.", + ], + source: "ProtoPart application examples", + }, + }, + { + type: "terminology_policy", + params: { + note: "Signal and function names in `icm42688p_pin_functions` traits are ProtoPart/datasheet-verbatim and intentionally NOT normalised to a curated whitelist; canonical capability tags exist only where slot matching requires them.", + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "ICM-42688-P Datasheet (DS-000347 rev 1.6)", + type: "datasheet", + url: "https://product.tdk.com/system/files/dam/doc/product/sensor/mortion-inertial/imu/data_sheet/ds-000347-icm-42688-p-v1.6.pdf", + }, + { + id: "art_product_page", + name: "TDK InvenSense ICM-42688-P Product Page", + type: "documentation", + url: "https://invensense.tdk.com/products/motion-tracking/6-axis/icm-42688-p/", + }, + { + id: "art_apex_appnote", + name: "AN-000173 ICM-426xx APEX Motion Functions", + type: "documentation", + url: "https://invensense.tdk.com/download-resource/an-000173", + }, + { + id: "art_distributor_search", + name: "TDK InvenSense distributor search (ICM-42688-P)", + type: "documentation", + url: "https://dilp.netcomponents.com/tdkcorp_result.html?mode=1&partnumber1=icm-42688-p&partnumber2=dk-42688-p&pq=Search&ref=/cgi-bin/tdkcorp.asp", + tags: ["purchasing"], + }, + { + id: "art_product_image", + name: "ICM-42688-P product photo (DigiKey)", + type: "custom", + filePath: "./ProtoPart/protoparts/icm-42688-p/artifacts/images/1428_-14LGA-_97-2_5x3_-_-14.jpg", + mimeType: "image/jpeg", + tags: ["image", "product-photo"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/icm-42688-p/artifacts/thumbnail.png b/library/parts/icm-42688-p/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..05d83746e8a063570472b802cff2335919bc78e1 GIT binary patch literal 143316 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

NQ z{LuWPf!l2^vDpJ{L}MLH^BIPl_vR*KpNEA?%@|k*pg~OdJ65sqcQ()NYOcjG5X8qv zNAenfZxf}BN{Us(ZO6uLkajHXxcT=s&Olgk;5#Skrl}5qB?szz8bYIWek^(yqyTJs zLDB;uiOgPixEY1_XY>5iHmZ=XU>yK$>SG-M3uDJM8(EPpAEVtOIcJEZVp;G!E?ro{ z%`{Ez?f8vqA}M({Se{^LLXr)+|1G;D-6nG5B65{!m97G`Q(Je%UZEAzN>WfA9>dgvxO%JH#my`p9%9&?PO zJ%^|@i2WL*j=p_YGQ6Himpxe!ELVoe7w6Wxes+k5FZZ!`T%bSZiQ2B^r??rVsHyR2cRSiO%niHnjNJCm&sWt%9cM*X zl%%JTwAtJmnAt|@p13uU0#IYD5w1Q*TgDb{VwTMH+YUXK8WtWJ!CD7EH+20B`?=O3 zvGZ5&!HV(N@2!I}IgJ~XqMn8ngp72KCCAJg(q^;u4wg6o-ieTnm*dEPD&S)y@(@MS z`whmi85e$*Eo-C$V9wPz04BwtDHmPC&Fi!jQh%@abW*O{u61odExg!n;oi$*JX+tv!{^(m>Mo+V zio#sf|c@sV(JFeDt zTU1WRTIaL12Rw$uA^8FI%nV7DgP7&sNs(16oo@P^NY=Bo zPJuPVPK!TA8Xe<@pPs>g_m6Jk^lX8mzlE0XRL8QJijY~|LX06gX@SwWM$|fmDqY0W zjUoQ>mv`|w1$D{}(wS4DEx-+xl>=$<`%=$Q@^4}OUGi_A4(-1GR0hW3> zu3nhI$M2oN?F&mdHJbosF62Ox?PESezrNTf2hlpylA`+QI{?soWwD zl*))z;X5mG;*9M{xfl;VS9!E?Ots&FbhBfwjge7Mo^sLdN3i;Ugasy-puX9#Ot=?IYXkJ_T@-XUnu2#c1 z3R+#EFuxK2O;v&XJS9~y!Nstt5r2*9Xed{q`I{N*#%a-eH4$OM@(xIeX0A-20`k3a z3Z|AFh9pGmiF)Bu=@)~WC6=x$KSGgq8-|G{5 z6YVzQTFL@X){V9|Kd}wgA-B(T8j;c-9_4MuUZ0gs>FK=WocFds=Fn&~B0r$NxVZS_ z?Afz_RTRZve)G*YzxnykfBq7{VX*Ok=LEb%4uB+>xyJv=Klvv=`t;LJ|L4b#AOG+B z{eHxM7CKaeVm;81gl1C%Jf=kj(wVCu6qe)sS_ikToWiY(^SHFy!9u4%T#pc!xnC$L z#^nGN*z=k@V}dwoiQ#^THqH3+7if5!@4^syPHN>f;MJ@mrHA#6Q z&B?29UOpTBFuG6U5_Nuv)uj$@UOt8QZ=S*B({t#>V>oP-R-{GaP; zC^fm$xs?03Ex88iHZEFIsi5j(2d_# z0vH&0!l+wFJItZ$CTWobMJ6rml#Z#>27diYzTX5Hj9Pv6|XLgaM9H1(qBfQ_0BnQ>xM*W4@5V>k6MPtUJ!N#isI z+>fKADD;|nUhjm9gJTgR{~T3^L7W_$V$yrm@wVL_?ReXDuJcOAJd~HV-&>?cpP7yH zty5&}kdB4C*Vo9oNZD2s@Vrh5lqJU9WQ1!M7IE{+X3IQ>yeIqfq z4)ZLFh%P9uPa24G-d*)ilC(Th!*HS{V&4=NqMdN)z=_y6J-zxc)9-oJnUrKuRuJ*UQh z8|P(h4kJ8T8aW8M90GO z5*o!v%Z;!`+}8Emyg$#S<)L1U(Aold15ps0hYz2XE!hkm0GmFrNPd53ZfXY^Opi%DHF+5nxxnc8l`D z>?lg*Qf}Zav^(=S9@luXbtuhx?mpeYlUIk*u!o%v9Z~lLIkBlLRSmVz-L%lQb5O^+ zaZKstlPE|hL`2GDIk<`j8BV<|ZP)kZs=`aW9Uf810Mp+ASr`MZtuwOpJ*@aX1?|<(KZl3MoiwA7D)5q)GU7*!P zXLbQaP6Os8hAFTiQdWfShyoC=V|<(-ZFPZo7G>SWhusLJq$+?Huej=+CRqQm%DiKVhj5RW7MGZCp#0d4X>+DWZkdJ zA9|=#iQ#^a3&+(OLcd1|iINDR(+PG=VcwBj%+A4J`5_AkD0|E{!6Is6>WI}zv**{( zH>~do<6%n6nrEy{YAj5s=TJkV>T%OHQaz8JU(cl*jQ-uuqiLIoIv^noZ5;;dh}bCA z&Q1Fa!td?*_0Y{ z=&0DSv_FSL((u`Y&(w~Aj&+D$ylr0CxgS1T`Cc0DByS)Udd(aQi$+SxUYk`oBWxTD z(C?41wR4E=y%FBOei5e^XGJ-%lV(WjF~-Bb5CGZPlTzJT*}>zj0iM0u7n0xetwZF| z3`)$PE*V6;S%zolwwt$aj=goR?C*4}h07$VM_mh2P$~hA^iN@AM8wZm3{bjU(80i& zvd`vi>o9z7*15BGK1j1QWu{CGP&c5{>ClNhx3RIYy1&2w(dz2z_kQ%FAN|FhJ9mEi z%{SlNd+^|aZ8l^%0{=}N@00^D9*?Uyj!Q-e$|~pg3kwSoNgqc?Mchh2x{z(G92IA!^YMTu3nhOhquq;+LcxG$|17B5bZQVJ8cOP zL8(lUrlovFwvVK!as6xyXI5_D%$YHMbMFOSZ0up29gA)NS@zCTc6l{k4IKb>6ig|$ zfmlR`Mg?1arbxQ0I2a$}?z1Co><@71!ZF^vdKQ;fI+*Xxpxt3V^aNR*;`p$}<5vTG z{bUbMH;%E}&yW>_BxliL`T=ZpO8H|(`K%dceo_Q|I9(0oA4Xd?s^xKQ`#e=kDF@&e}96H}@O}mZyb$aS0>KL2^UroB8Nfk`IG5Ebj z1-vnD(gB(;4adeJ75<)ud!x|3lJgXG^O3f46$~ODa&%o;p}!8B=4etGRvc=|hTg!t zfpehaH!+Ce24?TmZfLrh*a-7&hn<(fvzeHe)_Jwglg6dOlJ zIJmowt%DL5R%UVa{3)DY>0)_y1{qvcPSTpgem}<3S37w4;sB3c>|*CA$EfI`-J3^u zrj7n!h_uDAnzVbyfotZramFSPFY6Fl6poN(DSD;SxkNBOPdS!$=j>|ednrl@u}CAo z<*;PHkQf+_yS3r^Y_-bBu3w#(wz-hE6P&lL@pycCeSQ58XJ=<`ojG&nC;#{#|KtDl z=FOY``9J)J|8URq16*e&Pp$lK$q{%LQUL0C#XtGUPd@pRKlzh?egFRb|5Kjl9W@R* z88p)4*X`|XSyc1$^WqR_TEMIgTtt(i~xQewF+k1vXmq809T|aql_)>R0!%zMG>;=8;v* zrL!ZP-x&Dml`8|193o3`STb1FzRy4y{nfjdw*7qE}CpMk20>kn3zX87@5gEjp<~MLoNL*$B~~9#$Q1qRh^3RuegXJAbXwv}$?&eylTK z9WJjJd6E(f;a9y3*hly)PRUQvxg#F6f$< zXd%a3yTFAr^EkWQ!TZPK|aL&X9KKnjK`05;1m%oo+-+hhG?{A>aBILT+F^Up-9qNEHcRohiNzrNxs3_Nx=Vanj zH=v6w%hBH$VEgb9uAD!@`Lk=n8Q9p|mv){9Lz<8-(r!;`jhUKY=^KN{ypNOd$-*_q5p1L?VEi-9-s4xE9OwX}ohpxrLlOP# z8@JtrL+3P%d~5_1IyeBtKs&$oZ}z?6b=q;V=LwM#y=T>S=Rf7wgk(&ccF|4MmSXDX z>%CYf#->{Ibyg`ZoD*S+FPt~wVPC7Cug-$qAnbkFO)=cur~Pc5RRcv&%t1>Mm9ggM z){&@=GL<;aiEyS!+OrsC0}T5$hUm0T)lh&{m}rAp1i<|S9=)d38J(s`XWW? z#CjOWL;~wO{SGV9tMgp1%|hvlh)kQ?;eEUNbJay8LNhHP93T`@X(WA0$R#QwacCs% zm%1cCcrH8d?3jjgdD`;~*PO0pi@5N6C8IKkAyVZf%9&o~{mmX9AAhvJzkl`g>C+#r zt*w3dr+@mVKi%Ko|IJ_j^Gc=PZ_8&C()o+^^igX8QSUsq`W^huSFiAwzqp5^ z5k+}Ah`4xT8onAib7n1i@N76#AWj)wrzqL7Sai5qw8QJBhzQFHE6mUJ5Ldv_V2r#@ zPz(E)aKCi%mI&W1LDyT{Q_y(NT&)5dlfm0=(bzj;kEA3#q0Slw3$4l+R@6CcAun?)I^&4 zH~lRA2>-KOhjo^`9cUUMsqm0>KGdO88=zyRP`z%17F`Gsp@yUwR(pgFfPS7uORNJG z!s&cHCAoR0%JwhlOmV!$0Vg1s$@*3E7nNle*Y9ns(`Q^x~kpxk6M&g>nYAw+h zAUZ0Q5B%Fn^RMQ-;pZq(QlFi*0pV-yc-y8_inJ&P#>zK`P8`R=SJxDIo*$n(ckapZ z^77Ay!{J}vzkmOizxvg$NEGZ(+4%pfa|GTc1b`2QiZDgYmUEL3)dbwAq(FXU$6M&EW_yc*fr(z27j+fLmsu6$XXI1a8oCt6&=6xr+zuL%eu>AU(RdA+oa`9e|XGaf^$J zlbb>xRNHHD@5U$}BTd>OxTCE>BD5u<=RF=C(U{U3@5<&bS6mHciV}V3Bq?(0gG*fQ zQiEji`Vyb0F3Fq)iioS1Vjz?qJ|V!V!Lp0DSxD@RC~d@C?}Lov$rK0$kl5?I#rq-R zK(ZknnKAVc-DsOKO^q(YE_`7|Ap*k9$FG=BMF@Y)6fhpEz-~6T;hhM#zb?| zR+iRE=vp~yVLlkKqaf00Hbk2)(0YFFOf+@>R`f^v5okIhjFfET6E@ok5QxTTsY;-} zS2u7?IaniW(31%%U)5+==SRno4iZ&5{j(HEJwQF0`^>UT#)a2o#!ht!nmz_Ly4E?M zW2fub-mCu3{@!i?wv=>r9J|2Zj79E*(0`Y$ikv z{{k)9;5je(4BE)*0-Jlelp&Ki=z4+(>zKv4(utI)pg1#h2pQ$ptQw5q7)_+j(;ni8S|Z*@r2TBuIc3Mw6Xw2-Sx7>i=In+X z0ZT#+5iH9Ony~FA7zitx?7C0WG_9&?X=7t!erIRr?CH~|KmOqlfB4IfKmPbH|N5{0 zT1y967wOEenIrhGNe-*=1&Hz?``iE1}BZ1yu#YAdm;$5H$KAX7G0ayJ?rCq~3J0uG~L@c~jABrizBX++_Xnr(|~6vJZ{9Z0z(>49mhE$D{iC%syl z75T9S*F-H1BA_`weV_hLq2tg9YYJf+v~D9ro2#{{1skD<@GlSTdT0r#cAkcaKxo{; z%|s(c>nMcp4>$H{=MHo5C(moLM?ttj>iW$4lNb?WQ}Vy`E3hO7hNot0(`EH}e$DApkjoj85H6}GV{65En`^11t#yDTbVq%KYf zMSWc9CJ{8z4Usb1F2>`L@C4{gkJ&4v#rHe5y=331)lcZ1O@*W;zZ9Ec*OTfqSjWe% zmGC*+l$!oKah$Y?63hQeMCBMoMv*jEX_S>2@`!TgsUQ-%*6eec=FHmbvEzL*hOT7V z{$1}+uhq^cn=-O(l+FD~=h&*MNI2)uNl_H%*4Nk1Y;A2_TUlAT{YQWFN1y!YM?d=6 zPk;K;uO2*j@G@vNq^0Zs;E#930g&x!Z*Py@7KI!bN=-GQe8?p4X=KVnCpF6k`9K-* zt9}4CGd0+X1n_MxFycnY1;w1aFxveDb?JeeZME1IASV--3%-XkO7Z$=h`r+@yxi{N z#-&xffAuUbpIg9uyNiQhEJ{gxIPO5nlmp9@#Op7ZxB#kSEOdJ!k1Q(AF&mVel=X#% zn}?Ps*$CAd0o|M?jJj7Fv}8UW))?5ja9b8=4Zc5z)~35r^lV~p1T75SK;)_oV8m{k zsNX`UO650(OXRI}oDD0!k?}PsfNnarA|j;QH`k|-y+J~vprliE3YrZf95>5n&{T$5 zgH5F9uT!pz_hWkjs1vRg6INz{(Wt*BNq_ifpv{1q`_&J%B47I1b|Vfqe!UmHN1IB} z!*+3;Hs8WcKin|w=Z5DE9mA7zFjeU9MM{GCw+dCxjgn4RCBLU~AFG2T?H9X7VtkB( z1d3Xp*E}G?CTp9Df$n`a?`|C%6ht;9hXil91jsEyO9RN!vql3V6j@WF6o2=}fZX>CEh)g(6QUORs zlS96%a->xz1i`4CGRVdtYU5!42)n}#yxcj)oh#>X?$ivncDC{G^)WX0bLY^ zQW{0hT6aI;X=I&W;Kex{v5?lpaS$DYm&U}k40avp(lm((EqYe)go>O*;JgPx3Mef= zBgMQWyCP<2)dkj;+qm`VEnL2I21kcSxO@L8?mm8vDp?T3LEy@u#@ve62x{S=OnZNS|IE?R(NC6_m#?j@t^K1v{^LLX%Y%c1zx?pZq=gN(`Va4T7aRb4ltobx0mxYDqwP>b&z~E)GC=k3>IkUEr=6q}4Nx+Q)b6vZ zUYScCTeP~FH&f4C;CZ)ze1brJ=IdCxlSGy91So`q&VuCXo^55=KYoSTc8cSp0}Kk% zcv2zerJTTi5_0n+$;UO};5EC?;`|kpz{EUrZIbSb>PSj%_&%5W&d3_}O@Ufu*;W)K zV(#DNz*?yoN?8uVGoVHvn;E(0z7b0eg)Ag_>%_B$X~Ah{QZZ{za04SfE9)e1X^ z+Vi5jkQGjlsI2LnIX#Y6+(D6-Xm#06*_WS1v6N?Wghqr!>3~(GC?7hxK}IBQ`B`U0 zHx`W^ZRD?pLZf>VN$B?x9ZDXyTEQ5P=5-z&5j_BZH2L_D#H1)hAg?RVh8nA&nbJfw z6FOr$*L4l}bO<~cMQqNW4vYpl%?;}oO|^nR_=qA4WH zQ8^h$ro(*MW8u>gT(^<$en-9!Z4)b!#8*FwcFDJqIbjs=cn*#DNw{N^A9nE*8E+y9 zY!MW-eea6~-^XTY^LPGp`?)dol z*3r??xl^Z3U74Gk`{1Ad^MC#~FJ8R(+yCW%`Cr&<=*R@H{~#TKcg+D1)z~CShy*l| z1rI(vT~q-RyIIWQDVr9O{5`!qK1}ihI9ccnsG*}eo!bOh9_EC71R@t@I|u*EgcFI} zL^f?%e4H>ue@iYF64^S~8TowRNugz+;7 z6LND}`r`BQbNGJVYwoHY1Vl|-Jw6vS|B3RLl3&;$NTwstCmO~gIb2qCRAy|X(e)kv zB!?i51uGDE$VOSCPFqwm<05oMsU!;IcvnL_)VkDNL z)1l-s#6ZgP=J?Z4(eQe-fbEX$=BUnI7*&TbZx~Hm5NdA< zeTEkHw|V{$rLoW6vf0CES0!{cvUR8&uh~V(DIIK99`Q38u^Sh8JLz3-mwYvhj6nlL z6ImpO$Z6TozVKTH8w?aGHu<9MkyK_&q|FOOghYoV2Km6;aEGG-TCEr}Gd&bU=CToH zXG^?ywt|mtoil;mzUrB(?9*wzgk~k|K>mc=l}e| zI0Ax*{X=pB-i0zi9<&Ht(R2Ui-~5~ZX@7tJe|q`y<@HmiPSMy(o=_iTCM5}g*`qIgPe zyN-p8p!Hel#^&dfY{bEHl?~rSqD|*K`y3T=R<3}i5xn!D;z078ZK+i#fMat0&1-by z)UZ=+YcA=1EY5-`Q@6gBK8a6u(|H1Zml!2m(7&=185=3N3O9KNyPs2 zMBLIO#`yRE?YP9b(+l|F_b%ej#YHT3$zbebJRYFi=}IYLhrLn?wo6OdH&wc&K68NW+RxBiIE}b9gW;G+867S%-ZUztMCv;faRZ<@bj zWM^y9<-ES8G>me1=)$*ArHz!r327I%PAcPpHb3)wd!Js8wNZw%hn$bX923oY9I47F zbyc#t%f4TTp(Y2wp%~KKgLTO6mCWIbS{V&`+Cjm3UIqJm`W2M{04?eky z58gYErMVuWV#v0ENTnpmr5?y+_LcvbN%@r>&-QWWLW(mhH*x*)9{%>r=Xm^L3!~#P z;%-m$7l>dm_0VhcS(O-$`U3NJ*z_*v4TGQZ1pPS;{;YMKRusKhYPqd#A90C*z5}+-BsnsEKQP!su_F_qLm1h_oAL7iZ1V8@49o)Wt8jHOg?fM8w z!3w1mNyMHdL?>KxvA9(rrl1;Aghh@Iuk>)`^c{Th?JR!%%}c!4+Qzt;L(-Z@&6eo2 zvz2r58Duc(m$8W|wAh8U(FLKga`s84#FSE3j+1g)EJ~zkpq)qhx6p}E==DFOW<&290xGI z=uMMTkfuq^k|KK4&UxU(SIMACL`ldSV2Pqc2P8m7IcDMlt8)=PxPA%Wd+!=f%?~lt z$sFYB4F@-7<_#Hz$k=c*rN_>5GXja(_b3C>4&vT2p1&UAS6{E=-s4?t?B&R7c2S(6 zE8_B?AdKmWKT>9#ARp5yan~*5Cc({{4wr?0E$K_g*+7TQrek{z1kC?t6R?Vc&Y7Ad zis=So(E<}y>*f@$JH@fZW73V=B3U54f!bdn_N z(t9Kqw!8x%>Y{WWcnwk_>_mwKa%W1h$`IuT`0(Z#{PB-&;@nD#xFET2ghbxQ>q-%| zW>Cc`2K{4^Pp8g@aH&|5D6gS4X(OxJI2cFx&AnIR2y7qMDC#bvq>EPE#z^GYwLH^@ zEEQQxydkDtnRs*($25<0`-u<=0a)&Na$N0L^H7O+J9q8+iOqa{8I8qW98XvDcG zdH+1msb0IjyuAFYm6esh8Vm-%{KYSR@!-jmCmTWOV6)EOrQ=;e0Ca%Z2~gyK!=^3M z47~kb4U`_%Q??J+Mm+qCg@uJ?F>>=K5}==}JOVq(bTTP?ryI2;YK762g%zhoJQh0C zYtynctsr9xAXLWVCSki`>HDPfozVRgwA!ht36^6kD@(BH(xl^Lx5!ByP4vWlPo`Y9ehImDn}ph{;DC2hoYOALW@ER=!` zq7}@^Q!ZIXSkeqG?>RX?loYDtZ=x#gORt7qQY$)^W*oyPQw52%PXOmn<2)#wY@Jax zE=tS`*!pr(Klhq)Lw(J}2fwB4O*bI#lqiv~DLJ$Xg#5eK_uJg5y&k=1&1365SZ2Fj zNB*CDmPbz-XTTU%5%;l>sybcTWJn=3FgTJJKjDEOJ=r=eLELy3G_+LyW=IZsTns(I?Hs% zDI~@zZhL3NrVXiemIod!P^IqL%Ocl~m z#yozEv_si+%74X(ib#mLR5@*tUyzg3$aztt+fMO^pPa|dODp*H$riqPu!$ENuMl;X z(QdIjqDxac@fY?iap?+XDU;NrWK!lxLbO91mz`t);^;!y;My}BO7P5 zd460+My-&ggUM(#y12EqwK^J&KAoMN{rty2{xO>k{q5(UfBs-=Yir*l0-o0SZaD$( z3If0prM2$xn%pz>>R(QQN!k2en;x~`CfzBf0xC^EX zY0@Z`QZbF-BLsFiq@fdO)Du$u8;5Rax>;Hn+m1IknUGKvK0mVwH=BWN>Z1fVe_pK+ z2;oPqfqx^axAV%*Q=K1S1f!eLwE1ZxbiZLV<&NIDmC`)RE7AAZ`DZs9yRq8w)3MO& zS9o2=CtMGD4a#-!uTx0gB3%tqBSykIR~B6eH~DZp^%1IbVz0%{4do%&&(!Cr*KDPP zt&^{1mAX0Gw2#^k9x6W_+7SB;^t}OUHF4e3QJ`2jF>)T#b%oVWg+WU7QlFpw16)$B z-R5{RT}RO#F6Tq6%*XiQXE*TP)is=&W7=?txELWWxYkmU8|PYqFtkp*cE zB%34W26GT(FFWlNu2uK>36gXcyT=9g1_^$1?=^n$#bf0049Zp)ISU<3 zN3UB*xEKvf5o{AvBLwP`d1q~*25x)~YL9ippT@6<14PF<*WvsQojBVq)R0{dJDtw+ zGiT0xH8V3qqTo;e{LlaV0RTDz<+~;#^sXQPdT{Yk2~a5V)`PYS%I3Q50uEt6Ibo33 zv9PK=KPMUg9UL6EE`ff6s7}1?I2fiNYCe_+TW7$Y^S9l{+aN+7>;%XN zT`q?av@noa%bQC>4^imjAH5jSLMuVmKf-J>#`VjK_~6EQiOv^i6BOe;JE~#kjYNT<5d`yMI483j_7f*L^VQpF3 zFrRz4fnR<79M7M>MytJoR%af=Y$)o2QVry=LP;;U+~8DlTJw9m$W?JKe61C5v11t; zg)pZbj=lX{`;30udF)}G1^YEbB#hJX#yLWCOn;~Mu1tHK*I{bmZPyq&(fWEdj?=DD z-(%ONZgk=JPTSP=I@GY+&z^QnK?mdrZHaZTLt8SWMokRMF(}`4^tT- zQW1{7{rY-F3JasC?#~)q6N4L&mb+JZV z?jd4eL}D<-iCV+~Q`h86xI*%Qf*x}9k?`w!pfF%^4Z)nwfvZ5M$n58{rZjMVjD>cL zX#dN9`7i&+`T6<(`~Ca(|53_N(R)qyVO!%AO1ko}M$f|P;byE6 zzLs?$vFWhfYBVFF92~ zK4eFnb6i>~61I@Boo?DeH*HBNPc=HgTsz14wK=?Z?KD2Ua{*^grO1Xm(wrnsT?CL9 zjNDu=a3b#xM>sjez)?}q=k8d-nA7MaR5x=~1~rux*?)l1E1d(DFo`GvVW1cz%;4qL z5MO??j{A@HuzgTs%svRz9*7yiu)jbh|9DN)P_=21YUohe=i{GQ!{%3*+RiugJnRQf zBV0MNi0^%L9oH|O z!hAYHT^^y%slDNB1X+ZR2_qf9MGQ!Ix56Rh%6ANXku?{N4&N6eA+krk403tcN0@TO zL>AemJc%%-gTWHx_6&~m2%kUN#1|wAzSzgO=pji@VZ@f=L}7_w&{<)eLWChm@7ei1 z&7rgNXzN&e_^K#D`XIXZzxVU()*X#YKjg5`}_|u>M^b2O2-<5R0 zJBI)i?x{)ZDisH@M#ttU^um;O|=vExUIuuH-)8BF7^7pJFu-pWz1+Lc? z5(Vvb==WwbkAnMY$Wh__7-QG4ob~r_i+b!fBTC0L?h$@#=i(pdU2IJGbG6Hp!E{YxvjczPAruk7RVZ`SefEgR_@0-gNPN)2lcSdB(7wwBPQAKbhta4e$VVbh-=$k`2lii3CZrYV&r z)0`XqSzo95e5;&kD_`tAhYs^^i@g17w5nyIQIK_-I40)v8q%Y!)(8)qiqK7VT2wd9 znColodYWcS)CshyxbWEoPEnIqAeSd}r2I9@-)#p%o37LOV$&1i2)`BXKL zf@UP;mA+LlwL;Oah-(o=qw~+sDC2$~omK}QUs=TU(<^xNYzx2o z@)5T7SW(CR0zK(~I2sd?kesO?4`G^2zv|q!dJ>wNu}*@WEA{^$o4<9e{dF{zS{?}| zA!@DP?^8!$DT<<*Pe1*1{Q2jff8}`rfA3DfyXFA!fsyrJkc>0!LG#c}JcK0e0-YAU z*bRZ3c}OU-^jv88Mz@5W)U3(AsTTF@%me`!E@cy z4Ir71-2&O9TtvGlqD9reJjdMJEK)D#*&QEYb(v~{*KqC9BEGo4j&B}pVPo$ARX&R@ z6${&K^v8WkJ<{>u`|MO~Dk#WPs82}RI>&UZ>>S`R%|85pbJ+L#=OEk~-*%g6Y?kxP zE^Mvww`G7lY$?dwJUzS6 zLj!F$R%__la+sgDzrWw40JLV@_NUiLXWPx%b4`iNnleByohs201xuJW3~ShxJZOxM zoX{B>^~>Eq_fev2ERi_*0C8L*stY9LF=kq0d~jnGKlc*Vf-SJ z<{>;f-LA-j#-s|iJJ>zwW9#L8Jb69BXw1%nlpsz-ew2;~YlcPg7%XvmBLcKhdh@-C zzUbJhU=OvxWbfcrHkKFXkfM#Uro=bb z6=8O!*XRgSy10WDJCss{M}&lw&hAo*(i=p`#tbc7I)$AMOCo!`$JjL}ayxc{HkCe^ zpBF-6O9GO1r^e`L3st;>GpFXT^n2HE^XfVL=I$$e^=dk09XQ?l{1ZMk$n^u0kC zEAhHWG#32>+B#~fGo4tFujE>ehx2-xlg;CIbpoc%|A61YxuN|9>Qkpq@eRFBr!%{- zu+U=r`gh@Y*Bk&Yj4XOX^`!06h%bQ_j7* zx+vjD+uBp2NeO5&4}OYdD1kMoV4o}7T28Ul)vTX z%Z0|i21J`gN;G#&TnC5cNVyTDZGr#lY=js`c<=HleD8y+`1tl2bX#MT*^Vgxb&?L^ zmec5VW5Y5YD)SNkcbg2acbtt~Ua;xP=W6j?O|gF-j29e^;k3YsDnu?4kOm(KJPFXj zdRdi=PC?C$zwY4GVUCAS5ApT4+c+MkI2hHa$N@kmEsiOvoJ4JjFeu~9g{~~|5DK>? zZfS?jLfE{BFK`{_XfUfX6NATV?WR3fIKjpwp3Y%qarMv*-sapjMPxraWQE%eT9xVi zdB`*uIN5G0N+t`9R49^Tzt?D==Tg#Y5CzL;={0F?TN@LpfmB#kzt>GpTg+ObRd|28 zE>!Z^r`IIyWpz7rO(^Q8N_~3Gwyn3WB@@xfd3EjBYqw5=mP%>~u5WhLtVQJl`0J7l z+#@m#M}c4b@8uL~EBqLUz2fh+d6B=aCe7zd8RhwMQ&4!Ch+?QG;_g32p1Eh;>r&CQ zL^d8uWbF_=IAN@a>nZWM@l1M#xbs*?D-*c>CMd#>oo#F;O7Ht(*=0`?MfZZM3d84NgV5)FWUl7517I zt%ZdJ&WmzsX{quKz;_&g;HZy}j|l>dSz~E8dF#2^XvLD^!f4-m>}tdn5(=GxkmYHk z5|aD)cW(AtUc%q$;@6E_KTkJz3$a?rQ&9$MQ1#kWgvP4Cc|#<(;aDd0f!)T-t0j?- z{R$YJOA`+%lVcu_t$EqAdxUnB;o7BTe01w7KD~1u-MEi72B@;JSJ-lT<1V0Zd3+g* z0K#ryS!tN$+Jm|abp6Ql@%RLqq=6+!Ptsq~mHPdx93#)iXj7H3lOP)x!Ubq|mylNp zUTq)Y>lZKaXnh|C2NAaRN|ZGr$Qjfu4iWNECHm$P0|~M*SvF~nyY28s2TBYDF$QVB zN)lpTvjdr^)p88k-zcKhqE4bazn;??ix8H#8;<3cgwChVOB0baYLFUH+BvA_u^YY$ z5$WG8)Na}6*6C0OL-Uk21)yugZmx!F(o8}N$%n|9U5`HcX@2JC+SbxmFi6Ypd|P0B zRt4goblg<6 zQ#A$5Gl;S*Ymg)zcb#9}u`pvx=ACn-3z>%%>cmN4OQRg-?8T4uWZR1RA17T4ZC`>D zN2r7TILBb)2*-mVUTo~*+POL0yt0VX^Bwd$sg(DY(LnS96511%50|uEt^tw6{+!#A z%XdUzXO;YVkrF}vj&uE__kuh><|9ZLbpI!g3oD4E=Ygnt(LQD*Asb0N00jvz5Cuh|I`TNDiMd1q&A+Q2K7AdgNq=l2zNw8u=vWWeL zn(=Q<3tX3ri{h3LWf&Pqi_5A)zrTmHDlnS@=hxb}bM-tvzI_q5E-ncZxM1`lAuls@ z!f|#w;R5cRI4#n2$2TWA84pJ7Y(46l8o7HKEr zNw^ufdEn9%LSynGLd+e?^OXiAG@5Ke$OTpooprL zYSeDWD}3HzDkHo`{rqV*!g3R)I5`tzZKFf|EbA!QbJ}J_iiTJPQ}>VOVtKAB<;w-4 z_XXtQpP2iSg~mAufp}^a8)^KL&EXV%WfP`j+eAPcO+w`A6QAy zO53h8+;A7YbPjheEa1}ed$@mN7r(mu6b~P7BO8pR<0@T}&P>ORQ|8hF$cQ$29h52D znJ}ui>*{R|v^~NgQ-7xps-j!U3sWSC(|&Jn@9#bGe`g(l(P)%cRW*uZI!q^xH+WbU zvt{gtkysd+SfgdnsqeK$WZI;#3)Mtx@_^^&=9-=ZBnIk+&5c;=tkrlEHBe*6BV-?2 zXGT*XTAD~EFNu3q!sv*KT2Hl#?4F1_|a##aQSQx zakht}?Yn4GkuU8brrtlHzKBr;p);xPa~r!MHOVGoRM_0Wc*Q^pj))>35jgS%+R_i8 zV7VYW7sgK3H!FtHC9%!!i7|~m5r-a*Mll}0I>fh6cktx-9(IojB+iOdXhD%7LVR)L zI+UT~!>NXP=f{hc4JTwW-=0?^c9UO^kj5SPT1vSSf6r?vNi3|Bc2`u-=p3-zktl-@ z9SvW@&!q`wco2!JVx2&}mIQZl9Vd)=p37{c6Rh(Pm9iUiSZ!h*1nZP2{D1QCC)FhK z6n&b_7$`l*)ZPV z*K%+)QrrGq;r&{NOHm2s<}}aIlKL7Fsd;ZW-r?90ZSWgJQ`YF6nP5|Je0y%Vl*Z0- z*O-jIb) zG^8%H^R*Gy(z#}@-Og?6#T~qSeT2IYUx)+nYG;H&(L&l=7C5s~bb+KrkfcY3 zbM7+^jzH*Irn29_Nu;Kcq?VVxnbL8o3-TJA_+*MoU_vei8e4Y{{69&Di1et-?OMkA zY2VLrkZz`$8xIr<-(d3d zdo8iD2G5q{>icclK{t4RU9#bOBBshK%eeVQK254XyC~ZC@tQo#y7^qb)#uI3b^cZlCJmt%2YDN4dpW`;wj`OYXEej z*;Il)Tx+H)S*X!Yvc_ZgJ?Y&zFrP$r z8dbksukf1CU_3%m9Aa_4jrZ=X;d}30!p-x`Sec`E$FV4W$!40QuI7YfD&`OiIvIS8 zg#42KX3ow+VTuNX?Q4oE6Y@@75s7dxzifvKNeQ|)-J45uxHA+f?5|PMx9d6_AwiEH@Nnn&}i~0n%SMd=#BJ6NxQ66;!CJbI< zC=-b=BFz^HAHa7ntQkdmN!Qp_Jy^#w-0*G0{WgeL9Z!3X5OTKs6+5?ej_A+ExtXXf zw}#bjzF}Rv{R}%+7Mixve7JGw??O^y7?p<(wS69{r=e@gq8fJnhN%?&40UX5B(Ce$ zif7q-wa&G5%ItXCHLv$%=a6j(V{J+JY%Ise+NW^*tm9^RNhkN<({l1pnqmv_*LlDc z(()BP{2SRS40Z)Tnrv^&ue3o{Nm1q{9eyD!P!*I>H}5MIByHOG{q-+oKkY=*X0z#+_bS)jxf)`HAn!AL4~vd8y83zMN4Ht z3#_Q;YqrD`;Q#>u07*naR6A802~#G;5a*VASX(`V%NOSHo4c>^^kpBfcJ`3vEu`H! zAqwiX=rakQbrhrrtg54(3wB=Xp{X0yhtavAj)9UqRdSnqTFku8yCcB&&L99hWGd|M z?=$~Dpbk*DLF)qwVO7h}w)ONp>|(I+j&9m|{xDz4!*1|Al!Y8bn(}+=`7bRki37k1 z!ioVk5OfeM?5Cfv-z%$HCt!H}RK6n_XQtOhtIkjreH3LMD~l->=Ue#R2bb`J_pjho zN|{e8emUVC2^i$NRD^u$7ISP=`U1)#m)c#|DCER|hnp5*2YbJi=wx#twhU$@!RAJx@)4UvbT&c_;b{t`6opf4Y_-|-koTX7200?6gpCtC8++o}NkGi{nX>3eLHY3HoY8Jm;WT)mA#HEP$*+zO!> zqLN-`=&UF?O`>i+{HCeRd8DC`jJIpb4k+Ko|J_5M8#IZpqkQMyLW z>gWVqo`%tH$HqGwN~)ZQ{_RHXA^9fQ*QQ2#UlxfAkry3n{$t8d?UO#kaIDp=sDrH) zEBb6KLP)7w5nW{s>vns1hoP+A`F2j9KYJqOYj* zmJCXGZbq1U3z$vk5VwZNixFDV>XW{T3ldy$ z;$+FF{c4@XL{qCp=2C?PdwnEgS44xr=lVqaSH_d1WxRO$>vtxS^ z_`RX>4#0OLz_%R*Loi@WZDqf?3tVcUobb?x6$(Ds4Lyw7tx=vvsIrH33c`G@E_$65 z`ga-xjTnez&>`SI{$8UP8wrG!05*DX=Y}hnA>7Xz*J^+^j&X4%!H+(>g7!lT zwBALMXQ*-#WD@DU&A@={U)fws*LRz$UR;3E1fcRvYKf>Pqc^?hI*9Nn>zj}GsA}|> z_gCUi!ft=AGzoEvQC(x}2zb1Hi07|%@oeh=`vYKD^+YC=K}kx7inY7EXP0b19aCRn zEJh_wdtUorJQ;~}N=7|&5CjcyZF$Xx^~Upd7tXO{w8NAKTc_qu_=M_$KC%*MRVpB) z(b0rXLo*g9x!*VH-St-%f%4bYkXqG2Fp))bKGPg$B0>q#12r)Ey+y{XLZ#g-r#Z&f zQPTP7oeO2j3$h!o9i5lfSvaY-I4R@Pe77>=)d>kxb-Zuu+^ch>4udhg3iGSiAn6NR z4s2fAjJb|!h=>^JR{5fT^C(B-ScHUReO`XNo033v5Umpv+7g=v(96hn>QRl9GcgWMS_V~n(GBBadU}Lb< ztBTg>NEbs2nbm9&>(>$&aEyxgRFEIkMUR4FQSk8rGu}Vt{&k8v);6l==62=A%>pu+gRK7f!a+u^a$C z_0qMvz&Zip=Q>t!gibrbV0eU1lH*6e_X&Rd=@ndBiIEh$NXjFWY}3mIAgulO%-pz@ zxQ<-X1Kj1$3H!TdI$Tf^TZlBUL(L|cvJx@*yrGV*m`%3-ZIh7bYJ#QL80ARQ9*U@q zjlCnRZ|>mP#t2VdWmw`1ca3Uz*!A+pxEP1Ume_^PREVybT>Bf> zYc~64tQ1z)-%Z=7^qTE?wR%RcL)VMKu2y3|jMQx88Q!m6r`ifT)@n<1y!llfuF#2a z&)8|=>wDg2OZ3_5+~L9Nx4I3S>qNa+-_CfbleT3O8;`smN?V;e=LE0bpcEKUa{xKo=^Xlbg~zW7yxx9}^^HB;xV(hR7fxa2 z)G2hOW6RhFLaw5Q*RNw9DlOW%>aNEg!T0qDU2Vkw}s1+a$Cdg1m#>O%}+x^Pnu{}vuL z>b6ISJlJbc17JN}n@6$}XKif_+uPeRL6qOX-xETz0yg?Sd!O#wSxG>6-Sx!c27h>b zjKg+>r4AeZ0KMJ}`lB)WqY80KPc;^HK1FSukWeboyBH3VfcP%1jn;`dX%#}jmf z5wqc2us68K`DUUDD5i&-DcaaSuJLl`7~ekI#`9Nu*w`Hk!LLLQN!1ZufL@zXJ<}6T zNlf$Y0wIdP0pU+VnSR`BEi>{Opj`M7p?~%Ta0St!k(UQ{oI<|K$;#5hU6vDsI9#Z(FZ>_q>+rjrbh5-GCgq;`P$#>c-tKK z+vc|ZKAhXr&;CUp7hOB)dyZK6dR;&;qW135kkoz>b zE=UA+oEo?899SU$Y~;wnL>lUfsT&G!by2fhXnu_2$H#cJd4x-^7o~LY;+a!enV&&B z&d{Rv2=(|W=;J@1Wx6b5p5{EsHPt$|`FAcurT|&)%!Xp#ArnC&pRV=Y%|!~F=tYY} z-V$k&BF`#}@;-41CpFG;Lf^N9WyjV|OxyJB9$=q0*9N&1;aXRR-v*RcO;YE*bZ3vE zEO*S@?@|E2<)EcxGaymE(T8Bg7T&fQ+dQb|U+nMo_162=_u6xXhjkn*OsBuM&|^qu zQW!}iLRJUxwf%lya?vzgObclKU$4g+(UZ+V1i5|bUxF{cd5YK1AL66yi}?7)3fATm z5R8vIGe}dG)Hsrll>U(T#!h?17_FL{A^)ROMP@Pm{8Bu39(4#Ad)VDB6v}w zj8I}64omFy`?&Y)0Qa6Bn!H!n~YpxTTaXvGpe@01|a4QPhgb zG9F7;!J1eF7g)+jjJo13*GcgcQ686uKqvL=MXZtQN48_Z8UBj0V~d^p?U?#|QHMjF z5qUmpOH7$zuCL>3JHxoH10 zg_sq*))~Cs$??Ub2YB$}5Qig&&L}U!@={nZxZX>CX5M&SAN5Dok)`;q1JwhA(*+?dY zY{ML>o|~IKe@6(3-Xwo!$soA_oS+IT*$JklLb8CU-0GG3mw>FSE4tw;Bx0uLg$PK$u^Q3D{|Q=xiM1}PhdET0tr*tiHyj- zaAVEKqCQB26DKo>x^o!UU2Gm?`1Z+bJbQJBC+kPpIVcdN3*xQ!x+F-sCLq)x5E~>R zMiemzugYLt=o0D6ucU_o{XiK@;V&f2_c@4O7MvKD*lU+_;YAV^$TKZlD6yLi67i+z$6qYjEXK~~Yd$kAagR{B%= z+$+b0Fr;fq;^d2~EE3o@X*IcOZxEV%wg0|R-_wmToMU!Vv~w+lwRu?1h=t9qv9}Sq zHF$3nuOPwrF$6n{Obt%u(!18pQ{90|sN;UO$EX}nx z&IvbtFSV+UeWSu>oh{RQpt%qJf#r$T**+Pj5J7sA4KDY@eppc+am}#Xrjx|r^H0S| zmX79Bx8p|3^agb&xW;)8bO0U9flfO{l^r9>4{>f~4xfH_3*WzU5sRH6TAem7E?vb( zH&^hR2kZFy-Ubf(3F>rF5CL$`vbs$AV(_{dK~pu8H{#^CbwlQ7>3kvm!BrW!_lQI{ zf9F$dB;7G5FQu~;H%6u^Dzs;3C6za1nqYr~!@)i__i{Yn9^>NqWn4Oa3iGWoAo9bm zGJzchS#s!7j->c%T#G|O zLh;s7g-0(B@cFkdvA#6~(pl+Zs++SF@Y4BR8Whc<6WsVU>esoUL0mX5ECN04dr!nA z0gxA<4!|4ykiU=PT}%ORaPm&4Q||2SGy`sldYY4)_7HXOZE0P&soTF#O9f0jLc=V28hJ(!JdzSV zvU@eZE!QQCVaW~n@|`xysE6Gn;M?b$xc6co&$oxzIml5)vmiT%I0GAkP-}lYuFy`L z7cE9v+IxDXJt6-|9>BqwLP#QcQOudEQ1FgV$=ZDyH3mLH;8S$MApu!lpp_63Es+#` zEX~#U=+-Jex^ouS&M%==4v~!aF&g!SH1+<4MO^ydeTJ_dY~femzQV&-$Jozu#GP5W z9-;x1Np}4U_!%??EO{c)DHXX?_nhAp5;2azM09Q<$BE6-GWhN0sPoOvZM(tCqA?6> zvsq8P*UnM>s%VAHv0Lsy2<;2{gc^>mlSF=xe7z^!ge0=P)f86142v z)^l3%A$@w&~MTbW!Y*?Fg#&su)?NZ0{v z8H!OKi@g#b+&PDzeD4-6uFjz7Zz3M%D6<-iafDMBd$_oI8+R_9!{=YW!naShF*+I{ z?Jd&z6efVQ>13~vm?;L53;BFJc~D4o(!|%THR&m!V{UTvQXU*5rLABaVYc)}gkGEI z1@q~-@Q0*5Z+Z$x;}OQ21-1{jaqndxx3A3N`h_l57rI#J62>39>&vOMS)-kH5m5#_ ztB`YZCle0RoQO0zvBQ*IaDA+ z+J&cSTF@)kn=J3WsN zFP+AXi%V#A`Y4MdQ3#9*UZ3m2RhO}((km`1xkjflMw`H8%e-QXFr1VCI?pWa&100+ z*zG4+-x=c3^9|g8wuANE5sG*Qd7aAQq=8_HfF*l`JUvlLqQqv*rT=&Xu>0RLI`Yqu z0HO$G@5= zn+YQqZq7E{rW>*vIo}MYNnseJJ>fs-`@%I9ItCV|HvI~u1%{2>?e+5dO&z_UFuu!R zqqgW<`ReOjxq>&~mb~f5qbZ3rYg*J2ZP1{O3^nKLvaW?xE0feaICNe}rid(nO;m)s)=p;Sg=qeZTT&qQdD{9ILZA#PKlj8~r zn$?6%Z6uNcJEu261#~JotY)B7}_02h4IJ1ab7ti4I!VJ1G(LZ+m z$XrKKsqSIwLp*pN>62^V3C6YSXehcO5mohQgK88ke{M&}>JIw-1RJ{}eEskhp1wZD z_F;zOQH7*4BP2q0Fw~BL);6oNo%pn&I<%_Z7v}oyUK6e-yGB9>TgTO>1IsMSsB-(x zr~tmJ2mlur4zvZ0@`e7VPQf3uKfm>Cnp5v46ta0xG0%rb9I89!5BwR$9V9vkL}GdcK60O zf4Ya$OS72irKqxz+c;eaEhzz-XF}}lP7C$O)s1tfWNT2#ofDHIV?1~@ z!ncn%v9WW6ylx}MDa1)n91AWu@vd7e7o;aoD3q;^x$xX3rQOxEsi_smaBD=OlbW^v z((J^Gj4*nVSc-GNS4J@MViq$y-a#)O(~)O6s}JiVB08<~5@T;Jd1%~hV+XeYQG*#!X2H-`Vyl;^#Tw_^~6hM1@1 zLvHAuPDif81PLzUA|+qM$kowx-`m3cKf+wCl3YWn<)@Tx)I#_Z`7aHV^jk z$el=5RAO|zkC}LgJJ;6m{FQh?W}T0QATZyha=3UUG!Q+Lq@3b z3@g1E{NT!5mx#@SCJal9M>6j)xH@cI)Rjx!v;7~#dnYwYdT z(tqUKatA95ZFGc~lw&*~nK?nH-IZ}7s^Eyg5{-DnM&(aem`vLygvGRr3@toeKg5Hl z2Y9`imvcEbE!Xe{4mB;R&~ zPJ}f?O6JqgRqs*Dm(-b2a*2AOn)4@7kmqL#gp-V8;0P&g495k^i~>8VzFi`1wP}PT z?^ltvTUQc!e13luFJ5io{TpZT{*5)9TW({4wW}c1&zo=r8rA@_+0K|<1Jkyvfv2Hh zF0S20R!11-DPC?4@#w_?o<85lvz;6V1D5Xekg!u98PIitJj>AOrfBy%(izan1QRw^ zDEPzy((#(yh-B1UyHmma=^%0U;O3vYoWCfcQZOVI54PwZ0{IZv&Mx57_pacBTc@$S zzy!px7#cb=?YN6}%Em$?addd!MNUFrf?gVdJqZWnU8G4DmzEZA?hoF>om*G%vo9YB z`RaJkM`vaURYeswHXm}G5T!)Pr$q$%^`&4T1Z_8P<+W(Ep%IB15S=S_GYyTAg`=&L zpzjSG-*B#5G{Vm1a6N<^0xh`n|_A<{j^kqj)k7bjy1=F z2%AE?cHBbtw@smh*B9CdSG__>?XjR_k?3@|-w{b;!z@p@m#CV$_Emm}c3og)F~Nt| zuHv%~F5}Fp6fKMp)dS?Cp*WY+{2))Ds2w>|3jG+ViZnG@_6LZPF)psnV`cFMKDv1s zpWl0qFYmp;UVj^CpF)ySNt5b+%<(ZODaE08?RxaSxFKqVkB%iBP*<6w^P(YwrX!6?VqkM^z z%&_SfH-5g)Hxpu0F65Y*VNZ|;->JO2T?clKhpFUgdyhZ3rxh%3$2)YqQwYGn{kQ+t z?G`{zZ^@H;M22iUra<5cqn<}-wCq9-n3&BGLig5q8YA7nm-chQ+@_u{G@Q0>*`fdz z#o(dDC+#k%lZl%G?~#rGkpP{5yewfqlUyS?bFMnF(+VlAV*?&W!<~dVU7&2wX@7fCGd4@6beknJn9-eRPV}0uo-#*&G zv&{j9c^eh;{AumvgC%F@tjSEbjq$iI_rUhQRarz_m`N*@z|J&4Y9c}(_URDTtvD6v zpH6^N0`oFMOb2*^AV-ifXS*6;X}-pLw{GC$_s-+=BBA&pS{276L&~zpE^EaLjLM-z zL`md{eV)iS9A>EM4Bf6nZU)00bh``q`06T_=I-Fixl{Pny=Qp3zKOi;jk ze-;`=5mWPRlr@UyVY@&oN@eDokngm`tSJ|KV`C2ukbaJJj5RG_$)|Si1%|32EvnEF z4~6WFqtN_K33uL^m8e=HDZ^cm=d8|wXXiJcYe{@YrH|VaiXL z+q@1&^t?aM{%%BuJmIiOwWzc1$4R08MwL)Ei_n1+M1!yog?QpBs_M9=1K1+ZrPXN^ zE6HB33Ob<~x=Dpz+Q&z?&*QU?ZsE*g7c)tYV!Vqubplis$u}H#UTaYbR8FN%s%)}N zue%QBz+*~opkRNGRu41FEu8sBw{hp%S^V_Z-{Ri$9Uz($2RzG}#$!^?G2%(6qa#7` zuMh(%6xLLVxRPHX{x!~!a}J2$wWMT^>)xS2olZ}j0BKc1Q7<|i+=xpO3KNX#3Qu>Q3!#LL6n2v7btwF+pP}behQBI;S#>~?0lAUV0bnx>rUvF0 zmaww4j3LViSu3oS2oy$16NwV&nTx7k+D5CljN_ufqgP`*-#EnP!4OA9ge&J}u{OJa zxEhP+%#M2_y76SYl5Epm62-nJkN0r@=??Ba-jbj5sEa6R3j!gKAh`(A0yy`0E+NMx z5)WRQ^f>3n!S$1*E#qz5jmXK1Gm@qORXI>r9fNC^Sd^G`OU730+M<@mxIKME1m5(pr z#^qJ~`rZrt`kR;7XH9lN{qI?fvjW|;jj>C)P8b<`zecUDk^8mAMB(djqp@>PjgVD} zRQ++=ZO=Nkwl>*T75FtX!K~LKjDExD$Zz)Qz=;E65eeHb-8bQxXym2U5ndgwQQOn| zu{nL~IOzF9$6c>YtAeGT3(xi zIWBgElQF{X;+3wTg-irf#MK1&aUByA6&=vi*s0BASv!x6gx=*WGu$_ReZ+a zJaLhFEK#i!>yf9$TzJ8;tPy3d+Z`cwrk7)fs)eU#|$jv;ZpfQ_9o2BQ>Z+7$<(Dl&1p_+BCz&L#;rQ-TJIhFPRo(bhWX6QSj>`phlN zZ=G$O=VmXMIJZTDy+d7gyWOnQ>3oL({9Ok41u*=oGiS+Pz?h*H=?*{Dhs%(4NpF%|Su%%3{dR22xxNW?u{ zyKru5RLi2M24T4>ZDUx(xc6#^&AmssbY>18-8h5mXXdfks}Z*{WOahLJ%_!c0#BZ7 z;@PVqo~<8Xd#}W(B-BP2J`#Z;5w?;|i3Z)(A#?F*jW4}_ey+3&Htc@8@#*-6&(C!h zV<{h@b)pN7h}en>?XN+Lxn9a5LG<$dHVha5{}(M?laS?*%#(@Xf^#wGmxizoQ}n`by4 z_R&h`1dkAnd~z$qaK5Q-H?2a%&P{!-B^TN17Mp(zp?%%#Y*cIwkwqiyXTOaYXb*cm zb{&T6&LSJy$SPbj;XPZ2J~X1%ai2zjeA{82DvO3#yJ2BktN$LJ-@Z=AR>#%-%m~rx zO>`)NH6|OE&9L~s3<>(E#)mk2ZXTb#{|W9~K8Lfj1v=;>A8bpcOtCBWq9EKKC8=z# zbjTxa=;WDH&e4{<7xUsJ!S$28y$S&dfW5^Z@_G4kwWoHPw*sX6itq{QFD>bxX@*>j&-aDb#}i~4FIUNhyorB;$2 zQPe_K=UCtEl%;MK)bxP5g67cZ=0KRd?G>j56W+`~8b zHn6#!qrfbpWI-AT5hgF0yQ>S71y%eMj*SqdenFMFD;tu{Hsa3& zVP|g#Q8FhYCay&CrkQ-nr))7!E-<(25%R`RHRhTXvJ z+}3&OpG9*G9@3WxJcQc46FbrFSih&fwzO0`9-q$DuC$HPLnJxnPKhnzdytWKO7 zK~i~-p3ErsDiHmNBB?m&-1XU^ukB=e*-22>J=d=I09<3T{g(k@7acPi{s>G2`z zhLXZ4b(F;Mw-LVz0@>#nPZ72XolLtQ*ts8aT*CF`|0eA)%CgM75RhE|bEN+6c`O8SOubG`elku+Os^d;162+dD+3N6)^ERz=9OL{`*D+Dw@+l}_FO>t&fD zXd!C1#js>mfv4MJyxMt&7h6ZTyW(Y>`i;nwYQ1HKUZ;zq9-tf@qn(yG zyV}Kj*WbhUKD>;@c?K7|NC>e>x4;%!ZOVX>#K>|hh9bE*5;Qigh~&XGL~bym3Y&*c zX#l)2W4%8O2ay085k@ht)0$`Q7tCu?p0&n&tBoJrS;Oh2E*`xc;K9>(13GQ4K3$vzs) z?WPN3no_AsAaik6>>SqgoZWDzrSt53m^MG``1zlm&lR9{x~B9qEt=wABPZ}sZ_{+h z5{~u${P>Feu+CDFJtfK`Yu*>Kbb2j}2Z!jU89u&!8lSv(7S}JH!qQBP@$gX8{StP_ z6k#61&kmB0{hA_-FI6dYn8{U{TKI?DuUPxxLZB}~WIMbrA3tkHJ^B`#t^ zu9Law+X8DZ1mOU9*=|{8lDbo8)gdOW_JTC@+Ub|r+aF>3kj;DgII}j7qy7j_o^NAo zKgY0a0j-`?9kfKC%r^m(G{1Q6K473W2T?=kw9|o+e+l&rM2W9iFBWx;P1&rC_U)Rp zx-**Yvd*-f+xnh>2SA59CzZ``0N#n?U2*`d5i0UL&#J1TdXoIkZu(&!P!B7-pqsX3 zC)*8NH+F>`ZG_^l;SC5-uY>rGE##a`+6I$2#7(e5w>^U-B9FKwKRaWcu+0ZXS&6To9OL=+ zBN5U$II2)oE$P(PiX00$YH?{fopKs3b_-)3QR)zM9GRDl2?dg^OJsz(eC7*Nsbj99 zmKah=5txTIVc5LU;O0*zbTt}cZ7IdAE35eQgA2HM@f2FsG0N-+A`%?65VPq~U1O9D z1v=&4?>2B6W(p0-!}D-zCa}Lt-#VFK>Z+^yAiIu<6l&!i$;crQBE2lmj?*p}^>>hT zQrx_-j0{}@$HLaXE^=cS@>Q10eHx{$$jfQoC3k?#-{CKU45M2uq`5` zb5-H)lcq8gGT2Hmv;;pnchGDnB8s5VuXh;aJtXs~!PF`Sjk1{^H<45m*=s43Mc2YL ztlWUmakoF)`C`|E-TduX+V}Z9aC1$1PvP3tlZD8hMgE%S>Y4MB5+iC^WjGx6k;WOm z_r06=$KSt!Q_(Sc^)ad=I*x_R)wDC`TIagXJ+3s5sQ~Hk;b4EK!0DuUoeZ}Z$MJ2k z$&GQGU|zFtS|!>YZp|GX4uycoYL_@FQ4V)7*Pg-0*A{T$^epaNU%}sg`x?J~u!kt> zV5T?cgup1jD_kA1K29Q7=cOnF@_SJT@nhpq09pI=0}|hom?TA}3*`Zl-Ou}?6Bx&<^@Bc+@JPe`<~58VE4nztC{t}XmyVOJYX z*kf9r$wICcwP=i{)bKi3i;*ZHKk92!B;&Y$h<^V-7Gt;FMT>cQae%0f=W=vXzEju2 zcFzlkUZmXxQQX?tJ4Po>(C#jZ^S}~5ciq(2ccntCG#Cq%?npjTsz>|dTYt)Z(@_!V zkcNRmMPs>^RwqTp9I5p5X6~@bUP|eYBOaBAssiKvZOqL^_~^z8e*C>#xUkm7d}oBD z+;#H2?F4ZZ3wxi%3-tYYZ_KAkWre_gjz}d+hk{KoeZdXh@e2HtmW^L3`Xz1Q{z4gK zr%+T$vm){+WXJI8Y75;(9Fv$iDzSO6jjf%5>$eabcB8WC4~O=+2*v9lxH%h?Ly9pa zqnX$5=a8L)>MZKqBAL~0ruMZVYGw_UDpl%rD%xi6K@kNtoT1~Yo3E}PU7L3Phw!RR zr&);I=KsU>Vy`D$f9hoDwb)3F8xpr90fyz#a;KZ*R`8JLI7N|A&!yKOX+_uWKu{+a zjK}Eox;P#T@#NV$uCBDvVQqiXMnuO?N<|A%^lZm1X``J}B3s6lIdVlQ7|rwiacd53Ht1r7j4yF@frg)(?8YaXx+MQ)!{@>m-2hhS$aCkK<2CsbUQM~l zT6a!3$%1aKvx>l>ZM?v!JBvI@uyruRI0t%jth8b3gMo`v1f@L@dVwgIipS(_h^rLh z=FgNNH9k76j*t=Q91xMzIid}(?EK*o?kPHNt!|55bM`enbZ&(D9mWx0DNJTGFy4vd zT|xkwV>B97olYlXRN)t!3XBLuY9oCM@hQZk(7YNm{W}jeZu$T<`mvk13XgaOb7P#W zVdF$Hsez^gi5d)QqkAV~qWfEzB2a^+hm|J{(+Z3_+Jx9?^x3e65h|z>*g@J}5$~3Q zK}UmQfr4EftAm8e)Rm~Bq8z7o*dkO#gd{?DhEX^90Zs^r2!X2^b`dhG14Or*MwE>I zhPb87a(`V(TZ|ly0(+RVedjnEV>}#7WMAiEv?Q2deXl_DQZAUG$_AKCGkkchgAZ=5 z;FAw;p%dqb>qEq%alj3{1D>9m2T?nf&7LFLBraTIElGc z6&&Jwz3`BXza%oGdVv4Yh)55Fg5y`9Vyok-hrMx%$4`#&)x%A!Z;wTOl;cXI#Ie-a3kt&FlJ00EX?it7j(t@Yb(F9vjzFwFVl5+Ss^YZmn-qcFP!*Q6%}O-N zF>t5EiJE6ucD{G8<@f$vb+6ZxvN^9(C=sz=EAo0Rx3dC2L^PC8XPMI)dFypqXT%y| z{hLkEg**gH#Ipuk@6ockty3aKoNGnUK+Y2BJSAw3raN4yEh@UTh)a2HgbEAs(6T|E zlXip8%#p}wduV4;fz-cxu#4v}_i*d-3O>Gh7MEA&(2H4unhTS@s2x;K2c3_Gj%zMC zcAqz|$$LqV2uq#gf^CS{RcDBvcqTr|Gma!9#^W6jasB z#K~SwhWKZn&f)iOe1@O?<{7?uc7SJ_2dI-%(rAciq2%~IyRRZg0WBmg2e&idFB_e- z=w@!;ZT@tMI2J_LbqbS_2#QCrirR*E~6kyc_U56d+RgEbqF z`t_H!+wJVtt5@GS0B<=OsF6%bdP_tBbU;Jayl$SlDeD7cG^1UdtTD0>YZ&o|`BnRw zHab@$q=v{gm$2k0qaHSqoK(Vl+lX4OHPO!i;@oIZt zWLO=IC|4*}3J{O~VyXo`PLV{vK_LLYx4<9vaPu&|$HTKseVz zj)VSPIR)M@OKGro78*{1rq7h%D;u;~rzF6NwuHl`WVh!`C8u8U?u5|WZS=^YkntBI zFWLlt{cE$N6DByXTO@y-yf$Ha8G@K(+ZocLhKai zPUScN;*fJQC&KO9BZrZ&&L8EZ*pyB4TDfi?TredeJr*3J_Ih5l^RpaUP)65GRif7TdT2DAN}h2*Vw7@j9IY}1Yq-V8r0OfiHLR42Brdf=F7 zHi*Moh!)N*8qlVs}KIkJ6(l>bQ%YL4p^Xhj_Zak0&qo z@N)B5^vH{-EwCwHPoo>c?Y6~kV~jjQT9dav;+MavIFxKMGX9xVR-~<7GY=Fh*ZFE8 zdFvF1bJB89LI~eRxi&u^9w9N$j`uW@qlHQBwY)7o5&mqSrG4+T&s0g*(8%+-jy)>K z^c0^H(J9uyvqDB9R@u}kn!^;*WK^fuqZC6n47G{ygC0cFPurn_%kd`>IRJfGS;#_AGPdRSp=LNNMoB`?EAp~DP z4$|N!Ld9k}Q~H~@wd~4k9qoXzOFBx2u@?l2a6uQ zZ5|WCeBp*~;TTKqn?@wEh=PBOke>LNmL+PT9Q*KXu2o4zX2D71V2zXC1e*FIB}bWt zF-}}0kQvr%(0}1#2@SBmh6{rS7YEx8Gd;k+Q(cg0g3u`QusPb$W4Ggf0)t5}R9E67 zQ7mIB>g2m!rB~G7UodKEZ-f98mGGr*9?b^f(c>ECM}gUTxvpE5a&RIzQ_vjy8c{) zLbCG#X6WF#d3ds^(V^f=JIu@1BazZ32k7I=^EkiwJ|4b2z%TEvOKb0ea7)@q$q|tC z<2rH*0goH9>lZGLY%Fr!PWsqxh7)Vhq(tRfymO|{%dTOaFIL1YEa_7lrS{3rFGWl3 z`k3Y{#HOUxR@GR096AZpj?kI)*G@7!Q`&R@zDoi8jwHZ5P19;x`_Zr=kY()K{NFS$ zUf&ny<2BFeH#d2)brO_(XiNFbq!12(kFX^ts`*;I4v$DgoV5DALW^e7G%~On&8yJ~ z7lfiBIzBe%tJlo;F(tr*ktNdt>@T4F0GmTr18f(N&9^G6oQEp=30q$3ez_L<9LX2e2lqXf$KNs@VyT%;>LwV%y*g08wk&!9ns4lq1)-8$mvix zB2$N*!`PsRkS)uB#K9wh&>3ER{(29#cel-vbMKe-B4St_Bue#F$6l^QWF&4cV3b$b zIg0UO^GG@#K7O%-o#P6lvMYVYp<6&=1zV8^M+qzjjX1@PL|zCnXP?IGfq>=Z1wYX{#tP6X0a{a7IAv`WkyEspYFvUQ7PUh^^ zpv2+*9c=HhVb!eY<6m6sV&&8_;wl%80`v3yRBq;+-31jYNr02}*%CB>4m1*#$<`>@ zrNBaG%#Py(;>nGid<0ovL`iDoqXDWc!$LZPPi~&ZnYBecS>MHPzIle{ug1u84j#pH zTJpK<^2zr0Bq7r|=imyjhonH~TTY;r#@0>*7dGW%odk6Z^c=Gs z`L2P$Eg4XMZzq|JG(z%_zJ`a5CT;DodV#i2dgxq)kZ1T_9yX6^9TZDmQe!%?U;{R} ze0Obc992_(aUF<#Uby@_)euiC`EHQEoJ6y|P2md)SotUjrS(8kKw3?a& zWc}yT$qdB-E}U-T!<%dP;V0LyILC--AOt{i3WU91^WOYsL&8o;nAYVNna35rujI~a zfmwwKY>b;FlUb*b8>~13oKn)U&E-oOX}P305sDN!W^vfB@Z{wt?mykflUK*sI~*df zTPWjsfq8Q}4~5I)Q$m>#DA%^islIJ)=-(Uz-7CD&fsrte)ZCPwla;>hQ6GfZhnp6p=gs-Eb9GybR!JkBpA#7~dDV+(j&YcrYxSkMo zjFcolcBs_8CEUF07^AX<7h45(_P6kQ>i}2I&*Ap9u&9&$Ij({iiU#&J!JHJ5Tkx zY4=@!5l7GJJ;s{FcMH zN_kEMfRbi(1T@Djk&YDvvQhlBy#KUKJ>1ajIc#24&lMUj>pg}X0}ID0RONrKaH!me zP7qJXYG6yA>ZVU8fD4H!0UN1tT=i#tj~z#=#^xee zmLxhTUJyXvFPwQ*M#0^*CCX*B=<^@r!sb_SRZfNfx-heqlRVUFF( zP%t9(c~w_&;2?go6CkCWR8(~B*_r=1F`OO=Xvl9CZnVZn|86%#Pta?$1ay=2sR@1U z8(RGS{f&NsLjA_U5OSWm1{n%n1B$Bov6&zsDx|NK2-Z00Vs|mXqIy*b^TjJ&>|~3_R{W~6*7X>v6QicjQ8HE(BZr(j#1`^I5XeE z^6y>1`!`SH^RH9feYA z8t7S6!8)CaY*|~VsaD&f-EP=CLIlBX-uzxf|KD=mxT!9i7)ubn7%;)MAfYXI#-(b{Jd(cAJU%l2#}QVpE@#%HO4 z5aox-g(k*YClpH?JwJixZJiWS zfD9)(`wfJVROmfBsMfZlUtv7-&Nny?=Sm zwJT-h!Bj<@_E5EYI37XzAKZJoBc!btnHryA~Nz zCwVq8H>^R?P0T+d(!Q11EJSZ730t^2XR_0IzlASvP3eT3a9XSp@f)KN_;XOcI;(b_ z=*Fv&mnF&thOv>&)$!BM@{+{L6==!|RU<&12{r7>h0xSk7GxOs6EOY^7DnaM=f zw~U=rD6-g~V=MBP($I(NK*qhG=$BhZx(0NEnubC#|B;AHFHyp=I29xpN}U0nYff@L zOKA~Y0>vIKugv1?AH0Y6Zd}AqKYxS=&-RcNJs_Qv9vpP!S>`MLst{r)JE2Z1(G1a2 zeUAKD0~4#@XDcym^@~A!ManvyZx&Us_PL&tLeMtd`gt0dS;s|frrwu+MmW|d)1{`Y z{X10w@Gd(59IPx!k|vDO2f)J;1FazmA86>|*~s5Q`TlD?E&A7}O&7cx-w8O)$fIgR zZ_lmHgEy*8lw|YwS|+B3+Lt&rj){#rY-yq8F6d{5o4;PaPJCsW6Aj=(;)bD)fU^D7 z@d_id=5vLy%!u68^Ew!uynhwn```?2oSnl$TAvI8-wc_Kqb_I$$4 zm2#xM^(l!=!Yp=qdZ`&8$xc7oE98i=@vjjfAA{&Pl}2v*-IMY*)&Y+z3`S$Ld$UM- z3m9ZEws$i;ezk{3&v)?j#Q_e-2?n`?`PuX+Z9AD$iN>VLLFitt;=vh9(PEKn5RsY2 z0c_@hMz<%=%ZWPq3IL&Vi7^iXaK`JjK)8d^XD&!SomjfpvBMoS%W#1L`%1WU86URvT4}r~)&61nH_tD++ zk;)XOI-J~*R z1>$OisLt`hwPl)=jOgmFcYbRXi*6s`hAG<+H+dx!rDcfZqal5w%KLj9>{kHz~6O@ zMk6`^giK1)zVi+Ed)meyl69;hvy)EYF-vB$B~<$GZMk7+5bf{nWSi=7`@=v}O+J^0 zB{gxuS|>**xHU-na~Sc5U&GJ0-}BxyuSO;_NrDH^eMK?ommvl1gGOkhW#V)(>d zXP#x4S?J;Yo7ZvU$_%>Y4k9W7ibi)r6&yddL=S)}a|Tgre%YE=sP(>3&(}Y@{Hl(# zD}53Nq2*+RwJV}JQ{mz*=*g1|HZzZL)y8o@!qZo-p8v_lA@&ao91m)wot~(RW$Trro zgw(K_XWBhZ8{26=PuK{rpy@WHN*YFyS5mVbwvYm2blbBiGD7PmqSo|{M$dbK&;e;o zf~s?71hJBJ;K~g-=d>o?*)HEo!zJ&X>K`}F?gFx?#Kyr94*L6exiiAX&NA*?S;pF8 z7Yj38R2U;K2Cg#3%UruT;q)Xaear7PO4ettj+S2gNt#i-K#BfcDz65UP%*ESHx@IA zM@N8T)p4zN;~Jxb4J7d#KDl!RRXl@@?L!O-mQdz`uyAa(+}&=RVYF|N07b0SCaHb4 zD5U-i(F2R*+IeN#K~FrlX;FF<@MuCZt=&`XKBH^Go>TV~e&v01yIoNN9FHl5`feTX zBmzKhnjHa)qG0GWQ66N49xQyRuL}tq`gKa#pZu&3UB6oPxHTsJ{7o)?8r-9Zfp#0y z2u<1B`aX+h==JJ*eLX*Ou#Lt#PpupXo&4OeDUhNOm1Vc;ecEdekpTNUz2Aj}1xW$$ zAJYRoujbw~a@6}`PBU$_#Q?e3g#E(Vz=thOI~W{S`1;Gos0UqKzc7O{^KI$il}or> zIuxK}FZ2lAG{HD?w5KHLpe}|ILC{&?CR+;Ojt+-|Z{2^63?&)_?3701C->xv5LnwS zi(j6rlU7YTGw7EcJYL_$^UVW%{b&mt`=!+LkH#%@+7vz^^f?0C+VI=)$W=PDJ3W*+ zqechMyEX`Jvt~?32Z8O6%Yw>%jbV_U2);DX;RGU0N+aV)X{-a6s8mE>c%}?1OAEMp z^8+01AL83@?g<+_0ms_tm-{9#>W(=)LeLQ@!IO|)^!#1qDQOJvAldx6M|-54&*a>7 z5>FUOM)@jgq)sZ|M`uxyE4%*u_ku_$CqtbFbr5u&$tIA*^=LSv!IbsGRG^V1ww^%4 zuGV#^2H!nzr?udsaR+ycW6kv;Js+4mFVO9lxO(M^bj^JD@Hqy@8B#{EbjYOQj%%&) z_5`^(aRj)~wc;jYhoqSfmz#C=N<9E7$u&1gMC}Qc7IzGeTF^e2o305gy+A62E!44H4ZG z^q@d@rYGkj7sxtbemzXJPdpUvpJu159k;-W8%*tcA9gJyp)i;^%lDg>p1A^ ztn{yi`YowZgHr4GTM{zov9AF5t_t9{91WD&@Ao;9teY$ufoiw1kkI1cm5Gg%5v+xY z^dX1DA|C1;+DIjg_ARntH`8g8(|kVx%NqUXhCrng$wp0jpL7I*6h&i>0y%t_=FX8H$HZEUS!O~(IWqyFX9Eh=DFK8(W9TaLL0C7G2*i}>jMOE|N-g#O_i9-pi5)%|sR^ZXE_yp6OsE4A3X zC?W$Le(xb%Ct>VJewl2}QOy(r$1cytUPr*I4zfN&^bk&rT) z&pOTqvUOSpuA5%t82B~NtP}Y?UB@=%zuoIwsq3^O`tnZsVbW;3l#J-`bF@__Pf}SF zkZPL0v=Ftr$OyZS4lxrCaqIjkeD=vr+`fGYMOos-wR!yNi^q8Sd>8w9f_{;p-I@_H zAlv2gQw#Es(paK>j%&s4n^N}5F>#v$`5Jj%P{LHuth&y9|6%VlQcG9nh10kfv`sc^ zr%B-uFQ$l6><$a;_H%3wHgRd=7&p$(OKaiN3vIMJHIk}CnUB02Z(E#j=I*HlKxc<2 z0ZFxKyW^EP`Je9)DQ&Y|S3&YiWV$CQhD7`73bQjag5+^bMKZkALOQpMjhzfnq#EED z_n&TKuV0~Vvt>9*vLg(J12+58GRleI%-UhKnVQSDDtxZpsKU1hrU+#Ae)|;lHQ;b%yz)vRRR2tN6F4fyRwVeZHNE`;-RGqxMOefZPh{_twB!jV%g8OY--wP zybbbKq#(TZP|!%fw=kBL4HAl@6TsAf=H*BrbdWf6_tdeE&}P2@uNcVXl{2?0Hl>Z@ z-3o_;UA%Y=T;I!Z`iLvxG@b0sGA9N8g z@~uwE9vAI$MmjzhAt_+l8oZpZY-f%p;&ld3o<~B(vIK<~Y**7uukUW)=U+U)*8V2ycm^}`%gAz`uaNWx<(awR zj9ES5AyFxrB&%CsXs=h_tOp+*OD=dat)+*_eZK*t+I+Hg3heLo{dWG^G?qQ5b9gJX zh$z*Rojq}~m2+{jX4L_9ii*-|M$$13o;4fi(1TXckjx zoaZS^4oXJ-xuhm~y;)Rog1u3Wjm<;cd$@_G>jUf^L^vGwT$fBD39h%2+?A`8d6T1M z=Z(VlN=UW{VaeJk7uup% zYY~8Vf(!6YrT{pGqtR%TrYXe}B)TPu$d-86ypjHnM_30uZNs-4uiYpO(Wi;nt#@eC z4))v%^@r(%X=w<1Eur$6VYN0@1OBrOoB1TgVABg)QfMcZW$$ZAoYACzBMo7%R~M+l zw3-%B_}8Krme`{U!LhhqnbpByAo~A12kUt9bOWD#cnLQzEn#_qY-5t4$RA+sGaZpg zw8sU?7vrwNy^NULBdJJw5(j|KehgG&w56Mx)Ag^>MjdsrcUWU%e}ub_w?xQi|Crqj zyCPh|%}{v*#)EH&dv2^fWG@ktI-hUU4f_YfL;(eo*wlqaJ{LEE9UGZn9u0=#P{l}H zmxR#~x)|d8g(ZCa{uSK1x{SqHrV+k7k3|Q;EQix z;^=rApe}(h&l8N;peY|pIh)%w9U{ZhF@D$Xw4I5TWC6vQh#I)auVTyA6IgwM9A%>Y zaNf&YQ=~xk|NYR(TJ>wKL9;B^z?`G`owT0zTRQ(=I!?+wATdy8TH^<()_u&D)r7ip zUME{mr>JxGf`~9X!!+3t#rO!Tvtzt}?E>yxzl`hWm(a#Bve7QuZE`FsWXIcBo}I_y z?K3!kW)-V*Dega7$NJ75hDUw0XI2Dd%5q*~hk`+MU1!mFe2kdogsj@AOH_F!*pJWm z3yQ>FNaH7N8b12AYi%MIZPu(b{}~nNbvn|4bLX&+!@)LQZ0_UAxdrJjaQXBp%y(17 zZH|dk;naYF&S5^JW2-8I6e=W=<+ulIUPR}QV@P$snyC?%-jXm|wm5k)sM>h7b&UJ3 z4)O5m4qm<5$1rQ5ihXIUz>`GHoP*5tfbbIN&J%GlPM_LYBH@o?(2kBv^`girx3|b&NgP%A`SZt~VLPHli5#E7m z;QKJ=89Fi6L9sHeLF!?GJgxVurCOmQB!fPMV5YqVSTR5}hX05NZ~^mo%DOlG;Ts1) zRU7lFivcnDIudfz!CybZicXt&UKt# z?jnr`D8~E3E1-sgYxhosqefBgV-^76(Gd5khXlN#OLOr4cSP7o?eWRpjcb9eF;8(wXa^MQYIBP1i`xC$o=m7Ah<%B9t= zz#0|CY;$u9A|8Q3YL01XfN%qx zc7#xpeemJu*lSh7-^Ajcl3K8kl!d**Ytqft!eBOSF>TYg6WTI_!-+oaJh})q_pf9f zas;^X+h!a#ho;vlC1BD}r-d=0&S(}}$2EqJ4zYcl;qti|+_=1i%V*~?)0#&s@k(fn z1La&C55?O()b2L}C-1{fWGRX&MV-uI>nOuF4>$1iRUfZ+a~vL3C`l}g+2M~4pC|G8 zvCxVKo41}k+-FIdpQ)BJ6`uZ!Q#|ygf$};E42cqBk|U`zl*4_jo$BD$<+J$5KfH<4 zE96lO5f?j-l$N;tqs`O>`^F=4Z1jl8K!rHl$9y`APp_ZC`LzYydb)#O-F=4V+uJxA zMCi;dAW3_u$D|E9ftV;BqpEXc#mJEeeR9HekYj$--BLK8P4x1{?<@o=k)~OT;rzDe zuyZ6doC4=dM@ip!<*3G6xOL$azW>Qh zyno{?)_P-9c^_HP7e|r>{Ao9p$4jCoKdaSli4q^9;a=Rv`Q;uK=FemKR2N@A+`_jH zHZU$Kv+u?!|6&~VoZG&Cc z&XJ^uTq?y&dXp%dweV#90FPeorC_dy6I0tByG!fJMY4@u1zgiI~v-*@UR0FbhrL$a;(}s8Kcvl^OYA_gNb8~ZrGz0L>M|{nDL^xU}kIjXvF$!6tdf17io0DaE z+H$4veIfksugU(sfs-`iF`J=yt4dU{lhvdjgwV%Bnb!XECWum&SmQq^Uz+I4wyahaUT}<5dF@2h1T=sA{tnm2t z9=?9G;X9cTdhH=fSyI$S#0{0#?*m)vnQH_RmO1+GWjG`S;3VAK=IP=$XFz1*AzI*d z*%?(z+fZOQ*cT}J?5P=?`Tkj4IzNM7eEm{tvUmH3C`zInBs8+>g7-pkB&JGo zkDxfkf{3s`qh+BmI6|74mkoMkqZ(~+WyVR@r2NVl+$K8nDwqvfm2=yquuMe?&*w|p ze5Hi@OkpxOVw`{((gFu@l?eAy6#eA$D-_ugs`3bHD;<3N@lE{xC)Y5W=IGRWV0RwA zlNBd~;u$bfwt6(C6FX1O3nL2RBr(!%f-E0nJnW-QUHn_CxOQO`pWeQNzx>(Pc)q!f zqV6H56mH7$I9^CBRRVFGM0}Q_>?p)ft~btCCafZ9I^^c_$@ppog(dsy21QPROLs68 z%HA4U%9x^z+c?TH?7tY|>DB-*UhUx4rDa^Zat7yDmr-YjI369Llls)0ujwypx`!pw zD3gkZDy9NpOaAo_V?2DmjW6y#$L4;HJx2X4Y85y!DmqylZ3=#o^W#X8uJ;G$8~bU{ z0ciWm6BV5zVyHQJ4dB%2wghD!7MZgFn-@=0bU;Y0zT~c%UpD`)KU=g<%LHw3mH6r| zn@YB}z@|3UR=%y8!0rv2F7Sa}$sRZF3iSW3Ism%aRparvP&%-d7ul%NK4=~qZQGo_ zItV)P^tI~IX}&3hg_?^AU?knxH0@w=PqKJVpiEbP%b&Fojm@W8VxK7kbf&?<^wLY+ zA5Fer(+P$!D8|&EPs;>Vj71iP=F5D(_6_(;ogQxJ`k6L*(`&a4nRp&;IebU~li{#g z==|y{H^gZW2ZDxC!a7E!lrybSCv9YPgrls&@%j;Vcc0_Y+AiL^b{g+rTfj^wK}AAW z8cFRjqgf#smX)*tZnxQ~4>%Y^c>4MX51(z};j>-5-pf#?vvPh$h%~9~ybf2!6?e%XVCZ=)9o#N0wz2%9 z>-hBj>-fvRy@&fxwlJzXsH2{wQfl@$5WV}0*B>`?U56_4qmHf$`uMrm%sU!?EeAB*6`9vkDaWQsqK)7hK?$KQVTV0tZ`>x9 zP-mZ;MNvt9ye6@-9AGXT;p+8e{NeAvhx5xR()<8jIyWU#0(2f3k<-DVOF_aUy$m8l zjNVg3+|(!y#8$U#HOu+R6i$AK#ZDWuS7vZ}<@@;N(H4I7%}cCr?IRoY&`M|ISxSnx zj%zApO35n28xhyJra@HrOE*ncvrzG`#U?aVF%$uyjO~HsSthNv zILLX)=bB=W=eYmk2)l3V<7A$H| zXB`QiyWMV62&ge4ct?(R%>l5RVL3ZHTXi}eiTL$z{HLr@Q*Yf&DoYHs56m8x6cYZk z%uqFCmVcm=(rQbqS7-C;Ht(-S&U&RL%F+#eYQ(OQy+-#I7E{GH>tJXu%ySSdnbBTX zBX_J0lOiYfIp|pN(DBys)D3fSaZxsUA_4rz@9FL9f^p|*iP~C~4JCpX5)vc6R!;;* zSOT>(7~=3nAFubH;mLXr?_E2CYv)(d>qNkKU*22L$?MLes%No%RO9*PzQ~b&`)nIW z$CYpm;`XA{Rnq_yP?2XRHQ|idrBu6V*{jc(Uu_L?2oLhmR=nJ(%c87lNGUFpO9dWt z?Gf7DS%F2f!2x=4hO1|0ar?$OymxB_=T~QtR72TJ2*0*F%=!ApDGosv5?s68Lcw%` z%sHCameYG@xg#S=8eC71q=VFof%$fg-tsKY{?i}ei*KLdi-+rY`sx6O$2EF0r-dlU zvcRffc_PJH`0Sm~fs|2t+KU>$kep=@fQj^z9~b@F@KJQ08Rucb`BdjXQH17M2tm<3 zA91lr@T1gjRiWFP!}0Mz=1)>p=%f&h{PEE?lA#*ox zP~yj;=4~}9EMLq% zBdcp*?PfC;Cw&Wq)5g*^yko~Z=K$z~V&Ko($(-Sf*rt<>T%%UaCuyUGw{=8B&RS5=% z1rCqp2nrq z9kk+OM58UIxE7HV$)+*V(a7lwxRD0p3R&e+E*(aSHJRKlT5PvyG+QE;RPt-(oKWVg zd9OvbhhA%hAAfKf*RQSNZ@+wmZ|<&R=U^K}F@sJzhfI(FC%-Ip=tLmsK?s5Fq#uRO z6FU~+*SDc&;h5REZk@_-oytGoN|ptTlCF^QG)9~Wh9hbylmg+mFvj?34^cG6l{3ru zAgGpWGyB)INw zUR=cLsYU4mNQL#HO0c&d;pzH5zIwQh7uzEY$_}FTvZP-~HlzdAmL45`zW9xwhwwgF z227_darW_~rr*yo)2Y+mqxN{v^qXz+V{_+WgguQDrN=a7O1lxOjSCTmXo_97b2|Lq z+TUr{5(W_d_1w#H?QZ)n9q*h2;0LVo9RcYy+5EK(?6l5KHqT>oNj5^Z57~O5VSdL< zqDC)0eAss4*w5gf=us-9q!6EZUxNmCqpNIcd7b9V>G70+QEYt`*^uE#?dg6GNqa-XKl9`l8xN$GOBaz zV#mkw5~3%>_BY1FK4Xnq<0y{2OmFP~6)tK`&9L^oM!QD{mXQ4bGxY&JxOEBN|KJ)f zth6!T$op3bLVyN>o4>E!IC;j#AaO1*6806Iu5GX*u(@6etTJ%(xYuP% zSI(C{Ryzs)@WTsu|MEHf`pakd=HWID#?1N707*}b^Kf)5&5Z;iHH9yh{1l>Ns$yv! zX#GlVi5fobSE0_lp4&!K24S%kElzWR zaAJ%MnORbRWnG}d4K;2HxlT$D$p;YaCnnN(PkdIcDO^HH!% z&G4e>)Jo3^US}&oOL}KGoff;PYhX3amV`lvwR2&WiM6xgVz%d>76_`{3sVdAWRolT zy=?*%R!6<qEV3m6&~CS7)lv#qnWO5_ z*%UxHvGlM%ThH=s5sWfW!%50RbEEvbHq@~Zx1U@JRoRYy4cu>P%_m5Ee)6gzXy8=a zel@%&-SExlH|MjSZfIz|lhZU^p}~Hecdd)cs$FRcM#tW6p8VVL^0FWXnilAESpLIn zX-n(ek<@I{P&rZ`g9>imv~m(*#B8A&W3S)G*G~pm-+GC))xH>-^$i-V9OJ4bo0(_@ zu-7^zfvZw-lq|Gj1g7kLXVJX~`{dfQ&!DMkZ_0Jpu-9cwnmTH&PH-hv6$XQ2slh&X zW&wZv!5LgRGmCR;KA8&|Jikg~xS8#x9A z|JH+aFqAl#>*1uesdcn1^snf^lr=Nq+=hmmbD0itSlbJ^<8WpRTvj3I^6}d*w28xrnp8*RZg*S zg`^xLeMbnqI*~8djb9WzlT^BFa_xyMmtP|`cu<5^?Wm%MTIHqo*`^s~1qSovZHJDT zwN^&{T5E?iAyM^SfgAq=ouoTednJkPJPCEO0 zJ2s*Bs^^~87deji3moKQ6xlI`ISpwS5p~Lie8lLAN@`vNMc{2O+bgiCYccFL z6*8DzqL(}YCo`no1Zgm|M}uohL<{S3#ZHM(f^HfX*4Gb@&}kJox6;Mci)ZkI53l3; zGSd!6uBJaJB&S`nX%Si&WrZh3F>RI0<+PKw>$oOlLVgN~THNVLwxX~RM~9K1bUkv{ zT2c4iAp=qlM@is{B)qP4Rb*V)PH6tw{AegjaM!P0L^QLCy}$Skj<<(`vbe@ECGxD0 zG=N5ETw|JA3+I}hmm$<@BQHCz!nyah`6lz+lkRv=QUT&4b3TL7c!anf;_~@LeD8;! z;>Lw8=ISjrvlSAcs4w$Aa;8WkbjWtEa%9w9phiE(Q=SJ^9kmeBJ$)fyN|5fF;Ly2p zy%spxeGdvjaJZSe=bE-y!b#a_M#lw^AK>)dEdKEOS8(UXMST9vQ`~>Hjh%xdWMlF} z7N~P5P6g*T(O~BEc^)deMLPm~a44zI~N2;qH% z_oMIk?_u=M<~FVd`yD#oIRrotUja~(X{?aAjZ#Bz%|^TS0ousMZoLBBm;3af8xr#8f9MIK~wI5nCCFMmslrMlR$QNS(is{wC{)r4yk* z_$(-N<$5CAO7R?lR%24Nh0QGp1;usP-`wYLNg87zV>#Z(*@YI~yS#=Ud~g|SGclGH zGwIYOO<=~Jz$e=9Y(>k{x|YXP!F+TgC1ld5NBj(ux(KHxC`7wn+6%fSGQtv-onJO4 zjtWJ77;UkBy=Fuv9)sv2I&_Nt80aY12@VIqw=bUKs|TCt4|6g0+!QIM1k;md>nFs1c=3@Ba1C zF@EvjA&P7PAFg$<(47^fC?R4-WX*GPibNxyj$y$x2L*3NW7pR~!bU_|bh0aH zE6S>7`vKpqLHsX@>U6ptZuI=NP9?X^ap!hU-z@=Jv(912kI}A5oS#W>;rB1#`L#v- z&F2sC^}}5hQCB+VC9L9LT|fI?a4pqN#3(OwZp;L81T`X0L}r~d+4RkQc&#Mgkw+p9 zub)5Cem9cRND?}wrLUxoyuL`xF>xDTpBo=5`&gDo=Z}Kic)l(lcR;!JI)t_i(1{oXng-tI@9{KwZZkj;;ekH13zeuqPz zILiRjG%c)1i*7JMqnzfU=w@i6Tb&@bY{Nddw?RvmfMOdCS*}1hF~ex-jT%nTE~D8s!mp|t2Pt1;VF2LA8{P~LeK^o6A@T&%}sv78~&z>z={UxVej7(Gp8+3 zi)QfXc6)*du&P6^U&)+GF&|C)c2qE4~ol!L{e9vs~i$RC8D}^ zwc~6wM5x@I+w0-iB+4G+;_58^kN=w=G}i1tm2%~p=sijrxOy$PhWbXij*YU`w{q@K%i zx8Al9+f=9qL@bTg>wu}kFlKOKu1?qw^Y^#ScUQvc5QlcV9ebNiG<&?eyZc=?z~A*K z{Xr+nZbZ{yYW>;fooqCte-B?{A7%)1TPMSAdNvIZLYnq-ej6nEcR3&WH@ye-T5SoI zy$^k@@u1&mgfZ>gZ87z<%DzeV#0C zSH?GaFLq9Z-#5RL*1fK~UtBX1q8Gr$>R9>0KVUf@uZ8ziWT;tt9aT8h0ajM#@WG9< zc<hB>a1Mk#Asf7?9nt4*=a625qNQ{$_`Pxj__KZ=M)>xy_ATr>XpvHDQ$qN^o)XAS zvzg)NPMhEM+(d21<1s4$m_zvv0r)!(%NQUAtg0#Kd!@7@ZD)W2zGh7OnYK+vTI>TrB@8M9_u| zL^em-AF=ygjK|Nm@SBGl*g7h3e4HUGSsF$$nVw_R=g#3Fl+EauDFq>V1ueEs)bz$P zwp^5O!++b@+k^AX3l25nH?C;L3CMUQT|wd>IjjJ0#}jfJ~&YwM*ggjaiU1BF_J*+Dh?{cPDg?6jn}6V6yXi6i#MEp`&>g? z$HVeL_p7=wo}ulrHaJ8`_4WKb?So*|0j;)+ex5~Q!}%84M~ z>)H~=_MPvo5h%<9F@pq2aV9v=q9jVK*RQ+(A%*^c@B6|LpTl8CeBp4|ZaW;de|h2V zCp9I`lSqmqH~=8#xlpLN?tHIfoy?V3wUGr$?@=O1p2c9G>Q>&&lP6D}z4zKvJ5&i| zqc?Ru^sW~^W2M$r`-gWqdt)yTIG#n-u&<4bjNsfIQ2;WQ*KPsavM~VgmlTV|ZoOXb zGvXeCVXXoTfG!?D{hD0FzUrG4GFhdS@?ZKxbrbZps`IRDXI*C<)5OBgilL+nOVdMw z4~#SzDxbg=SbZUtAYX5kId`q*Z>~S zngaMcVg!-8e`#H^)Oj7(RAVMz9u<{tw{-TDI4{8FpTwSnJ z=jQFi>1%dnp=W&vl?u}S%GU4T4(WSOtl{vSf|8L$zw3N)y{k2-^QTIvzCT_#__-&v z;TBoC2*SB-6Z1z5)E{D5+9PdaZptc)$Oje3)Y-ov9mKXws&To-M)LH9oV_v z)-@)r*jWjUZi=C8bh`do5it0-%W3;wC>x>bBVy@-5D&2lsavN~sSQy<5keVbs8-A2 z9Sx~>2+PM<;nz>+5v&aS^pzUU-?h&2T!=Z@yx&BLafcrbnh0HJRw;I%($4YruLt0&NRWP0^ zEUXS#61T4IA8Jha^m4u{Ybm;9tkXEFLAhM+LYCbsLjQZA0F=w+KH>mSJRuE;8){@G zp)`;BF_o60QlJ(q7m%_6D&*;#rmvDeD^=t*X$oluuPLlESoF11r`?6{|?xJN<9>PSy<`Y+396Fd2!B8 zU0$-wb10NFuznHgkw}e1R94zJDHPQS4?9?jh;Im0+z`<&in3C|y4iC4YMD`?_I)Ju zU(e2IoB`L;b?O+~5#0eaa+CKa1cRo!8<>Gm-LadLnI4o&whSeyU9!&kWjl9y&b~P_ zZg=n5Vz+G=we_P7>$I1W;y;!2y+)PFa2-U2V7w@ejDWb_uuv`(st7tnJ&!aF1A%!6 zGfbHG;t(Yw(zKA!{137C@GcL~!!RgrNi;uVNzfJ>mGN3=&D&kDsgb%(?pbd;H*c^# zJGR-;(^u`w6Blh}v1wKru~K>5y5YiQt5gv<3Aa&FuOSH>P1Y^eGUH7`waD~YCovPN zYj|M3RYBJ^sqYKjjcf(ZbI4wjo!eDS&7QX}udaes#+5Ol6#nVH5iAa^Jer>O2Ie%6 zd7{F=pEc?~a6H%B2oL!^-OKn{UXZspC{(G^`%UM2*l09DUl^pcg9S)aku>h>JI5`n z0L;wHK;U-~Xspe3vWQbz3{p>@nqzh>g*U+O>B9w7V5xsdgAW1Kgn1rsUGfD`B}6Rh z?0Wj0Jm7dTAKWB8&8`bl={ufNnF?6Y`qHYU&U116IyP?s@}9JEAVG~<&*immrI*#> zB*ln-F;W%r>^gTt{)BH()E^?%B5DKS9Wxb@O`8b!FizqnABY0Mw*1V zCG(gB-z8&1W!^y$s4&$bmeIH;Q2UjJHTxx7Tw1iH)M{J>q9x*U0Z5aLEB#( z&yIDW$xbl$!vjHzTQy{vB-t0pIzg-ivm6k&5$ZF+g3JnFg-FbxXC+k?$Se)g;#6n{ z+YiNoLbbtR&sxn{>kXD{q&i_g**j^wwyn3@woTd>$1d3C$1jAclC{wdA;-U$&P};o z3$-IKZYYRglfzu6ses9vN&@rrIqLqy_d?$tK1b61bi?sDwfgxz-AnvFqzZm!(PUYg3N^^|Zv}UM*PFFVB|vsjq~;5kg1#hLKm$>-6vXVD z#WBbNXQlw>KU`Bc8MVmON6+h$DUdF4;TSLi2oz)yA$*>s93|g9lCR;J$Uyn+rMMnIxCm0-)@>!8=r zm{8>ijzh$Mc=tMe>p>uw#%;OZvlEwFc5Qjyt}PGj%G|(q?U=Il6Qed#DulZD2&4p~ z6V?gVaito1Eex<_r+)rQrCb2zkJl+#+aYbSfZxMBpgu&`hQU>zGD^q-!1_QJ$9~a5 zt%XEkMqBKPm8&%?f-!2%o7tj`6l?at?dxpU_6gg*dCWfk;+)MbPg~#W*6I(eHZp0g zP8UUqlG4bj)gP3AtXXJ6kI;SM_YtN3J%h?ty{eS!`>G5o-#hMeYJBl;O0z2?D(R$I z=SaT8eE-=~B0blt!e-t8P{mTZ!-oAWwf3`pkgS7eB8JYT#c@%N33g|34CdJ@m|O_J<~Qec|OvI?q@h~-}D>NXg4pwZiJZ&{pmP1{FUebOx3D8Te(#&U!rZMnU zC;s$K8@cDn8lY9InIoK^;;v7|<5wo&Iz!4}wlt?aG@D7^)dHSfQc@b0dNIr+TqkCO zPU1@jU0$qIt<^8srTMPSFI)~)5HBzEY}d{$wrBg4O*HCOEFq?-W#w8qv;&4P549&k zl_joUkS|b-6SqX-Z%Oa%bLmh{tG<7JRgIWarVdy~E?IrhszBG73 z{o#rg2mR1-@R^7A*}h$y?bFXr*va#Ac42-H;!#j9qf|hD2o}FenkVVD5!Pjzf3L<5 zpCc7ER^a0?aJ6Zp9`)(dqUC$1Rae#8_C}Xl(O#J9b5Fk$gtiJ!!n>jPcV%k1A21C% z%_s^+4$npRsb8N3NBhgM**$v2NWaIQHKvUJrq@P!(M}ozz=suG0DlFb04xp$gOya< z4DzQOO0-?yq;$dPLQ!o@|K$VoErJPsNz`iB^Y~yErH?3#xQN!Oovz={0~G*?%3md1 zRnY5s^?dZ3YY%Kv?R`lYyliIKR+M- zCr!yQaDI4xb@%98hPi>294zXdHOfWXe%oey@UG2v&w(kMYz(Z>pS7ih+0bIPP;7*t zEC}Ybn{o&ogU3EJ1VV0hn)U}PEObFDSFF=bdJuS@qOwMzv=I8Jhf>H%a2xh+ENv8D zfsejes)rP?POoSeXO`@%)AM%b+>BkGSq_39g=J9ly@2@-@eQb^2s%1x?TZS6@TsTn z;2`8-iH7xx3;>jXL9D?5bDtD>@z0GLnY!J$DRNC{#*41=FyG;MC;9sYM*(Yq=yhu_ zZE};?f64XI`Mw^wnfzX@p#-v7r`IyrR^`y|erUC7Dfr@hg;2wZZo7SZ}v&LVUo86$?FU_ZCCWJu2ZP<$|>}EavSx#UAE0OG|^w)wl8x7IKop z7{V-3Sg73%*&%_wL`&l?0zr{SUks^?aQh(WG~^--(C}$!?e?_o-Z*MIo;qk}raSiD z(Rus)tJBu$46HG+F(`#dInCQQP(4!jzC7Vcs-N$P7JX79hQ=1p#gshPHhYy~t5!Py z#zIf35a@g1ee7Ig{Jtupbnoh3#_w|9=AKK%L-!Rmdc1owFP_V1b9t!iOO+Zb$v|r4 zbr8#Kw;*ms27o(AZ*FdGrc^4;G@DHn1ggNNqS~ki>S-Rj`i-6q57^huu2wxR(t+0%|j}Tv$m=l*T8Y;Jvjk-LlF(eC(zBoIm6$m?64{p zdX;0S={&L@K}N}u#$yqm^d%49bZ7dLjJ@kj~LLAz@o%`(W1GibNIAeug(`?WVzI^zS(M1lzEBJClq&O=1^{iS! zwKcRDhUJDx{lsoXff;J1eBNAx$OR77-MXEyy2HkTZi3x*a6f|yfRz}Utqh7GSAS3* zwfTi*JAdhleel^SJ2`_gwsq_E$E@AMMqUjKSh_u=OeU5+dfEqa0{Q+35>G4NC8=)c z{DT(MTSYs+6=s7Vo;{e-S#Y zAI=*#>r~Kl4QWMErun7R{0-JTX?lru%Jw5wGB^hR-fOHE_c+;0vh-+WdT-clhu7Uv zI1YO|KzCxE3qX4s=$_+(Adv{548SdgTUh~UfA!T@UqAft!yi|x)w^b9W_Hx;byQYL zc$LAR$VIC@WZ(?Tt{OT34egv_BLDO56jX z$2^qc5IczTbdz$j7<-_waZkO_3qC1Xo48RzKpL_VO4XpuptUYIlVWGd#%o2p^U!vi znyT67U!JrJ({om+tv4%=S*M38eM#Z1r%&-1g(^zG(raG815g9aSB5yh@p@V+z-JL$BIbG8fOiG zL)mL&1|)SS>SfGfC-f``iVq4M6-Pn}=eY~B_T{OQ_SMC{Eq01FK;MY8S|6B=Zs;o$ zXo)1~FuYqy@SzH8{Ezp8LRbZ|8baK|ys^QU4|excR#Hps@^5NcrvjL1%bNC_xjqp; zgguMn@cXvxMcJMe)_%Gtkg3pgM0|xYW2gg=*VWYC*x+wJx!77b)19zPcEceNX|XFC3K!jTZL{UjJ1=rc}J%6JKJUM=bhm zT)xz+Dl^)ylh;!VK?C@344WZofhB%V={r>{@@Qlpt8N^n_;nt5@3=N%1Q1}U!GyF% zpdjc5#b=U4a>ERT*?9Kxl?a-d}wq@O`1u*AngBw`s5DpbYQls!o8#Vb8L598teWVc%Yqs1Q z+NIg9ee%_5`{vA?EwyXb>Xprk<5q9bHIo#xVNQFt@uVe_Lo>zj9MiznWW>p{ON$OA z)dZ6`1H3*c4V)ARf-Jq>vKCncp@sP{v33y!-)ey+sfKEFq2B>o$o3!{`k@wnqtdfI zw~gC9ckHq|_DtEj@uJdc&dbAHigTZk^KWbT~M zg|fT44fyJPMmAANz0`bo4Nm2IuWn1Ptg|?mHv(ws^K-t}%6jTv;`cXoOX!~9$FKXg zr|pGB$nJ?k8~<`IQI>R-0QNu$zdLSlV<5MS*;;kqem``PA zaZ9BnI4~M${NaZmzWwQ^pMGK8x^*vJy?XU0XU?3N8V-l$k&zKtyFr6gDvFDZ7QJev zgler`*iy6fX>EC$o&?2Z=hC1yT|BCBtN&VkHPT&3j_(OyNBsYR05Rk3D*lk2Kzb0G&bv&RSP{^UoY6U&2_u$;C9=yW5OoJ$~IOW zpiP?fI_RL+Pb#h99xAm^wGD!yS{Pa-1Y`}YJA`n?*%QIvXO+JspDn2vmzJIFptk_N zTc5OMw_+Esw(Z2ZSvzrN#?D=uw`LELydEfP6uc?nnn6h4sF>*n=BY_#Yq&1C{*&h& zisU9XDkAH{*pqZM>$DcE*POB2HjmhSw{N$H?%Hcp zV`#v0Ei@=XCBjZ|)XraN+FKtUwNvL7Y`I-Ft2As7g7rF~VGqhN^xH^N#5zt2_k?0a zq3J=A0g&8h(zP#hvEe>tZF7^S;+H9b{cggdq^)klT7xFhYuRY6ZxbVCx9!|yckS6| zJJwZg-B`^k$le;X(2zVR5P@nBcZEh$7;wRgJ)~_GP)IPT&KPPIB*BZJ+G2?DNUPi7 zTj*NY!MI?wj9I@|w8hrIPF-BIV^{;{7i@X~T>}vi3gKN{Rf60LD6gFJ{p9}?{+=PF z8&ef^T^~xdtKp#g9Dmn$OvbS)>Rt?hq+U_FM_|8Dg+H&68^L?^YrEI$h5Zq3VizZ{ z>RR5w8OZyi`=nP={GQLh>3*(q226FOQYo#htV~xbmH*FhIQ(CK_q*R63EC(7UEcz@ z6IWSd&)b@4OxtqWb*xWz$Uw$Wuymk!jH#5yVQzXFfB1!P0Ald0_cu9g7J1RWF@$ zq3Gm<5}Ba#b^LNHznfJET=f8x7=(;|Qx}K3->mqMzWBZef+`+lA!wa|9>hK4XZYM% zj+5~T*^3?u>I_1Ce+V_SNkv5YTx(!+CztHn!Wlb#W!(1f-E4cdOxReVY~>;!QI=!A2VOkiLeT@LzqbIJ} znF~uczdW#Zw_zpFw87hz((Nv#(Qjb7rt_GiJmo6+95in?6h;caV;%P}H*lF;kAFe+ zJ=Ek66!frfjYi$t?PXh@S+ot4B|C7}W_#@3eYR`Ms8tJ1>$Mg_o9Aj7Zk1LDaNEDV zW}7$OW2er|*#{q;v=bL*t<@c|Qn4Ob6DSuUurg!}K=>rl{eeyoE{-&)G*ID56~pk3 z<`iXF-EauXxC9HMG;leo#MtfN^NLx&W{b0JyRtNE*RHMD!5tH}Z}(=~zOI2LzE(lU zy;QJ6$cM}cFhYUfN17<=OF&sls{!E8!HbcmiWV`aU|N=v!b2sb1CH8quVxpoEZfO5 zvv%sjyj_~>+hVt7-QsBI4^R$`q^=jY@_QFqK2_@R%t-qyP4Cx5-d@N3LWMuxA-|WX zwM!--XD?kV?|oI~lkTOe)a0?8vTtM^Q&T0M1=GUk99J5r74{dhq*M-y63?Lf5wGX3 z@8`@jzs}Xmic;bmC9vvGSd;I+Q^Y_os&+qDVI(0nw zTCIkFiy%Ff{$6!5R|j9y$JFZNL)Ar~fqkkmYfub8OIsHN$D!x&QKnu4)fd}o@ET0R zo&lMa?fq61&QuVn%#g10nF@aK`ok-c%@V-Isw9e3&GcG_d;7%Gzc0FmaJCk*w(ERc4+TL+qZ4P zwoW!|yxzBBZz;G1z_a&JWcg!3VB^?IY3;I~GKUNu;K7gq*$^x~|Y zIX`bF&(7JkxqC4H=Ru#zS{Wq#Ocmu!k;C7@n!|Y$ zp_8mdv{+7>C54^|Rm}f_Rf~OVRQk4aW5XW2bC=zaTfg59bBvC5)<>*C z(#jT$N3}6-J*(OI%gc83)HVC;=oLGCanTCp@lfHg7ijb(+CS9S58PK$MHPB4bfVA} z8o`-i+;E>wTy|)%C%> zO!ouzjqCd2yQx)DT}DB8dg)%0^(j%~NNIiU1!Nn&A;psBYH*1Ha08=Cwn4AU_eKSF zUlahH2k8~CO0iUU#)*n2GS;fqYH5Cc{(Pxa`hOG(h5ysbFTZ^3R$~BeWf#C&<19BC zjZHuQ`Ook9$xnXrq?tW&;lhPG=H})$B3mVm48sSbzL~L?1F8`eiNfix$9!B)1W6|jPOz`r>;KBtpp9=m^W|KaAo>O05 zf|~|4d@3^fk_Xqg2>i5Gfc~y8O;+GTgKwZjU|#66<@eNANu`SOp!Y}X1NQ_$k8A-b z0<32abh=4^9{kpbrtbEdA^5H_GGasI`UjsfTCu_>32VP+mEwx++*G%F4&G+_w~mL( zfQ=HW0w$X$IYf{*YAEs(%!nkT-!VSkQqnc8lq%<%uCJ^COBb6b z(jF11p2R*NU=U+Qpj}Ag>mjzF6oMf;of#YS=4|hl_4dfU`|a*Mn{Be%vwmyd8a1qq zLTJO=4r?uqLxBPTfe3+)afQr@inV(+yFA;oFOFWaBVV4k%kzCJ)+ek`saXq=|AGBT zeCL6x52=Nq(a{wTb@G#Ug@Lzx_bB*uy`bbW3iE*N2tkgi(on69gnJDweer&x7|^h1 zz3z%tt!-PUYPNIJnBBg6lkMBF!Rn>9m8^}?TcwDGOlD22osf!&_cW;)5sEsaPXNXM z!CWmTjh~7QTWS{U?3G3P`t&tBess$Eks&`$>+UKFe(4-_&r> zwJpp=R=Y%vI=#oCbCLcv3V=}ktDXnX(d+dFjYb15fU~7i>HoH{u<*aV{r216q(wP0 zlJL96_eBBld!AWbTzm>ag57R+l$$}f+buFSKs8`Si1TIe z=_a1)Qr{{6#zm=uTs24^P(v+UeO);MGJ_MwH)II#`}`b2m*Zq`j|xjz=BZM$>ibF~ zr}voo$Wz7Sw$Bt0nWNubIY=ZzGew`SL3BfKTR4Gvwn zDC|~NR<1XOg8w?SoQL(_4gOhV0ffJWIy%^NaSy3N)nBpFVA+SwKcG|Xe zRhy{8Z@e4=%la5+1#8W$icEn}qy-o01=_cd?DS&Y2E|dkaAn25IWuj?PF%Lja|K%& z)`1EVP`hpz%N`^9q5VM8{)rU=%_*-{SRLXbN%Npw#D0#Z=t{x;Ci*RLc!3 zmWS5ux00@TJ&YRXMy~=CtwH%$updp^JXNr}4sNkW?!Mh_o2py6J8y&bQc|ur_{Y)L z07}3h%_cyt0mK*7tYny5qzLvxECwiaWLK0bqjvnvReR^-^LG5~tSxp1RvlY!T|>Wu z#2tY%ov~C~s zg7&;kEBBkWb<>#Lxqq7-*fC{W*H>+<(z05iWu4ZF4XdM8#507!9@qrbg}`GAeS3qV z*e{l>)fw2OYdt%5X2DLKy=K#kLz{0EtTQMFx*tkS0qZi&8bC%vqL^NP)*AH6XRdn% zq>)o6=FeW{YtpUGGJR>13sQXKcldA!ZzEV zB&Ax94~OuY>}{e-1MhLLMt4iymwa%v$^^c5lnazQ>E8$SdcCx?v~;>uD*a#P=H~v- z@4fflsi**aJAr}JpfLNBPdxF&{)Zoa_~Fsf(P!r8=O4Xv>Cz4;^C@KndKtno2p=c} z5DMPEuMe1ufSMpJOfE9j1oHxNy!NfaP6e7CbHj~Z|11;!T-4h3SJLc4svuuzt*oUl zy?p0}b5ONr@C-`^)2dX3N%M#KGI2wpGNf~<6r8?DY8CKjRwm4$2UmTc&w~PySs>gn z@iUkJumbq3(`wsT1BG8o*6x6&Mie_}VTCLo(sj;Hn zzH7?v+PB#@PnJXASf{&WB`^jktlMXtI3mTd@X#f2)Ml3Z_T|ZGJ9=`)&RuTV!V*#k z8X@{WnX|-gfPNtfYsyN4<&Y02plnzcJ

k ztHU2(w!)xfU8G}nn^r2eY;4SI%ci)n`Pq8s@tx;Y`ElN|cA#(xmFY0ZJ_g|or7paUPeG7giJ!b;KF%>|oi z6m8#*b-^vPciWil+|;ld$|&O*;(NU$oe$5j2L%Z4NU3JcZaFk*I)Cw+eRA}oUA)$} zR;O(JLf!g928_b3)k_o|JP)iT)J!N`@4Cn5Np_M-fX2n}eeecL&c2ep%j)`6*N`%g z$}D*UN#4;L8uqaI9$7(tN7twymssqX@MfAcn*ybuW$c2wCDJt!{zmu3&GwQ)P7MWB zigYjH_|(__pD%)11Y+TbIf3PY z06Z-+qS5*O{=H&Ah6KMu0pR!iOY7%bpMh@%qCteMcFPv$7ed#+k@{HZtQIKSVj&cW zfd!1>Jdm;|*@`;(A?iH@?cq8II%|gw|G@6`c4+r{+p}%lHcTMbzh~{{yp5ESqAuvv z*BO*-ez|97t}NOYCokFg>6Xncmu;z2wP9%_bQB!)o7YRXh7`Oc|2V_i&h+VtzN~sy4FNm?zE$BS8TM=i{R%2$w$LissS67s=HbMNOLk?kZ~gL!_2G6x^QfTQ!R>;$g2XWH z4-gQUbcjU#1-&O)|19Vu3jYnRLVfNxt6{H#&1Z?|y2)Ety1vvR7s1HlU|G60p!=wQ zhQa`Z$o|y5z<^@i*D?iw^COIG_?u@zyaF`LEnmIbpj*90t}9K-Jn6a9?}VzgOG``N zR4SGKC?6c24ymjl=7nYWm9=&$$+V17$~n)fd1Q4pL=67m5bSc+Ha6RC@BSU;tLZzi_gNt)`n&sxJ6)*qRv6m90^qdL;t)`p%2

eml!&@Wi8UkX+B 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 literal 0 HcmV?d00001 diff --git a/library/parts/index.ts b/library/parts/index.ts new file mode 100644 index 0000000..7dd314f --- /dev/null +++ b/library/parts/index.ts @@ -0,0 +1,23 @@ +/** + * Canonical parts library — one file per part, each exporting a single + * datasheet-honest ModuleDef (see docs/showcase-plan.md § 2.3). + */ + +export { ADAFRUIT_938_128X64_OLED } from "./adafruit-938-128x64-oled.js"; +export { ADAFRUIT_FEATHER_NRF52_BLUEFRUIT_LE_3406 } from "./adafruit-feather-nrf52-bluefruit-le-3406.js"; +export { ARDUINO_NANO } from "./arduino-nano.js"; +export { ATTINY85 } from "./attiny85.js"; +export { BME280 } from "./bme280.js"; +export { ESP32D0WDQ6 } from "./esp32-d0wdq6.js"; +export { ESP32_DEVKITC_V4 } from "./esp32-devkitc-v4.js"; +export { FRC_PNEUMATIC_PISTON } from "./frc-pneumatic-piston.js"; +export { HCSR04_ULTRASONIC_SENSOR } from "./hcsr04-ultrasonic-sensor.js"; +export { ICM_42688_P } from "./icm-42688-p.js"; +export { L298N_MOTOR_DRIVER } from "./l298n-motor-driver.js"; +export { PJRC_TEENSY_4_1 } from "./pjrc-teensy-4-1.js"; +export { REV_21_1652_NEO_VORTEX } from "./rev-21-1652-neo-vortex-brushless-motor.js"; +export { RP2040 } from "./rp2040.js"; +export { SEEED_XIAO_ESP32C3 } from "./seeed-xiao-esp32c3.js"; +export { STEPPERONLINE_17HS19_2004S1 } from "./stepperonline-17hs19-2004s1.js"; +export { TOWERPRO_SG90 } from "./towerpro-sg90.js"; +export { VL53L0X } from "./vl53l0x.js"; diff --git a/library/parts/l298n-motor-driver.ts b/library/parts/l298n-motor-driver.ts new file mode 100644 index 0000000..8112bd8 --- /dev/null +++ b/library/parts/l298n-motor-driver.ts @@ -0,0 +1,986 @@ +/** + * L298N Dual H-Bridge Motor Driver Module — audit-honest part definition. + * + * Primary source: ProtoPart audited definition + * ProtoPart/protoparts/l298n-motor-driver/definition.json (schema 1.4.0, part v0.3.0) + * whose electrical values trace to the ST L298N datasheet (mirror: + * components101.com L298N-Motor-Driver-Datasheet.pdf). Everything below is + * carried over from that JSON — power-domain ranges (Vs 5-35 V board-dependent, + * logic 4.5-5.5 V @ ~36 mA), per-output 2 A continuous rating, the 78M05 + * regulator's 100 mA / 5% / 100 mV delivery envelope, the ~2.3 V input-HIGH + * threshold, the ~2 V Darlington drop, and the module's design rules, + * validation requirements, usage notes, and warnings (all preserved verbatim + * as traits). Nothing is invented beyond that JSON. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: all 13 board terminals defined by the + * ProtoPart resources are leaf interfaces with their official screw + * terminal / header designators as `pin` strings (the JSON assigns no + * numeric pin positions, so the silk-screen names are the designators). + * - Instances vs combinations: the two H-bridge channels are composed + * interfaces. Direction control is one interface per channel (the JSON + * defines `motor_channel_a_control` / `motor_channel_b_control` + * separately); the motor output is a single interface with two profiles + * (OUT1+OUT2, OUT3+OUT4) and `max_instances: 2`, mirroring the JSON's + * one `dc_motor_output` interface with `max_connections: 2`. + * - Co-requirements (`co_requirement` traits): the onboard 5 V regulator + * jumper vs. Vs ≤ ~12 V (regulator-output mode) and its inverse + * (external-5 V-input mode); the ENA/ENB enable jumpers vs. PWM speed + * control. Jumpers are not JSON resources, so they are modelled as + * traits, not pins. + * - Shareability: GND is a single common net for motor and logic returns + * (`net_shareable`); the JSON's `shareable_with` marking on the EN + * pwm_input requirement is preserved as a `slot_shareability` trait. + * - The mutually exclusive roles of the 5V terminal (regulated output vs. + * logic input) are expressed as two composed power interfaces over the + * same `vss_5v` pin, grouped `one_of`. + */ + +import type { + InterfaceDef, + ModuleDef, + TraitDef, +} from "../../src/types/index.js"; +import { + Ground, + Pin, + PowerIn, + PowerOut, + defineModule, + maxCurrentA, + voltageRangeV, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart electrical domain (power_domains, resources) +// --------------------------------------------------------------------------- + +/** power_domains.vmotor: board-dependent motor supply range, typically 5-35 V. */ +const VS_RANGE: [number, number] = [5, 35]; +/** power_domains.vmotor: nominal motor supply voltage. */ +const VS_NOMINAL_V = 12; +/** power_domains.vmotor: max_current_mA 4000 (~2 A per channel, two channels). */ +const VS_MAX_CURRENT_A = 4; + +/** power_domains.logic5v: 5 V TTL logic supply range. */ +const LOGIC_RANGE: [number, number] = [4.5, 5.5]; +/** power_domains.logic5v: logic supply consumption (~36 mA). */ +const LOGIC_MAX_CURRENT_A = 0.036; + +/** resources.out1-out4 current_rating.source.max_continuous_mA. */ +const OUT_MAX_CONTINUOUS_A = 2; + +/** design_rules: "Logic input HIGH threshold is ~2.3 V ...". */ +const V_IH_APPROX_V = 2.3; + +/** design_rules / warnings: "~2 V or more drop across the bipolar outputs under load". */ +const OUTPUT_DROP_TRAIT: TraitDef = { + type: "voltage_drop", + params: { + drop_V_approx: 2, + note: "Expect ~2 V or more drop across the bipolar (Darlington) outputs under load, so size Vs accordingly.", + source: "ProtoPart usage_notes / warnings (L298N datasheet, bipolar output stage)", + }, +}; + +/** design_rules[6], verbatim — shared by every logic-level control pin. */ +const LOGIC_LEVEL_TRAIT: TraitDef = { + type: "logic_levels", + params: { + v_ih_approx_V: V_IH_APPROX_V, + rule: "Logic input HIGH threshold is ~2.3 V, so 3.3 V control signals are typically acceptable, but the logic supply should still be 5 V.", + source: "ProtoPart design_rules (L298N datasheet TTL input levels)", + }, +}; + +function powerDomainTrait(domain: "vmotor" | "logic5v"): TraitDef { + return { + type: "power_domain", + params: { + domain, + isolation_type: "non_isolated", + ground_reference: "common", + }, + }; +} + +function connectorTrait(kind: "screw_terminal" | "pin_header"): TraitDef { + return { type: "connector", params: { connector_type: kind } }; +} + +/** Verbatim per-terminal function description from the ProtoPart resource. */ +function pinFunctionTrait(description: string): TraitDef { + return { + type: "l298n_pin_function", + params: { + description, + source: "ProtoPart definition.json, electrical resources", + }, + }; +} + +// --------------------------------------------------------------------------- +// Power terminals — screw terminal block (resources: vs_in, vss_5v, gnd) +// --------------------------------------------------------------------------- + +const vsIn: InterfaceDef = { + ...PowerIn({ + id: "vs_in", + name: "VS (Motor Supply)", + pin: "VS", + voltageV: VS_RANGE, + nominalV: VS_NOMINAL_V, + maxCurrentA: VS_MAX_CURRENT_A, + }), + capabilities: ["power_in", "motor_supply_in"], + traits: [ + powerDomainTrait("vmotor"), + connectorTrait("screw_terminal"), + pinFunctionTrait( + "Motor supply input (Vs/Vcc2) for external power (e.g., battery or DC supply 5–35 V)", + ), + { + type: "data_note", + params: { + note: "RESOLVED (datasheet audit 2026-07-09): the ST L298 datasheet specifies VS operative condition VIH+2.5 V (~4.8 V) min to 46 V max, 50 V absolute maximum — so neither of the previously conflicting quotes (4.5-36 V resource text vs 5-35 V domain) is an IC datasheet limit. 5-35 V is retained as the module-level operating range (board-dependent derating well inside the IC envelope); the former 4.5-36 V resource quote was corrected to match.", + source: "ST L298 datasheet, ABSOLUTE MAXIMUM RATINGS (VS Power Supply 50 V) and ELECTRICAL CHARACTERISTICS (VS Supply Voltage, pin 4: VIH+2.5 min / 46 V max, operative condition)", + }, + }, + ], + // Vs feeds the H-bridge output stage directly, and the onboard 78M05 + // regulator derives the 5 V rail from it when the regulator jumper is fitted + // (metadata.description: "onboard 5 V regulator (activated via jumper)"). + bridgesTo: ["out1", "out2", "out3", "out4", "vss_5v"], +}; + +/** + * The 5V terminal is dual-role: regulated output (regulator jumper installed, + * Vs modest) or logic input (jumper removed / Vs high). Hand-rolled because + * the PowerIn/PowerOut builders are single-role; the two composed interfaces + * `logic_5v_in` / `logic_5v_out` below expose each role separately. + */ +const vss5v: InterfaceDef = { + id: "vss_5v", + name: "5V (Vss Logic)", + pin: "5V", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input", "output"] }], + capabilities: ["logic_5v"], + parameters: [{ id: "voltage", unit: "V", value: 5, range: LOGIC_RANGE }], + traits: [ + powerDomainTrait("logic5v"), + connectorTrait("screw_terminal"), + pinFunctionTrait( + "5 V logic pin. Acts as a regulated 5 V output when the onboard regulator jumper is installed and Vs is modest (typically ≤12 V); otherwise use as a 5 V logic input (jumper removed).", + ), + { + type: "internal_regulator", + params: { + regulator: "78M05", + description: + "Onboard 5 V regulator (activated via jumper) that can power the logic circuitry and, within limits, an external controller.", + source: "ProtoPart metadata.description / design_rules ('78M05 regulator')", + }, + }, + ], +}; + +const gnd: InterfaceDef = { + ...Ground({ id: "gnd", name: "GND", pin: "GND" }), + traits: [ + powerDomainTrait("vmotor"), + connectorTrait("screw_terminal"), + pinFunctionTrait("Ground connection (common ground for motor and logic)"), + { + // Shareability exemption: one ground net legally serves the motor + // supply return, the logic return, and the controller's ground. + type: "net_shareable", + params: { + net: "gnd", + policy: "single_ground_instance_may_serve_all_members", + rule: "Always connect grounds: the motor power source ground, control logic ground, and module ground must be common.", + source: "ProtoPart design_rules", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Control header — IN1-IN4 direction inputs, ENA/ENB enable/PWM inputs +// --------------------------------------------------------------------------- + +/** Direction input pin (IN1-IN4): input-only 5 V TTL logic, pin header. */ +function directionInput(config: { + id: string; + name: string; + description: string; +}): InterfaceDef { + const base = Pin({ + id: config.id, + name: config.name, + pin: config.name, + voltageV: 5, + capabilities: { inputOnly: true }, + }); + return { + ...base, + capabilities: [...(base.capabilities ?? []), "digital_in"], + traits: [ + powerDomainTrait("logic5v"), + connectorTrait("pin_header"), + pinFunctionTrait(config.description), + LOGIC_LEVEL_TRAIT, + ], + }; +} + +const in1 = directionInput({ + id: "in1", + name: "IN1", + description: "IN1 - Logic input for Motor A (controls OUT1, one direction)", +}); +const in2 = directionInput({ + id: "in2", + name: "IN2", + description: "IN2 - Logic input for Motor A (controls OUT2, opposite direction)", +}); +const in3 = directionInput({ + id: "in3", + name: "IN3", + description: "IN3 - Logic input for Motor B (controls OUT3, one direction)", +}); +const in4 = directionInput({ + id: "in4", + name: "IN4", + description: "IN4 - Logic input for Motor B (controls OUT4, opposite direction)", +}); + +/** + * Enable/PWM input (ENA/ENB). Hand-rolled: the PWM builder models PWM + * *outputs*, whereas these pins are PWM sinks (JSON function `pwm_input`, + * direction sink). Each is jumper-able HIGH on many modules. + */ +function enableInput(config: { + id: string; + name: string; + motor: "A" | "B"; + description: string; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + pin: config.name, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [ + { type: "pwm", roles: ["input"] }, + { type: "digital", roles: ["input"] }, + ], + capabilities: ["pwm_in", "digital_in"], + parameters: [{ id: "voltage", unit: "V", value: 5 }], + traits: [ + powerDomainTrait("logic5v"), + connectorTrait("pin_header"), + pinFunctionTrait(config.description), + LOGIC_LEVEL_TRAIT, + { + type: "enable_jumper", + params: { + default: "jumper installed — pin tied HIGH, channel enabled", + note: `The module includes enable jumpers that tie ENA/ENB HIGH by default: with jumpers installed, each channel is enabled (full-speed if IN pins demand it); remove a jumper to drive that EN pin from a PWM-capable MCU output.`, + source: "ProtoPart metadata.has_enable_jumpers / usage_notes", + }, + }, + { + type: "co_requirement", + params: { + with: `motor_channel_${config.motor.toLowerCase()}_control`, + condition: "PWM speed control desired", + effect: `PWM speed control of Motor ${config.motor} requires this pin's onboard enable jumper to be removed; with the jumper fitted the pin is held HIGH (full speed / enabled only).`, + source: "ProtoPart design_rules / usage_notes", + }, + }, + ], + }; +} + +const enA = enableInput({ + id: "ena", + name: "ENA", + motor: "A", + description: "ENA - Enable/PWM input for Motor A (jumper-able HIGH on many modules)", +}); +const enB = enableInput({ + id: "enb", + name: "ENB", + motor: "B", + description: "ENB - Enable/PWM input for Motor B (jumper-able HIGH on many modules)", +}); + +// --------------------------------------------------------------------------- +// Motor output terminals — OUT1-OUT4 screw terminals, 2 A continuous each +// --------------------------------------------------------------------------- + +function motorOutput(config: { + id: string; + name: string; + description: string; +}): InterfaceDef { + const base = PowerOut({ + id: config.id, + name: config.name, + pin: config.name, + voltageV: VS_RANGE, // output stage swings on the vmotor domain (minus the Darlington drop) + maxCurrentA: OUT_MAX_CONTINUOUS_A, + }); + return { + ...base, + capabilities: ["power_out", "motor_out"], + traits: [ + powerDomainTrait("vmotor"), + connectorTrait("screw_terminal"), + pinFunctionTrait(config.description), + OUTPUT_DROP_TRAIT, + ], + }; +} + +const out1 = motorOutput({ + id: "out1", + name: "OUT1", + description: "Motor A Output 1 (connect one terminal of Motor A here)", +}); +const out2 = motorOutput({ + id: "out2", + name: "OUT2", + description: "Motor A Output 2 (connect the other terminal of Motor A here)", +}); +const out3 = motorOutput({ + id: "out3", + name: "OUT3", + description: "Motor B Output 1 (connect one terminal of Motor B here)", +}); +const out4 = motorOutput({ + id: "out4", + name: "OUT4", + description: "Motor B Output 2 (connect the other terminal of Motor B here)", +}); + +// --------------------------------------------------------------------------- +// Composed power interfaces — JSON electrical `interfaces` +// --------------------------------------------------------------------------- + +const motorPowerIn: InterfaceDef = { + id: "motor_power_in", + name: "Motor Power Input (Vs + GND)", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input"] }], + parameters: [ + voltageRangeV(VS_RANGE[0], VS_RANGE[1], VS_NOMINAL_V), + maxCurrentA(VS_MAX_CURRENT_A), + ], + slots: [ + { id: "vs", required: true, match: { protocol: "power", role: "input", capability: "motor_supply_in" } }, + { id: "gnd", required: true, match: { capability: "ground" } }, + ], + profiles: [ + { + id: "motor_power_terminals", + label: "VS + GND screw terminals", + default_active: true, + bindings: { vs: "vs_in", gnd: "gnd" }, + }, + ], + max_instances: 1, + traits: [ + { + type: "source_description", + params: { description: "Motor power supply input interface (connect Vs/Vcc2 and GND)" }, + }, + ], +}; + +const logic5vIn: InterfaceDef = { + id: "logic_5v_in", + name: "Logic 5V Input (Vss)", + domain: "electrical", + exposed: true, + default_active: false, // one_of with logic_5v_out — the regulator jumper state selects the mode + protocols: [{ type: "power", roles: ["input"] }], + parameters: [ + voltageRangeV(LOGIC_RANGE[0], LOGIC_RANGE[1], 5), + maxCurrentA(LOGIC_MAX_CURRENT_A), + ], + slots: [ + { id: "vss", required: true, match: { protocol: "power", role: "input", capability: "logic_5v" } }, + { id: "gnd", required: true, match: { capability: "ground" } }, + ], + profiles: [ + { + id: "logic_5v_in_terminals", + label: "5V + GND screw terminals", + bindings: { vss: "vss_5v", gnd: "gnd" }, + }, + ], + max_instances: 1, // JSON constraints.max_connections: 1 + traits: [ + { + type: "source_description", + params: { + description: + "5 V logic input interface (Vss). Used when the onboard regulator jumper is removed or Vs is high.", + }, + }, + { + type: "connection_constraints", + params: { max_connections: 1, requires_matching_voltage_domain: false }, + }, + { + type: "co_requirement", + params: { + with: "vs_in", + condition: "Vs above ~12 V", + effect: + "If motor supply voltage exceeds ~12 V, remove the onboard regulator jumper and supply 5 V to the logic input pin externally to avoid overheating the regulator.", + source: "ProtoPart design_rules", + }, + }, + ], +}; + +const logic5vOut: InterfaceDef = { + id: "logic_5v_out", + name: "Logic 5V Output (regulated)", + domain: "electrical", + exposed: true, + default_active: false, // one_of with logic_5v_in — the regulator jumper state selects the mode + protocols: [{ type: "power", roles: ["output"] }], + parameters: [ + // JSON power_delivery: max 5 V / 100 mA, 5% regulation, 100 mV ripple. + { id: "voltage", unit: "V", value: 5, tolerance: { type: "percent", value: 5 } }, + maxCurrentA(0.1), + { id: "ripple_voltage", name: "Ripple voltage (max)", unit: "V", value: 0.1 }, + ], + slots: [ + { id: "vss", required: true, match: { protocol: "power", role: "output", capability: "logic_5v" } }, + { id: "gnd", required: true, match: { capability: "ground" } }, + ], + profiles: [ + { + id: "logic_5v_out_terminals", + label: "5V + GND screw terminals", + bindings: { vss: "vss_5v", gnd: "gnd" }, + }, + ], + max_instances: 1, // JSON constraints.max_connections: 1 + traits: [ + { + type: "source_description", + params: { + description: + "5 V regulated power output interface (jumper enabled, Vs typically ≤12 V). Can power a microcontroller lightly (≈100 mA max).", + }, + }, + { + type: "connection_constraints", + params: { max_connections: 1, requires_matching_voltage_domain: false }, + }, + { + type: "co_requirement", + params: { + with: "vs_in", + condition: "onboard regulator jumper installed", + effect: + "Available only with the regulator jumper fitted and Vs modest (typically ≤12 V). Do not draw more than ~100 mA; excessive current can overheat the 78M05 regulator.", + source: "ProtoPart design_rules / warnings", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// H-bridge channels — direction control (per channel) + motor output (paired) +// --------------------------------------------------------------------------- + +function motorChannelControl(config: { + id: string; + motor: "A" | "B"; + inHigh: string; // slot -> first direction pin id + inLow: string; // slot -> second direction pin id + en: string; + description: string; +}): InterfaceDef { + return { + id: config.id, + name: `Motor ${config.motor} Control (${config.inHigh.toUpperCase()}/${config.inLow.toUpperCase()} + ${config.en.toUpperCase()})`, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + slots: [ + // JSON requires: digital_input ×2 + pwm_input ×1 (shareable_with digital_input). + { id: "in_a", required: true, match: { protocol: "digital", role: "input", capability: "digital_in" } }, + { id: "in_b", required: true, match: { protocol: "digital", role: "input", capability: "digital_in" } }, + { id: "en", required: true, match: { protocol: "pwm", role: "input", capability: "pwm_in" } }, + ], + profiles: [ + { + id: `channel_${config.motor.toLowerCase()}_pins`, + label: `${config.inHigh.toUpperCase()}/${config.inLow.toUpperCase()} + ${config.en.toUpperCase()} header pins`, + default_active: true, + bindings: { in_a: config.inHigh, in_b: config.inLow, en: config.en }, + }, + ], + max_instances: 1, + traits: [ + { type: "source_description", params: { description: config.description } }, + { + type: "slot_shareability", + params: { + slot: "en", + shareable_with: ["digital_input"], + note: "The JSON marks the pwm_input requirement shareable with digital_input: the EN pin may be tied HIGH (onboard jumper) or driven as a plain digital enable instead of PWM.", + source: "ProtoPart electrical interfaces (requires[].shareable_with)", + }, + }, + { + type: "usage_rule", + params: { + rule: "Use ENA and ENB for PWM speed control: you can tie them HIGH for full speed or feed a PWM signal for variable speed. Ensure they are enabled (HIGH) for the motor to run.", + source: "ProtoPart design_rules", + }, + }, + ], + bridgesTo: ["dc_motor_output"], + }; +} + +const motorChannelAControl = motorChannelControl({ + id: "motor_channel_a_control", + motor: "A", + inHigh: "in1", + inLow: "in2", + en: "ena", + description: "Control for Motor A: IN1/IN2 for direction, ENA for PWM/enable.", +}); + +const motorChannelBControl = motorChannelControl({ + id: "motor_channel_b_control", + motor: "B", + inHigh: "in3", + inLow: "in4", + en: "enb", + description: "Control for Motor B: IN3/IN4 for direction, ENB for PWM/enable.", +}); + +const dcMotorOutput: InterfaceDef = { + id: "dc_motor_output", + name: "DC Motor Output (OUT pair)", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["output"] }], + parameters: [ + voltageRangeV(VS_RANGE[0], VS_RANGE[1]), + maxCurrentA(OUT_MAX_CONTINUOUS_A), + ], + slots: [ + { id: "phase_a", required: true, match: { protocol: "power", role: "output", capability: "motor_out" } }, + { id: "phase_b", required: true, match: { protocol: "power", role: "output", capability: "motor_out" } }, + ], + profiles: [ + { + id: "output_a", + label: "Motor A (OUT1 + OUT2)", + default_active: true, + bindings: { phase_a: "out1", phase_b: "out2" }, + }, + { + id: "output_b", + label: "Motor B (OUT3 + OUT4)", + default_active: true, + bindings: { phase_a: "out3", phase_b: "out4" }, + }, + ], + max_instances: 2, // JSON constraints.max_connections: 2 — one motor per output pair + traits: [ + { + type: "source_description", + params: { + description: + "DC motor connection interface (each motor uses a pair: OUT1+OUT2 or OUT3+OUT4, 2 A/channel DC continuous).", + }, + }, + { + type: "connection_constraints", + params: { max_connections: 2, requires_matching_voltage_domain: true }, + }, + { + type: "data_note", + params: { + note: "RESOLVED (datasheet audit 2026-07-09): the ST L298 datasheet rates IO at 2 A DC per channel (repetitive peak 2.5 A, non-repetitive peak 3 A, total DC current up to 4 A). The former ~600 mA/channel figure does not appear in the L298 datasheet (likely confusion with the L293D) and was corrected to 2 A, matching the OUT1-OUT4 resource ratings (2000 mA max continuous per output).", + source: "ST L298 datasheet, ABSOLUTE MAXIMUM RATINGS (IO Peak Output Current, each channel) and front-page 'TOTAL DC CURRENT UP TO 4 A'", + }, + }, + { + type: "usage_rule", + params: { + rule: "For each motor, use the designated pair of outputs: connect one motor to OUT1 & OUT2 (Motor A) and the other motor to OUT3 & OUT4 (Motor B). The motor should be the only load between each output pair.", + source: "ProtoPart design_rules / validation_requirements", + }, + }, + { + type: "stepper_mode", + params: { + note: "Capable of driving two DC motors or one stepper motor (using both H-bridges together). Using both channels for a stepper increases dissipation; monitor temperature under load.", + source: "ProtoPart metadata.description / application_examples / warnings", + }, + }, + OUTPUT_DROP_TRAIT, + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical — four M3/#4 corner mounting holes (mechanical domain) +// --------------------------------------------------------------------------- + +function mountingHole(n: 1 | 2 | 3 | 4): InterfaceDef { + return { + id: `mount${n}`, + name: `Mounting Hole ${n}`, + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "threaded_connection", roles: ["mounting_point"] }], + capabilities: ["mounting_hole"], + parameters: [ + { id: "hole_diameter", unit: "mm", value: 3 }, + { id: "max_force", unit: "N", value: 100 }, + ], + traits: [ + { + type: "fastener", + params: { + connector_type: "through_hole", + thread_spec: "M3 / #4", + description: "Corner mounting hole", + }, + }, + ], + }; +} + +const moduleMounting: InterfaceDef = { + id: "module_mounting", + name: "PCB Mounting", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "threaded_connection", roles: ["mounting_point"] }], + slots: [ + { id: "hole", required: true, count: 4, match: { capability: "mounting_hole" } }, + ], + profiles: [ + { + id: "corner_holes", + label: "Four M3/#4 corner holes", + default_active: true, + bindings: { hole: ["mount1", "mount2", "mount3", "mount4"] }, + }, + ], + max_instances: 1, + traits: [ + { + type: "source_description", + params: { + description: "PCB module mounting interface (four M3/#4 screws at corners)", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const L298N_MOTOR_DRIVER: ModuleDef = defineModule({ + id: "l298n-motor-driver", + name: "L298N Dual H-Bridge Motor Driver Module", + version: "0.3.0", + manufacturer: "STMicroelectronics", + part_number: "L298N", + description: + "Dual-channel H-bridge motor driver module based on the L298N IC. Capable of driving two DC motors (or one stepper motor) with up to ~2 A per channel and motor supply voltages from ~5 V up to ~35 V (board-dependent). Includes an onboard 5 V regulator (activated via jumper) that can power the logic circuitry and, within limits, an external controller. Provides directional control and speed (PWM) control for motors, with built-in clamp diodes and a heat sink for handling power dissipation. Widely used in robotics and motor control projects.", + tags: [ + "motor", + "driver", + "H-bridge", + "L298N", + "DC motor", + "stepper motor", + "dual motor driver", + "robotics", + ], + categories: ["motor_driver", "actuator.motor_controller"], + + interfaces: [ + // Power screw terminals — board designators VS / 5V / GND. + vsIn, + vss5v, + gnd, + + // Control header — IN1-IN4 direction, ENA/ENB enable/PWM. + in1, + in2, + in3, + in4, + enA, + enB, + + // Motor output screw terminals — OUT1-OUT4. + out1, + out2, + out3, + out4, + + // Composed power interfaces + motorPowerIn, + logic5vIn, + logic5vOut, + + // H-bridge channels + motorChannelAControl, + motorChannelBControl, + dcMotorOutput, + + // Mechanical + mountingHole(1), + mountingHole(2), + mountingHole(3), + mountingHole(4), + moduleMounting, + ], + + interfaceGroups: [ + { + id: "required_power_terminals", + label: "Required Power Terminals", + members: ["vs_in", "gnd"], + policy: "all_of", + }, + { + // The 5V terminal is either the regulator's output or an external logic + // input, selected by the onboard regulator jumper — never both. + id: "logic_5v_modes", + label: "5V Terminal Mode (regulator jumper state)", + members: ["logic_5v_in", "logic_5v_out"], + policy: "one_of", + }, + { + id: "control_header", + label: "Control Header (ENA / IN1-IN4 / ENB)", + members: ["ena", "in1", "in2", "in3", "in4", "enb"], + policy: "any_of", + }, + { + id: "motor_a_output_pair", + label: "Motor A Output Pair (OUT1 + OUT2)", + members: ["out1", "out2"], + policy: "all_of", + }, + { + id: "motor_b_output_pair", + label: "Motor B Output Pair (OUT3 + OUT4)", + members: ["out3", "out4"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Motor supply (Vs) within 5-35 V (board-dependent; nominal 12 V), correctly connected to the Vs input terminal; up to ~2 A per channel (~4 A total). Validate that motor stall currents do not exceed ~2 A per channel.", + voltage_V: VS_RANGE, + current_mA: 4000, + }, + { + type: "power", + description: + "5 V TTL logic supply (~36 mA): either the onboard regulator (jumper fitted, Vs typically ≤12 V) or an external regulated 5 V on the Vss pin (jumper removed / Vs above ~12 V). All grounds (module, power source, microcontroller) must be common.", + voltage_V: [4.5, 5.5], + current_mA: 36, + }, + { + type: "interface", + description: + "A controller providing 0-5 V logic direction signals (IN1-IN4) and, for speed control, a PWM source on ENA/ENB (3.3 V logic typically accepted — input HIGH threshold ~2.3 V).", + interface_protocol: "digital", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "vmotor", + name: "Motor Supply (Vs)", + nominal_voltage_V: 12, + voltage_range_V: VS_RANGE, + max_current_mA: 4000, + }, + { + id: "logic5v", + name: "Logic 5V (Vss)", + nominal_voltage_V: 5, + voltage_range_V: LOGIC_RANGE, + max_current_mA: 36, + }, + ], + metadata: { + supply_voltage_V: VS_RANGE, + power_consumption_mW: 180, + // ProtoPart states pin_count 15 while 13 terminals are defined as + // resources (the count likely includes onboard jumper positions, + // which the JSON does not model as resources). + pin_count: 15, + modeled_terminals: 13, + logic_input_high_threshold_V: V_IH_APPROX_V, + isolation: "non_isolated, common ground reference (both power domains)", + source: "ProtoPart definition.json, electrical domain", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 43, width: 43, height: 27 }, + weight_g: 26, + metadata: { + package_type: "PCB Module", + mounting_method: "four M3/#4 screws at corners (3 mm through-holes, 100 N max each)", + }, + }, + { + domain: "thermal", + operating_temperature_C: [-20, 85], + metadata: { + thermal_design_power_W: 5, + requires_thermal_management: true, + thermal_monitoring_available: false, + cooling_method: "passive", + note: "Built-in heat sink. Provide adequate heat sinking/airflow if running motors near 2 A continuously — the L298N dissipates significant heat (Darlington drop ~2 V+).", + }, + }, + ], + + traits: [ + // Signal flow: the motor supply is switched onto the output pairs by the + // H-bridges (fixture-convention bridge, consistent with vs_in.bridgesTo). + { type: "can_bridge", params: { from: ["motor_power_in"], to: ["dc_motor_output"] } }, + { + type: "provides_power", + params: { + interfaceId: "logic_5v_out", + voltage: { id: "voltage", unit: "V", value: 5 }, + maxCurrent: { id: "max_current", unit: "A", value: 0.1 }, + }, + }, + // metadata.has_enable_jumpers — no structural OpenUHD home; per-pin + // `enable_jumper` traits on ENA/ENB carry the behaviour. + { type: "has_enable_jumpers", params: { value: true } }, + { + type: "design_rules", + params: { + source: "ProtoPart definition.json, design_rules (verbatim)", + rules: [ + "If motor supply voltage exceeds ~12 V, remove the onboard regulator jumper and supply 5 V to the logic input pin externally to avoid overheating the regulator.", + "Do not draw more than ~100 mA from the module's 5 V output; excessive current can overheat the 78M05 regulator.", + "Provide adequate heat sinking/airflow if running motors near 2 A continuously. The L298N dissipates significant heat (Darlington drop ~2 V+).", + "Always connect grounds: the motor power source ground, control logic ground, and module ground must be common.", + "For each motor, use the designated pair of outputs: connect one motor to OUT1 & OUT2 (Motor A) and the other motor to OUT3 & OUT4 (Motor B).", + "Use ENA and ENB for PWM speed control: you can tie them HIGH for full speed or feed a PWM signal for variable speed. Ensure they are enabled (HIGH) for the motor to run.", + "Logic input HIGH threshold is ~2.3 V, so 3.3 V control signals are typically acceptable, but the logic supply should still be 5 V.", + ], + }, + }, + { + type: "validation_requirements", + params: { + source: "ProtoPart definition.json, validation_requirements (verbatim)", + requirements: [ + "Verify motor supply (Vs) is within 5–35 V range and correctly connected to the Vs input terminal.", + "If the 5 V regulator jumper is used, ensure motor supply does not exceed ~12 V. If motor supply is above 12 V, ensure jumper is removed and a stable 5 V is provided to the logic input pin.", + "Confirm that all grounds (module, power source, microcontroller) are connected together (common ground).", + "Validate that motor stall currents do not exceed ~2 A per channel (and consider using fuses or current limiting if motors can draw more).", + "Check that each control input (IN1–IN4, ENA, ENB) from the microcontroller is properly assigned and within 0–5 V logic levels, and that at least one of ENA/ENB is enabled if you expect the motor to run.", + "Ensure that no two outputs are shorted directly together or to supply/ground (other than through a motor); the motor should be the only load between each output pair.", + ], + }, + }, + { + type: "usage_notes", + params: { + source: "ProtoPart definition.json, usage_notes (verbatim)", + note: "This L298N motor driver module allows you to control two DC motors (or one stepper motor). Set IN1/IN2 (Motor A) and IN3/IN4 (Motor B) for direction; provide PWM on ENA/ENB for speed. The module includes enable jumpers that tie ENA/ENB HIGH by default: with jumpers installed, each channel is enabled (full-speed if IN pins demand it); remove a jumper to drive that EN pin from a PWM-capable MCU output. If the onboard 5 V regulator jumper is fitted and Vs is modest (typically ≤12 V), the 5 V pin can supply light external loads (~100 mA). For Vs above ~12 V or higher 5 V loads, remove the jumper and supply a regulated 5 V to the Vss pin. Expect ~2 V or more drop across the bipolar outputs under load, so size Vs accordingly.", + }, + }, + { + type: "compatibility_notes", + params: { + source: "ProtoPart definition.json, compatibility_notes (verbatim)", + note: "The L298N module works with any microcontroller that can provide 5 V logic signals (TTL). It is directly compatible with Arduino Uno and other 5 V logic boards. It can also be controlled by 3.3 V logic (e.g., Raspberry Pi, ESP32) because 3.3 V is typically recognized as HIGH by the L298N (~2.3 V threshold), but you still need to provide a 5 V supply to the module's logic. Note this driver is less efficient than modern MOSFET drivers (TB6612FNG, DRV8833).", + }, + }, + { + type: "application_examples", + params: { + source: "ProtoPart definition.json, application_examples (verbatim)", + examples: [ + "Arduino-based 2WD robot car (driving two DC gear motors for left/right wheels)", + "Controlling a small bipolar stepper motor (using both H-bridges together)", + "DIY RC tank or rover (two motor channels for track drive)", + "Automating a curtain or conveyor using DC motors with forward/reverse control", + "Educational projects and prototyping where a simple motor driver is needed for DC motors or solenoids", + ], + }, + }, + { + type: "warnings", + params: { + source: "ProtoPart definition.json, warnings (verbatim)", + warnings: [ + "The onboard regulator can overheat if you draw too much current from the 5 V pin or if Vs is high; use it only for light loads or provide an external 5 V.", + "During operation, the L298N chip and heat sink can become very hot. Avoid touching the heat sink and provide ventilation if possible.", + "A significant voltage drop (~2 V or more) occurs across the driver at high currents due to bipolar transistor outputs.", + "Using both channels (e.g., for a stepper) increases dissipation; monitor temperature under load.", + "Double-check wiring: ensure Vs is not connected to the 5 V logic pin and that grounds are common.", + ], + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "L298N Motor Driver Datasheet (components101 mirror)", + type: "datasheet", + url: "https://components101.com/sites/default/files/component_datasheet/L298N-Motor-Driver-Datasheet.pdf", + }, + { + // ProtoPart artifact type "image" is not an OpenUHD ArtifactType — + // mapped to "custom" with an image tag; it is the ProtoPart preview + // artifact (previewArtifactId: art_thumbnail). + id: "art_thumbnail", + name: "Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/l298n-motor-driver/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail", "preview"], + }, + ], +}); diff --git a/library/parts/l298n-motor-driver/artifacts/thumbnail.png b/library/parts/l298n-motor-driver/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..bd8003ec99fafce99e5de6a9e97ea32a4dd013d4 GIT binary patch literal 199198 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%0A1XkHxH$YKN;pQ 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 CkT%%> literal 0 HcmV?d00001 diff --git a/library/parts/pjrc-teensy-4-1.ts b/library/parts/pjrc-teensy-4-1.ts new file mode 100644 index 0000000..afb0ea7 --- /dev/null +++ b/library/parts/pjrc-teensy-4-1.ts @@ -0,0 +1,1077 @@ +/** + * PJRC Teensy 4.1 (TEENSY41) — source-honest part definition. + * + * Primary source: ProtoPart definition `pjrc-teensy-4-1` (schema 1.4.0, + * version 0.4.0) — the audited source of truth for this file: + * - electrical power_domains: USB 5V, VIN (Raw Input), Regulated 3.3V + * - electrical resources: USB connector, VIN, two 3.3 V output pins, two + * GND pins, and header pins 0-23 with their per-pin function lists + * - electrical interfaces: 3.3 V power output, digital pins, analog input, + * I2C master, SPI master, PWM, Digital Audio 1/2, S/PDIF, MQS, serial + * ports, CAN bus, USB device (480 MHz) + * - design_rules / warnings / validation_requirements / usage_notes / + * application_examples / compatibility_notes (carried as traits) + * Secondary source: PJRC datasheets page (https://www.pjrc.com/teensy/datasheets.html) + * as cited by the ProtoPart metadata. Nothing below is carried over from + * convention, Arduino-core defaults, or the bare i.MX RT1062 datasheet + * without being present in the ProtoPart definition. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: every edge pin the ProtoPart source + * defines is a leaf interface with its silkscreen designator — the USB + * connector, VIN, two 3.3 V pins, two GND pins, and header pins 0-23. + * The source does NOT define pins 24-41, VBAT/ON-OFF/PROGRAM, the + * micro-SD slot, USB host pads, or the Ethernet PHY pads; they are + * intentionally absent here (see the `source_coverage` module trait). + * - Every pin carries its verbatim ProtoPart function list in a + * `teensy_pin_functions` trait — display data is separated from the + * canonical capability tags the matching engine needs. + * - Instances vs combinations: the ProtoPart source declares each + * peripheral interface against function names, not pin pairings. + * Where the source pins a function to exactly one pin (SPI, Digital + * Audio 2, S/PDIF, MQS, USB) the binding is a named profile; where + * several pins carry the function (serial RX/TX, SDA/SCL, CAN_TX/RX, + * OUT1) the combination space is left open via capability-tag slots + * and documented in `instance_combinations` traits. + * - Co-requirements (`co_requirement` traits): USB and VIN power sources + * are mutually exclusive (ProtoPart design rule). + * - Implied harness connections (`implied_passives` traits): external + * I2C pull-up resistors; VIN supply decoupling (both ProtoPart design + * rules). + * - Shareability exemptions (`net_shareable` traits): the two 3.3 V + * output pins are one regulator net; the two GND pins are one ground + * net — a single supply/ground instance may serve all members. + */ + +import type { + InterfaceDef, + ModuleDef, + SlotDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import { + Ground, + Pin, + PowerIn, + PowerOut, + SPI, + UART, + defineModule, + maxCurrentA, + maxFrequencyHz, + voltageV, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart power_domains + design_rules/warnings +// --------------------------------------------------------------------------- + +/** ProtoPart power domain "usb_5v": USB-supplied power with built-in protection. */ +const USB_5V_RANGE: [number, number] = [4.5, 5.5]; +/** + * VIN input range per PJRC's official Teensy 4.1 pinout card (card11a_rev4, + * https://www.pjrc.com/teensy/pinout.html): "Vin (3.6 to 5.5 volts)". + * NOTE: the ProtoPart power domain said [3.6, 5] and its own design rule + * "VIN must be 4.5-6V when using external power" — both disagreed with each + * other and with PJRC; adjudicated to the official figure (see the + * `source_discrepancy` trait on vin, which preserves both source values). + */ +const VIN_RANGE: [number, number] = [3.6, 5.5]; +/** + * 3.3 V rail per PJRC's official pinout card: "3.3V (250 mA max)"; product + * page (https://www.pjrc.com/store/teensy41.html): "The recommended maximum + * for external 3.3V usage is 250mA". The ProtoPart source's 1000 mA figure + * is not supported by PJRC and was corrected (see the thermal_note trait on + * the 3.3 V output pins, which preserves the source's 1 A wording). + */ +const RAIL_3V3_NOMINAL_V = 3.3; +const RAIL_3V3_MAX_A = 0.25; + +/** ProtoPart design rule "Maximum 15mA per I/O pin". */ +const PIN_MAX_MA = 15; + +/** + * ProtoPart warning: "Maximum current per pin is around 4-6mA for continuous + * draw" — carried as the continuous-drive guidance parameter on every pin. + */ +const PIN_DRIVE_GUIDANCE: Parameter = { + id: "drive_current", + name: "Continuous drive current (source guidance)", + unit: "mA", + range: [4, 6], +}; + +/** ProtoPart design rules: 3.3 V only, NOT 5 V tolerant, never exceed 3.6 V. */ +const IO_VOLTAGE_TRAIT: TraitDef = { + type: "io_voltage_limits", + params: { + logic_level_V: 3.3, + absolute_max_input_V: 3.6, + five_volt_tolerant: false, + note: "All I/O pins are 3.3V only and NOT 5V tolerant. Never apply more than 3.3V to any I/O pin; do not exceed 3.6V on any I/O pin.", + source: "ProtoPart pjrc-teensy-4-1 design_rules / warnings", + }, +}; + +/** ProtoPart design rule + warnings on per-pin and cumulative current. */ +const IO_CURRENT_TRAIT: TraitDef = { + type: "io_current_limits", + params: { + per_pin_max_mA: PIN_MAX_MA, + continuous_guidance_mA: [4, 6], + pjrc_recommended_max_output_mA: 4, + pjrc_note: "PJRC's official spec (https://www.pjrc.com/store/teensy41.html): 'The recommended maximum output current is 4mA'. PJRC publishes no 15 mA per-pin figure; the source's 15 mA design rule is retained unverified.", + cumulative_note: "Maximum current for all I/O is limited (source does not quantify the cumulative figure).", + load_note: "If you need to drive an LED or other load, use a transistor or MOSFET.", + source: "ProtoPart pjrc-teensy-4-1 design_rules / warnings", + }, +}; + +/** ProtoPart design rule: USB and VIN power sources are mutually exclusive. */ +function powerSourceExclusivity(other: string): TraitDef { + return { + type: "co_requirement", + params: { + with: other, + condition: "both power sources connected", + effect: "USB and VIN power sources are mutually exclusive — power the board from exactly one of them.", + source: "ProtoPart pjrc-teensy-4-1 design_rules", + }, + }; +} + +// --------------------------------------------------------------------------- +// Source-verbatim per-pin function metadata +// --------------------------------------------------------------------------- + +/** + * Verbatim function-name strings from the ProtoPart electrical resources. + * The source lists names only (no direction/routing columns), so the trait + * carries the strings exactly as written. + */ +interface TeensyPinSpec { + /** Silkscreen / Arduino pin number (ProtoPart resource id "pin_"). */ + pin: number; + /** Verbatim ProtoPart function names, in source order. */ + functions: string[]; + /** Editorial note about the source data itself, when warranted. */ + sourceNote?: string; + /** + * PJRC-doc adjudication: expose the digital capability when the official + * pinout documentation confirms it despite an omission in the ProtoPart + * function list (the verbatim `functions` array is never altered). + */ + digitalPerPjrc?: boolean; +} + +function unique(values: string[]): string[] { + return [...new Set(values)]; +} + +/** + * Map a verbatim ProtoPart function name to an extra canonical capability + * tag (beyond what the Pin builder emits). Names that are pure display data + * (CTX/CRX, which no ProtoPart interface requires) map to nothing and live + * only in the `teensy_pin_functions` trait. + */ +const EXTRA_CAPS: Record = { + CAN_RX: "can_rx", + CAN_TX: "can_tx", + OUT1: "audio1_out", + IN1: "audio1_in", + LRCLK1: "audio1_lrclk", + BCLK1: "audio1_bclk", + MCLK1: "audio1_mclk", + OUT2: "audio2_out", + IN2: "audio2_in", + LRCLK2: "audio2_lrclk", + BCLK2: "audio2_bclk", + MQSL: "mqs_l", + MQSR: "mqs_r", + "S/PDIF_Out": "spdif_out", + "S/PDIF_In": "spdif_in", +}; + +/** Build one schematic-honest header pin from its ProtoPart resource row. */ +function teensyPin(spec: TeensyPinSpec): InterfaceDef { + const fns = new Set(spec.functions); + + const base = Pin({ + id: `pin_${spec.pin}`, + name: `Pin ${spec.pin}`, + pin: spec.pin, + voltageV: 3.3, + capabilities: { + // Capability flags derive strictly from the source's function list. + digital: fns.has("Digital_pin") || spec.digitalPerPjrc === true, + pwm: fns.has("PWM"), + analogIn: fns.has("Analog_read_pin"), + uartRx: fns.has("Serial_RX"), + uartTx: fns.has("Serial_TX"), + i2cSda: fns.has("SDA"), + i2cScl: fns.has("SCL"), + spiMosi: fns.has("MOSI"), + spiMiso: fns.has("MISO"), + spiSck: fns.has("SCK"), + spiSs: fns.has("CS"), + }, + }); + + const capabilities = unique([ + ...(base.capabilities ?? []), + ...spec.functions.flatMap((fn) => { + const cap = EXTRA_CAPS[fn]; + return cap !== undefined ? [cap] : []; + }), + ]); + + const parameters: Parameter[] = [...(base.parameters ?? []), PIN_DRIVE_GUIDANCE]; + + const traits: TraitDef[] = [ + { + type: "teensy_pin_functions", + params: { + source: "ProtoPart pjrc-teensy-4-1 definition, electrical resources (verbatim function names)", + functions: spec.functions, + ...(spec.sourceNote ? { note: spec.sourceNote } : {}), + }, + }, + IO_VOLTAGE_TRAIT, + IO_CURRENT_TRAIT, + ]; + + return { ...base, capabilities, parameters, traits }; +} + +// --------------------------------------------------------------------------- +// Header pins 0-23 — ProtoPart electrical resources, in board pin order. +// Function lists are verbatim from the source (including CTX/CRX on pins +// 11/13, which no source interface consumes). +// --------------------------------------------------------------------------- + +const PIN_SPECS: TeensyPinSpec[] = [ + { pin: 0, functions: ["PWM", "CAN_RX", "Serial_RX", "Digital_pin"] }, + { pin: 1, functions: ["PWM", "Serial_TX", "CAN_TX", "Digital_pin"] }, + { pin: 2, functions: ["PWM", "Digital_pin", "OUT2"] }, + { pin: 3, functions: ["LRCLK2", "PWM", "Digital_pin"] }, + { pin: 4, functions: ["BCLK2", "PWM", "Digital_pin"] }, + { pin: 5, functions: ["IN2", "PWM", "Digital_pin"] }, + { pin: 6, functions: ["OUT1", "PWM", "Digital_pin"] }, + { pin: 7, functions: ["OUT1", "PWM", "Serial_RX", "Digital_pin"] }, + { pin: 8, functions: ["IN1", "PWM", "Serial_TX", "Digital_pin"] }, + { pin: 9, functions: ["OUT1", "PWM", "Digital_pin"] }, + { + pin: 10, + functions: ["MQSR", "PWM", "CS"], + digitalPerPjrc: true, + sourceNote: + "The source function list omits Digital_pin on this pin (unlike every neighbouring pin); the verbatim list is carried as-is. Adjudicated against PJRC's official Teensy 4.1 pinout card (card11a_rev4, https://www.pjrc.com/teensy/pinout.html): pin 10 is a digital I/O pin ('All digital pins have Interrupt capability'; product page lists 55 digital input/output pins) — the omission is a source error, so the digital_io capability IS exposed here.", + }, + { pin: 11, functions: ["MOSI", "PWM", "CTX", "Digital_pin"] }, + { pin: 12, functions: ["MISO", "PWM", "MQSL", "Digital_pin"] }, + { pin: 13, functions: ["SCK", "PWM", "CRX", "Digital_pin"] }, + { pin: 14, functions: ["Serial_TX", "PWM", "Analog_read_pin", "S/PDIF_Out", "Digital_pin"] }, + { pin: 15, functions: ["Serial_RX", "PWM", "Analog_read_pin", "S/PDIF_In", "Digital_pin"] }, + { pin: 16, functions: ["Serial_RX", "SCL", "Analog_read_pin", "Digital_pin"] }, + { pin: 17, functions: ["Serial_TX", "SDA", "Analog_read_pin", "Digital_pin"] }, + { pin: 18, functions: ["SDA", "Analog_read_pin", "PWM", "Digital_pin"] }, + { pin: 19, functions: ["SCL", "Analog_read_pin", "PWM", "Digital_pin"] }, + { pin: 20, functions: ["LRCLK1", "Analog_read_pin", "Digital_pin", "Serial_TX"] }, + { pin: 21, functions: ["BCLK1", "Analog_read_pin", "Digital_pin", "Serial_RX"] }, + { pin: 22, functions: ["CAN_TX", "PWM", "Analog_read_pin", "Digital_pin"] }, + { pin: 23, functions: ["CAN_RX", "Analog_read_pin", "PWM", "Digital_pin", "MCLK1"] }, +]; + +const headerPins: InterfaceDef[] = PIN_SPECS.map(teensyPin); + +// --------------------------------------------------------------------------- +// Power and connector pins — ProtoPart electrical resources +// --------------------------------------------------------------------------- + +const usbConnector: InterfaceDef = { + ...PowerIn({ + id: "usb_5v", + name: "USB Connector (5V in)", + pin: "USB", + voltageV: USB_5V_RANGE, + nominalV: 5, + maxCurrentA: 0.5, + }), + capabilities: ["power_in", "usb_connector"], + traits: [ + { + type: "power_domain", + params: { + domain: "usb_5v", + description: "USB-supplied power with built-in protection.", + regulation_type: "regulated", + }, + }, + powerSourceExclusivity("vin"), + ], +}; + +const vin: InterfaceDef = { + ...PowerIn({ + id: "vin", + name: "VIN (Raw Input)", + pin: "VIN", + voltageV: VIN_RANGE, + nominalV: 5, + maxCurrentA: 0.5, + }), + capabilities: ["power_in", "vin_input"], + traits: [ + { + type: "power_domain", + params: { + domain: "vin", + description: "External power input through VIN pin.", + regulation_type: "unregulated", + }, + }, + { + type: "source_discrepancy", + params: { + field: "VIN voltage range", + power_domain_value_V: [3.6, 5], + design_rule_value: "VIN must be 4.5-6V when using external power", + note: "The ProtoPart power domain ([3.6, 5] V) and its own design rule disagree; both figures are preserved verbatim.", + resolution: + "Adjudicated against PJRC's official Teensy 4.1 pinout card (card11a_rev4, https://www.pjrc.com/teensy/pinout.html), which prints 'Vin (3.6 to 5.5 volts)'. Neither source figure matches: the power domain had the correct 3.6 V floor but a low 5 V ceiling, and the design rule's 4.5-6 V is wrong on both ends (6 V exceeds PJRC's documented maximum). The structured parameter now carries PJRC's 3.6-5.5 V.", + }, + }, + { + type: "implied_passives", + params: { + purpose: "VIN supply stability", + components: [ + { kind: "capacitor", value: "sufficient decoupling (source does not quantify)", connection: "VIN to GND" }, + ], + source: "ProtoPart design rules: 'Provide stable 5V supply to VIN with sufficient decoupling' / 'Ensure proper decoupling capacitors for stable operation'", + }, + }, + powerSourceExclusivity("usb_5v"), + ], +}; + +/** The two 3.3 V output pins sit on one regulated net (250 mA max per PJRC). */ +function rail3v3Pin(id: string, ordinal: number): InterfaceDef { + const base = PowerOut({ + id, + name: `3.3V Output ${ordinal}`, + pin: "3.3V", + voltageV: RAIL_3V3_NOMINAL_V, + maxCurrentA: RAIL_3V3_MAX_A, + }); + return { + ...base, + capabilities: ["power_out", "power_3v3_out"], + traits: [ + { + type: "power_domain", + params: { + domain: "regulated_3v3", + description: "3.3V output for CPU and low-power external devices.", + regulation_type: "regulated", + }, + }, + { + // Shareability exemption: one supply consumer net may legally span + // both pads — they are the same regulator output. + type: "net_shareable", + params: { + net: "teensy41_regulated_3v3", + policy: "single_supply_instance_may_serve_all_members", + members: ["3v3_out_1", "3v3_out_2"], + }, + }, + { + type: "thermal_note", + params: { + note: "The 3.3V regulator can supply up to 1A but may dissipate heat at high currents.", + source: "ProtoPart pjrc-teensy-4-1 warnings", + correction: + "The source's 1 A figure is not supported by PJRC. Official pinout card (card11a_rev4): '3.3V (250 mA max)'; product page (https://www.pjrc.com/store/teensy41.html): 'The recommended maximum for external 3.3V usage is 250mA'. The structured current limit on this pin carries 250 mA.", + }, + }, + ], + }; +} + +function gndPin(id: string, ordinal: number): InterfaceDef { + return { + ...Ground({ id, name: `Ground ${ordinal}`, pin: "GND" }), + traits: [ + { + type: "net_shareable", + params: { net: "gnd", policy: "single_ground_instance_may_serve_all_members", members: ["gnd1", "gnd2"] }, + }, + { + type: "power_domain", + params: { + domain: "regulated_3v3", + note: "The ProtoPart source associates both ground pins with the regulated_3v3 power domain (common ground reference).", + }, + }, + ], + }; +} + +const powerAndServicePins: InterfaceDef[] = [ + usbConnector, + vin, + rail3v3Pin("3v3_out_1", 1), + rail3v3Pin("3v3_out_2", 2), + gndPin("gnd1", 1), + gndPin("gnd2", 2), +]; + +/** All edge pins the source defines: power/connector pins, then pins 0-23. */ +const pins: InterfaceDef[] = [...powerAndServicePins, ...headerPins]; + +// --------------------------------------------------------------------------- +// Composed interfaces — ProtoPart electrical `interfaces`, one for one. +// Slot capability tags are canonical; the source's raw protocol type/role +// strings are preserved in `source_protocol` traits wherever they were +// normalised (see the module-level `terminology_policy` trait). +// --------------------------------------------------------------------------- + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +/** Preserve the source's raw protocol descriptor where it was normalised. */ +function sourceProtocol(type: string, role: string): TraitDef { + return { type: "source_protocol", params: { raw: { type, role } } }; +} + +// 3.3 V power output — source requires one 3v3_power_output pin + one ground. +const powerOutput3v3 = composed({ + id: "3v3_power_output", + name: "3.3V Power Output", + protocolType: "power", + roles: ["output"], + parameters: [voltageV(RAIL_3V3_NOMINAL_V), maxCurrentA(RAIL_3V3_MAX_A)], + slots: [ + { id: "rail", required: true, match: { protocol: "power", role: "output", capability: "power_3v3_out" } }, + { id: "gnd", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + ], + traits: [ + { + type: "instance_combinations", + params: { + combination_space: "Rail: 3v3_out_1 or 3v3_out_2 (one regulator net); ground: gnd1 or gnd2 (one ground net). The source specifies no fixed pairing.", + }, + }, + ], +}); + +// Digital pins — any header pin whose source function list includes Digital_pin. +const digitalPins = composed({ + id: "digital_pins", + name: "Digital Pins (Read/Write)", + protocolType: "digital", + roles: ["input", "output", "bidirectional"], + slots: [ + { id: "pin", required: true, match: { protocol: "digital", capability: "digital_io" } }, + ], + traits: [ + sourceProtocol("digital", "transmitter"), + { + type: "instance_combinations", + params: { + combination_space: "Any header pin 0-23. The ProtoPart function list omitted Digital_pin on pin 10; adjudicated as a source error against PJRC's official pinout card ('All digital pins have Interrupt capability') — see the teensy_pin_functions note on pin_10.", + }, + }, + ], +}); + +// Analog inputs — pins whose source function list includes Analog_read_pin. +const analogInput = composed({ + id: "analog_input", + name: "Analog Pins (Read)", + protocolType: "analog", + roles: ["input"], + slots: [ + { id: "channel", required: true, match: { protocol: "analog", role: "input", capability: "analog_in" } }, + ], + traits: [ + sourceProtocol("analog", "receiver"), + { + type: "channels", + params: { + count: 10, + mapping: "Pins 14-23 carry the Analog_read_pin function.", + note: "The source assigns no A0-A9 channel names and no ADC resolution/reference figures.", + }, + }, + { + type: "co_requirement", + params: { + with: "3v3_power_output", + condition: "analog measurements in use", + effect: "Verify analog reference voltage (ProtoPart validation requirement).", + }, + }, + ], +}); + +// I2C master — SDA/SCL route to two candidate pins each; the source does not +// pair them into controllers, so the combination space stays open. +const i2cMaster = composed({ + id: "i2c_master", + name: "I2C Master (SDA/SCL)", + protocolType: "i2c", + roles: ["master"], + slots: [ + { id: "sda", required: true, match: { protocol: "i2c", role: "data", capability: "i2c_sda" } }, + { id: "scl", required: true, match: { protocol: "i2c", role: "clock", capability: "i2c_scl" } }, + ], + traits: [ + { + type: "instance_combinations", + params: { + combination_space: "SDA: pin 17 or pin 18; SCL: pin 16 or pin 19. The source declares function eligibility only — no controller pairings and no bus clock figure.", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Open-drain bus pull-ups", + components: [ + { kind: "resistor", value: "value per bus (source does not quantify)", connection: "SDA and SCL to the bus supply" }, + ], + source: "ProtoPart design rules: 'Use external pull-up resistors for I2C communication'", + }, + }, + ], +}); + +// SPI master — the only peripheral the source pins to exactly one pin per +// signal: MOSI=11, MISO=12, SCK=13, CS=10. +const spiMaster = amend( + SPI({ + id: "spi_master_miso", // ProtoPart interface id, kept verbatim + name: "SPI Master (MISO/MOSI/SCK/CS)", + roles: ["master"], + profiles: [ + { + id: "spi_main_pins", + label: "MOSI=11 / MISO=12 / SCK=13 / CS=10", + mosi: "pin_11", + miso: "pin_12", + sck: "pin_13", + ss: "pin_10", + }, + ], + }), + "spi_master_miso", + [ + { + type: "source_discrepancy", + params: { + field: "spi_master_miso protocol/requires", + raw_protocol: { type: "spi", role: "slave" }, + raw_requires: ["MISO x1", "MISO x1", "SCK x1", "CS x1"], + note: "The source names and describes this interface as 'SPI Master (MISO/MOSI/SCK/CS)' but records protocol role 'slave' and lists MISO twice (once presumably intended as MOSI). Roles here follow the interface's own name/description; the raw fields are preserved verbatim for audit.", + resolution: + "Adjudicated against PJRC's official Teensy 4.1 pinout card (card11a_rev4, https://www.pjrc.com/teensy/pinout.html): pins 10=CS, 11=MOSI, 12=MISO, 13=SCK form the board's main SPI port, with distinct MOSI and MISO signals — the board acts as SPI controller (master) on this port. The 'slave' role and duplicated MISO are source transcription errors; the 'master' role and the MOSI=11/MISO=12/SCK=13/CS=10 profile used here match the official card.", + }, + }, + { + type: "signal_integrity", + params: { + note: "Keep signal wires short for high-speed interfaces.", + source: "ProtoPart pjrc-teensy-4-1 design_rules", + }, + }, + ], +); + +// PWM — one slot, any pin whose source function list includes PWM. +const pwmPins = composed({ + id: "pwm_pins", + name: "PWM Pins", + protocolType: "pwm", + roles: ["output"], + slots: [ + { id: "channel", required: true, match: { protocol: "pwm", role: "output", capability: "pwm_out" } }, + ], + traits: [ + sourceProtocol("pwm", "transmitter"), + { + type: "channels", + params: { + count: 20, + mapping: "Pins 0-15, 18, 19, 22 and 23 carry the PWM function (pins 16, 17, 20, 21 do not).", + note: "The source assigns no PWM frequency or resolution figures.", + }, + }, + ], +}); + +// Digital Audio 1 — OUT1/IN1/LRCLK1/BCLK1. OUT1 has three candidate pins, so +// no unique profile exists; MCLK1 (pin 23) is a pin function the source +// interface does not require. +const digitalAudio1 = composed({ + id: "digital_audio", + name: "Digital Audio 1", + protocolType: "digital_audio", + roles: ["transmitter"], + slots: [ + { id: "out", required: true, label: "OUT1", match: { capability: "audio1_out" } }, + { id: "in", required: true, label: "IN1", match: { capability: "audio1_in" } }, + { id: "lrclk", required: true, label: "LRCLK1", match: { capability: "audio1_lrclk" } }, + { id: "bclk", required: true, label: "BCLK1", match: { capability: "audio1_bclk" } }, + ], + traits: [ + { + type: "instance_combinations", + params: { + combination_space: "OUT1: pin 6, 7 or 9; IN1: pin 8; LRCLK1: pin 20; BCLK1: pin 21.", + note: "MCLK1 is available on pin 23 per the source pin-function list, but the source's Digital Audio 1 interface does not require it — it is left as an unconsumed capability (audio1_mclk).", + }, + }, + ], +}); + +// Digital Audio 2 — OUT2/IN2/LRCLK2/BCLK2, each on exactly one pin. +const digitalAudio2 = composed({ + id: "digital_audio_2", + name: "Digital Audio 2", + protocolType: "digital_audio", + roles: ["transmitter"], + slots: [ + { id: "out", required: true, label: "OUT2", match: { capability: "audio2_out" } }, + { id: "in", required: true, label: "IN2", match: { capability: "audio2_in" } }, + { id: "lrclk", required: true, label: "LRCLK2", match: { capability: "audio2_lrclk" } }, + { id: "bclk", required: true, label: "BCLK2", match: { capability: "audio2_bclk" } }, + ], + profiles: [ + { + id: "digital_audio_2_pins", + label: "OUT2=2 / LRCLK2=3 / BCLK2=4 / IN2=5", + bindings: { out: "pin_2", in: "pin_5", lrclk: "pin_3", bclk: "pin_4" }, + }, + ], +}); + +// S/PDIF — digital audio over single coax, out on pin 14, in on pin 15. +const spdif = composed({ + id: "digital_audio_over_single_coax", + name: "Digital Audio Over Single Coax", + protocolType: "digital_audio_over_single_coax", + roles: ["transmitter"], + slots: [ + { id: "out", required: true, label: "S/PDIF_Out", match: { capability: "spdif_out" } }, + { id: "in", required: true, label: "S/PDIF_In", match: { capability: "spdif_in" } }, + ], + profiles: [ + { + id: "spdif_pins", + label: "S/PDIF Out=14 / In=15", + bindings: { out: "pin_14", in: "pin_15" }, + }, + ], +}); + +// Medium Quality Sound — MQSL on pin 12, MQSR on pin 10. +const mqs = composed({ + id: "Medium_Quality_Sound_Output", // ProtoPart interface id, kept verbatim + name: "Medium Quality Sound", + protocolType: "medium_quality_sound_output", + roles: ["transmitter"], + slots: [ + { id: "left", required: true, label: "MQSL", match: { capability: "mqs_l" } }, + { id: "right", required: true, label: "MQSR", match: { capability: "mqs_r" } }, + ], + profiles: [ + { + id: "mqs_pins", + label: "MQSL=12 / MQSR=10", + bindings: { left: "pin_12", right: "pin_10" }, + }, + ], +}); + +// Serial ports — one RX + one TX per port; the source declares eligibility +// per function name only (no Serial1..Serial8 pairings, no baud figures). +const serialPorts = amend( + UART({ + id: "Serial_ports", // ProtoPart interface id, kept verbatim + name: "Serial Ports", + }), + "Serial_ports", + [ + sourceProtocol("serial_ports", "transmitter"), + { + type: "instance_combinations", + params: { + combination_space: "Serial_RX: pins 0, 7, 15, 16, 21; Serial_TX: pins 1, 8, 14, 17, 20. The source declares no fixed RX/TX pairings and no baud-rate figures.", + }, + }, + ], +); + +// CAN bus — TX/RX eligibility only; the source declares no controller pairings. +const canBus = composed({ + id: "can_bus", + name: "CAN Bus", + protocolType: "can", + roles: ["transceiver"], + slots: [ + { id: "tx", required: true, label: "CAN_TX", match: { capability: "can_tx" } }, + { id: "rx", required: true, label: "CAN_RX", match: { capability: "can_rx" } }, + ], + traits: [ + { + type: "instance_combinations", + params: { + combination_space: "CAN_TX: pin 1 or 22; CAN_RX: pin 0 or 23. The source declares no controller pairings and no bit-rate figures.", + note: "Pins 11 and 13 additionally list verbatim 'CTX'/'CRX' functions that no source interface requires; they are preserved as display data only (see teensy_pin_functions).", + }, + }, + ], +}); + +// USB device — 480 Mbit/s (PJRC spec: "USB device 480 Mbit/sec speed"; the +// ProtoPart source wrote "480 MHz" — same 480e6 signaling figure, kept as +// the maxFrequencyHz parameter), max one connection, on the USB connector. +const usbDevice = composed({ + id: "usb_device", + name: "Usb Device", + protocolType: "usb", + roles: ["device"], + parameters: [maxFrequencyHz(480_000_000)], + slots: [ + { id: "connector", required: true, match: { capability: "usb_connector" } }, + ], + profiles: [ + { id: "usb_device_connector", label: "On-board USB connector", bindings: { connector: "usb_5v" } }, + ], + maxInstances: 1, // constraints.max_connections: 1 + traits: [ + { + type: "source_constraints", + params: { + exclusive: false, + max_connections: 1, + requires_matching_voltage_domain: false, + source: "ProtoPart pjrc-teensy-4-1 usb_device interface constraints", + }, + }, + { + type: "programming_path", + params: { + note: "Connect via USB and ensure board is recognized; run a blink test on the built-in LED.", + source: "ProtoPart pjrc-teensy-4-1 validation_requirements", + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const PJRC_TEENSY_4_1: ModuleDef = defineModule({ + id: "pjrc-teensy-4-1", + name: "PJRC Teensy 4.1", + version: "1.0.0", + manufacturer: "PJRC", + part_number: "TEENSY41", + description: + "PJRC Teensy 4.1 high-performance microcontroller development board based on NXP i.MX RT1062 ARM Cortex-M7. Ultra-fast 600MHz processor with extensive I/O capabilities.", + tags: ["mcu", "board", "3v3", "usb", "arm", "cortex-m7", "teensy", "microcontroller", "high-performance", "600mhz"], + categories: ["microcontroller.teensy"], + + interfaces: [ + // All edge pins the ProtoPart source defines, in source order: + // USB / VIN / 3.3V x2 / GND x2, then header pins 0-23. + ...pins, + + // Power delivery + powerOutput3v3, + + // General-purpose I/O + digitalPins, + analogInput, + pwmPins, + + // Serial / bus controllers + i2cMaster, + ...spiMaster, + ...serialPorts, + canBus, + + // Audio + digitalAudio1, + digitalAudio2, + spdif, + mqs, + + // Connectivity + usbDevice, + ], + + interfaceGroups: [ + { + id: "power_sources", + label: "Power Sources (mutually exclusive per design rule)", + members: ["usb_5v", "vin"], + policy: "one_of", + }, + { + id: "regulated_3v3_common_net", + label: "3.3V Output Pins (one regulator net)", + members: ["3v3_out_1", "3v3_out_2"], + policy: "all_of", + }, + { + id: "ground_common_net", + label: "Ground Pins (one ground net)", + members: ["gnd1", "gnd2"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Power from exactly one source: USB (4.5-5.5 V, ≤500 mA, regulated with built-in protection) or VIN (3.6-5.5 V per PJRC's official pinout card 'Vin (3.6 to 5.5 volts)'; the ProtoPart power domain said 3.6-5 V and its design rule 4.5-6 V — see the source_discrepancy trait on vin). Provide stable 5V supply to VIN with sufficient decoupling.", + voltage_V: 5, + current_mA: 500, + }, + { + type: "interface", + description: + "Programming and validation path: connect via USB and ensure the board is recognized (Teensyduino, PlatformIO, or a direct ARM toolchain per the source usage notes).", + interface_protocol: "usb", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { id: "usb_5v", name: "USB 5V", nominal_voltage_V: 5, voltage_range_V: USB_5V_RANGE, max_current_mA: 500, regulation_type: "regulated" }, + { id: "vin", name: "VIN (Raw Input)", nominal_voltage_V: 5, voltage_range_V: VIN_RANGE, max_current_mA: 500, regulation_type: "unregulated" }, + { id: "regulated_3v3", name: "Regulated 3.3V", nominal_voltage_V: 3.3, max_current_mA: 250, regulation_type: "regulated" }, + ], + metadata: { + // ProtoPart power-domain fields with no PowerDomainDef home: + power_domain_details: { + usb_5v: { + voltage_tolerance_percent: 10, + isolation_type: "non_isolated", + ground_reference: "common", + efficiency_percent: 90, + voltage_ripple_mV: 50, + compatible_domains: [], + description: "USB-supplied power with built-in protection", + }, + vin: { + voltage_tolerance_percent: 10, + isolation_type: "non_isolated", + ground_reference: "common", + efficiency_percent: 85, + voltage_ripple_mV: 100, + compatible_domains: [], + description: "External power input through VIN pin", + }, + regulated_3v3: { + voltage_tolerance_percent: 6, + isolation_type: "non_isolated", + ground_reference: "common", + efficiency_percent: 85, + voltage_ripple_mV: 5, + compatible_domains: ["usb_5v", "vin"], + description: "3.3V output for CPU and low-power external devices", + }, + }, + modeled_edge_pins: 30, + header_io_pins: 24, + io_voltage: "3.3 V only — NOT 5 V tolerant; never exceed 3.6 V on any I/O pin", + per_pin_current_mA: { design_rule_max: PIN_MAX_MA, continuous_guidance: [4, 6], pjrc_recommended_max_output: 4 }, + cpu: "NXP i.MX RT1062 ARM Cortex-M7, 600 MHz (dynamic clock scaling; can be overclocked beyond 600 MHz per source usage notes)", + source: "ProtoPart pjrc-teensy-4-1 definition (schema 1.4.0, version 0.4.0)", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 61, width: 18, height: 5 }, + weight_g: 5, + metadata: { + package_type: "PCB Module", + mounting_method: "breadboard", + enclosure_type: "open_pcb", + assembly_time_min: 2, + field_serviceable: true, + mount_holes: [], + note: "The ProtoPart source defines no mechanical resources or interfaces (no mounting interface is modeled). Form factor does not match Arduino shield layouts, but adapter boards exist (source compatibility notes).", + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + thermal_design_power_W: 1, + requires_thermal_management: false, + thermal_monitoring_available: false, + cooling_method: "passive", + note: "The high-speed MCU can warm up under load; the 3.3V regulator may dissipate heat at high currents (source warnings).", + }, + }, + ], + + traits: [ + { + type: "terminology_policy", + params: { + note: "Interface ids and display names are ProtoPart-verbatim (including 'Serial_ports', 'Medium_Quality_Sound_Output', and 'spi_master_miso'). Protocol types/roles were normalised to the canonical builder vocabulary only where a canonical equivalent exists (serial_ports→uart; transmitter/receiver→output/input for digital, analog and pwm); every normalised raw descriptor is preserved in a source_protocol or source_discrepancy trait. Pin function names in teensy_pin_functions traits are source-verbatim and NOT normalised.", + }, + }, + { + type: "source_coverage", + params: { + note: "The ProtoPart source defines only the USB connector, VIN, two 3.3V pins, two GND pins, and header pins 0-23. It does not define pins 24-41, VBAT/ON-OFF/PROGRAM pins, the micro-SD slot (mentioned only in the source usage notes), the USB host pads, the Ethernet PHY pads, or the PSRAM/flash expansion pads — those board features are therefore not modeled here.", + }, + }, + { + type: "design_rules", + params: { + source: "ProtoPart pjrc-teensy-4-1 design_rules (verbatim)", + rules: [ + "Maximum 15mA per I/O pin", + "Maximum current for all I/O is limited", + "VIN must be 4.5-6V when using external power", + "USB and VIN power sources are mutually exclusive", + "Do not exceed 3.6V on any I/O pin", + "Use external pull-up resistors for I2C communication", + "Ensure proper decoupling capacitors for stable operation", + "All I/O pins are 3.3V only and NOT 5V tolerant", + "Provide stable 5V supply to VIN with sufficient decoupling", + "Keep signal wires short for high-speed interfaces", + ], + }, + }, + { + type: "validation_requirements", + params: { + source: "ProtoPart pjrc-teensy-4-1 validation_requirements (verbatim)", + requirements: [ + "Check power supply compatibility", + "Verify I/O voltage levels", + "Validate current limits", + "Check communication protocol compatibility", + "Ensure proper grounding", + "Verify analog reference voltage", + "Connect via USB and ensure board is recognized", + "Run a blink test on the built-in LED", + "Test each used interface with appropriate examples", + ], + }, + }, + { + type: "warnings", + params: { + source: "ProtoPart pjrc-teensy-4-1 warnings (verbatim)", + warnings: [ + "Never apply more than 3.3V to any I/O pin", + "I/O pins are not 5V tolerant", + "Maximum current per pin is around 4-6mA for continuous draw", + "If you need to drive an LED or other load, use a transistor or MOSFET", + "The high-speed MCU can warm up under load", + "The 3.3V regulator can supply up to 1A but may dissipate heat at high currents", + "Be cautious of the small components and the SD card slot", + ], + }, + }, + { + type: "usage_notes", + params: { + source: "ProtoPart pjrc-teensy-4-1 usage_notes (verbatim)", + note: "Requires the Teensyduino extension or compatible support to program using the Arduino IDE. The board can also be used with PlatformIO or direct ARM toolchains. The MCU supports dynamic clock scaling. The Teensy 4.1 can be overclocked beyond 600MHz for more performance. The built-in SD card slot allows for convenient data logging.", + }, + }, + { + type: "compatibility_notes", + params: { + source: "ProtoPart pjrc-teensy-4-1 compatibility_notes (verbatim)", + note: "Software: Most Arduino sketches will compile and run, but direct hardware register manipulation must be adapted to the NXP i.MX RT1062's registers. Many Arduino libraries have Teensy 4 support. Hardware: The form factor doesn't match Arduino shield layouts, but adapter boards exist. Most 3.3V sensors and modules can connect directly.", + }, + }, + { + type: "application_examples", + params: { + source: "ProtoPart pjrc-teensy-4-1 application_examples (verbatim)", + examples: [ + "Advanced robotics and drones with high-speed control loops", + "Digital audio workstations or synthesizers", + "LED stage lighting or art installations", + "Scientific instrumentation and data acquisition", + "IoT edge devices requiring significant processing", + ], + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "PJRC Teensy Datasheets", + type: "datasheet", + url: "https://www.pjrc.com/teensy/datasheets.html", + }, + { + id: "art_thumbnail", + name: "Teensy 4.1 Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/pjrc-teensy-4-1/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/pjrc-teensy-4-1/artifacts/thumbnail.png b/library/parts/pjrc-teensy-4-1/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..01dfb998c8fc2badae9a61d78cc28712fba1d24c GIT binary patch literal 134722 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

h@0%!9++0_n1ej+K3t2anV@LerAk?%{ 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 literal 0 HcmV?d00001 diff --git a/library/parts/rev-21-1652-neo-vortex-brushless-motor.ts b/library/parts/rev-21-1652-neo-vortex-brushless-motor.ts new file mode 100644 index 0000000..d378644 --- /dev/null +++ b/library/parts/rev-21-1652-neo-vortex-brushless-motor.ts @@ -0,0 +1,536 @@ +/** + * REV Robotics NEO Vortex Brushless Motor (REV-21-1652) — ProtoPart-honest + * part definition. + * + * Primary source: ProtoPart definition + * ProtoPart/protoparts/rev-21-1652-neo-vortex-brushless-motor/definition.json + * (schema 1.4.0, part version 0.2.0) — the audited source of truth. + * - metadata: "High-power sensored brushless motor with dock interface and + * 1/2 in hex through-bore rotor." + * - electrical domain: three phase dock contacts + one JST-PH 6 encoder + * connector; one power domain ("Sensor 5V": 5 V nominal, 4.5-5.5 V, + * 200 mA max). + * - mechanical domain: 4x threaded mounting holes and the 1/2 in hex + * through-bore rotor output. + * Secondary source: REV Robotics product page + * https://www.revrobotics.com/rev-21-1652/ (the ProtoPart `datasheet_url`). + * + * Architecture notes honoured by this file: + * - Contact-honest like a schematic: every ProtoPart electrical/mechanical + * `resource` is a leaf interface carrying its verbatim description in a + * `vortex_contact_functions` trait; every ProtoPart `interface` is a + * composed interface whose slots bind those leaves through a fixed + * default profile (there is exactly one physical binding for each). + * - The three phase contacts are one indivisible set: the dock interface + * requires all of phase_a/phase_b/phase_c, mirrored by an all_of + * interface group. A sensored controller additionally consumes the + * 6-pin sensor bundle — captured as the `controller_docking_set` group + * and a `sensored_motor` trait, wording taken from the JSON only. + * - ProtoPart `constraints` (max_connections, requires_connector_type) + * map to `max_instances` plus `connection_constraint` traits; + * `connector_type` on each resource is preserved on its leaf trait. + * - Performance data (absent from the audited JSON) has been verified + * against REV Robotics official sources and added as a module-level + * `motor_performance` trait: 12 V nominal, 565 Kv, 6784 RPM free speed, + * 3.6 A free running current, 211 A stall current, 3.6 Nm stall torque, + * 640 W peak power, 375 W typical output at 40 A. Sources: + * https://www.revrobotics.com/rev-21-1652/ and + * https://docs.revrobotics.com/brushless/neo/vortex. The source JSON + * still carries no phase-contact electrical ratings, no mass, no body + * dimensions, and no thermal domain — those remain unmodelled. + * - Former source-internal discrepancy RESOLVED against REV docs: the two + * texts describe two different features, both real. "#10-32 threaded + * mounting hole (2 in bolt circle)" is the motor MOUNTING pattern (REV + * specs: "#10-32 threaded holes on a 2in bolt circle"). "4x M3 x 25 mm + * socket head cap screws" are the DOCKING hardware that secure a + * SPARK Flex or NEO Vortex Solo Adapter to the motor (REV: "M3 SHCS x + * 25 mm"; ideal torque 11.5 ±0.9 in-lb / 1.3 ±0.1 Nm per + * https://docs.revrobotics.com/brushless/neo/vortex/solo-adapter). + * The face_mount interface now carries the #10-32 pattern; the M3 + * hardware is recorded as docking metadata. + * - The JSON's own `warnings` (protopart-whitelist gaps for `phase_c` and + * `encoder_index`) are preserved as a module-level trait. + */ + +import type { + InterfaceDef, + ModuleDef, + TraitDef, +} from "../../src/types/index.js"; +import { defineModule } from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Source citation shared by the verbatim-description traits +// --------------------------------------------------------------------------- + +const PROTOPART_SOURCE = + "ProtoPart rev-21-1652-neo-vortex-brushless-motor definition.json (schema 1.4.0, v0.2.0)"; + +/** + * Verbatim ProtoPart resource metadata for one leaf contact — the + * electromechanical analogue of the gold standard's `esp32_pin_functions` + * trait: display/source data separated from the canonical capability tags + * the matching engine needs. + */ +function contactFunctions(functions: string[], description: string): TraitDef { + return { + type: "vortex_contact_functions", + params: { + source: PROTOPART_SOURCE, + functions: functions.map((name) => ({ name })), + description, + }, + }; +} + +// --------------------------------------------------------------------------- +// Electrical leaf contacts — ProtoPart electrical `resources` +// --------------------------------------------------------------------------- +// No power/signal builder fits here: the JSON declares no voltage, current, +// or signal-class data for these contacts (only `connector_type` and a +// custom/peer protocol on the composed interfaces), so the leaves are +// hand-rolled with exactly what the source states. + +/** One motor phase power contact in the dock interface. */ +function phaseContact(letter: "a" | "b" | "c"): InterfaceDef { + const upper = letter.toUpperCase(); + return { + id: `phase_${letter}`, + name: `Phase ${upper} dock contact`, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "custom", roles: ["peer"] }], + capabilities: [`phase_${letter}`], + traits: [ + contactFunctions( + [`phase_${letter}`], + `Motor phase ${upper} power contact in the dock interface.`, + ), + { type: "connector", params: { connector_type: "dock_contact" } }, + ], + // The rotor is the motor's mechanical output; phase power entering the + // dock leaves the part as shaft motion at the 1/2 in hex through-bore. + bridgesTo: ["rotor_hex_bore"], + }; +} + +const phaseContacts: InterfaceDef[] = [ + phaseContact("a"), + phaseContact("b"), + phaseContact("c"), +]; + +/** The 6-pin JST-PH sensor connector — ProtoPart resource `jst_encoder_connector`. */ +const jstEncoderConnector: InterfaceDef = { + id: "jst_encoder_connector", + name: "JST-PH 6 encoder connector", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "custom", roles: ["peer"] }], + capabilities: ["encoder_connector"], + traits: [ + contactFunctions(["encoder_connector"], "JST-PH 6 encoder connector."), + { type: "connector", params: { connector_type: "jst_ph_6" } }, + { + // "Sensor 5V" is the only power domain the ProtoPart electrical domain + // declares; the composed encoder interface's description lists 5V/GND + // among the six positions of this connector. + type: "power_domain", + params: { + domain: "sensor_5v", + note: "'Sensor 5V' power domain (5 V nominal, 4.5-5.5 V, 200 mA max) per the ProtoPart electrical domain; the connector carries 5V/GND alongside the sensor signals.", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Electrical composed interfaces — ProtoPart electrical `interfaces` +// --------------------------------------------------------------------------- + +/** + * ProtoPart `bldc_phase_dock`: requires phase_a + phase_b + phase_c (count 1 + * each); constraints max_connections: 1, requires_connector_type: "dock_contact". + */ +const bldcPhaseDock: InterfaceDef = { + id: "bldc_phase_dock", + name: "Brushless phase dock", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "custom", roles: ["peer"] }], + slots: [ + { id: "phase_a", required: true, match: { capability: "phase_a" } }, + { id: "phase_b", required: true, match: { capability: "phase_b" } }, + { id: "phase_c", required: true, match: { capability: "phase_c" } }, + ], + profiles: [ + { + id: "dock_contacts", + label: "Phase A/B/C dock contacts (fixed)", + default_active: true, + bindings: { phase_a: "phase_a", phase_b: "phase_b", phase_c: "phase_c" }, + }, + ], + max_instances: 1, // ProtoPart constraints.max_connections: 1 + traits: [ + { + type: "interface_description", + params: { + source: PROTOPART_SOURCE, + description: + "3-phase dock interface to a compatible motor controller (e.g., docked SPARK Flex).", + }, + }, + { + type: "connection_constraint", + params: { + max_connections: 1, + requires_connector_type: "dock_contact", + source: `${PROTOPART_SOURCE}, interface bldc_phase_dock constraints`, + }, + }, + { + // All three phases are one indivisible connection: the interface's + // `requires` list demands each of phase_a/phase_b/phase_c at count 1. + type: "indivisible_set", + params: { + members: ["phase_a", "phase_b", "phase_c"], + note: "A motor controller must take all three phase contacts together — the dock interface requires one of each.", + }, + }, + ], + bridgesTo: ["rotor_hex_bore"], +}; + +/** + * ProtoPart `encoder_connector`: requires the encoder_connector function + * (count 1); constraints max_connections: 1, requires_connector_type: "jst_ph_6". + */ +const encoderConnector: InterfaceDef = { + id: "encoder_connector", + name: "JST-PH 6 encoder connector", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "custom", roles: ["peer"] }], + slots: [ + { id: "connector", required: true, match: { capability: "encoder_connector" } }, + ], + profiles: [ + { + id: "jst_ph_6", + label: "JST-PH 6 connector (fixed)", + default_active: true, + bindings: { connector: "jst_encoder_connector" }, + }, + ], + max_instances: 1, // ProtoPart constraints.max_connections: 1 + traits: [ + { + type: "interface_description", + params: { + source: PROTOPART_SOURCE, + description: + "6-pin JST-PH sensor connector (via Solo Adapter): 5V/GND, quadrature A/B, index/C, temperature analog.", + }, + }, + { + type: "connection_constraint", + params: { + max_connections: 1, + requires_connector_type: "jst_ph_6", + source: `${PROTOPART_SOURCE}, interface encoder_connector constraints`, + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical leaves — ProtoPart mechanical `resources` +// --------------------------------------------------------------------------- + +/** + * ProtoPart resource `mounting_holes_x4`. + * NOTE (audit, resolved): the description below is CONFIRMED against REV + * specs — "#10-32 threaded holes on a 2in bolt circle" is the motor's + * mounting pattern (https://www.revrobotics.com/rev-21-1652/). The + * "4x M3 x 25 mm socket head cap screws" formerly attributed to face_mount + * are the separate docking hardware for a SPARK Flex / Solo Adapter. + */ +const mountingHoles: InterfaceDef = { + id: "mounting_holes_x4", + name: "Mounting holes x4", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["mounting_holes_x4"], + traits: [ + contactFunctions( + ["mounting_holes_x4"], + "#10-32 threaded mounting hole (2 in bolt circle).", + ), + { type: "connector", params: { connector_type: "threaded_hole" } }, + ], +}; + +/** ProtoPart resource `hex_bore` — the rotor output. */ +const hexBore: InterfaceDef = { + id: "hex_bore", + name: "1/2 in hex rotor bore", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["custom"] }], + capabilities: ["mechanical_drive"], + traits: [ + contactFunctions(["mechanical_drive"], "1/2 in hex through-bore output interface."), + { type: "connector", params: { connector_type: "custom" } }, + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical composed interfaces — ProtoPart mechanical `interfaces` +// --------------------------------------------------------------------------- + +/** ProtoPart `face_mount`: requires mounting_holes_x4 (count 1); max_instances 1. */ +const faceMount: InterfaceDef = { + id: "face_mount", + name: "Face mount", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + slots: [ + { id: "holes", required: true, match: { capability: "mounting_holes_x4" } }, + ], + profiles: [ + { + id: "face_mount_holes", + label: "4x mounting holes (fixed)", + default_active: true, + bindings: { holes: "mounting_holes_x4" }, + }, + ], + max_instances: 1, + traits: [ + { + type: "assembly_requirement", + params: { + source: + "REV NEO Vortex specifications (https://www.revrobotics.com/rev-21-1652/); docking hardware per https://docs.revrobotics.com/brushless/neo/vortex/solo-adapter", + note: "Mounting pattern: 4x #10-32 threaded holes on a 2 in bolt circle (motor mounting). The 4x M3 x 25 mm socket head cap screws are NOT mounting hardware — they are the docking screws that secure a SPARK Flex or NEO Vortex Solo Adapter to the motor (ideal torque 11.5 ±0.9 in-lb / 1.3 ±0.1 Nm; do not run the motor without them installed).", + }, + }, + ], +}; + +/** ProtoPart `rotor_hex_bore`: requires mechanical_drive (count 1); max_instances 1. */ +const rotorHexBore: InterfaceDef = { + id: "rotor_hex_bore", + name: "1/2 in hex rotor bore", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["custom"] }], + slots: [ + { id: "bore", required: true, match: { capability: "mechanical_drive" } }, + ], + profiles: [ + { + id: "rotor_bore", + label: "1/2 in hex through-bore (fixed)", + default_active: true, + bindings: { bore: "hex_bore" }, + }, + ], + max_instances: 1, + traits: [ + { + type: "interface_description", + params: { + source: PROTOPART_SOURCE, + description: "Output rotor interface: 1/2 in hex through-bore.", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const REV_21_1652_NEO_VORTEX: ModuleDef = defineModule({ + id: "rev-21-1652-neo-vortex-brushless-motor", + name: "NEO Vortex Brushless Motor", + version: "0.2.0", + manufacturer: "REV Robotics", + part_number: "REV-21-1652", + description: + "High-power sensored brushless motor with dock interface and 1/2 in hex through-bore rotor. Three-phase dock contacts mate a compatible motor controller (e.g., docked SPARK Flex); a 6-pin JST-PH connector (via Solo Adapter) carries 5V/GND, quadrature A/B, index/C, and temperature analog.", + tags: ["brushless", "bldc", "sensored", "frc", "rev-ion", "motor"], + categories: ["motor"], // ProtoPart metadata.type: "motor" (no taxonomy field in source) + + interfaces: [ + // Electrical leaf contacts — ProtoPart resources, in source order. + ...phaseContacts, + jstEncoderConnector, + + // Electrical composed interfaces. + bldcPhaseDock, + encoderConnector, + + // Mechanical leaves — ProtoPart resources. + mountingHoles, + hexBore, + + // Mechanical composed interfaces. + faceMount, + rotorHexBore, + ], + + interfaceGroups: [ + { + id: "bldc_phase_contacts", + label: "Phase Dock Contacts (one indivisible 3-phase set)", + members: ["phase_a", "phase_b", "phase_c"], + policy: "all_of", + }, + { + // A sensored controller consumes the phase set and the sensor bundle + // together: the part is described as a sensored brushless motor, and + // the encoder connector is its commutation/telemetry feedback path. + id: "controller_docking_set", + label: "Motor Controller Connections (phases + sensor feedback)", + members: ["bldc_phase_dock", "encoder_connector"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "interface", + description: + "Drive requires a compatible 3-phase motor controller on the dock interface (e.g., docked SPARK Flex) taking all three phase contacts together.", + interface_protocol: "custom", + }, + { + type: "power", + description: + "Sensor 5V supply for the encoder connector: 5 V nominal (4.5-5.5 V), 200 mA max, per the ProtoPart 'Sensor 5V' power domain.", + voltage_V: [4.5, 5.5], + current_mA: 200, + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "sensor_5v", + name: "Sensor 5V", + nominal_voltage_V: 5, + voltage_range_V: [4.5, 5.5], + max_current_mA: 200, + }, + ], + metadata: { + // Faithfulness note: the ProtoPart source declares no phase + // voltage/current ratings. kV, torque, and power figures were + // absent from the source too, but have been verified against REV + // official specs and added as the module-level `motor_performance` + // trait below. + connector_types: { + phase_contacts: "dock_contact", + encoder: "jst_ph_6", + }, + source: PROTOPART_SOURCE, + }, + }, + { + domain: "mechanical", + // No dimensions_mm / weight_g: the source JSON carries neither. + metadata: { + output_interface: "1/2 in hex through-bore rotor", + mounting_pattern: + "#10-32 threaded mounting holes on a 2 in bolt circle (confirmed: REV NEO Vortex specs, https://www.revrobotics.com/rev-21-1652/)", + docking_hardware: + "4x M3 x 25 mm socket head cap screws through counterbored clearance holes, securing a docked SPARK Flex or NEO Vortex Solo Adapter (NOT motor mounting); ideal torque 11.5 ±0.9 in-lb (1.3 ±0.1 Nm) per https://docs.revrobotics.com/brushless/neo/vortex/solo-adapter", + source: PROTOPART_SOURCE, + }, + }, + ], + + traits: [ + { + // Performance figures verified against REV Robotics official sources + // (product page specs + docs.revrobotics.com NEO Vortex page). Not + // present in the audited ProtoPart JSON — added during datasheet audit. + type: "motor_performance", + params: { + nominal_voltage_V: 12, + motor_kv_rpm_per_V: 565, + free_speed_rpm: 6784, + free_running_current_A: 3.6, + stall_current_A: 211, + stall_torque_Nm: 3.6, + peak_output_power_W: 640, + typical_output_power_at_40A_W: 375, + source: + "REV Robotics NEO Vortex specifications: https://www.revrobotics.com/rev-21-1652/ and https://docs.revrobotics.com/brushless/neo/vortex", + }, + }, + { + type: "sensored_motor", + params: { + note: "Sensored brushless motor (per metadata description). Sensor path is the 6-pin JST-PH connector — verbatim: '6-pin JST-PH sensor connector (via Solo Adapter): 5V/GND, quadrature A/B, index/C, temperature analog.'", + source: PROTOPART_SOURCE, + }, + }, + { + // The source JSON's own `warnings` array, carried verbatim. + type: "protopart_warnings", + params: { + warnings: [ + "Whitelist additions needed: functions phase_c and encoder_index are not present in protopart-whitelist.json; add them to make this part canonical.", + ], + source: PROTOPART_SOURCE, + }, + }, + { + type: "terminology_policy", + params: { + note: "Function names (phase_a/phase_b/phase_c, encoder_connector, mounting_holes_x4, mechanical_drive) are ProtoPart-verbatim and intentionally NOT normalised: the source itself flags phase_c and encoder_index as absent from the protopart whitelist. Capability tags mirror those function names for slot matching only.", + }, + }, + ], + + artifacts: [ + { + id: "art_product_page", + name: "REV Robotics NEO Vortex Product Page (REV-21-1652)", + type: "documentation", + url: "https://www.revrobotics.com/rev-21-1652/", // ProtoPart metadata.datasheet_url + }, + { + id: "art_thumbnail", + name: "NEO Vortex Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/rev-21-1652-neo-vortex-brushless-motor/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + // The source JSON declares no node_geometry; the neutral default matches + // the gold-standard tail structure. + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/rev-21-1652-neo-vortex-brushless-motor/artifacts/thumbnail.png b/library/parts/rev-21-1652-neo-vortex-brushless-motor/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..c75282ae9e499a0e2b33401704110b66c575b4ec GIT binary patch literal 110148 zcmce7g;!Kv^!6RPTO?(q8w5lo2LwqarMnT320>!z?rs4Qed+E-X%LZ?P6ed9zQb>= zFaCnhwXSoSxq0?J&wlo^_X$^dEsKvsg#$qlzPy~Y8U(@O?l&w9@C~wEa0q;0JId*} zKoBnJ{RV?FvM3-34#`VPYP`?d$;M1#ev^JS)zY-RapT@T@5T^juF1$C8OKOTjE$k8 zF_ce_mA`~Tg2pIE@FL`K@8eMH4&L-X{o|w}!%80Qjf*PFBJIs5dq+cse|P^$w!=!r zH=n;TxF~HpyI8zS{FmF~biE)Hv-kw(B2oX)Bd*@R1%J(cDfU17mV)RO4>JjU?hBE= zIm80Sp&(Ja*kb2PKji;C4(_Yh78rdCHLmT!9Z)@~!GYIx-k8)kFz5b7$@_D_1<&m- z2m~)t*Am(T@2?FGJeWJAwL8Y_WAelNpK}&4R_fP9rnd;=6mJRs=bRS&9*04XiZMEP z>NV~Eoa0FywwSVKTp)q?e;y^SDrIkMtl8S@yb%buAIg zIjIz_j+v;vcA0C%ywjO8@GBWTYPRF2KI9r7>2Dgj+Y?MsyiW1DAE4VG-`rakWv!0N z7hhw?xY|vg^m^SbPVC(n=oitlM!)$Q^T7O;V(o0c%_V&C=lzR!&^5J8h)l@gz-PoW zC^;6B9AkO$=J~J!JZf}Hhs>T6RBp~%{i=0Unmj79pYjafC*T_$ZupmZi(wYO=#e=+ zZSQP$7OTHfw+Hu=^fQi@#*ui@*;*alQXJj#f$Z=R!``bkA5}6PPY3$FCw$&^6d`+& ztLMtm`*$C@d0i8-uEa|}oDF%`u|{Nl5_6yk`S<*KbHi^0J78(vgktundLerLbOiiZ z@EpC;h%TMR_yEtd_0_Er`dg8Wgb3a^Q6< ze|Pd$q3M;ykaX0qp1GDP7!#@lm&nsB&Q>YajO9rk?0pz1lhUhEJi#!qerU4pd=dAy zw#leaZKlYue9!Q!M%;WzNQgTX71eCznDx$&x3%upf|(*!|mRuTNS#U6Nth)EkD&u5iF!=p;~gX48e5C$xjgBM+_ z)h+e26U?N0E0}pVV<-5`R)A_wfGT=-`{a`Q#LH(C43$x-rbvxuu}_n3X?|S0{#T9H zWg6^@T&aUaDTC|$9LWPS$qMVKVABFyzH_6uPNV*<{a1}9a9A`)vVupFLSZv$W3@Kt zf*~il0~>kdGxEr9+Y#SZ-h4AXs8ajtYV%dY)bkBEBivI@OlRmLpj@UNKapGh&5+sEhPa9v%qO#i|hJk7bkzyJ0{Ypw2X(Tf)^ ziXeSeGFo7|1z^F4GGl(hCg*e}6t`9sA(N5yjnVv&{cFF*YuW-?(9A~ZUz0BHU0 zVX5YJxgIcey>98!qjy{O|79K3MoGg{cTdKl3#7>6ef*ah`C6!lEqrzIkN`_O6 ziHX?^whwV&gciWo*4Zg(KD@NFG~3zPdE0q+!@;N~;1_IK*%#t(S~+dRNj?QG`t+M= zWw|!zDLhyz58Utg0Zy=6u#^e(XM3AE?U}=)fp+l^r#l2k>3~&VYGm({*74rD^+i|wWW*MAH)pj_*vHa_+ z`n+Jwa#lDgOGqM%vZYv>h{wDA%k6Rzod!pf;_B+^Z_Z=+GQ*xn8&5wg=NkF}KYFWP z^qOlpiZU;kS>4^06RN$AJflMe2#2;EwDEs1B?&51_j6SCm#ErKKK*Dm$1 za!D>W&F9)#dhJPi4?c(6C5R@Dtn1t|0VIjY-^%Ugy;dQUxxNDze*yfnINlGtJI?Ix zG4Q*{{H=0u6=Re*XslT@B)K}_e3$7Sb&-tGPkB*X+i-a0J7@TxBtsb%@Dn=zSoAiNT>&hBsAaKz(|05-cVr_HJfw zZo3W`N+?U*rwKJ;Gv@=h_j2&VE->wbk2Z#JjXvzw?q6)?5*qnltUKObU;I0NQ>+{QLiYdq3dUYip>jTNH#hRsm^;*5$jFgp?jljRr*;?D?%d0Cbd_24o3JQuX z8VU++Q6ZrQM@PpB)O~L9Nbm7*Fm6&PqO0u50}}uNSKiioy{pv~E7C2^F(}o%E7IrA zHR4V+anJ%2BohM@)8WtFUc1|TlbZ(|y!6@e@$v7u`FS5B50831cQ?1_y}y5(N{frP zo65?{7TrBOj26bnUF01c_LyuZOB&60XKPc-^y>dr-QM1E-~@Li11uf@PHO?|*<@I5 zG;SwYjvuh}mluyGHh(LhHNuxtW^A;8_0onS#0pK)QMY*FQU^pqH{cQW1!E1smGzCv zr_ z{sH0US(Jie;m;#5bncbf`i9)8Q%QsCQjPj$j0%fvZfxrScr+`uT_c+GxiJ$I3Rga9 zus7c6kmH~i;i<-KPnPN_&r~hU&+n3L9j*^%=UX$w{OBr zUVt;2%L)q2=8yl3Ull2(^9ebv^sKmyifMVRgtM>{N?bcWXxwYN3VGzc-#Pn&P)wuw z?)J*|Y~F)z@Netcf?n&@zvg0(dAEn#$ya;r?Ok;TtG&%;bUw#pd6&H`Ej zCuZ|cUy8;H%E{{SgGJngGZbFC6)~q`YwYq*%?``<_ z@}J!404EFWDROiLbO*2^L)B8vy;99$9uN#0*PT5r8ubmexKkt7of|WFVGs&$1(L{% zBw2xpG3jHPsu!zy(xZr6)u#+@NvEoEig zh%b$AC)im|{W`F98l9QcjB4M$p(Ve6=I=+N5{urzsdQr{Zr|I2;V8Ar@%((!h0A07 z&(`EL6Tq~YGGKAGt*5iL@8&qlTYhGVdOEwT^n`P*0ibpeJNc#FnW!vIDSC4}zO1e+ z_CWl4zkAs%R*YQyVlDBtcCTw#MeHi@ViKiXaj~Tg5Zy!a4zB*5c+KOxgP2pTTUrNv z%ZpDyU~Sg3svQ_R1F$zuDnNJQD^_$%H91g)LGUV4`#MxU@pcp+AAep{K){vRrv!xP zX~3EaX6$ZX6;F8ifvrB=o%%_{@Fl|y<1hV{EdT4aj_wM4?+3{5W#FP|+3!j;i$VAs zSW)}>EAt%UWx!|pOqCXBhKYjWFI}h>PQ=zHAQ}FbB8g=HuTT_t!and7%74dai++9r zzSr+DX&}^r+mk6H4~3+7F$Hp&;e&$> zKT)?jG3oI3z+~P(opT`Uji!FM@P0LV8UNXDB0~@)my@*&DGl9cEXLMTjUE{|_cM*j zJTxFPaO^}MEB8Gq-umq_itl$ZXcWRZDzewIAArk^#nZCiwVxl!jl zs~hScNaoN>I|PWC-5*z{UOYi{4Gb&XQDfep@EwHgjQa!2^c$z?#5NSO#9}w9~ z0fYBr1c6byl+X>5oHHsZM8bpZ6} z^YinPR#ruc3k!y6P9Oh8LmExIusM|s@w@}t_tq6DH4BwX&A#S@eO zs>Z;s4PZ}R1!L3AGj{I)hrE4?6>vuyvTVfHpcp`;-`C*uS5MY=gm>k4(8&jMBBoDF z`1?Eo@NmyPP#mG=f9QHAcp%RJ`J^6V*DQQ??uZ8|=B-}(n(N~XnWFm4` zu&;WE#5h~>y?lkzmzVdrm(e^SVFpJNg;n%wr#j}b*zu1SV`68&N#}j9cE^UFEz%eO zXBl(wyPCs-Hvr3IAKvBOUF2>7h92X4IiCBnDA(8Pynyb8_4**zkLGqiR06O4?q*Nq zV&Saqq3@>1B6j;pse{bo^~SS;#Mi=XmxrnCG}!<<$5PvlnOInI-kYAU^Y}f#{;Sna z<-5*d~tzX z);KxH(=O^=I#X@sB4#Cy#><`@L7L9?WY;FH+dYNv)myz%O_#2wI=#=FM{jF&@rmbO z+_}7KH6)~tehIMV;6tRfDDh=m}mRA{h%7gA@XUKFLze4{p}h)>5s8 z?X`ej{WoUq4V>r^6?#GzEoOpT9T1tA2zg>$==w6zNqGoz#s)t0dwkI> zHv0BQhdo&{*-86)5364|c|BIUTs=C(riN5W_|&@;mGe--cuw|tqz#c}z|k-P#dcDtGb|^JJv@=?!R;3}a}i6+8`rxqw(;e1xiRSVS=b%EhZ zmVC%U%~H)L!OI_X{9_9Z%Oye*+kw$RT%uV70usFxCw8W<$Inq0e$6b@zP*TOp?!FL z{*2uUo&*3K?w%)UQ0S4-`39S9z8Xsvt%3qMCAJWnD62X4+(f_jUm-U>Sfm)aOxcI3 zcXz4s*ogQ<>d*8Ns0c=W(mCzWSMa73?ND!WH5z@=aZF3TYx;XcG!vOJ@GuBUxb9c> zT}fiGTRLBj^-#F0=qA7=6hAjEI#!+i@UO8*eTnmI+KjONHxOmAtmhU!?Cr+Hdmkp| z(qLd`cOS0O-8Cf6yU%g`wn#PT%66Y+`|Z?A+id_iW$PXBB-3?!H-ShH-PLq&*KYly z`1Ri1?VfS-Zk+l zoyvc$P!2C0^uUGs^HU|)`rpoq?-zZ}p8KIA@pxBpyVrsiLrz1aEW;P^D(y9lA!LX2 z`D;F96os_<^F=-bbhT+DHY|Mf5gI{Q9TP+@K!uNKE*x{R<~LPVI$f7T-+h)$VN9&v zNv2IrMb*`**0D_Z<=5M%i1kU!YEPQR=kf$2)D-gEPXDCoBC!WiuD9q>a_frwS~q|D+r? zcZeEO|5k?=x}Z5WJ=~@VbY7}2$f96d^x7_kZG2vh5#bgB#3(S3P<%Ri_H5R++&I_g z)M*ev;cDl<=DiVTvEbO9wyS@yIgxNyqZkXijt;fWZEbtf_Yg(j2#Dd2w6R1PA6W;@ z+1DF1fN0!Qh(w)vTU;7YTEEZ~Y*#y>i8c58l3dS@*sgIsr8|L!+OB$75G7^V*7vx8 z&h2cq4a{D%nnCVnX}Y`f-h!L6MG0XLP78o3IWKptB({~Dc&l^ot~W=l0{1p=ul76$ zoPv4ziI#2(c5cQb6xrTAfd+-pt|6=q?)7O%jhC(~pLh~G+xJgl>TmG?R;*0sPhOKH zI+8%)sQ_7cM?hTuIL}f{13NL`-mTw+ymGo+0O{6g1KA<^UQphtb=dlr> zTFo5ZNDYL;Q_%$z0_8-#_J>pjX_XdctOagCK+T?=pKlGYrq~&9MR{pdg>K8pA{?tu z{A9>n%srv+OXrK7u8fLbPG~fC)y8?dd`vTLZW_2~hqlJIUB81~h=!{X*;CXIJ%E$;vW^N{AOaBQ)%=n2Lp+DZo06t8F%0E_5>;XEs z93rn4SV|ZsJ^j56O@+o<8>)mSK;fvwhyf_fOa|%$mVX3}csB;-195-W_q`wsTIasU zF|8*5y8D&8n3%cJWK6|t?Z;s_12mrl68ugkv;rR*zVDQ=5IdbV8yUO(@q#e84?ySA zHJ`_#Pd$I0i9++mMkcMXf#1yu4!dK(*H?4Kax^a-yU!0+13@|{@&0@{6jjNAlv&9! z3VR8*1+k@TPfU(OpR&(=m?8_qu={Otg?65Jb}Er47L%ZLhH{3jnY1_&z|BnHINJ;d z!ZM}PdF^VuP}Ms# z))rIW`^n&iC8w=(7fmo}_7}GN499#1W$}wokxNY=o6TalI_RbIh*wU_fymY^`{+bBfx0Hsf!bj# z{kn&k!TIo!O4Sc{VWbrO6I$)7irQgj+7Dud?{2Uova0Z;aCCmgv`!PJjY>hV{PHk& zsj#jt9#C8Ke2j(kAEz}66)q5doShO+zvu7qao?ybSO=smk=!*YVeAlja7Qh#Pu{eO zVcJV2seDwXnB_B6Ug@=uJ3=AW1%-;K!u(i|E0o1fG;lvQg1MCeXu+E!kkQ&@`JB!~ z=U%U|MDO{YHAmmG;*)Z}o9z=)WzkAsKozF$sm3L-EX|nEPDM8rCatTA+1<^V17OSI z(I5jZ2JZ1ez+=w-S+AG-v^%qSex&G?e*S_&dd?n~q1>)-j2zrB;!29$TO+sn^itN^?`vB@vwg+zH zHa!Kyr1^2rh^S?0-87B>1GDxy%3QR|_PzX5ntQWjRf@~gQsD+_C-v{zZ%!vc(!FsA zvyWGOpR&IbQ#fua} zLA%EeskDRk1~q<=?z`l*N(avH8c>%F!XvCUguRuAw2v_{NbtJeGtYi~bLy^wg0QYI z^@2A6Ta*cHg5$uu?xI@~*sAGAiSrejUHDSn+Ws zGmmqwLL5(Vor^<0zcz~p6$6FH(XTFk5%zvx1i~b1OSoi&a0YTz44}Y8d`HtO-?eyI z{arR^)qkyLhM4p%bpHbT6+dH_q4IW2tGsQ&?TT&0*o!y|l2ZNQFD3eCU-EG3Z7oXm zNMGff@+pJ5+l~%IqPaN9nOv7%lPlYE(&(6&nD3yXl>urF_OH|V3NKb7d76Glf&3@` zqK_d~fDTA;8z7`EnxgrFkWm9LLDN|zvMc1?m4}|8WkliPQ~HA-=Zncj2DMCo)eI zz0Uqif|{ttCd!W;QVO!1CTnprp7y5^^!0e%yr6FBk3{*#B9UoCi9BOrVmnI4fT{hM ztSnt!v)iQVKhY0=SZNL6euQaIs1VcRK`aOkz;B~K;oMR;CMQgY_` z>TgUwO~}*gtH!J+C=GH@9GDa{p}h$p3HFH_9`3sWvXQJlE%Q$EntGg;zgglBMJdh7 zyDGxq{=QuA==*>|8h^+x5KvXXGRVk@ODv))Wk~*GS|2ZWV_Q4;FFRS9D85Dbk+)qa z8zbdv_o*9M43|^aNkSMmOI861qrCQkV>SmOeZ*Gs8*7yblev;Vx6W%O1IBCRy6RzX z3~iML>8m9n8Q7KIY)HUlCFjhe-bzv!#U2asS;;x^^_bYeljoBct**2P#MHQv^R5Xx zMprjQ_4{?$%s!7du%U|_KyKlT9EvYkb#SxgOUb6@XKtBuOHv}kENmA&8sKKeEY%P zUL=v=Fe2oWJTho)=&9{wQslRl@{D0-rfZi_FOWlMA4x3eu#yqzHo5+3dhW7ejOxzd z3cWyaj6(~B;6YzjlsiO&2>lNqbD}f%?2)>Af|Nk0h%q3L1R1~Rziq76B@0`H8TSon ziifyq&k<`=aj4eSCt!VJUduH$_{g*vy!T~lYq%oLWUlFHJeEpBeV5<*710$hyxwrS zD1d0^%NrB~5jWRIUOs)6D4$Atu6q>VR0}MZH5{jPwstyuI`82uW z@^S~8THSfJe&T)|xhz?eXlw+id|Rb(8|Z#y7+->LI{b%rL+N~{xl}Jv@CIz<&U0_> zbEr=w3~3&W=6Z`DB^u+Z|GmOjcCXI?)PKb-v2s79odF~_+wZJuk1V%=K$OJ)+=MxS z2PMw`Iq!h1|J4OOU#k4$Y2q(0^H`;G{}>Ob1sLZCg^09EphzF&6QSeTJZI^@StOb* z8LMIQ&l5J``y&LeoJ$t{E`F2SbGzMQf~=_X)HChIc#b7{tQS@n$hN!~5Z;-eglUFC z|9dYq`Qxtx(j_Da6Gho(AAUDDbplOjRmlj#8jxUnyrLw9#4yft^CpBaZc$=BY@}N` zDwt(@jK-GxyMU_4a*mz_0__p=tThGAaqBMDLPl`O&r_XZCHcBiit!)3VOs{;mL`}u z1CnFDgH1#*@+)J)Ye^DxBF>8&zCsh>Rodl-BELgJZ2BdigB+9VwO-!$FL~Wk{=k^SpRp+kub!^a#$TW~6omQit3BwRjLUCCWd(%n; zN0!RZz$p8-BJp3N^nvKl-56D}&glAcK6I0@38zSK2dh`&7p-Qu9PT)oNpngt1@%P* zzA#pRNs(o~(xf_?pvkKUX>o$ej3fwo(v?Aqo@gmS$8BT+>#<_Yv9WCst}HW|3GtXe zNlHhKCH-|AEg|7%9{ZVIN%XSC3se4i+_Ib~BsmmdpH`|8U>EAv!4Ba)uZCeLX$V!o zaAQ_y8beCilA~tl?_5af?g~dr6_hs5jZK_n9m)8;IR_hFfABo0|y)KUq8QrfMk@1nQ_kY)|f7HZz^z+unI`D#F4g=2!_=m&BZ$44F}p=Ve@2R zsv)}*Bt=gt1F>Pqxu5X>^?57HWyI+u-xo+U(${`~ZmS}GOvIbYn@A$UHdkjF9*%bI zkqmZ9%gPp*ea+`u3SNK0Y(FHZ>lvm*n zv2EKS69*3q)0p~P=u8%6VNp)8%DZ5;!IIvDMMxW>icm-x*ZKS?C-&}OX6sqC0m3Bf zS9iZZtDVTD^1?hdnXhI{P+K%z3|Eoh(1ULd!LZx<1*-?(O>eI@MEpA%8UZFv}G^G<< z5CQ#OWjfUxAAwBe6IY`9e8|RHn)2%sox;Py*!+j;h(?eVw7WZl8kKP2O?B=Kr|@=3 zb=LLuri2Gh&Mp~d5}&N`L;XNoY#~M{$>Q9v{Ho6nO29n?^4lF_7C6oRG)U_K3 z;VLK0zK4$y+TRhgzqXhcld|zw?yU#@=A?Eow@a8jhTdo_{U#fIW&_TtjltZ_-Bah3 z3l_?Wa?F4_@kAw|NkWUng@mJ!-K*0_zGzAPUnzZkuc&wSx{?Av-NdTNnwS0hIl5D~ zA^l)l`cJjSt^fwse_ijlgCJ`CA5!n37`5*I3Ovb?@}F0 zDsM`j*l-y%kwJ~1$>J_CNvQt@?vxWQPIVWGyULZUFxL($BJ)viDUw&oWS{)}!7JMz z`q(A$%|5HULMZ=i>Pkx2OSW79uVb-5TiF8HXLuVB%?WvGZ@cMkd4)kuEZcNbyUZU2 z6R(FA!ukh;U=$>$@*0hkn8c9u$Cq#Pq@g0K8kDeony|?eyGyaz-r9z`2mZ{XBO=Ss zK`9!mkbWIT5kDN2fRJ2@dZ~h?h7)1kT^DT=&?iXpJHeTXpo9ovp3{vQ$?^?77`a-PzrYdNg(VvzjiKt;W7vtv3A8=<3u( z{{()Q3cS>2E#uIaGp0l5E5@m;ib*W?T7h)aMYL&Q>wLU<_G2l#2x)s2dP|OFzggx@ zXZ#T>#~za9N4!Sq7ABL|qY3^bQQC@Cvo^To0>79`DhO5C{DvB9*kEZs7{1h~0>00N za?enRe%5<>v?$N^gJM1`E)$47cduyvG}7I}evc|z;!D-8R#0sDIWsfUNkb5&VZFmD zMg@YzU;p}@0D<0g5 zWbf!(0J9=2yhE|~W0E!wBa@mOU$+jrWvpc5#pYqVb`CU!!nr6twI+ny;cbSEMC(Zqup1MwbgMbUB%eqt(Sej-qFq zRLANUTreUEY*Z-}BVKjX5j-J~;bnk=a_i$5GbQck$eu=0AElWskeeH6mg+ur0Xf#I zs-emmsdSqtR^KGSh>V!Bkr$}w)>~w*Fw7UXEA#d;?k2V?YJX@%_d}zqqV1yias)X zp=Y;&bk|GxN(PI_#f__5b7pc}e-oGn-lee#FQ1YlFH!nBR!TbPUW%sw&xz*FfB^3F z50x^SuqQySR`+IZeK1wo5VW5q^39kV+G>j0eU3`nG8V8N#8EkCHK(c}OMB_)iYHu2 zCALXVE~>J{>W)37$c%_++Yjau+DF`%E1vH|@ESA$BKA5IdQh{x7_t(t&au9_uWQ_H z{syY>2=>&P_;2+@-h(UXX$StYj?Uq4S8F=EUk5kwl@<)9j48=-;X0a+nF>^k5NJ%x zu}ixLUVBYB=-jZd`Om6tw8@GldOvCcQJP1e9sQ}-JN;^gre^ao&!?$w(&yCbtonGd z(IU_5QQaRAxj%nJ&VBhVc1zfP@`JeAjBJmG{B+sP1i7NAbP>7)*i^&6WBpNqKj{i2cV^7R9_XdOGgANoaWUP{d zX1cXG8kbvL)03GEn1`7)A> zlFXN^Ms`%KpfRAfsT()uqHVd#p>cyTuXUxfNrM~HhOKnBJ@YNC@cNrt;kiYC3}+@e zR+xpJI#huqV--PRpJj?=ThjTf&>v-#>fy&=MBOwJ%=A`ph=hRx+4tn!bFjz2#O zpQRrSY5eoy!w0R@!S!4wX3oz&!#?+3)qniqe2yym`xWS567vO}ZTK>#%UO&~VSS|Q z0ZXWz>1A>HJH=@g)-?j=R6+w}GTwcUL#6L4Xrvn+LR%jLe<#FCL})QHM;}{sNx}3; zQ_{j9X*}r!3^<<)HfznI6|=bBGEI&$(ySg;)RZTT@O8=DW&)PoIagTD!%9v$<8OPv z4kjNmB1nXEOho7<;-^Va9P>H^)=P)pYj(<;FO1(!Y6WWtvld#%zW9VzC|8Jd%c2d} z`?hnp7u)f`+C=u0{Qb^S54)>hW|@P`S?$jBt$6YEuEXSB<(~ZB_Z$aU4<^NxI4AsK zPYM<9!jpnEELztOtJmp~eaI;g*M0hjAy2?yFr>YR<0RidNwi@azfoH@mLWnb0IW95g&OJA&$@W&y-_})R^^MNojVlvN~R~0 z{vwL4e(6-`YQhWe5=oM0Mzy}!Fr3%ei}%T;>&ol|qFv3fRQz(ME&8A%^A6U9`H0SZ zSMct_O=2gulSE80RjVYl?K=@5F4DBv?#1!lrHmV4yER z*Z7!SQTiPY@jJ#RY6JJJfEw#!Pfg%MxjFoCLRRpC*UWYTRC@-kUMCIreGznF6jlu*8c9w)-5h#(hy|G;Z88V0F4I-1vRsMk zPA?x_sh-8#2k$dHWh36;$s>)^{T&1c_?RxvYR*Xd{us`_lN{kA_7A)fOEH)><890SU%|vL&;G+@kYgd>VbaV>$>U7ljKE@R) ziF{h2><=?_MInL32Vkg3Pik1|ggwp1<}A^!PFG4$`(dMCFrYcdxuiXw>cDq6tRQ~1 zPdh1IP=Q!O&3IZ}XrO1wm`kj4inyA5%0<1LZ5{Vf5)JQKJ@+yR6$3&!g@kr$rwqqH z{cyV@z#n@t+o99#&x;BY44Xrj=?HuX3so4y-8qNjFv7P4&lMM*R0>)cjkLktb#i?1VRjG?Vx<`s06kCQAf9XyCoxO$*SkX{JHO>D&u;r)IWIK!g&Uoqn1yZ)k!T`W*O{JK9V=EIV=~s}sJ?IcO1PcKYQRT9( z5Q1okrlzJc48)gZGgy#RumFPZgZxYS&oq!pQh^*H6B)ZiCv%7nb=hu*ySZGE%wx9j zAM7t>JjPU2C!+>b7Es8@+Jt#%-)JoU^i838!D1=0)ZwY0_nzwo~3EuGh%H(eX{qFUAXYY`cdor)JVM{VM+Wbf&54OHBxlBpHc5YKLMdJIY%xoU3a$+bv(wL#WhO(yARqC%aRQds2_VNj5rEBl}Svcl1cEV!>uD#++~ zph}aL$*ep(*YvEl-j9I;%VkUoZ|(}FEfSO=jJO+QZazd*k#(Tfc|EEWPj|qB zLUlK@ZcgWTL_w&QN&!-UM*~p%8$HKCVdc#6-fl-<_F9fcUZ)La+wUlwpBs9cQNIEr zecFRXWSzC_DOwJ3JZkC*qygtdV9!`=g$-u%|+lq8mj&|X#gw7&A2yf^GY9xUnv>vwE&awbwi ztW0{GNvobk-neb?PY2mUL)q~& zT1zCdmaD`z|FkBsQe)CMAe~y3m@CPo`pe&*qQou9B`Zh1M3$L9y5S^>>f%VEw|c}{ zzxRonRnLeVwMqg>-D}V1N1oi#mgrC$19kA=7Y$z)>H&7l`V%g!j>4q%;K*7;IQ_f&%sm0}CnNVH9M;MS>Rm+xFy*0fNUO z@5OW8>?(>s^NoG#sl)WH`>O@Ys@}OjR)qfeht%i88yni~iD^N!U$Ee=Q5XWg>*zin zl|<;0+R*Zc{VPwS7Kw#Q44Pv-se|y2{H{6+IE3X=gGWG6W-UM!+Us=P2?A}Fe^j!+ zK<4n7D_GnBhw{2Opsujs_{gj+azqKK0VGvae-e_k#K@nLuTg@nSm5f0aD%`6=KQhX z<9Y*m+{d^Fo%u{loodDb390P}JjwXitQKw>GOyTv$}gG9jtiD(E%p37tL^KhN1CxA z;``;dg~^E|$td7+E!Rv)TzdXEX-n1%jfS$5+O10(RH6P~pWM>_JEs-af=V{y2)~cc zS2Dl2ap1qcF@JSo4Y{=HjVxyjjK;^xPbK~tc;-ClvUfmGmU}@Rp^P%G#eDK zj^s6bLWB#~khTmc2P+;dqFvC3cP7KJtHA5Da4r$RD&SnwUsS?0L08=?<>&AGdRU7WAh zcIp#0j^s#vNU4d7+|W_6rgxj5zGvb6&zLGd^9{0>rjKdTRmkU>y4G<<8|8l=Z9NDi z;$%I)s;xmLrTnm=49(@WO^-10>|7XRcKgpgrR&2Vzlbgr#Qqp-l$N>xQE=f`d$vkK zBv`b=2}&)^OzN|3{Lf6jr3xyO`F;0;>ZUGk(-hNCj^54JBqF7${c9UpzkVeYWQJ$6I`DdiM}j z0hJn;-BhYBAIYV)N{DC2gcLB2|5>N7_{>4~n>Y#be0k2-FcFg@JyI z?JFYW`G7VQhe0Ba#frjapNUVLGHtfoNRFskh&c&+tW&odn2ip{l|mtfeeFuHrxnOl zG)p(5Qm-_X>>(fkY>AH~*MC|~;I{q@)>Ebj#eaeYan-K|zM?wUh7KrWMgztnaHI4J z-iN60I-GL8pQWVPzFbf|wym+Tv2XFjtZ>Zg+5ZV83oG9uVR4B22`x%w_eHw=9HO^k zW9ED%BtQhK=Nkr6ch9Gijw@wlN$5pGo3JWB06bKq&9yt zIy&2}K#Iwc!p|O*7gPwjKSlQS$dvC{-uxM(#-Q#S_ck*(m0uG&n2{w%Y8!fpXMGz)}sTNUHd z{BAg*4SNuiP|veNczAtNA#+crQNk3?AY)o6V;+r$Ce9%5l4F&fit%VSYfF$&M(1b} z)AW@#Iie3Wk9-nzoSTheq9BLBGQiBWdy;j?46XT*bLnbyV$x&W$2wemA}bmQg^OAG z2PV-qogkR-VMcXLv`9H8y+Zp3bp!9U3qOsON;sb!k-kKU6L?8~l-!|IV0a~J`grn| zr#jg|Siy`YMKWrQbrdCC0HMJDtnm54s|Lp`^hYWFHK@e)T4X8H!PnB{h-;~|6#sL$ zX=hJHMNOH1zyow;?eRA$cQ0^+hm-zrI4;txSCco-qsWO6josDsZ`yu`pro=n6>DsSbf3ma36{2=NZ}-8EG%ZOy*}VY!aSIFh~PfN`I| z`8K{kSmA?!iG8^^z2P>{N-E#MCR+SmHzr~7uu3#My~2)IGFqUtzZ)gg;YGdt+Z6w( zB$bWPM_ZxCvvxKTz&E)oah`HSO~#h|tP{BVuFW{yYx+v1EqpMtB4YgdkuL%{irCqE zNaJ>|yo($Hp+C(>?j%>4v(cnvO#9^RN zl{efJ&S%nzpy&w)5T~I;tnSK3C#S^Rw22BsIMd02XoDZ|zi2w^sHnR4?VlNH$QeRP zV(1!LkP?P&DZ!y61OWpOq!e&KkRe1sQo1ZUL`sB_PQgb|LOK+sJLKJbf9w6*wGhtP zXWw;QpS#llB4xB<6MFa(Ny?bIq%K57eg1-8rc`p`zdOhHrz+SE7IESa6wxgrTF31g zcex0V3;)Ci&bQSI|Xro6Er}M?XCjuVFrwKQXIYb)Jn|g;_ z9!p{u70^qGo!HW$-m_aRhqr5QiK&r%1V6Sg$id?S^)#nA-X$!mtkBiiCbX>`L($m& zbaTXOL5l*r@|X|S4Fqc_*?cC8@pGpoMMB`+MxVl{!Ild^Juh4QmjD&8QF>(6B~w1L zf(qb)qYu>~P9#HzCR^F;qw#Oc0R>%(_`AaRX0P4f-#+1h-T0yr4npv;!U)-krh*u0R90Xp7a>OE=V(BVT6I|)LgJ-dy?GH#Wm}7$owUt z1HDq-*!&`CBsT_JE&epZ;vnZH;^SL-u*g_gi=pkau_Nq)7U%%w4g>$3SWH2{vR@_0 z+MC&+u&^1e*Xael4aXMa@6rnlG7cc;WfC*~)K?2ehWw;h7oxePIW@ZF>%&XnA8Jkc z7g=CRy!6iYm^7fa+ovZl7{%oXriZboH}DtsFN1=D+hOL z8*!k$)%Ll<{ubk_E-@Wo_x$>f^?TyT2V^=w1>K!q{KE+w2XF6wWZ60a40* z0YRfBh;c2Lkh&pr*OgeXErx8rRd^h~Q#&#Xo~ei6vrD!$4vc++755AqkAu+Gl#%}b zNq*5Y{N2}kI`epGj?37p(e>iE#OO>7>Q41I=s8f%`{g&Qe%;Uvs3|BrIXh+80AHWp z)dzdU+Kz_}+@Z{k#&pKiQ&+dWieQoJ3MSiWair*f3)lVzqg(V1x5K1n3}l@Sp^?D| zS7P960h)y?4V33%&YLg>epmvv9)B%O`(U&u8^R2y^{^F7$_pWAaUD!wvsSF5!S|Xr zsIJQphgt1mi^jUu#YQLk#TaV+*aeTv`N?IicM3~S9^$N>n*UbMm!0v6XI)n%Ra5G% zj`WwS0!iU0$5PG3N0N79WQH!&p#N>ZK2)j35uhUbDy`i6IEtW`6?|px&Q_#WFVFbI zGNhhG#_@YNHGAYYc=SKnD|_i>^~a9agC4i1`ts#>ID#hP9|ialR$kK_fJ~a307Kp4 z4;BE|>9r?o&$wictw5%U$ z2CBNc;}1Cxu$%LGnBhjF*GLHB8wxg%(=V|=wg2P|t8vlmXL`P=ufw7wqYryiWH;SJ zcib-Tz}g2Xc+s2ZhpV(SL$vI7`TBaL#rJV`Tw%s>p?!QLu3K+rHnTy8gaaOv2=UWu zVZP3W!cpWvf~GD?S}sMfU`mBZxd{W{vj#)|UrQt+OjMFlPU&ef=eb7>5*#vQsa?a? z7MOBey9GERzy{xuQF-DVb4iaIdzZDsnBT~^pd_owl}E-2a3~&Ptu4ln_O>pO&t0ES zF;=<9@U{vL3bfEjM`hW3B(EwS7rB<1Hp2TV80w+=mSWwD9DYBRq}HzbLgeFI)=D7^ zrADFEWxZ|LWaDZL&9Rv6_^K@|qhyUUs}-IF;c6D$ebjWs3Z1yD@rk#HTLU*epn}6M zzm%Op1LW31tuO|LAR*E~84TLPf#& zfzb|zF_l$sytd9G2rUo#>w4qC=(>nVBwE!wjtr}FlX$xe>ykDk`o_Hv+`vilwvJ7v zleOMciTF;Lim5c2JZE&6{vebisteFn7qMUN}+IIXGBUkw48JT z^ZNBuEsZ4-Cm9jJSNZCq5owqQtJto8RDs}{unq#*2>2fuQ(gF>s((m_wgZEX3dLkg zN3T+v_RCH`-UwzI&ZY$q!6~@0)mus@;c=>!2aEdV!58ntc{5xMOAmVka*pY*dq6Vd z85CcauB09IUUstXYCxj-Qf_m<^|yRUd8bye?9xU;u4G?C%B`z47%iS=Db#d?wpy(j zE>y752-i=+3prigajsI3jwt|5Cl0K9L|Aj7`P-94;G$nkS9=^fun*FuyW*H7k}6jt zQgnL7pJ4RA(g>>gftQJrBS0r)+xct>0H<)VA#)XJ6;)tQC*q@reP2baM3H zVD8ZfIrBkXE8~)3IKh=GG|-dX8$31na2@KCbhA z4jI~Je_Q_2xYy-7GkUK?!y>#I*(nu*DH^jkrNqNbYv@H26aGcyCWh*&xj2H+kxBwk z&MG|I>Jbtts?VXMhJO9}MQKnx(ykB>OW0owLf^NYY8Woe`xzd;bB>|<3SBSkU_LzOu3=ChSc*FEr;?K#g6{W5E+5g{h~QEoucZKbp&)eA97q z&8P~75)1T8qLXipZ1`$jv(X-UAzxNzq+q>hbocvRn+MmL^hBnU7g-EzF@oaHHIM&r za4YFLQXFqA`wqdAO10W*UtS+oTTByH-zj7I@#^er^}y-xrX+uwg@N?a&fhBgVNc}m zb$Hg`lTx3pW%fKk3NR37e(BN-I-VZzbYPhxT^T8z(2}1{wjM@DNF|uRy#%mP1D~bN zhuScge#jideC7dIRVE~8DU=aT5)|*1z;j5D8FoU;GlKrI?cmg4tOR3f)(RZ;DN8xq zp)f?-`4F0`K`!EpKr;EPa%w>Xq>FbSthO3w-WsDoO$W>u8jeN0Q+0)D)VrS8H?qACQA6D%EwScvV-w5?jT7=y}4jMV#A8U2xKqLh&e=V_9Iq2ULEqZCPHx|UGRhhl7 z8u8H>S^8c%lSIztf#IjdRxce_(py?%Q{@E8xII$j&91$4iTrcq)by9P@~#}LO6~Ee zdaivP$@8k}=T$GuKyP=HB77_D`(MzqI35?43`_7L7EC+obVgr2YX+9ZDW?ClOl_e2 zbY4LWE68aIDpixfjFqJODb(HC+8Ph&5Z05!!^7a&OI{$+2R%k&we<>LM&+N{I*1^? zTz++7IqbmK8|Tpd6t4F&eDm+1eEW5%K#K@2dbyiFXzqzwZ{Nk~2E61hvZobm`pAjJ zO%p!ZFUQ?VdQ&Q8Z+k)U4(Kp`O(8?7xs1us-Kk@kuY^WC_u8s%Wqt5X_&^eS>2VbF z1eGXU~t#CmlH6;_DnKDARfA z`USLld{g}L`hq+=B$HQ`gI$bm?@&;9KuNpLYSML?=S@kk+30y%{g;A7Gr$OY?@3U7 zSSDg$UM!3?B&J2@tWc66Qo9&I{5t{D)76dI4Qobe52sS%o5hfe&wPcBKyC-?hJohk z8Vvi&IFtD*Fck_gn16inGzzJeu@ZOpu6!c{W!0y5>|RY$H^6HG-C~1mFm+q?Wu?Y{ zw}T&IK_`ES9CtB@8DAug0(x#Xf>+Dd3+hvEdv3j8?r7TS_Z=5pN2{%u>y*k}xeN}z zsw%&5e)(2Zd_?rw{kVm7lsmW;9sDl$J#hW}@ZKTA@x7WD{#%EVr3XvApLPgHu7CGE zmPGoLbU+AHMa5eR+yH7R(!C*UJcB091|XU&A7P%T!JU{Q1t1>KDFNZh1Hee!<`sSl z#?K?qn|d@ZapLS(zNnCDz*KunWPr+}L}0r-P*C~9$E7{g&01HtKWFmGnvQMqu&3V%VD~ix#IzFgw<;H&&Yn*?g8r{&f+4Gi8Bs8->e!DTifAx6 zFm!5`ar$wH#o*&Qq6Y~*sj{GfFhF9)l$sp*tbg+}_A4u4fM>uXeKNm%3!DkHnBM)AyzfC*Tl$LhUl0KqL>^e|C_W422Fo-9+|}o%^%mu3 zAjT(N^sMJ;28Iu!p+p1!IT7S@&7hK)3J|Vx)(5ZJPE!F3&VL&~q)qwhaKP)S!|Ctq zpDRNC-r@Q5Vj6C`@hIr^$yF?Vn=~nyIJz?&p;EH6#=d_J!U*13>8U+pV3-hUA+ScRzgInNkwqtmd@MAz&8iripp;R z?+}4^BpQgh@#J-tIvUq3O76B5_~S` z_r!QF^=Eiakg?d!eD4K*CWZnP;22)t187CDEad=+{uk>^TM}m2=U4V{2f$;jjCXD_ zvJtf=o(Ze#v>1p+hS)siLDL&<3&k63hi$~CeEw|i$cx%%M2IWT9&cv1Yt$xtBnynq zDvTa>Vmuy?>WeSsa|p!0c>9)f8-+()O6I@Q_F3uckJlW+RnIZp&v?OA`lW&ty`!B` zxuC@Y{`j6`5er@zLa-Fje4vG4DVhL4v6Y-x2n|>xi3SiAcViqSKG+S=f;?3pNTY0x zr0*Hna-XMVu_8zRo?jvdp-o2rfTo>-VY<`P@TMN+4+cSVQTVf3DHCemx}v6j95{tX z$WlHV!O~01jbsV62n;o^UF_-fLFeVk0E1WDOOGP)WLOAyZd-#hjAoBO=yRQKM3$jQ z?73&ry4F2W*6o3xAN>~FxomD0*c`dbZQhI80NPgltpRohLr%@%N28b7)IwDpnSgwD zM1(*1W=jQ$DZT;Mdfl6JJ^s$-jgD(Op{JGhw1|To=L8R@A9op{H&>#g_2`f3yhZ#W zt-qR7wg#MC@7JeMdIzDjuqQrQq-Z!(biA3|?@|%3dkD#8aMj#)iViD+A)crwJ@Fs` zM6zmV0_9Q)h^n#)(zl8}0T0}|F5sw^L1+&e7k+L%E4iPSpv@34JzErF zuyMVoTk7HK_8R1$$Sbre!IgTkty`eyg)K$$m*o|R+pNTv`K2sjKM0mCJe&o{1ZIc< zLi7O?W8}I2nxGLSR~a8o{g|01@+Op25xgii3p{hngM7)1oz(!wa}JDj^74|T>ZrQd zZ@)nIz~BF=RLa`g+QwF&B=Ru3i^DhWCSN7PUOoZh4wndYkl`E;>JJLoa&`X%Sx-|h zp}$lrayc_AnK*iWD#4LW>-UFmTjnti3p?Brm1g|rq#1T6hnDshlT6=PqmDAv1E->9 ztvd=wqI(TY3_WX80w-VybqR%GkU$jQlhSZv;Kndb8q-~Sn;XoWqt z%7L_5HVtEKepB^<5igjR`0SZy>bdtd#D<|{R!Bhfetn1~Mb{PSzht!U9ak!yfDziS z@~6nN=ruJ%cT_hRY2?OJ_^u2@=U66Q7B9U_t2GkLrMiN;zY8oQ-svGTBw=!Z2T;Z{ zMDgh0zt^gZ!CXUXXU#X!Qi%XoL~_D26bNj>kxV0+%#t_$^y5ANxC&v!DeoMY1V_!9 zgl;jmI^pV({}@9h*I%rXV8CmoHPcI%XlMy$mzQ-|k6G{Xg_Ae){kvXeRK@VK;xyOS z_2I&!m5C$8D?ahD)}rdjMH=DmPaQL4zG5Wk9P7eIqfS#y46Y1<4v~ZGW-P)(W1mQ8LDR83P{kG1~J?OB$#i=Bei-W{H-)#1deDQ|05c$*&NVm zeJp|c(K(Uwq5GY-OJAd`ffZ{75?#k-H69njY&7!f**)3oQH(lgNR%lc`0 zBc1BO%m(1Bv?ni?4^K@Q%ZSiBNJKN$Tv)Ct%0?U3!fS<0L0vM>cwA1-mUa(Z!wU9!61Awo}9mMVG6U^80k)T6k zmi)}<0lUyQRgX6y1ybhAAJSmzT^*uy_E3qL9E@E{lhx1Uo64nbhZD+PBwOwGDv5us zPVtL(7-`Q<`2zaSc}_x^y#`XXzJ5g)WV9fPmc$b-%%Q3j!@2H(RAOPfmHptX_Ul#O z7Fv$E^sG0L5nD!h{y!@#-h$%60_lyW^$_K-b!B=^4p*0r0>uWFa+a?xAY3hSz1M4* zv&|78d;h%q=wrOrCdX#F@zWh?m%BWpkgOOJzi%Kx5|edjE3VX6a{R)24yjcb_wl2L z5AB*d@8_Rx-sRAIL~a+T6HXf#l|F0Q2mwLG#On})hFF2) zLylCB1I%X`+W5^=-j)h}@w;O>p@%f2pz$Iph#>~nK%_ObNOVX@$a{bbmZ16kTu87q zE393SgiVeBq0gnlE`VFS3%(Bt^N>GnFK$6xsf)|EE-{U+fJO|rMrXH*_eCI;VA zC7-yKX%HXaQOMu%|Fr=BmQSy2_shl`Hv{Sg>`ypBG?|))RE+}5`-uV_{(KGq1s=RA ziIr?o&~hrs>e13k6zp*s+;8&%dU4Mm)6>s?d=8`QCohg08SUm=Zu(9^LUouGcwJbu zJZwZme_L&=BaYbW1QG(eV1&59IJIf`R37AEV)tTL%~6BdFW=PLAYqRbmA7H3qs#W~ zWaz!MVCn7jQz!;8)Dxl~U!2`$!%EurN_v08v!3f7HzV_3tAEI7awTg)QEKMV<@|dx zk%y)2N;72a&dTyiM%(y}KPNYiE|AC>`RwS1#)@tdyAL=krGI_|<T5mPvYY_CgEOk z?EwbYCv%FM?Tp!)oMaKs%POrT^6=xlvb^t1W*y46+CPCfPtMFUG?2#!k?8Wiie(*7l&oFKGFXBy%j?n}bfN*_Ia7fR?SxkZ{Cw zhiYhrUy?6J3|kHBpUmTwKG&bc79$+7BdIl0VEkMTMl+OJ*A)Jfq3hGRD_l{~akrpw z&G2#ldUu4jL*aUHMx~>b2N;)0Lq3`uUCI~9lZGf6Ua$5^i+xvn0EAfUASe0u4RC0^ z9Di@XBIxtfgp{(uJFbGxGjcMN_5cn_oSKB|+1ytJ9o(#y(5<`+k8hBFDvI8sTUgl@ z`f!^9UF!C&V=GM4@ZS7~4NfR3?Z(5N3(d_d1+iH*nQuzZVQ%e;bb75StTdBA4m?HUp)6wm^qe|Zsi4ij*R_5*(QVdE?btftUW>?*a59hzCebVRzX+(|5Uk{JQC`H$1@|g*AAOckNDHHR zWj21%Q5((?st7@9h`-_MZLLr52^+OY{zY|2J|*#m2nY9sad=v9N5?1Y@zW&rQc6)% zGsiPW>AiuWIN48>#eYd6jZC(le|h?K3tQSFN{c;l(VWirWMmP?3xC1-hHV@N`VT~1 z%_Y-2^wj6kra)888*6;n44VXWI1~bz&EMDK1KlnK4Q_IL5SWW}(9R+Vlxm;y5f zhbjFZwQ{X-tDnu=vF>g@y; z%#hAM?(%_^?A1*pg^?7yo|*$X@9AInPC0u~X>WVWkCy==-Db&&S|KLGJI)AqzyQ+- zw_16;qb-e!+$3U0Abx!=OCSZS4gpp9AXYvhZ1O)kY~>X<7$W=opq>H){yXXhs0|ev z%*I6{UiZ6v`ghF=QK5F>oh#b9_@nO2&TEvn4QwnDbu$YK+%_@@*+O=6B!ml9sEp=6 zO2;DU1PA!n3x`}3+`-;>Bu-X=zlQk*Spe`&E#KDO#OGF37cv>q6zJAeD< zo-5j?(e%Ebn2N5#v?F_V)!Tr^$#m-l<=3oV)&drn5}8h;rf;z!prn*&Ph*@ll$0#f z!**T-8MT_S1t77WdoUoL8oBK>JiMqk1T+)T5kU84z90;V+_u%23Mg>FwzM+a;<3xD+$!e9h<>uA-1CPdXoY&wU17V(Lv6lfL{) z+=o_Yde1gL-Q$r@sO=|`nCsCG?R4)M$2de@kR#;V$Jm2*Hs^e5h<8YQVlFY@WzFE} z-|Yi>>+xk16#=M09>|%I(sD2&esRcv09xy5W+s_bmh`s&nty=jEVr6zX;4=b-Fr(oKjBgD z1J_d?Rd3wr@L+PWXp2wzv6-ztrC)2C;s+QNshi>is%)Y`Um>b^iD6i^+++Dv4>!2s zWghZwA-mDr@l>@X+Mp#iTKI|Guvga5hZ$QRn)RzrqroIhMSGi{jN-xZitadYm?pTH z5#OFz*t|aVF3r`<_X~?*sv(zzUr4U;a;|Y92HkUy7?D!U$O_FOk_#qr`u} z5qz3Dd2pmo6c{bSQO3fHQJXfw=CvS3+;kXEzKM?9jG-UMYrgNQzv^J2LxjHy-3u2&!o9Chswr(7oe$9{I zecykpm^cMI})Yl~LO8mNJFn&AsV^{~f831*tKyTO=y5FzUTlZvM7 zqg+Py_8o7wY2tZXzckWbL**T`QKueS@4Y^|0P*NH6^yl0U0^7ak@dH+Q4WYj{`;r0 z$9%GTPdov){hYV>S`bTd|CM&$??SRkOFzE^)tZ$XD@SF|e{SQ}#6u0j21J)=?kEAC zPOa=Jx;$^LKU#+zc4;knNn0M)Yopd)nt{J8q=G?~h2}qW7HEwle9}8tm1IWK;elqs z9FmdvzubTd-Iprf^b6p^#~#$J!U(#~Ys{=>5=6@hT`FSq#ejm5!)!R== zRjbefLg$U{nAR;=dqrdl8QR}jMA@QXow~}*`enlxN!XBdOpCd^vY?R0gLC8%fX9iq z$&J}D+5rG~8z^osW(6%}w7q?u!ydf;Xqx&e2y>$VB{!io8^LIE4v~WhGY_JoA=Q^% zp93~le?V74k!RF2WXy0a>hCQ-Olh>%J4Xc>1K%{3d)Zub$t-IvSzj`NFJ0Fgq#Ca4 zkh0zik@J)Jio0wC7szU0+yG+I!B zLGvXA7=kvD5bqBah}=8le&ogFdEGB3$p6o^rJ|;HN*2ZMlHM6yw^XvvE_%)0*l3Y0 zH1*eiGJ5`t^rcSXtsH6elk~ewJ>NUq9A(+!IB(u1wB3?%huhohBPjX#dGaX-jOs{P zib{OL?zEQ-LH&CkWWBxVF zt2a65wd;El_qW27vCX1hgYOxRJ(e#e$aC`3RYVGWcp2ZLEI@^}2@XjdE%-aCC!t|@ zMU8cY-`gV_L<5ngEYh}fTCvG&pKD+0E*J;tixwdS7pIPaLS#h^lolTWQLrokSX}qm z|MFR*Z>vv`qpW$jfDAnz#E47ric73V;XCJ~!hZlGP@Gsjm16Yfm8s~WL@Oz_Xf8g2 zf<*Ucn(yjv_q7(jm@ykI%fTnlD1D9O^8e$`lCpazD9lSK_Oc^6=-FVDU>^KQzw6KI z;f+g$5b@;JvV^H{3@vtp)p4c;3MV6qKPI8e8EVyN8z_#@QH@%sm;K>;A;eFm7X|}6 zMWm6W<R5(=7B;FpWz&x1abyZ(ldx;PRnA_P*$j&b;i^A_i|4M^O+8Dqq1-AF$&u z4SIy8$P&u*v@U7X8e@>QljaPh1!}Vf)#Clk z-#w?=vCP8=%;`t41jJx#A9(1ej?YmFXPVqcrn&sBS$nh3d;Y%iT`3o5ek2N!R5bW5 z@3DdIz%MnxV)=Mp&+Y$bVY2%+vtuo*BVph43(0bfZ+no-+Kl<^N7iH;p5E1_=~K^` z1Lu6rM||P2`_6PDHzQDXOGQe*t6~Kw?44Q`0`t@=g&D?6-Zh?-Widwzl`OG*u=z54 zpy0_;Q>DZIuEqln$7?tZ`B?Of%t%|aH4E*-2r~u89I?Njzb&QO&R*r&GYY^XZgV`> zdf>;WRZEe6PXaT@*LscU4s}mulbHuViU|DVFUU;bhJ^dKHaHLqn#tV|pidfJh0F{m zvdCrhv{UJ>KpO`Ef z^5@MH&pAH~{5m>1BM>`SN%0$&0uVq;_^v8Fzzd1=8&L)`lSj`4Wqw)t1|m3a#Axe> zDRnKRCbSKPM{P8Q9PeGK^PC!Y`}4i(Ng|bm3Ga$<)WK>%xyUa!3x*;ksY#?^lyvc``(5-uh(P&XfP|UPfB~V{Dsml|ucZ z?@lNknE@8qUa5nPvwqS>6q2oLNciq3y7yfI zrnUZy_n}0@sOD`;wbg#vA)~z3If&`M&kq4P z?a}1cu+BHUo-hyDTr0P|-r1i5bv7c$vFOzsNM0U*5tys%$J?N{9BNNDv`$2@XCHx_tM$ z_c7S^@hO)s0E(E35#1Dx*zbZR*eNoa@FyRZxBN$sHfw#BsNtFNhJ|2<;}U!)bp!eJ z*(pnb94|o&ALvt9kU|=VcrKjN)Yn@E&&%I?-^`qlKuT~8`v=o<3GyzftE>M2_L}kk zS3Tzs)X<2vD@oAJ=_CZogS*;_RMVjGYl!zm-MzQRGv{kWrmI~I;ay-5i-ZvD5%0*o zLlu^@SVA8eygG1}Fyz}$w-suc7z+t7JoHr{PZ3VMqklH$))UiuVHN&<*{1TKy8A^w zGGU<+4nH!YARQ{yvM&NeU)9&ndS4=P&4Y3*c@ z6XnD|M#YelCsdtVbLF9t6q&cmv@Y+WBXH=|v5K=TpdQ=1e1$)WY|hmvop5k1Bl)MP zfqsP14T!iAiVi1G|N4pKk696Y)y=!MTdA_GycD7(-ro1=5pVu@K3qV1A+QB2vCo(4 z``oh>LI2#w$GAOgmR(Q6Vydm+jffo%DhktpQ!Gvbh%e<1VMk#`sFR!fa+A^8Hf#Qm zlXADL`#MyIi-9|bSh&J3R{m-+R_rw8CI>a?{snRGw{r%vyqw{5#&h_}2Wb@|t06^B%+$A&V;Elyh36 zBQ`|cTMH|{|ADD9g#Dl~(9+d3m%AYkulV%uXyVcS+Q;`**wD9PuI2%}N0%UX4zV0j8^4s0 z9xWlJmCN>G-RHu?LOKQ*1DU_w^+{l7z*iFHt2Jr`kEr?zJtR{6Qx85=VNog8{4aYO z51PdcUN}agM*EK8iXnAE?2Q6N8}xL;<~AQb@5!tc z19on1&95Oa=K;OC_F7qB?sB~ZPi6g89$XOh4c^*H1zduCCHaH;@rCk{&0itb2Mv-e zOv~wa!Vlw%2PT)UWbE7VLD>looUiS05 z)z(;u_#VTO%0QWEgM${zz*7#bDqmGwfy}`*c1;|mwX?fA_Lv@DiB5sSch#92SuEn9 zO<~OY+FjEdLpt2d=&HTs&xK{lltV)>{<@NZhKg}a0&C}L7vpSV?1Pw@Zta`D9%FWz z8CrCgcjj3@PXz}Gaj^DuJhw=XHrq-mB{IgHt-AuGKLM?r;fQk7n> zTBgQG)LL@l!Yk|>}? zOCz;n-#1nAsx+5IPa52a9`nVjwDqeeiG?LHew~1lV%ym}e{X~t_Q=uye9=XU>K(|t zW15=1WRCfR4_C*DZ8)Y;DlA-`y}wJMxK=-ZI znr-^6JJiqyH@lXcv+mpg5s#ZxTX{?DsI+e#CUmx~QqJxge2(cP+LPF!N)%1{EkhkH zTxT*;@c;Q_e{t8xvO)Fp@_p5e?OuJS`)->2tF5t|y}P6<7X}1YwIBO7*Vi39gTl3f z!}LZ8Q5z3AF|dd)4=4K~IF+#r#3aJcg|KVT!n4aizkdu^|2br0WONcrkLnDU!G(CS??r+hVJAgB58k4Ggnx6=T^oaGPNkXIW4@BrPc?B*&fcxc~C|H zb>>URIyG_rWPo?*5rRGVDRyqQ7f1j5(HcabMJgy@VnC8e#*2R=bOhmd&UYnouT3@W zcY+w0M&W~k8q6RwNtDEB78x-zCgTsZsYPS}`T)7^NI3+0gwyAJT2bOkkTms2aSHzB z&R%V&phR6SQOnyOE{2VyQsx+L%TSPIRg=7q{_nzdyTsdWAuF2P28TT50rmccT?Z|M3WgeAXgEHXQ~FaF1GbRba5Stb zj|0t7<3B4pJE+)Y{$;)M7CwKvUv}(0jL^Y!D%}u~?$xj6nNbmZnR3$Sa*wN^afE#f zK=7_?_br$mbN?)0YS7J`BK}+`irlGo_%uj3)sy zF0RhZSmM?za|8ZlTy_oCP9cED9*T}+dcQ)$FdWrGMvq;1b)V3&F=uyGFSB(GZ6-l3 zQF{KfJh)t5-i!oNfbgcoHu%uo!~?D@BUTdh?c;7`nJ02Xo_vo5!9Hh%>|| zuG1vocI>*m_g_FnuQe!`=qb$@yq)$NClQ- zi6Kjhu?@uFZ!U%smze`frIsq}45-R1DFX-G?nR`}Qw_L!Kijas@KcOhs|}7*&+<@ouc=~ zT<{6R3kyMERVZ8!cnTh6nZ0W8urj@d^bF8PhW21)1_;RZd1>#41@9(%ad-PnRM?sZUdn{vKri7p%V~lA?7z z0|nFZ#4K@)O2xh-`n$5}{g);XzAGMS?|WirO3e0?>a9+TSq@XK2npDmfoyTqAps)BsdjTKCrdC05zO| z2K@2`_ zFjOhSzgxpIk5!(gPu7MTmt)@Th|*YFMcqNG=u~O`jE%ge@7JK5UzW z^dKai0_>-y*7|T_0^b#Ron^k+^y@>k<)im(8^4?XU8EAdeNZH5Jf0VLPh^RGn-w7n zr|H8!zLUSqAsZ#|@(x1F=W@et>-2g0C6LApY&cnZQqiYWzf#u1OA^ZyJ%@#ZK;cNq zc;Wei&CTssgGnP;XK~Cg{ky`5Z9$#~pwn~g09I~{?fsnyP`4lZGyyAGgJdkJU7Vfg zu3VJAd%$!q^}mGj<9k4><azoBpM1|=3wW#+INQojaZ2T!?w3W5QpXJwi$0gqvsbTEmeX zsQ#QQnWFV?zZazSj+O0X1I&IAO~AJdpQ+D=&t|yhKUg8&LqtVq2|canPIci_v2tC2 zU9>iV<+J>iqW#--;$vOLzSpqVo6tGwnu+72ZMAn8VfJ1|viFs;^>j>T0`Be#rjtHj z&K6>v_YA5*g)+kNzEe&Ed+BWu(NM3)vuMqJrHh8E1BIWrK*7sI5aGxD?=D<`7A z1tL4)n<}VvJ=TE3dmCSTUr{Bfua%}#m>URQL&jwhxcIUP1Q`5KAK>_2Ai2uzO+gWx zf)BT@;pk~2jC?;}nL;8n!`s3!?lUdUn=^IR{Uv}vF8d1|oR*&OcI!{FP1k#o%PFOF zQG|b8gX!B62PNXt<>Ih*aij?lq*CBHz@{RPgmz&p4Ws_@hui!D?)CD#_(}!YsV2QC7OSWVc!<=f>)_2wz8 z`=VEKmG5**NbZ}}BZmjjTV*^Ab;7%M9B39v`^E=$87uDxh6De<7649Yq*uZcT6rl* z@p)n1PF2Su+D>mJACeN-4HdBqHC84FaSb1*6f`ehLGRTZvDcbc)u-6VC9+#1=G4Hz zO0VBMfV%ynqKKL%?-9`WnZjsFk-U{)ALs|Bj%s`tVrC8>Vj}us><VF^4Zn^e9ESLQ6VwkL@mIXRdGf=VYQlhs7%M_#G)qU90KN?hf;0bANCt0|$(^guk&y zMbmDG54iyFY1%3k!o!1L>Td4^_8k9GRYGL^f>YWsM@NBiH8NHUPT|yy6T)!)sjt$& zb>k6!Wu7gEOUXEQb;=Y>(({l%HwpU`ObSewIM9FoJ1m2}Ccd%WNQo{V`|a1O%7U#g zW`K{5MhoSnQ(;3Cf z6^1Ox2)&b16qPC;Jf|AZz#5;)IL;npW!+ONtU;aL!lo z=0H>ZU1SB6Y7coCk?ovEka#Q{(r}N3gXx3e9=|H7Ev*C;U_t_ZK+k# z??AdgmTzpB#wtND4Y)d~4u^^myj}BtgT%p4#4nD_$AXWyC%jMJsKk^bqgQ&d%fauG zkEJ9q>w4}G+vD?Hp=;nAE<{I1Kb{2P50miLhS$=P5`A3n_-&9GpFjcX`bRpVgI&W-$)|v`P*Q^(fy6f zP+KG!zr5E^BRV}KEveW!9<#QZ3@xG*tKM-#iS?YpU9s`HMwp%}hKy)>Q;0bjL*M>@ z`AZbnL*a%PZ|-3&D!gMfbpEv9bSUP>lVZUEuD^X-6eRm$@t+MVnyC9S)!s%utxbG& z?4&)Wx%OzOancw(4>Kn!{Cun{@0JXdv{_c+tUenQxjErY*z|nfUdh{`y zx@64`_qnl>9dFkR7!)D=?-I2Rz}`%&5o~>+H^m$F3Knyhkxt=K+~8En=F%mU1WMq6 zK4dAv=qmf@UP;ykhHb2mU!_Y}ZHnxD+M zIv^(vo=GUE94)t>u&ud8%dR(~jwkB^UCixg-7R0E^hBde1oZg zr~um!%F2S6C7Aoq!xj>&Cq;^$988xc2`oM%fl;pf}MPI|U#6=z*dYi^$mkr;zW#^PA-Tw@02n5HEDoW4kHR^=JOnwa`$ zzM2KkB+I{w9KjM7#lu91B!&ot@6?7;IelByzKh;j0vSUS{W})K7-p;-IGE8RSg0HL zwxDjYA_Yv!Vj922{JYML{s3&J=V{Q_nVrn=+Ma4F~Kk!@#JKu_E#H{z# zpl*M}P;%F*6gT{N%Y72}5vab4x}a`0x2$1h&;)jOoj4yhyvQ`9$6?HI{Ld~L4&;vz zqf5^D@cO7k>eZqbSAW-RAQ)O4m9h9(h&NvuOh;HGKdfmq9);Jt=DTQ0=9~Y%`sVEI z8R9vkNOz~!c+?Vy@&h!_fMypjHKHs$yZI1l ztU$wER=hCd)Wi=u5)e2IUAg%SN`xA(f4smNd=Njq>ZpiSiB(L~H4WD(&%Y*-JZ9MR zNL@F;DTqQlz;-dh|M}ot>ON013pHtC7NQg=Gxu+V9xna_jolX)sqIPAMn{SbUr10!qz^kWgkZ3<;Ayf7vV5!N@zH|FWet&t1+D`dJJY?Bhwr#R_{($ z{~t}?9Z%)^|9_uj9ZopbA;huQA$r@PgCnbfjAQR4B{M4=du7iGnI)T)osmseiOSxi zYzf8h^7%e~|MX{%y3c)I*X#A1hRURf!@{7V$UKtJd#_o3Z#0C-JfTm}AJ$QQ9vk?c zr1K85}28HyfOC)&?=wRUnqgSW=`M+kO33c@RUu-SYeN+R58%8-bv!@uqld z>H#Q~D)_KW;H(RFfhFp6={QrwNY3w<8o%|et012HFe~p1S9FQ6)EN-%Kk_R-TctrQ z_t!8rG@jrLPt?OS^COk9kBLi&GvMg(4_6nUb{hX`2gp7Sq ziks5>Hu)Xw>7*WOq#nPUC5)Q?#XDl^Dl2iraxB%75c#GsxvsGS z4Gz#&#{!uy?Wa6(vU!Jdw1FALjlEQIfU>&7Bm8$}vRF}+HIh}X3VNII>E*SS+npAW z8~CO8ksZt)%BoOeS35bF!!kLeRtJ!l`-OqBxGzbDM<`)QK_``^uS||h)P-h5qu+Hk zD5V&m^{CK>PDL`@{s-S{Tei1!DBbmc-FN3{SB(mB8|$0DOE&{Dwd^L!+kFm?Ih=l)=P$3HJ&{54n9HSp+SI z6$o>?l}@s*f;511>huA5I2o!mUKvUh5ivr>T*`&$RqgZHMAkVa=(XfnB~oP8F%RXq z9zuy^NhRpXS3w=@i7fLQBS!ZH)r68krjEG5?89h58~>l(>j~teh*e5q{hx|UDR*3~ z4^HPVp9aGaNqj&nP`h8HLZp~&^$){|Hsca7-`7MekFfCiNqpcnV%I?@=lkrmhCqqCN}o8j69O zLcA>>4nebMo(U-FliLbA9shWFs$12N9a1RtlK_Xo*nn$;Y%7sIbLE1xKbUZYjv&%K z%@?$y&nK^VEq?EHbhwZzu4_PIUs!TEV$!JZ>ik=~wK{|Rpj47*emY?xVy@U1U!XTK|lS#xMj)8$$7R1 z0IQXDc?9!U0U#%UX;?x&KrSlc$;11090qa%vMGW!)(jDiJdYeUSP?NqF|qo}y4D&5 zp7`h1H6#CV&Sa5(Si8zrZ>Sve*PJdrjxIL8;JUEI?zv4VM~oa1FEQ1~wrc^AGNbJ$ znYy$Y(Uln5(5D_|Mo^e(*iK&1c~x_B%isQ%pTM+R?EMo|Wh7ai0@#vzFH?8)*Mr+|CFmaW#jEt|!O?T^Bk-ukCyvx| zJCk!GuY&5(R|HdJ;JhpCy9+U!@64`PW8brI&0k!t#`lmUM$+Jj6eC8H^r>NF!KXn^ zPXCS%LihNIlEWHl6eEPtMfz;*Yx}^-*cksp3(^hFVZE-2T?qu41%qcM8r=0-|6^m&K(c95!S{F^r^Ik{~L3up9g z#u-68$OcKqQknxYT@S|b;NrQycAe~Shc_bMwa}64MnY#K+Nu{f-I8HKN-?p|CM~N~ zJVanq$%tlV#0xn!>#A>exO1^6t!I#f6q*DBXj^T_5u0FHwsHKrQ6Zs$VdV8(`*R^= zsJI2RJGB)cV~mjtbi=L$RG#BEV$QWVE$6%miYexY^;I@f(-WbB4nZj@e$7ucJ*+$P zqIL1{v9JDC>G7sDHi7ETu&~oymFNqSbSmDiPKmfka+P2%T>=D9vPt^5{v401|E{6B zs-!JJmpv&;O~%JuB-K)&CdIr28=pzj?lde~DP8D~z+|$$bN5V7Rkv|{*~!=(q-I&U z-3JvThVM%Bu_iKc*QRlh+`{g=Il6Mn3h!!n^LV>(5_RZbs+pOSA8;4)X6LL6PdKLO0~MMr)&Yax=XLtP#rJ~}E)U1B}QQv1A#{bvfCU69ojv;xN| z>5m^&oI^QCyXUMu1J_A3W1^wF$M5SZ#beCz@#vn)PDTSAiTCfAa9X~7z~axC}{t3e1lLR|@w;w#0b2(cZf@W^E9H(Jar zBO0X_9-72U3^^fS;3BA8ajx>x>pItPX9;1s8vL7AWha>mTZ}U%xcZk0+y{KDljpuI zH*EdG5zLGi1q(7nt}^U-HE}kiPa7F~jjMd22t6@bHD2_|)Ke6@?bj+nD=JbPLLmJ~BR;CifmYdZqX+z*p1tI>KmkNa9s2$Y*iD59 zF=V^_V0hC1Ka7T&dQlzPZQk;);C^cK>%my;Ff31_R4|WcbBUgkj5a(bmwv>c3m+4< zwXZG4eVfCBu2~;h!kd%s8p;GEoK$o0|p?y8iPCUdFv~Q zQR|jcg*WsH(x7=Vx-!WqtMpm7!zr)V^jyVUV|8Wxd%|CMK2F`X=$J7*85Z)dP(u3eqV_sI3o2(!>i4VA6`ZxC_3buMsN& ze{8{kK$4IW75Cyka3KgWT)IgrgKn4qwl+zDVZ76^3$YX1Px?0gLg?qxx?P-#q;zI{ znxu3Gr`wTlimU~#X{iAbjFlebT#3dYjfLUrG?>U{0!E)c?dqM@Z4-OlGZb!O2Z^qh zZ;DFcuJy3|3P+aqjrl37scAZnyyj%< z%0MNyBkxLsnx%um|Ga`H1S6e3{rU6f%zXS{W&`YNVx>X^jt2jVc5fJh+n1rsk4Oer z(2q6xH_X(v!Ky)t$(a5hr<@g?z{0Xso4U|Vmr$sXV4YWKLvMXy?vuen z?8P;Xz7m>HI$$O!To-G-*FeWVVrEF;EZPdkgK*9iD3~w}+3m7SnaodaXPy@YrfL}p zUREu~rpmUZGVr`pz#2hwUdw+Gb(yMzOvo&)Howarm+jlz`&87`ReTd%N@j4*AZmPr zU3U+q!HxgJ`2xMhJa8@hBfRvUc&hGB_-(3sCVXXA;Un)M_hqSZSi4k(4|pd9RK0ve zow4=RM8paW1YNl-y{>v30bb}x;hpN-JEEoRI1|Z)v4w?&Gb8iyz}oVSme0oL*ZT83 z2wZ9NR2VrVFF!pM#?2b=1{y_zSc;yUys)a& zhvk`#P5@+yJS5e%+{|PXNx!s(qC;sV8cF;&B?TzqRnamh7-E|M{J{aZ(N!+ZlUXIm zvE4hFT#rfueeVU1xDHC-E1CjQYReA7u6=DAopH0S8g>nsw3$_qP@hb4MdIaHur+m+ zt5I?Gi$|B-)R&-n-v}&q_#}abF5CmTWjgo--|FCMB*!#Fp*!UEp<+@erA}P{zkuVk zu3A>~rV$f?V1ku6Zzb*qGvnggPX3$aX0VP3AeZ3zr)qy=m|d>IEJBW&6wnA#t#F_7 z-7J2i;quQx*9-PuWs6|HhrX>Y>U~(KV}bUmf60!~CE=oqnMvE@F)A=44A52h zFr5Smt^~(r)K%Wg|FN%f`%_irbs|-uI&6w7uSYm+sQ6FL6?zs5`V97RB8tYY1`CSqu;BFbIJ`5^4(gEenzUFW&&~_cOCI@enBMbz^Oz0E$5oF_3FUZ8sMdIERh*(Y z*MsdCP?UOT12fV`mkTU43bJa)zG_-3Qw={Em6&h733vpKT7f<9{89Yy9`3p*---|DLHl^sUnRqgq`h zW0=~Qp&21#9=snmrwC{?{XrVW*Gm52E9# zve7o39-1QX(fJq4Vd!M(M=sYdCZ%jBcZ@Z7Zu|yfLF=>c@0{)^Vp~B>T=c(SN=WW# zF_{6^WE2f``)6H?d)fWx#-vJ}s4RlXDb({!gvXauQR!EQem3lh3-!%^Qo)oyG2nVV9Mud=xgpKDK3pSd4l?}Wq&gjAIt#P)^4p38XvWeN$ zbFEEw)HJmC&7$J)8kl(^b|=|)1&cm1VwkVuz@!}|MtA9~914Ev$wEw#Oh5pQq1Vg- z3F`L5o=Vi_D4@%kg9^o`t?4N*u@s_aiiSE&%=x@834OW;ir3=*1K?g) z&Opy82rqi|oq)HEefpG_h_YYWlr(-AFzq4cIsNBmkzeP0IbP)v^9DLp-O+K*L1G^p z7;t+~&Rq@e$zC2(6dGCG_U#Rlm4?<+@XNo6tYN=+*}5;%X@)JU+|^1=f93bmvl>c~ zV|{KVAITmYGvm~8b4uSMfVx0A>L$y}&UaicZ?0#W{_k)dy{15c2RU-!c!5GU(mvrl ztYH8M`va#{-QEET#<;FofbgF*-K?6~%4+|%4d!OogS2R|8m{ncYxG*IOnDg%Z*})SzoW+wJ zwT?Z10O0;ra<&AP_8pK)^R&XOKB?;EumxaqN_zjv<}iLJrHwaRxJsZsj-D~Nxbg`e z07=g0m739^`6&=2$k3K=t|VlS{wy+i+Xs0E=h8F37`g@lnDmLa&~N&p{eYicQfD=h zeh)>YRdM)4J+VI`tjK%N1uu6P(#uguH=+ATDU$-rQBGoC<7c7&<(k{YRgQKfZW6Bi zI)yBW1o46dcboDBIR@$5Jl#^fam>8laM~+IRRVYbu1rmU5 zCPMKDRA-~#xRjc;(7-6yyi}Eqaq{Y5G!%7-GIciXtzgssbvE20{7x-C4B36Zt^OX? zOCUAe;dO~V5~TLT*hJSA8&+5}KLSxDe&b*?d^A>U(8_DfbGd1|Jpj155>Z5mWKA8g za1{$452LokSh)4?_

KDmDT`jzUBy(>S7~VvuPiWhTkJQ|ue_A9frm?XPWjT@&5N z_^~I7ehSNF_g1~1{U9_K8}lifQ|C`Wxlw{^LrAgpx+c-GaC-8Kwzjst$GE^&H>+&z znc4p)*Ik&?uGfHZ-uh02{Q~4lXKvke5!9G~R|G(?Lu@#j`q%%To2x4P1&+TbAEJex zles~-$uKfplR$$^N)l2V+Hu>gzu(kg;HiI`V^5=$P%}Jb$XB@-Ep&ZEfg+jE#d~_~ z>sp_he5Y9g`wgvc>u&a%wK^bH6E6F;%(T`E@Ny@_s7Yf2W)-uzH{5OZY(*YTt1>H5 z;W1D@=Sn74Nzi>6MfRTw7qx;On^{oU842p~o)#vBy#2&_ETt6A*;lKhW~KDQNx%Np zoa!dO<0U?v(36anz0(2PrI4bDyy`Xs#zYK#ySwX}=3#4|P5{MlLgx<1P~hz+&1LTo z(XlLNwl8)%ed{>SE@C_7Uck;FcbKZ;9ra}KI0gb~Kv>jRJ2%4=tlIzNF?6LCoVvIE z2fBJdqxuVq4#0K4C6DV-ae!Z;gCVLmg$s&q?6c#VShvKX9g9)n<}w9fC0Oa$ODft# zxnAlhi_N^M9b-9g7D>j$)MYCCR*!zzT}&h}F5TaYINQ$cm~gLzNyO0V;nNCWfM#b# z*Ah5e!-g%QR_${9jG5wwrXI@6z)N!`2>$r1g=A*B#`ST*aKxEFLqw+z-}n^Vx;#Tl z2Qcj-csW6MNPA5FA2Ds!uSDdk@8zgDstdDc#h4pQ>TP2A`H12f19X_G-17q$b(>e8 z(GZ(e9wu+ta$p{a6#_`>b>bqG$a@&RRd+uXzt3W*P?Td+qruKwuXg|~f*vvb`>NX9 zx$WMX{AMiy{{r%=!H1Pq8c)q8t<%Trh?&kEiGO4FZcRe@MH8~!+TeyRli$0#Mr2Ib zvv3V8$T$MQegjPIB7DTfQqr;PcKPk+#?Fp{a4jo3$-e=lQA#gtmzs_77ej>@-gKy3 zYNQhWGRgCvH{idOdU8UYed^nU|F)L0NB!=Vi(FQlB1@gg?Pi+aEYz-4QV1HpN+%o& z_JJMLIqkzZ{ggbIsZaq$(sSqs4jKpp__Y6{(NsU?*Pms_vdLsCT)DD4I9czWOg_p> zf9w6*&g1QXRX!v@b3~pR*~p_toWUAiCD7o&=0s64_2Ka+lWlf>jt?8?C{s>&WKF`o zC=J|U_Y}y07k)1CTP@v5aGYdHG$HAr%_?^&>?BXy3^YRjJ9p|FE?o}vIh*pDX+Ens zJFf6MC(pKmC^%LX!8Pt5aIG{R7-q%!=3KFvB-8414GOOo#&-6eRpZ%{o~XO2_PlIW zTX-J4!3eNeD(yCME&fFomnv^DwJ)NRNeSYYb?V95f@ypHVBHidF$6}srf=5yQk6ft z;LwHV-4B9mU^Z=PC8~lB+4r4&?+8AUnjP~r*wc!A!$@B0Q~He^KWI=%Zv`o0$y5Si5NOf*g3B1F55Ta>5xrR|@E-5DVxb+ggbc^c zSwTlkVR2JoQK{a&irG1H%4T4cf?q7~`Q!d2Ovm__Zw2j>S(34n>BA4}|F!}H&u*VC z-qwpTX+VyOM`y1{#vb>mDs{mzHOgXHvRU}E|IagkF}KTW;nCJo+YE6Pv|vBb znm+kH{=v|H@5M~%hvTt|SFWJvEomSfElj=_Ix|9oVbts{H`jdAG$iw3Csq=yq$hD# zH*;La7H2F^chfa73K&9&PZzr_U99!odj8y=W=!L9T3?o+qt2$Vfr^g3Ip=^bwI}75 zvx3x~1|8ni(hHl~>Yi&Dcvyj0|kG}axNx44`y(t#kcFRJR(Ji zVVAy1LPr)YGiSff{VLEi8eC+kPOa?N#>w5?RW#V@|jy>GuaU{x- zL<3yB&e&QNv%25#@L;@Yx{7khE}w6#!Ol&T+-?sKgDlhwY;$Ted-~N`ZS!Kp;s=y7 z=IF>l`!C^7cEAVpIH3Emq_>@Sc@oSPQM- zP&rj&HMU77ueLH4qPwsd;3oS=A;o?+EuuCfH7wu6NY80vqsuZO@PWIn&k-ZMLZiS^99D>Lw}x>8 zS5TxAHBEwG(Mg#pmvhtwl7tBcu=NM}mvdJbeK?p3c+;!T_&q3$nE%v+a^^l2nL;HV zijt?15=D0GDU(tJ8LT{Csq-7cJj0S=6JB*3^Wr3*p9#p~4^#81CfEg4 zkls4Hx)sbi`yY-QFD9c#L|bC5@Nd_j$YWP@T2Af!*@W3)AvHH7e3bj{8sh{ zpv)P=cYV|_W5s&Jo&7-rV_2b6cYj?iEYymbdE^o%5`0Hwm>;!|0v!%Frvg7iiw=NA zA{if2{XpcrdmI7nGJ_1!qdD*i`a3&IH8=&+U(hKbg3SBv#~wp1sbElTIe&c~+?YT4YdG4^SmHHM?G!Azf$-!z#RcbW@^5Zro_5drLsSWE_cNrN3_F9% z+}0Ug{{CIL_EPeq*5qeqiju$29J1eJ1CMER(s2sxTaDwLzJTt3_zx7%Q3<(f+u4eK z#WFKb{(}X>%!mx*BzxJyw7_9;E9YC4Ek&g!IwYG%!u&Z`ybv?*a*+2mkNV1qZ5V2w z@m&oQt{_NKmv9NU{-*3@#1q&xc3AbpAMa^Fp6Mb5T%+cHilaWbuBs620vX581RLoF zl8!0Tstg-aje&X>3B~AjzQfeUayP>W?#iYUbFru6qKWq|uDRRhi$rL?Q8FB$)s?+m z3*mGLhcno;VS6Ug&Hi!KA292`v>UBl4`)gK zWfQmz1w?`(hm?SJ@ud5bmzjJT5HoU3t+<}vh1f7KMq>PI+sRAUu8WlLmw!40DpALP zBl0<0FR9o(m-+r13i$o@-{mKB$X*j%jsw?g-^*;g2Ak%f!!r7d4Tp^}6#nUj%xgU% z;n5!MA%83xl{B3C)Ud)MughDM=sO!kG5p`?tPj{7#{M4diC}44Tctkw$vBtnXX6tz zG2NYo+%c0za=u&mo&zR7K>OWcc|-$FN;dqy*YBU-_Oh;%tN|?tNsk9?_ceH{ecVAl zX=unTIDTpJ5~h{J-5A<=rB_##F$rY+BKAP*|HpYoZ6mW&SGZsmikhp3N18cE?DmzV z2>w(T>G>FCYnK)t!h7AZYFm46Hn2&+7lGUaAIhlB^>PY6Z4K7RI#=75-QSGWnO_b@ zXbtX7y%=5hU(ZggIt4e$s}a(hmBWPri%$Y`+BeTK-3QkgRGxs#_&2BbY|#E+Aoy=O z1ksU)ARR*q^Yvs=;My~^?;88`=O&+uec6?`A)E*lAT#B0hqZRnP5bQkk4IbnYuc9U zQy?#}`8+tVxpA|h#0yZKhZRk`eW$>P;Z9_7TYl!iU!=2~MXLRMSNalLiRZ>wkSozj zG$j&CG&)he%v>IXi%THw#qRi5l(`35KW}6*>)a z*uQ~8>nb>`zRrXSmfj*cCxC=geP-U;cE{0TO=?y@foSH#)u=(5*Z@o@x|qIV(r6UN zo9Cx0w1%lF6J^Gi^W>^puuPj9&BMtRy7iC88Br(bvxMa)g!E`9t zpmoD|!u4qT_?7$vH>6|L@+0RXKM<`ch@oTTi>e7t>b*Ylw4!i-~ zvc$4Xx%h{cVwn4rCQcA8u+r?JZJp>+GR^s=9**ndr+^E$_qcAGVLH9|7oX_~^qH)< zdQe6Ejl9wh$6Dwy37;yFshDnKf8Me&a zhQ0wY`OBwqas15aXRG%G`G|sv36xYgt#_4BziMph zb5(iL{VjskDKVoAO=?{Bm5OJ7 z_XJ?`tp;z4Ud=nNdkxtjBMH20ma@IUV|?jm!6m|uYukbgzFh z@o-P+fw-&}5l@Ca@@Faxb4tmo#ga@%Y<0Ryshy6V>;$481ci}ZVirMPfMDUkG@uO` zw*>gVw4IwM4b;%Ov7gN${4kIA`e}FYz+YZ#z3xu#p%aLf{CoH6>OHkQ{uR`v5VhwU z!8aN9o^@v5q{FrMa<#G`Pky*A&dri!d$GLut zX(XZT88A$5^h3#n2;XK4E#7lA*k@e0tFixu=ZJ2h`f!_Y{Fl62@wQR+h)3>|mhQ?HxXXSe&Bs+7`7DVZlO2_OH^ zevZH?TzB{Y`bP|KB;MjcaQH%=Dd70?%Uer7MpOzuZF5XZ(ODDJP{zDuB%ApR5bdN| zo!vz5+gT~&*-DRa1xx)jKAX4wj*}ZF%g7URgolBEDrVCxxUgdXneQDRI-8gsZ zPM4JuKrG+wmljg1Tt*f?O9k(O(pn`p6!mMhFOjB-R#fw+NOC1#a=qx3aa77`)*XPk9K|>H`J!TMhIJ@V=?ozeA_vD?Q;mjUA zj^%t#%_D1<+8FbufEF9U>v#+QGA@Az*MkQ>=6(twQsRfHENW6>etNiFY!AVrXctmx z<|$34ze^qr(79|2+}Bjre71TmFhD!8u@Q@Y0xbeU%?QH8r^vd;JrPZ z-6%YlQyxv3Cz0D!_mUVnNZZ|iQVHq73)ZS6)>v(nZDnqfj;~xh^I3mTSRMd{WXZ(H z92ysmd69@HpCyyEom9DO)SF=5aap-cXVBK^EM|{F*PAN#!(YW29KQ@qI}KbbOgF5Z zdTbi}_4Dm(=5t*i|3x>3KXqz@vs5muNT7{w6YVALI$xnRcJblpF3XDq?ZxKN^Kh2P z{Z;YFZnz$y{K{Z6J7vg%j-Tlx_Y$|QdrzCl1y`TD92)e7b$T*Mp~ANFbZ!12Fv70{ zK|7%QiVoycaE_%fT1h65W3G7s8xeCkIgIq&qF;2*GW3TPf(8{lYoyVF8d6s*GHIkh zs_sN9!9}^b%p*}@XpFW3&%6djg0Gg-G8b*WVrF<=C8%E56@W*LvPHRkjFXx4-$?pp%jv+QrSuc8X&(npX2$JSsyQVw(GHj0 ziv*1k$(kPyTwUfN_9`BqK{@EV%G>uZ5$LhS0~BfwJC_XdvfSI+HTQ=A%fTS&UB-;> z_{IM##1#GCr2HsamS!KFD#cYzwe4CiSANdODl;&rPIHQ*vitUkJV^Py@G$n6i069i zya)wvYWF+#+9_e1?@Ctvxry7SDHnAg%hi%n=+He=phG*OoiLdG5H-uK-WBn2p$)N1 zp>0(<7m}PP5?mh^S)`S^8*|bD0Ewu6gL~081t|hZVFZ+0eFX+e)k^0kui{R9n7d5D zqFxNpS051Gzz?GrMO}UcY;FZX7w!xKHqjV^B^7=p%S6;rc&ykVnotyoXHISR{xQpS zXmAVJdns9_C8>~3)t3kN*JmVn?mySh5Ngt}t~#>E1b8K0q9*g>mE@N~AX?05&Ff!p zbz}@42$iHBc2!nB+ZXW$LP97(!Ftrr^Dx5m3oflKLtC9HPo>%>tr^H*3=vOFI$WGFkAi$2oj)>kk0i8v3f#ee zx7S|3RD#YmdZG{AStH$W;f{g^_l1{G*16GAMQ&o)apfK7rgzUcvvii|vzLv*oD1 zY7yQHb9pgttK6TikV=u*VHDz{yk4#HyC(ZvaGE7rYk!v;gpc>bL=Kt0hH90IY-y0u z_+%FGfd9|$DCG9?PXnm zLKS0itd1>U*#iV)C%HHUxITcXMCm;UN!XJ5hYNUYW0UtkZt))QbV+g_pMapjZ4!D) z5D5_#Ey(=X0=ndoB842@9ol5(&?!#O^@aVF!9x#64 z_x0%1YPH*Ar9?%pgWu;0qC?^a4ulyp;9jrn7#=Jf){0`j8q`9eK&8{MsW{>x_9UKk*#&U3{ zC;CPR>Zi^y)KbL=UiJ3e|JVT0x2i(c5aZ+{FuNynxA1>-xrogipdEXgRNglD<0O5L z6>Yejf~7U)D(;FYY~`+4NPER2W6FRog+li~VEfiNiu8W1pS5wvAMlJbZ4djWiq0L4 zD(ZuHAXGWCm${t6BpeV0DuA(CG$X89jp8bCpou~5E8d!q=mBB@95J6sd(Pwl-1|!F zS>+xnCdIxLu1umUp*CRWX&EDi#mv(Ys1!YjtMDl9h7HU#LqVDFBS(CHe#%)Q!$@=9 zgYvA0q#BH)`F!(gXdc}6a4&if7>5xVn#2&n)pRa;Ow@45@-&Q3;`!2l4B*D_;cQ&a zzyr#W$S;wiAl2C1Qdgs6ZRJon;UgdXmZW;c^Q@%zyD!pB;97 z>kzOP(70?>mNy%`lifFYf2oq8hZOb(lytaiGCIpO;WwORbM}6|9eQ_)aTa75E_zl1+P1|U4Ir5VyB;4HhV zDoeXL$|U~xcv~!VJ*=FbA1Jl5Nl0b(AUZ|(;zJNYA^87;VMt%D0Fw3eFflPv=A6|O ze%R(59upQ71$^`!f~EAhyvXtxUO159Wk+pZf=^MoMtZAQ3c*Xtylp(J<#2ha^PZJ| z3G5cahAigBG@&x`NXAL%I!H)fvZIeO#DU z=$m@gs^%6r}ywNx1%eX=jCFX4VgUQ?9I?8%&;|aUc-sxEskVb_1jlVO6Ag za4uwZNRj)P8xLR|s^0lXk?gHBM6uGucEhDp~$#t`ed2}M0yv(PH| zwA%wV$;)uWN~{{Sc#c0vFG&n5lmK_pH1L!t-}Qx4pmgam0Z&5bl5Z=?F)7+*g8O$d z!OExLFoAeW_Hr2I7)3!)&tm-@TftQRxu(jG>Rb0ncWaUzss!wqVt@=Z{*7fl{l9{A z=t2#%*?szhs_f_A@2tsTBdK1b{)ldo<45Z|iuA1v?->`^_M1p!2b^H)xjkPxxHB_I zRaDZL21~f6RBhxAk1j~-HgOP(^eG`e0igNh5csz9t9ItrS4EwN{V<>d;sdm}eQqQ9 zymgZ*e6dW?@As3knXR+WK$^@PCS^{1@Zx#$fxVxFHPOOyfl%iyq3>mg4_bb2F-;!nCM{vCkqiTK<$6Z->-MiToI5whI%}o1LRvH%k zVQ&vry{PdJ%nC^Ow0-YDJ=wLO4&XNc!%edyEx=1Bh67i~X+(a0euWS%5bQ~!V5Db$ zKnFeVNd#vjM_8)6b??hhaZ(OJ2#$x45J1-x1rv}Qg>%L`bllmCtN$dM?pLTcMGMOWXKWBG8r|0XHhjFj6y*!y*(aW>G!>tIj14{U{ zBZyQ4A0xAMlazUe$=XzoRi2rHs%(Zl@G9~>+Qy!^;5;wGmtv^$ZvDO{qfv)GPx)=M z{sXNN0j}&r>p2JaIbc_??4P+uD{RXBFNDk}ufDd}zLJpqQ*fLGsf1?ejXFOl?qfRr z`RL&En|Iz%l?aK)f7>CE=c93B|9k5%Ei_A?Z^#18r46+o6g)u@7sn%y1HA#`oyV(U zjNv0{kkH{=I)$i8U_G1X5ARiRalqUEtsNL>w*?>uAEX_(;{Q!!E1e0uff}tm9q#fLp#rn`9yf(YSg);D5VfF_j_<0 z9G3OKL&cX(o7b3OGU*=T!UxbT!|#=H9Jlac{*ffAhC$8JI1W*Naeq;xT;$-g5iM<& zI@)EB*1!+Yob#WoT<-?i&E3i4YPE7T_<)EPaW_AsU?=d@&1&FzS#S7X&k(q8E;9Ah z=i`&zA?WU+nfE6t3PgqNG+3)_E_kr8-l9a`O!GSfmb71%uANN&H8Dd^mj4rK(|xu= zfHl#I34dTiDR0gBk-(K=qMI2FI>HL?-ogHqh^o}b>mEl$Y||jYkzb9214;Z>(?{la z492c){_k`X!vPX-XNy_Xq$XJb^>+~pMOmCj_%&sfMS#>WnY1fW(42}<(-RNtrCnT8 zs78&-ybG84vr!2x0~0eNO-2Fve&)b7VyNmqb$g(3sX?cq!Q-{o?puwH^r?9T9+sjGL3AZ={ z*qlDJKtb9J@rWnUq+GO=YB`bn&-O_Fzrq0aRf#Y8aJvD9)OuZeOGnJ4gGIwZ2s*?s z`b?yEXv#<-?(VSu)XnW#&&Wl|Y;M1oCxk^ahB`=YrjB&Pkx=P#d7m!S_XER>?!^_e z%L9(7J`RZ#SYn6;7q2Q@r<_h&zc{M%-TZt#J%S0SE)yfC$wB%Oh|5_1@u;4g(a|&^+H%P(;K|L&X$GZEBB3N6ic! zoC-#*umW!3U1CfZ>!M-5=WVPpCt#w>#fBcvoh@F6C`3swU=zq$lhKHKo=l|wUkmV+ ztkJ8KI=qxNiF!o2M_(P=b$su>1)ofkuT{?LoaBT%?cC+#pG6bOgT~F=Z}!nspaJ5m zyg$8MdpFVHuq=Qbj&MhMv7bFE&Dj5DA)wuUjjI`apJk0zgaRK$Fw?8-K(iy*(ChcPXhN|p+BhXQq8$pFE z7UBhv5oCni`o1q+{vSbFM4R(V7lQrky;FtsPIG6W0H**y^nO>cX8YMjMN78FGtf;H z)KjIop`TYTiQ43`5=qa0!=EXAMM0hKMux4MtpqJywebMc#pNTR;Am3+EL!qHJ(q{B zH#KTjqzFuzs_4K^o*!D)?W`|WCfGi+mY6*r^=y-xpFhF?-|DQ1{$-T3cX1a|=gprJ zU>M{jUd8G6*{uv_Rm8={W}U~l(Eg7}rQxR9m=QCpb6Ek9{%=3f{GNBiV~N-i0Pdgz zJcty#n|GT6^KgWKt#+nMS+`ocGBkB8c%T}O8*%NV3DcdpY|K@4!M{dUfqf#G@lB@o zw*!8>3@qQ#{RNf|J#(_zcsU3zqWU$Y6^38z%bVp+BRvM$-XnGq)I>Y72QwecbK85X zeHLP6j{odbnbmk#Bi?RM&^(ZojSv=XA2dD4he(m)dm%H%4a{E=Lk~N=4iK7B4VBTZ zuQksi;qq+s)5!}0)iG*W;W`pfJgS|3FA%+eC1^|F09HZ1FjaVJ{#lYuv&Z*tPok9`4*vii<_ zRp3+rk#Namusk5arT-g^?$M~oDFm&L%;;GLA?fxV`2}AAvzR0y~NhX zA2aJma?JX@{!H4>F5DMmVzXG%DqECCU-wQarLQ>XJjqMOSPg*>-WVFiO_aTzO~Pwb zvvDh-WATN zT{Zq2bz|P&*p4o9ggQmM-xcCt{x7CZ{(hg^EQ@}ME^D@%ivD~@$aVc)^LmZ|MVEe0 z?hPI|o{m7^q)C_G@SUdZmp`C+eTU~n!r!X|{kdRoryo04LsQP$=JV8(zF z9n0OQf3_}u&|@^D!Gt_Mmh(zA>PhV!z3ZRiOI!qeo>v+P@9&54Hom2!rq$9~+dA>? zN+G+PKf~X=FF|k#?_0Qkl6vz_w7YvlPCD*03DrJ}>Pqa^fPa7pnxi!F`nZO!I(_1p zJX&y8OvTU2Vw-LES@D;CzbckK(Sja9i;wLC?son~-u!|8(Gs?wqb&12C6yr38LxUP zT3%coxF{))YkfinhoaRk)`3@K!?^kS6iKR8&rBclPPG6>eP>w`#aJA%`w}~(JYtl6 zPjFmxt9uW?UOdiaR}~cCNTN6CxeW)g!kw;xz#HY8U|=QwyRc@3Vg2tm z5Tjjuofp)R_C6cQ9a(gGTj(i(FK94g1uM{es+TR=w?^qZtH#oCPzsdPPZq`1m5pb4 z7pEM?r8pBdr1r!pR=BS$S>oo|1rInq>C~s!TUKAM`&tfG+&9^gi7Cc?JmIE)`RAXAJRl2qMMqPCDq`l_?FodDY&6M_X-n_EBq2=hPm@pBME7 zf2p%8PB|wJwFZStSsH1CA9d`-*(r)sysJafOlPN^RA+ehFEmB;fq)*Q$Zm#K7Wnzx zVId&SZqZ;AQw#KqP`i{g0>k@H9{1-TgeX@|br&F=gxsDO7_>|S!IWe|$T03yodW28 z9_QY7+<e`G;8E-mMs6>6r<2Jyl<`TU0w=3deZ5)qquL9rOq*aIPAVC{~$X#^zl9; zPEGdV9bf-yS`94hqmR>-34xi2LnCd|xS%le*5SL#hLO@V@`u&>DRn*m#uzsTO7!|s zo4+Hco23uA{Mq5-nrfvdO1>{(LtKgPxMwvo()se+V}p}Gz+PTGky{jR2!6WJYm7k# za74KraM?gyRn;UK{yN7yT+EfUAI(th-e)HO`{Ski2dvFNQ4B;V;d;(Ng3pFQGeF{a ze|>+L0SFfpMQu^gdmWFYGBIx|qcwW{$G(1joZu&t=KZK2=D1;>XJS#fi+$)LR!*%} zR`f-`KSFgxv~qb;K&N*swZv>7vNG03s#<#g$9mx3vbGueF*0(;OY|$|1&1p_Mja9D zUSx@c#PJxBv~c3QYGo8j3Af4R=|i)#{sYDFgZb@kC5)M=1x3G;wU3lVQea_FT_gvr z8XWkdfQ0XUMz)(>&SMQM6s*wE7J%a_72%-Rj6CXDM2t0sNhGWz_NI_enH7Y?oN=h| z^kdVJS>}tCkdSCLO`;xGC%w29Bm`1IM0$QqF8B4T>o)5LD>bxo3%Z-cP|(%`^8BJL=WQl zktNg^GgMVhUZ|#d!YD3<7Y(ClZmx6b?q=sNy!2Zft6)xSdn7525!aXT9< znz`*%y+mk(p#sbSM|w9s>e8dxvq8fXA;vD1jaSUlUP&#EgYutM#FB?k0x4a zZ$XIfP8Yf9ady3MXRs=1_=bwy@Uq(jw>Bg^Y_`pxbEJ^zUHodhurb)vFOu^D(jJ=s z2%EP}I1#2=6}ILEvmG;#)dLm$R9G093QGl4?KEC))Ya9c#7`Wa2Au8sEfNrOBKWkH z6h(Sf4b;FTea3O)w0gmie4nE;I9zUui+_6wty@oUi&?02#!_g0K|GPMlz(sSm$7)? zPtD4E(f9&)PyO$|6CkmOWW=k_QAI)+)E2Bk-^+k1AIP?AqE>YAoQv;;W0f%%3&La- zBo*lU{c=QvCDO!t!?xWXy2ko2rkN2K^-{>`uhL&Xzac+QOiVmI|EbG?Px#!UMebIK zM!c(hZW9ew?&7WuNJuIr8Xf77-v~aGc|i9qjG^x5@R1g=}F9p0(AqLt{#7n#!9mVk6ZffPdU$15s2 z3Qf{(aWTk zmyB4H37`~{@4~bNUv!FrKI7}da*i~U?|td!;DcqUSkYV*-WKl8zgZ_L>PyE8Hx^

%4-q@vhq3>E3*Xn2T7tgcV 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. */ + pwm: string; + /** F9: fixed USB VBUS-management signal on this pin. */ + usb: string; + /** F8: CLOCK_GPINn / CLOCK_GPOUTn where present (GPIO20-25 only). */ + clock?: string; + /** ADC channel number for GPIO26-29 (pins 38-41). */ + adc?: number; +} + +function unique(values: string[]): string[] { + return [...new Set(values)]; +} + +/** Verbatim function list for one GPIO pad, mirroring the ProtoPart entry. */ +function gpioFunctions(spec: Rp2040GpioSpec): Rp2040Function[] { + const spiDir: "source" | "sink" = spec.spi.endsWith("_RX") ? "sink" : "source"; + const uartDir: "source" | "sink" = + spec.uart.endsWith("_RX") || spec.uart.endsWith("CTS") ? "sink" : "source"; + const usbDir: "source" | "sink" = spec.usb.endsWith("_EN") ? "source" : "sink"; + + const fns: Rp2040Function[] = [ + { name: "digital_io", direction: "bidirectional", signal_class: "data" }, + ]; + if (spec.adc !== undefined) { + fns.push({ + name: "analog_input", + direction: "sink", + signal_class: "sense", + note: `ADC${spec.adc}`, + }); + } + fns.push( + { + name: spec.spi, + direction: spiDir, + signal_class: spec.spi.endsWith("_SCK") ? "clock" : "data", + funcsel: "F1", + }, + { name: spec.uart, direction: uartDir, signal_class: "data", funcsel: "F2" }, + { + name: spec.i2c, + direction: "bidirectional", + signal_class: spec.i2c.endsWith("_SCL") ? "clock" : "data", + funcsel: "F3", + }, + { name: spec.pwm, direction: "source", signal_class: "data", funcsel: "F4" }, + { name: "SIO", direction: "bidirectional", signal_class: "data", funcsel: "F5" }, + { name: "PIO0", direction: "bidirectional", signal_class: "data", funcsel: "F6" }, + { name: "PIO1", direction: "bidirectional", signal_class: "data", funcsel: "F7" }, + ); + if (spec.clock !== undefined) { + fns.push({ + name: spec.clock, + direction: spec.clock.includes("GPIN") ? "sink" : "source", + signal_class: "clock", + funcsel: "F8", + }); + } + fns.push({ + name: spec.usb, + direction: usbDir, + signal_class: usbDir === "sink" ? "sense" : "data", + funcsel: "F9", + }); + return fns; +} + +/** Build one schematic-honest GPIO pad from its function-select row. */ +function rp2040Gpio(spec: Rp2040GpioSpec): InterfaceDef { + const base = Pin({ + id: `pin_${spec.pin}`, + name: `GPIO${spec.gpio}`, + pin: spec.pin, + voltageV: IOVDD_RANGE, + capabilities: { + // Every bank-0 GPIO carries a fixed PWM channel via F4 (JSON per-pin + // `pwm_out` function) — generic tag for inter-module PWM matching. + pwm: true, + analogIn: spec.adc !== undefined, + // Generic bus tags reflect the ONE fixed controller signal this pin has + // (the F1/F2/F3 columns), never a routable superset. + i2cSda: spec.i2c.endsWith("_SDA"), + i2cScl: spec.i2c.endsWith("_SCL"), + spiMosi: spec.spi.endsWith("_TX"), // datasheet TX = controller data out + spiMiso: spec.spi.endsWith("_RX"), // datasheet RX = controller data in + spiSck: spec.spi.endsWith("_SCK"), + spiSs: spec.spi.endsWith("_CSn"), + uartTx: spec.uart.endsWith("_TX"), + uartRx: spec.uart.endsWith("_RX"), + uartRts: spec.uart.endsWith("RTS"), + uartCts: spec.uart.endsWith("CTS"), + }, + }); + + const capabilities = unique([ + ...(base.capabilities ?? []), + `gpio${spec.gpio}`, + // Controller-specific FUNCSEL tags — the honest combination space. These + // are what the composed controllers' traits/profiles enumerate; the + // routing is fixed, not matrix-style. + spec.spi.toLowerCase(), + spec.uart.toLowerCase(), + spec.i2c.toLowerCase(), + spec.pwm.toLowerCase(), + spec.usb.toLowerCase(), + // SIO/PIO reach every bank-0 GPIO (F5/F6/F7) — the matrix analogue. + "sio", + "pio0", + "pio1", + ...(spec.clock !== undefined + ? [spec.clock.toLowerCase(), spec.clock.includes("GPIN") ? "clock_gpin" : "clock_gpout"] + : []), + ...(spec.adc !== undefined ? [`adc_ch${spec.adc}`] : []), + ]); + + const traits: TraitDef[] = [ + { + type: "rp2040_pin_functions", + params: { + source: + "RP2040 Datasheet §1.4.3 Table 2 (GPIO function table) — carried verbatim from the ProtoPart definition", + functions: gpioFunctions(spec), + }, + }, + { + type: "power_domain", + params: { + domain: "IOVDD", + note: "Logic level tracks IOVDD: 3.3 V typical, 1.8 V supported. All GPIO are NOT 5 V tolerant — apply level shifting for 5 V signals (ProtoPart warnings).", + }, + }, + ...(spec.adc !== undefined + ? [ + { + type: "analog_input_clamp", + params: { + note: "The voltage on the ADC analogue inputs must not exceed IOVDD — voltages greater than IOVDD leak through the pad ESD protection diodes (absolute maximum pin voltage IOVDD + 0.5 V, Table 622).", + source: "RP2040 Datasheet §2.9.5 note / Table 622 — corrects the ProtoPart warning's 'clamped to ADC_AVDD + 0.3 V'", + }, + } satisfies TraitDef, + ] + : []), + ]; + + return { ...base, capabilities, traits }; +} + +// --------------------------------------------------------------------------- +// Bank-0 GPIO pads — ProtoPart pins 2-9, 11-18, 27-32, 34-41 (Datasheet +// Table 1 / Table 2), in package pin order. Each row is the pin's fixed +// FUNCSEL assignment, transcribed from the per-pin function lists. +// --------------------------------------------------------------------------- + +const GPIO_SPECS: Rp2040GpioSpec[] = [ + { pin: 2, gpio: 0, spi: "SPI0_RX", uart: "UART0_TX", i2c: "I2C0_SDA", pwm: "PWM0_A", usb: "USB_OVCUR_DET" }, + { pin: 3, gpio: 1, spi: "SPI0_CSn", uart: "UART0_RX", i2c: "I2C0_SCL", pwm: "PWM0_B", usb: "USB_VBUS_DET" }, + { pin: 4, gpio: 2, spi: "SPI0_SCK", uart: "UART0_CTS", i2c: "I2C1_SDA", pwm: "PWM1_A", usb: "USB_VBUS_EN" }, + { pin: 5, gpio: 3, spi: "SPI0_TX", uart: "UART0_RTS", i2c: "I2C1_SCL", pwm: "PWM1_B", usb: "USB_OVCUR_DET" }, + { pin: 6, gpio: 4, spi: "SPI0_RX", uart: "UART1_TX", i2c: "I2C0_SDA", pwm: "PWM2_A", usb: "USB_VBUS_DET" }, + { pin: 7, gpio: 5, spi: "SPI0_CSn", uart: "UART1_RX", i2c: "I2C0_SCL", pwm: "PWM2_B", usb: "USB_VBUS_EN" }, + { pin: 8, gpio: 6, spi: "SPI0_SCK", uart: "UART1_CTS", i2c: "I2C1_SDA", pwm: "PWM3_A", usb: "USB_OVCUR_DET" }, + { pin: 9, gpio: 7, spi: "SPI0_TX", uart: "UART1_RTS", i2c: "I2C1_SCL", pwm: "PWM3_B", usb: "USB_VBUS_DET" }, + { pin: 11, gpio: 8, spi: "SPI1_RX", uart: "UART1_TX", i2c: "I2C0_SDA", pwm: "PWM4_A", usb: "USB_VBUS_EN" }, + { pin: 12, gpio: 9, spi: "SPI1_CSn", uart: "UART1_RX", i2c: "I2C0_SCL", pwm: "PWM4_B", usb: "USB_OVCUR_DET" }, + { pin: 13, gpio: 10, spi: "SPI1_SCK", uart: "UART1_CTS", i2c: "I2C1_SDA", pwm: "PWM5_A", usb: "USB_VBUS_DET" }, + { pin: 14, gpio: 11, spi: "SPI1_TX", uart: "UART1_RTS", i2c: "I2C1_SCL", pwm: "PWM5_B", usb: "USB_VBUS_EN" }, + { pin: 15, gpio: 12, spi: "SPI1_RX", uart: "UART0_TX", i2c: "I2C0_SDA", pwm: "PWM6_A", usb: "USB_OVCUR_DET" }, + { pin: 16, gpio: 13, spi: "SPI1_CSn", uart: "UART0_RX", i2c: "I2C0_SCL", pwm: "PWM6_B", usb: "USB_VBUS_DET" }, + { pin: 17, gpio: 14, spi: "SPI1_SCK", uart: "UART0_CTS", i2c: "I2C1_SDA", pwm: "PWM7_A", usb: "USB_VBUS_EN" }, + { pin: 18, gpio: 15, spi: "SPI1_TX", uart: "UART0_RTS", i2c: "I2C1_SCL", pwm: "PWM7_B", usb: "USB_OVCUR_DET" }, + { pin: 27, gpio: 16, spi: "SPI0_RX", uart: "UART0_TX", i2c: "I2C0_SDA", pwm: "PWM0_A", usb: "USB_VBUS_DET" }, + { pin: 28, gpio: 17, spi: "SPI0_CSn", uart: "UART0_RX", i2c: "I2C0_SCL", pwm: "PWM0_B", usb: "USB_VBUS_EN" }, + { pin: 29, gpio: 18, spi: "SPI0_SCK", uart: "UART0_CTS", i2c: "I2C1_SDA", pwm: "PWM1_A", usb: "USB_OVCUR_DET" }, + { pin: 30, gpio: 19, spi: "SPI0_TX", uart: "UART0_RTS", i2c: "I2C1_SCL", pwm: "PWM1_B", usb: "USB_VBUS_DET" }, + { pin: 31, gpio: 20, spi: "SPI0_RX", uart: "UART1_TX", i2c: "I2C0_SDA", pwm: "PWM2_A", usb: "USB_VBUS_EN", clock: "CLOCK_GPIN0" }, + { pin: 32, gpio: 21, spi: "SPI0_CSn", uart: "UART1_RX", i2c: "I2C0_SCL", pwm: "PWM2_B", usb: "USB_OVCUR_DET", clock: "CLOCK_GPOUT0" }, + { pin: 34, gpio: 22, spi: "SPI0_SCK", uart: "UART1_CTS", i2c: "I2C1_SDA", pwm: "PWM3_A", usb: "USB_VBUS_DET", clock: "CLOCK_GPIN1" }, + { pin: 35, gpio: 23, spi: "SPI0_TX", uart: "UART1_RTS", i2c: "I2C1_SCL", pwm: "PWM3_B", usb: "USB_VBUS_EN", clock: "CLOCK_GPOUT1" }, + { pin: 36, gpio: 24, spi: "SPI1_RX", uart: "UART1_TX", i2c: "I2C0_SDA", pwm: "PWM4_A", usb: "USB_OVCUR_DET", clock: "CLOCK_GPOUT2" }, + { pin: 37, gpio: 25, spi: "SPI1_CSn", uart: "UART1_RX", i2c: "I2C0_SCL", pwm: "PWM4_B", usb: "USB_VBUS_DET", clock: "CLOCK_GPOUT3" }, + { pin: 38, gpio: 26, spi: "SPI1_SCK", uart: "UART1_CTS", i2c: "I2C1_SDA", pwm: "PWM5_A", usb: "USB_VBUS_EN", adc: 0 }, + { pin: 39, gpio: 27, spi: "SPI1_TX", uart: "UART1_RTS", i2c: "I2C1_SCL", pwm: "PWM5_B", usb: "USB_OVCUR_DET", adc: 1 }, + { pin: 40, gpio: 28, spi: "SPI1_RX", uart: "UART0_TX", i2c: "I2C0_SDA", pwm: "PWM6_A", usb: "USB_VBUS_DET", adc: 2 }, + { pin: 41, gpio: 29, spi: "SPI1_CSn", uart: "UART0_RX", i2c: "I2C0_SCL", pwm: "PWM6_B", usb: "USB_VBUS_EN", adc: 3 }, +]; + +const gpioPads: InterfaceDef[] = GPIO_SPECS.map(rp2040Gpio); + +// --------------------------------------------------------------------------- +// QSPI pads (bank 1) — pins 51-56, dedicated to the external XIP flash. +// Each also has a software-controlled GPIO (digital_io) function per the +// ProtoPart definition. +// --------------------------------------------------------------------------- + +function qspiPad(config: { + pin: number; + name: string; + cap: string; + direction: "source" | "bidirectional"; + signalClass: "data" | "clock"; + note: string; + extraTraits?: TraitDef[]; +}): InterfaceDef { + return { + id: `pin_${config.pin}`, + name: config.name, + pin: config.pin, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input", "output", "bidirectional"] }], + capabilities: ["digital_io", config.cap], + parameters: [{ id: "voltage", unit: "V", range: IOVDD_RANGE }], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: config.name, + direction: config.direction, + signal_class: config.signalClass, + note: config.note, + }, + { name: "digital_io", direction: "bidirectional", signal_class: "data" }, + ] satisfies Rp2040Function[], + }, + }, + { type: "power_domain", params: { domain: "IOVDD" } }, + { + type: "usage_restriction", + params: { + restriction: + "Dedicated to the external XIP flash on any booting design — the chip cannot run user code without it.", + exemption: + "Usable as a software-controlled GPIO when not required for flash access (ProtoPart pin descriptions).", + }, + }, + ...(config.extraTraits ?? []), + ], + }; +} + +const qspiPads: InterfaceDef[] = [ + qspiPad({ + pin: 51, name: "QSPI_SD3", cap: "qspi_sd3", direction: "bidirectional", signalClass: "data", + note: "External XIP flash data line 3.", + }), + qspiPad({ + pin: 52, name: "QSPI_SCLK", cap: "qspi_sclk", direction: "source", signalClass: "clock", + note: "External XIP flash clock output.", + }), + qspiPad({ + pin: 53, name: "QSPI_SD0", cap: "qspi_sd0", direction: "bidirectional", signalClass: "data", + note: "External XIP flash data line 0 (MOSI in single-bit SPI mode).", + }), + qspiPad({ + pin: 54, name: "QSPI_SD2", cap: "qspi_sd2", direction: "bidirectional", signalClass: "data", + note: "External XIP flash data line 2.", + }), + qspiPad({ + pin: 55, name: "QSPI_SD1", cap: "qspi_sd1", direction: "bidirectional", signalClass: "data", + note: "External XIP flash data line 1 (MISO in single-bit SPI mode).", + }), + qspiPad({ + pin: 56, name: "QSPI_SS_N", cap: "qspi_ss_n", direction: "source", signalClass: "data", + note: "External XIP flash chip-select (active low).", + extraTraits: [ + { type: "display_notation", params: { active_low: true, display: "QSPI_SS̅" } }, + { + type: "boot_strapping", + params: { + controls: + "USB BOOTSEL UF2 mode: pulling this pin low during reset forces the boot ROM into UF2 mass-storage mode — the standard board-level BOOTSEL mechanism (there is no dedicated USB_BOOT pin on the bare chip).", + recommended_wiring: + "Route through a momentary pushbutton to GND to support firmware loading via the USB BOOTSEL UF2 path (ProtoPart design_rules).", + source: "ProtoPart pin 56 description / design_rules / warnings", + }, + }, + ], + }), +]; + +// --------------------------------------------------------------------------- +// Power, clock, debug, and service pads — ProtoPart pins 1, 10, 19-26, 33, +// 42-50 and the exposed ground pad +// --------------------------------------------------------------------------- + +/** The six IOVDD pads (1, 10, 22, 33, 42, 49) sit on one 1.8-3.3 V rail. */ +function iovddPin(pinNo: number, ordinal: number): InterfaceDef { + const base = PowerIn({ + id: `pin_${pinNo}`, + name: "IOVDD", + pin: pinNo, + voltageV: IOVDD_RANGE, + nominalV: 3.3, + }); + return { + ...base, + capabilities: ["power_in", "iovdd"], + traits: [ + { + type: "power_domain", + params: { + domain: "IOVDD", + note: `Digital I/O ring supply (${ordinal} of 6). Sets logic level for all 30 GPIOs and the QSPI flash interface.`, + }, + }, + { + // Shareability exemption: one supply instance may legally serve all + // six pads — mixing rails on IOVDD pins is not supported. + type: "net_shareable", + params: { + net: "rp2040_iovdd", + policy: "single_supply_instance_may_serve_all_members", + members: ["pin_1", "pin_10", "pin_22", "pin_33", "pin_42", "pin_49"], + source: "ProtoPart design_rules: 'Tie all six IOVDD pins to the same supply rail (1.8 V or 3.3 V).'", + }, + }, + SUPPLY_DECOUPLING_TRAIT, + ], + }; +} + +/** The two DVDD pads (23, 50) sit on one 1.1 V core rail. */ +function dvddPin(pinNo: number, ordinal: number): InterfaceDef { + const base = PowerIn({ + id: `pin_${pinNo}`, + name: "DVDD", + pin: pinNo, + voltageV: DVDD_RANGE, + nominalV: 1.1, + }); + return { + ...base, + capabilities: ["power_in", "dvdd"], + traits: [ + { + type: "power_domain", + params: { + domain: "DVDD", + note: `1.1 V digital core supply (${ordinal} of 2). Keep within 1.05-1.16 V per Datasheet Table 634 (use 1.15 V if running clk_sys at 200 MHz).`, + }, + }, + { + type: "net_shareable", + params: { + net: "rp2040_dvdd", + policy: "single_supply_instance_may_serve_all_members", + members: ["pin_23", "pin_50"], + }, + }, + { + type: "co_requirement", + params: { + with: "pin_45", + condition: "always", + effect: + "DVDD must not be left floating: supply from VREG_VOUT (typical — route pin 45 externally to both DVDD pins with low impedance) or from an external 1.1 V regulator.", + source: "ProtoPart design_rules / warnings", + }, + }, + SUPPLY_DECOUPLING_TRAIT, + ], + }; +} + +const powerAndServicePads: InterfaceDef[] = [ + iovddPin(1, 1), + iovddPin(10, 2), + + { + id: "pin_19", + name: "TESTEN", + pin: 19, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["testen", "factory_test"], + parameters: [{ id: "voltage", unit: "V", range: IOVDD_RANGE }], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 / Table 619 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "digital_input", + direction: "sink", + signal_class: "data", + note: "TESTEN — factory test enable (IOVDD bank).", + }, + ] satisfies Rp2040Function[], + }, + }, + { + type: "internal_pulls", + params: { + available: true, + pull_down_at_reset: true, + source: "RP2040 Datasheet Table 619 (internal pull-down at reset)", + }, + }, + { + type: "usage_restriction", + params: { + restriction: + "Must be tied externally to GND in production use — a floating TESTEN can place the chip in factory test mode and prevent normal boot. Not a ground source.", + source: "ProtoPart pin 19 description / design_rules / warnings", + }, + }, + ], + }, + + { + id: "pin_20", + name: "XIN", + pin: 20, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "clock", roles: ["input"] }], + capabilities: ["xtal_in"], + parameters: [ + // ProtoPart pin 20: "USB bootloader requires 12 MHz." + { id: "clock_freq", unit: "Hz", value: 12_000_000 }, + ], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 / §2.16 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "XIN", + direction: "sink", + signal_class: "clock", + note: "Crystal oscillator input. Connect a 12 MHz crystal between XIN/XOUT with load capacitors, or drive XIN with a single-ended CMOS clock (XOUT disconnected).", + }, + { name: "digital_input", direction: "sink", signal_class: "clock" }, + ] satisfies Rp2040Function[], + }, + }, + { type: "power_domain", params: { domain: "IOVDD" } }, + ], + }, + { + id: "pin_21", + name: "XOUT", + pin: 21, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "clock", roles: ["output"] }], + capabilities: ["xtal_out"], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 / §2.16 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "XOUT", + direction: "source", + signal_class: "clock", + note: "Crystal oscillator output. Connect to the 12 MHz crystal opposite XIN; leave open when XIN is driven by an external clock.", + }, + { name: "digital_output", direction: "source", signal_class: "clock" }, + ] satisfies Rp2040Function[], + }, + }, + { type: "power_domain", params: { domain: "IOVDD" } }, + ], + }, + + iovddPin(22, 3), + dvddPin(23, 1), + + { + id: "pin_24", + name: "SWCLK", + pin: 24, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["swd_clk"], + parameters: [{ id: "voltage", unit: "V", range: IOVDD_RANGE }], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 / Table 342 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "SWCLK", + direction: "sink", + signal_class: "clock", + note: "Serial Wire Debug clock input (Digital In FT, IOVDD bank). Multi-drop SWD bus access to both M0+ cores; also used to download code.", + }, + { name: "digital_input", direction: "sink", signal_class: "clock" }, + ] satisfies Rp2040Function[], + }, + }, + { + type: "internal_pulls", + params: { + available: true, + pull_up_at_reset: true, + source: "RP2040 Datasheet Table 342, PADS_BANK0:SWCLK (PUE=1/PDE=0)", + }, + }, + { type: "power_domain", params: { domain: "IOVDD" } }, + ], + }, + { + id: "pin_25", + name: "SWDIO", + pin: 25, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input", "output", "bidirectional"] }], + capabilities: ["swd_io"], + parameters: [{ id: "voltage", unit: "V", range: IOVDD_RANGE }], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "SWDIO", + direction: "bidirectional", + signal_class: "data", + note: "Serial Wire Debug bidirectional data. Pair with SWCLK for SWD debug to both cores.", + }, + { name: "digital_io", direction: "bidirectional", signal_class: "data" }, + ] satisfies Rp2040Function[], + }, + }, + { + type: "internal_pulls", + params: { available: true, pull_up_at_reset: true, source: "ProtoPart pin 25 description ('has internal pull-up')" }, + }, + { type: "power_domain", params: { domain: "IOVDD" } }, + ], + }, + { + id: "pin_26", + name: "RUN", + pin: 26, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["run_reset", "reset_input"], + parameters: [{ id: "voltage", unit: "V", range: IOVDD_RANGE }], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "RESET", + direction: "sink", + signal_class: "data", + note: "Global asynchronous reset. Reset when driven low, run when driven high.", + }, + ] satisfies Rp2040Function[], + }, + }, + { + type: "internal_pulls", + params: { + available: true, + pull_up_at_reset: true, + note: "Has internal pull-up; if no external reset is required, tie directly to IOVDD.", + source: "ProtoPart pin 26 description", + }, + }, + { type: "power_domain", params: { domain: "IOVDD" } }, + ], + }, + + iovddPin(33, 4), + iovddPin(42, 5), + + { + ...PowerIn({ + id: "pin_43", + name: "ADC_AVDD", + pin: 43, + voltageV: ADC_AVDD_RANGE, + nominalV: 3.3, + }), + capabilities: ["power_in", "adc_avdd", "analog_supply"], + traits: [ + { + type: "power_domain", + params: { + domain: "ADC_AVDD", + note: "Analog supply / reference for the 12-bit ADC. 1.62-3.63 V (typ 3.3 V) per Table 634; ADC performance is compromised below 2.97 V (§2.9.5).", + }, + }, + { + type: "implied_passives", + params: { + purpose: "ADC supply filtering for best ENOB", + components: [ + { kind: "ferrite_bead", value: "from the main 3V3 rail", connection: "3V3 to ADC_AVDD" }, + { kind: "capacitor", value: "1 µF", connection: "ADC_AVDD to GND" }, + { kind: "capacitor", value: "100 nF", connection: "ADC_AVDD to GND" }, + ], + source: "ProtoPart design_rules / adc_avdd power-domain description", + }, + }, + ], + }, + + { + ...PowerIn({ + id: "pin_44", + name: "VREG_VIN", + pin: 44, + voltageV: VREG_VIN_RANGE, + nominalV: 3.3, + }), + capabilities: ["power_in", "vreg_vin"], + traits: [ + { + type: "power_domain", + params: { + domain: "VREG_VIN", + note: "Power input for the internal core voltage regulator (nominal 1.8-3.3 V per Datasheet §1.4.2).", + }, + }, + SUPPLY_DECOUPLING_TRAIT, + ], + bridgesTo: ["pin_45"], + }, + { + ...PowerOut({ + id: "pin_45", + name: "VREG_VOUT", + pin: 45, + voltageV: 1.1, + maxCurrentA: 0.1, + }), + capabilities: ["power_out", "vreg_vout"], + traits: [ + { + type: "internal_regulator", + params: { + description: + "Output of the internal core voltage regulator: nominal 1.1 V at up to 100 mA (Datasheet §1.4.2). Externally route to both DVDD pins (23, 50).", + source: "ProtoPart pin 45 description / ldo interface", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_23, pin_50", + condition: "internal core LDO in use (typical)", + effect: + "Keep VREG_VOUT decoupling close to pin 45 and route to both DVDD pins with low impedance.", + source: "ProtoPart design_rules", + }, + }, + ], + bridgesTo: ["pin_23", "pin_50"], + }, + + { + id: "pin_46", + name: "USB_DM", + pin: 46, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "usb", roles: ["data_minus"] }], + capabilities: ["usb_dm"], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 / §1.4.2 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "usb_dm", + direction: "bidirectional", + signal_class: "data", + note: "USB 1.1 differential data minus.", + }, + ] satisfies Rp2040Function[], + }, + }, + { type: "power_domain", params: { domain: "USB_VDD" } }, + { + type: "internal_pulls", + params: { + available: true, + note: "USB bus pull-ups/pull-downs are provided internally.", + source: "ProtoPart pin 46 description", + }, + }, + { + type: "implied_passives", + params: { + purpose: "USB series termination", + components: [{ kind: "resistor", value: "27 Ω", connection: "in series with USB_DM" }], + source: "ProtoPart pin 46 description / design_rules", + }, + }, + { + type: "layout_requirement", + params: { + note: "Route USB_DP/USB_DM as a 90 Ω differential pair (Hardware Design with RP2040 §2.4.1; the 27 Ω series terminations are from Datasheet §1.4.2).", + source: "ProtoPart design_rules", + }, + }, + ], + }, + { + id: "pin_47", + name: "USB_DP", + pin: 47, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "usb", roles: ["data_plus"] }], + capabilities: ["usb_dp"], + traits: [ + { + type: "rp2040_pin_functions", + params: { + source: "RP2040 Datasheet Table 1 / §1.4.2 — carried verbatim from the ProtoPart definition", + functions: [ + { + name: "usb_dp", + direction: "bidirectional", + signal_class: "data", + note: "USB 1.1 differential data plus.", + }, + ] satisfies Rp2040Function[], + }, + }, + { type: "power_domain", params: { domain: "USB_VDD" } }, + { + type: "internal_pulls", + params: { + available: true, + note: "USB bus pull-ups/pull-downs are provided internally.", + source: "ProtoPart pin 47 description", + }, + }, + { + type: "implied_passives", + params: { + purpose: "USB series termination", + components: [{ kind: "resistor", value: "27 Ω", connection: "in series with USB_DP" }], + source: "ProtoPart pin 47 description / design_rules", + }, + }, + { + type: "layout_requirement", + params: { + note: "Route USB_DP/USB_DM as a 90 Ω differential pair (Hardware Design with RP2040 §2.4.1; the 27 Ω series terminations are from Datasheet §1.4.2).", + source: "ProtoPart design_rules", + }, + }, + ], + }, + + { + ...PowerIn({ + id: "pin_48", + name: "USB_VDD", + pin: 48, + voltageV: USB_VDD_RANGE, + nominalV: 3.3, + }), + capabilities: ["power_in", "usb_vdd"], + traits: [ + { + type: "power_domain", + params: { + domain: "USB_VDD", + note: "Dedicated 3.3 V supply for the integrated USB 1.1 PHY. Decouple separately from IOVDD; supply from the same 3.3 V rail with its own decoupling.", + }, + }, + { + type: "co_requirement", + params: { + with: "usb_device, usb_host", + condition: "always (even if USB is unused)", + effect: + "USB_VDD must be supplied even if USB is unused; otherwise the USB PHY draws leakage current that may keep the chip from entering low-power states cleanly.", + source: "ProtoPart warnings", + }, + }, + SUPPLY_DECOUPLING_TRAIT, + ], + }, + + iovddPin(49, 6), + dvddPin(50, 2), + + { + ...Ground({ id: "pad_gnd", name: "GND (Exposed Pad)", pin: 57, maxCurrentA: 1.0 }), + traits: [ + { + type: "assembly_requirement", + params: { + note: "Exposed thermal pad on the QFN-56 underside — the single external ground connection (Datasheet §1.4.2), bonded to all internal ground pads on the die. Solder to the PCB ground plane and stitch with thermal vias for heat dissipation and ground reference integrity; leaving it floating violates the ground reference, increases noise, and degrades thermal performance.", + source: "ProtoPart pad_gnd description / design_rules / warnings", + }, + }, + { + type: "net_shareable", + params: { net: "gnd", policy: "single_ground_instance_may_serve_all_members" }, + }, + { + type: "pin_designator_note", + params: { + note: "The ProtoPart resource id is 'pad_gnd' (no perimeter pin number); 57 is the CAD-footprint designator for the exposed pad.", + }, + }, + ], + }, +]; + +/** All 57 pads, sorted into physical package order — schematic-honest. */ +const pins: InterfaceDef[] = [...powerAndServicePads, ...gpioPads, ...qspiPads].sort( + (a, b) => Number(a.pin ?? 0) - Number(b.pin ?? 0), +); + +// --------------------------------------------------------------------------- +// Peripheral controllers +// --------------------------------------------------------------------------- + +function withTraits(iface: InterfaceDef, traits: TraitDef[]): InterfaceDef { + return { ...iface, traits: [...(iface.traits ?? []), ...traits] }; +} + +/** Attach traits to the interface with the given id inside a builder result. */ +function amend(ifaces: InterfaceDef[], id: string, traits: TraitDef[]): InterfaceDef[] { + return ifaces.map((i) => (i.id === id ? withTraits(i, traits) : i)); +} + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +// ADC — 4 user channels on GPIO26-29 (ProtoPart `adc_in` interface). +const adc = composed({ + id: "adc_in", + name: "ADC", + protocolType: "analog", + roles: ["input"], + parameters: [resolutionBits(12)], + slots: [ + { id: "channel", required: true, count: 4, match: { protocol: "analog", role: "input", capability: "analog_in" } }, + ], + profiles: [ + { + id: "adc_channels", + label: "ADC0-ADC3 (GPIO26-29, pins 38-41)", + bindings: { channel: ["pin_38", "pin_39", "pin_40", "pin_41"] }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 4, + mapping: "ADC0=GPIO26 (pin 38), ADC1=GPIO27 (pin 39), ADC2=GPIO28 (pin 40), ADC3=GPIO29 (pin 41)", + note: "12-bit successive-approximation ADC; an internal temperature sensor occupies a further non-pinned input (ProtoPart usage_notes).", + }, + }, + { + type: "performance_note", + params: { + note: "Effective ENOB ~9 bits without filtering; ADC performance is compromised below ADC_AVDD = 2.97 V (Datasheet §2.9.5).", + source: "ProtoPart usage_notes / adc_avdd power-domain description", + }, + }, + { + type: "co_requirement", + params: { + with: "pin_43", + condition: "always", + effect: + "ADC_AVDD is the analog supply and conversion reference; the voltage on ADC inputs must not exceed IOVDD (leakage through ESD protection diodes above IOVDD — Datasheet §2.9.5 note). Filter from the main 3V3 with a ferrite bead + 1 µF + 100 nF for best ENOB.", + source: "ProtoPart warnings / design_rules (input limit corrected to the datasheet's IOVDD bound, §2.9.5)", + }, + }, + ], +}); + +// SPI — two PL022 controllers; each signal is FUNCSEL-fixed (F1) to specific +// pin groups (no matrix routing). Datasheet names TX/RX/SCK/CSn map onto the +// builder's mosi/miso/sck/ss slots. +const SPI_TRAITS = (n: 0 | 1, groups: string, partial?: string): TraitDef[] => [ + { + type: "controller_ip", + params: { ip: "Arm PL022 SSP", source: "RP2040 Datasheet §4.4; ProtoPart spi interface description" }, + }, + { + type: "signal_naming", + params: { + note: `Datasheet signals are SPI${n}_TX / SPI${n}_RX / SPI${n}_SCK / SPI${n}_CSn; TX binds the mosi slot, RX the miso slot, CSn the ss slot.`, + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "gpio_funcsel_fixed", + combination_space: groups, + ...(partial ? { partial_groups: partial } : {}), + source: "RP2040 Datasheet §1.4.3 Table 2 (F1 column); ProtoPart per-pin function lists", + }, + }, + { + type: "protopart_constraints", + params: { requires_matching_voltage_domain: true, max_lane_rate_mbps: 62 }, + }, +]; + +const spi0 = amend( + SPI({ + id: "spi_0", + name: "SPI 0", + roles: ["master"], // ProtoPart models the PL022 interfaces in master role + clockFreqHz: [0, 62_500_000], // "Up to ~62.5 Mbps (sysclk/2)" + maxInstances: 1, + profiles: [ + { id: "spi0_gpio0", label: "SPI0 on GPIO0-3 (pins 2-5)", miso: "pin_2", ss: "pin_3", sck: "pin_4", mosi: "pin_5" }, + { id: "spi0_gpio4", label: "SPI0 on GPIO4-7 (pins 6-9)", miso: "pin_6", ss: "pin_7", sck: "pin_8", mosi: "pin_9" }, + { id: "spi0_gpio16", label: "SPI0 on GPIO16-19 (pins 27-30)", miso: "pin_27", ss: "pin_28", sck: "pin_29", mosi: "pin_30" }, + { id: "spi0_gpio20", label: "SPI0 on GPIO20-23 (pins 31-35)", miso: "pin_31", ss: "pin_32", sck: "pin_34", mosi: "pin_35" }, + ], + }), + "spi_0", + SPI_TRAITS(0, "Four fixed pin groups: GPIO0-3, GPIO4-7, GPIO16-19, GPIO20-23. Signals do not mix across groups arbitrarily — each GPIO carries exactly one fixed SPI0 signal."), +); + +const spi1 = amend( + SPI({ + id: "spi_1", + name: "SPI 1", + roles: ["master"], + clockFreqHz: [0, 62_500_000], + maxInstances: 1, + profiles: [ + { id: "spi1_gpio8", label: "SPI1 on GPIO8-11 (pins 11-14)", miso: "pin_11", ss: "pin_12", sck: "pin_13", mosi: "pin_14" }, + { id: "spi1_gpio12", label: "SPI1 on GPIO12-15 (pins 15-18)", miso: "pin_15", ss: "pin_16", sck: "pin_17", mosi: "pin_18" }, + { id: "spi1_gpio24", label: "SPI1 on GPIO24-27 (pins 36-39)", miso: "pin_36", ss: "pin_37", sck: "pin_38", mosi: "pin_39" }, + ], + }), + "spi_1", + SPI_TRAITS( + 1, + "Three complete fixed pin groups: GPIO8-11, GPIO12-15, GPIO24-27.", + "GPIO28/GPIO29 (pins 40/41) carry only SPI1_RX / SPI1_CSn — not a complete bus by themselves.", + ), +); + +// UART — two PL011 controllers; TX/RX on F2 with optional CTS/RTS on the +// adjacent F2 pins of the same group. +const UART_TRAITS = (n: 0 | 1, groups: string, partial?: string): TraitDef[] => [ + { + type: "controller_ip", + params: { ip: "Arm PL011", source: "RP2040 Datasheet §4.2; ProtoPart uart interface description" }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "gpio_funcsel_fixed", + combination_space: groups, + ...(partial ? { partial_groups: partial } : {}), + source: "RP2040 Datasheet §1.4.3 Table 2 (F2 column); ProtoPart per-pin function lists", + }, + }, + { + type: "flow_control", + params: { + note: `Optional hardware flow control via UART${n}_CTS / UART${n}_RTS on the corresponding F2 pins.`, + source: "ProtoPart uart interface description", + }, + }, +]; + +const uart0 = amend( + UART({ + id: "uart_0", + name: "UART 0", + maxInstances: 1, + profiles: [ + { id: "uart0_gpio0", label: "UART0 on GPIO0-3 (pins 2-5)", tx: "pin_2", rx: "pin_3", cts: "pin_4", rts: "pin_5" }, + { id: "uart0_gpio12", label: "UART0 on GPIO12-15 (pins 15-18)", tx: "pin_15", rx: "pin_16", cts: "pin_17", rts: "pin_18" }, + { id: "uart0_gpio16", label: "UART0 on GPIO16-19 (pins 27-30)", tx: "pin_27", rx: "pin_28", cts: "pin_29", rts: "pin_30" }, + { id: "uart0_gpio28", label: "UART0 on GPIO28/29 (pins 40/41, no flow control)", tx: "pin_40", rx: "pin_41" }, + ], + }), + "uart_0", + UART_TRAITS( + 0, + "Four fixed TX/RX groups: GPIO0/1, GPIO12/13, GPIO16/17, GPIO28/29 (CTS/RTS on GPIO2/3, GPIO14/15, GPIO18/19).", + "The GPIO28/29 group has no CTS/RTS pins.", + ), +); + +const uart1 = amend( + UART({ + id: "uart_1", + name: "UART 1", + maxInstances: 1, + profiles: [ + { id: "uart1_gpio4", label: "UART1 on GPIO4-7 (pins 6-9)", tx: "pin_6", rx: "pin_7", cts: "pin_8", rts: "pin_9" }, + { id: "uart1_gpio8", label: "UART1 on GPIO8-11 (pins 11-14)", tx: "pin_11", rx: "pin_12", cts: "pin_13", rts: "pin_14" }, + { id: "uart1_gpio20", label: "UART1 on GPIO20-23 (pins 31-35)", tx: "pin_31", rx: "pin_32", cts: "pin_34", rts: "pin_35" }, + { id: "uart1_gpio24", label: "UART1 on GPIO24-27 (pins 36-39)", tx: "pin_36", rx: "pin_37", cts: "pin_38", rts: "pin_39" }, + ], + }), + "uart_1", + UART_TRAITS(1, "Four fixed TX/RX groups: GPIO4/5, GPIO8/9, GPIO20/21, GPIO24/25 (CTS/RTS on GPIO6/7, GPIO10/11, GPIO22/23, GPIO26/27)."), +); + +// I2C — two DW_apb_i2c controllers. The ProtoPart definition models master +// and slave as separate interfaces per controller; they are merged here into +// one interface per controller with both roles (mirroring the gold-standard +// convention). SDA sits on even GPIOs, SCL on odd, alternating controllers +// every two GPIOs (F3). +const I2C_TRAITS = (n: 0 | 1, pairs: string): TraitDef[] => [ + { type: "display_notation", params: { latex: "I^{2}C" } }, + { + type: "controller_ip", + params: { + ip: "Synopsys DW_apb_i2c", + modes: ["standard-mode", "fast-mode", "fast-mode plus"], + source: "RP2040 Datasheet §4.3; ProtoPart i2c interface descriptions", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "gpio_funcsel_fixed", + combination_space: pairs, + source: "RP2040 Datasheet §1.4.3 Table 2 (F3 column); ProtoPart per-pin function lists", + }, + }, + { + type: "role_note", + params: { + note: `The ProtoPart definition models I2C ${n} master and slave as separate interfaces (i2c_${n}_master / i2c_${n}_slave); both are roles of the same DW_apb_i2c controller.`, + }, + }, + { type: "protopart_constraints", params: { requires_matching_voltage_domain: true } }, + { + type: "implied_passives", + params: { + purpose: "Open-drain bus pull-ups", + components: [{ kind: "resistor", value: "bus-speed dependent", connection: "SDA and SCL to the bus supply" }], + source: "I²C bus specification (open-drain bus) — not stated in the ProtoPart definition", + }, + }, +]; + +const i2c0 = amend( + I2C({ + id: "i2c_0", + name: "I2C 0", + roles: ["master", "slave"], + clockFreqHz: [100_000, 1_000_000], // standard / fast / fast-mode plus (mode names per ProtoPart; rates are the I2C-spec definitions of those modes) + maxInstances: 1, + profiles: [ + { id: "i2c0_gpio0", label: "I2C0 on GPIO0/1 (pins 2/3)", sda: "pin_2", scl: "pin_3" }, + { id: "i2c0_gpio4", label: "I2C0 on GPIO4/5 (pins 6/7)", sda: "pin_6", scl: "pin_7" }, + { id: "i2c0_gpio8", label: "I2C0 on GPIO8/9 (pins 11/12)", sda: "pin_11", scl: "pin_12" }, + { id: "i2c0_gpio12", label: "I2C0 on GPIO12/13 (pins 15/16)", sda: "pin_15", scl: "pin_16" }, + { id: "i2c0_gpio16", label: "I2C0 on GPIO16/17 (pins 27/28)", sda: "pin_27", scl: "pin_28" }, + { id: "i2c0_gpio20", label: "I2C0 on GPIO20/21 (pins 31/32)", sda: "pin_31", scl: "pin_32" }, + { id: "i2c0_gpio24", label: "I2C0 on GPIO24/25 (pins 36/37)", sda: "pin_36", scl: "pin_37" }, + { id: "i2c0_gpio28", label: "I2C0 on GPIO28/29 (pins 40/41)", sda: "pin_40", scl: "pin_41" }, + ], + }), + "i2c_0", + I2C_TRAITS(0, "Eight fixed SDA/SCL pairs: GPIO0/1, 4/5, 8/9, 12/13, 16/17, 20/21, 24/25, 28/29."), +); + +const i2c1 = amend( + I2C({ + id: "i2c_1", + name: "I2C 1", + roles: ["master", "slave"], + clockFreqHz: [100_000, 1_000_000], + maxInstances: 1, + profiles: [ + { id: "i2c1_gpio2", label: "I2C1 on GPIO2/3 (pins 4/5)", sda: "pin_4", scl: "pin_5" }, + { id: "i2c1_gpio6", label: "I2C1 on GPIO6/7 (pins 8/9)", sda: "pin_8", scl: "pin_9" }, + { id: "i2c1_gpio10", label: "I2C1 on GPIO10/11 (pins 13/14)", sda: "pin_13", scl: "pin_14" }, + { id: "i2c1_gpio14", label: "I2C1 on GPIO14/15 (pins 17/18)", sda: "pin_17", scl: "pin_18" }, + { id: "i2c1_gpio18", label: "I2C1 on GPIO18/19 (pins 29/30)", sda: "pin_29", scl: "pin_30" }, + { id: "i2c1_gpio22", label: "I2C1 on GPIO22/23 (pins 34/35)", sda: "pin_34", scl: "pin_35" }, + { id: "i2c1_gpio26", label: "I2C1 on GPIO26/27 (pins 38/39)", sda: "pin_38", scl: "pin_39" }, + ], + }), + "i2c_1", + I2C_TRAITS(1, "Seven fixed SDA/SCL pairs: GPIO2/3, 6/7, 10/11, 14/15, 18/19, 22/23, 26/27."), +); + +// PWM — one block: 8 slices × 2 channels (A/B) = 16 channels, every bank-0 +// GPIO carrying exactly one fixed channel via F4. +const PWM_CHANNEL_TAGS = [ + "pwm0_a", "pwm0_b", "pwm1_a", "pwm1_b", "pwm2_a", "pwm2_b", "pwm3_a", "pwm3_b", + "pwm4_a", "pwm4_b", "pwm5_a", "pwm5_b", "pwm6_a", "pwm6_b", "pwm7_a", "pwm7_b", +]; + +const pwm = composed({ + id: "pwm", + name: "PWM", + protocolType: "pwm", + roles: ["output"], + slots: PWM_CHANNEL_TAGS.map((tag): SlotDef => ({ + id: tag, + required: false, + match: { protocol: "pwm", role: "output", capability: tag }, + })), + maxInstances: 1, + traits: [ + { + type: "channels", + params: { + count: 16, + detail: + "16 channels arranged as 8 slices × 2 channels (A/B). Each slice has an independent 16-bit counter with an 8.4 fractional clock divider (8 integer + 4 fractional bits, Datasheet §4.5.1 / DIV register); channels A and B share the counter but have independent compare registers.", + mapping: + "Slice = floor(GPIO/2) mod 8; channel A on even GPIOs, B on odd. GPIO16-29 repeat slices 0-6, so PWM0_A appears on GPIO0 and GPIO16, etc.; PWM7_A/B appear only on GPIO14/15.", + source: "ProtoPart pwm interface description / RP2040 Datasheet §4.5", + }, + }, + { + type: "measurement_input", + params: { + note: "The B channel can also serve as a frequency / duty-cycle measurement input.", + source: "ProtoPart pwm interface description", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "gpio_funcsel_fixed", + combination_space: + "Any bank-0 GPIO via F4; the per-pin PWMn_A/PWMn_B capability tag identifies which slice/channel that pin carries.", + }, + }, + { + type: "application_note", + params: { + note: "8.4 fractional clock dividers (Datasheet §4.5.1) easily cover 22-25 kHz / 12-bit duty applications.", + source: "ProtoPart usage_notes (divider width corrected to the datasheet's 8.4 fractional divider)", + }, + }, + ], +}); + +// PIO — two programmable-I/O blocks, four state machines each (eight user +// state machines total). Any bank-0 GPIO is reachable — the RP2040's +// matrix-analogue combination space. +function pio(n: 0 | 1): InterfaceDef { + return composed({ + id: `pio${n}`, + name: `PIO${n} (Programmable I/O Block ${n})`, + protocolType: "pio", + roles: ["input", "output"], + slots: [ + { id: "gpio", required: false, count: 30, match: { capability: `pio${n}` } }, + ], + maxInstances: 4, // state machines in this block + traits: [ + { + type: "channels", + params: { + count: 4, + detail: "Four user-programmable I/O state machines per block; eight total across PIO0/PIO1.", + source: "ProtoPart metadata description / usage_notes", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 4, + routing: "gpio_funcsel_fixed", + combination_space: `Any bank-0 GPIO (GPIO0-29) via funcsel F${6 + n}; QSPI-bank pads are not reachable.`, + }, + }, + { + type: "application_note", + params: { + note: "Especially good for protocols not natively supported: I2S, SK6812 / WS2812 LED data, parallel pixel buses (CSI/DPI capture), software USB host.", + source: "ProtoPart usage_notes / application_examples", + }, + }, + ], + }); +} + +// WS2812 / NeoPixel driver — a PIO application the ProtoPart definition +// promotes to a first-class interface (datasheet §3.6.2). +const ws2812 = composed({ + id: "ws2812", + name: "NeoPixel / WS2812B LED Control", + protocolType: "digital", + roles: ["transmitter"], + parameters: [ + { id: "bit_rate", name: "NRZ wire bit rate", unit: "Hz", value: 800_000 }, + ], + slots: [ + // The `pio0` tag spans exactly the 30 bank-0 GPIOs — the honest pin space + // (the program can run on either PIO block; QSPI pads are unreachable). + { id: "data", required: true, match: { protocol: "digital", role: "output", capability: "pio0" } }, + ], + maxInstances: 8, // bounded by the eight PIO state machines + traits: [ + { + type: "implemented_by", + params: { + note: "WS2812 / NeoPixel-family LED data line driver implemented via a PIO state machine (Datasheet §3.6.2 'WS2812 LEDs'); bit timing is held in the PIO program. One bank-0 GPIO drives a daisy-chain of LEDs using the canonical ~800 kbit/s NRZ wire protocol.", + consumes: "one PIO state machine per instance", + source: "ProtoPart ws2812 interface description", + }, + }, + { + type: "instance_combinations", + params: { + instances_in_silicon: 8, + routing: "gpio_funcsel_fixed", + combination_space: "Any GPIO0-29 can serve as the data pin.", + }, + }, + ], +}); + +// QSPI flash bus — the XIP boot path. Dedicated bank-1 pads; mandatory for +// running user code. +const qspiFlash = composed({ + id: "qspi_flash", + name: "Quad-SPI (XIP Flash Bus)", + protocolType: "spi", + roles: ["master"], + parameters: [ + { id: "max_data_rate", name: "Max data rate (QSPI quad-SDR)", unit: "bit/s", value: 133_000_000 }, + ], + slots: [ + { id: "sclk", required: true, match: { protocol: "spi", role: "clock", capability: "qspi_sclk" } }, + { id: "ss_n", required: true, match: { protocol: "spi", role: "select", capability: "qspi_ss_n" } }, + { id: "sd0", required: true, match: { capability: "qspi_sd0" } }, + { id: "sd1", required: true, match: { capability: "qspi_sd1" } }, + { id: "sd2", required: true, match: { capability: "qspi_sd2" } }, + { id: "sd3", required: true, match: { capability: "qspi_sd3" } }, + ], + profiles: [ + { + id: "qspi_flash_fixed", + label: "Dedicated QSPI pads (pins 51-56)", + default_active: true, + bindings: { + sclk: "pin_52", + ss_n: "pin_56", + sd0: "pin_53", + sd1: "pin_55", + sd2: "pin_54", + sd3: "pin_51", + }, + }, + ], + maxInstances: 1, + defaultActive: true, + traits: [ + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "dedicated_pads", + combination_space: "Exactly one pin set — the QSPI flash bus is not muxed onto bank-0 GPIOs.", + }, + }, + { + type: "co_requirement", + params: { + with: "external QSPI flash", + condition: "always", + effect: + "External QSPI flash is mandatory — the RP2040 has no internal flash and cannot boot or run user code without it (typically 2-16 MB). Use a flash compatible with the chip's XIP boot ROM (typically Winbond W25Q-series).", + source: "ProtoPart qspi_flash description / design_rules / warnings", + }, + }, + { type: "protopart_constraints", params: { requires_matching_voltage_domain: true } }, + ], +}); + +// USB 1.1 PHY — one PHY, two mutually exclusive modes. The ProtoPart +// definition models device and host as separate interfaces; the +// `usb_phy_mode` interface group below enforces one-of. +function usbMode(mode: "device" | "host", traits: TraitDef[]): InterfaceDef { + return composed({ + id: `usb_${mode}`, + name: mode === "device" ? "USB 1.1 Device" : "USB 1.1 Host", + protocolType: "usb", + roles: [mode], + slots: [ + { id: "dp", required: true, match: { protocol: "usb", role: "data_plus", capability: "usb_dp" } }, + { id: "dm", required: true, match: { protocol: "usb", role: "data_minus", capability: "usb_dm" } }, + ], + profiles: [ + { + id: `usb_${mode}_pins`, + label: "USB_DP / USB_DM (pins 47/46)", + bindings: { dp: "pin_47", dm: "pin_46" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "co_requirement", + params: { + with: "pin_48", + condition: "always", + effect: "The USB PHY is powered from the dedicated USB_VDD rail (3.135-3.63 V).", + }, + }, + { + type: "co_requirement", + params: { + with: mode === "device" ? "usb_host" : "usb_device", + condition: `usb_${mode === "device" ? "host" : "device"} active`, + effect: "One PHY: device and host modes are mutually exclusive (see the usb_phy_mode interface group).", + }, + }, + ...traits, + ], + }); +} + +const usbDevice = usbMode("device", [ + { + type: "boot_rom_role", + params: { + note: "In device mode used for the BOOTSEL UF2 mass-storage interface and user firmware CDC/HID.", + source: "ProtoPart usb_device description", + }, + }, +]); + +const usbHost = usbMode("host", [ + { + type: "operating_modes", + params: { + modes: ["full-speed", "low-speed"], + note: "USB 1.1 host mode supports Full Speed and Low Speed devices (software stack required).", + source: "RP2040 Datasheet Table 1 / §1.2 ('Full Speed device and Full/Low Speed host') — corrects the ProtoPart usb_host description's 'full-speed only'", + }, + }, +]); + +// USB VBUS management — F9 mux signals, each available on ten fixed GPIOs. +function usbMgmt(config: { + id: string; + name: string; + cap: string; + role: "input" | "output"; + gpios: string; + description: string; +}): InterfaceDef { + return composed({ + id: config.id, + name: config.name, + protocolType: "digital", + roles: [config.role], + slots: [{ id: "signal", required: true, match: { capability: config.cap } }], + maxInstances: 1, + traits: [ + { + type: "instance_combinations", + params: { + instances_in_silicon: 1, + routing: "gpio_funcsel_fixed", + combination_space: config.gpios, + source: "RP2040 Datasheet §1.4.3 Table 2 (F9 column); ProtoPart interface description", + }, + }, + { type: "description", params: { note: config.description } }, + ], + }); +} + +const usbVbusDetect = usbMgmt({ + id: "usb_vbus_detect", + name: "USB VBUS Detect", + cap: "usb_vbus_det", + role: "input", + gpios: "Available on GPIO1, 4, 7, 10, 13, 16, 19, 22, 25, 28 per Datasheet Table 2.", + description: + "USB VBUS detection input via GPIO F9 mux (USB_VBUS_DET). Read this signal to know when the USB host is providing bus power.", +}); + +const usbVbusEnable = usbMgmt({ + id: "usb_vbus_enable", + name: "USB VBUS Enable", + cap: "usb_vbus_en", + role: "output", + gpios: "Available on GPIO2, 5, 8, 11, 14, 17, 20, 23, 26, 29 per Datasheet Table 2.", + description: + "USB VBUS enable output via GPIO F9 mux (USB_VBUS_EN). Drives an external USB host power switch (e.g. TPS2051) in host mode.", +}); + +const usbOvercurrentDetect = usbMgmt({ + id: "usb_overcurrent_detect", + name: "USB Over-current Detect", + cap: "usb_ovcur_det", + role: "input", + gpios: "Available on GPIO0, 3, 6, 9, 12, 15, 18, 21, 24, 27 per Datasheet Table 2.", + description: + "USB over-current detection input via GPIO F9 mux (USB_OVCUR_DET). Reads the active-low overcurrent flag from an external USB power switch in host mode.", +}); + +// General-purpose clock I/O — F8 mux: two GPIN slots, four GPOUT slots, each +// fixed to one GPIO. (The ProtoPart definition types these as digital +// interfaces; they are modelled here with the clock protocol, matching the +// gold-standard convention for clock pins.) +const clockGpInput = composed({ + id: "clock_gp_input", + name: "Clock GP Input", + protocolType: "clock", + roles: ["input"], + slots: [{ id: "in", required: true, match: { capability: "clock_gpin" } }], + profiles: [ + { id: "clock_gpin0", label: "CLOCK_GPIN0 (GPIO20, pin 31)", bindings: { in: "pin_31" } }, + { id: "clock_gpin1", label: "CLOCK_GPIN1 (GPIO22, pin 34)", bindings: { in: "pin_34" } }, + ], + maxInstances: 2, + traits: [ + { + type: "instance_combinations", + params: { + instances_in_silicon: 2, + routing: "gpio_funcsel_fixed", + combination_space: "CLOCK_GPIN0 on GPIO20 (pin 31), CLOCK_GPIN1 on GPIO22 (pin 34) via F8 — no other pins.", + source: "RP2040 Datasheet §1.4.3 Table 3 / §2.15.2; ProtoPart clock_gp_input description", + }, + }, + { + type: "description", + params: { + note: "Routes an external clock signal into the chip's clocks block as an alternative reference (e.g. to drive clk_ref or feed the frequency counter).", + }, + }, + ], +}); + +const clockGpOutput = composed({ + id: "clock_gp_output", + name: "Clock GP Output", + protocolType: "clock", + roles: ["output"], + slots: [{ id: "out", required: true, match: { capability: "clock_gpout" } }], + profiles: [ + { id: "clock_gpout0", label: "CLOCK_GPOUT0 (GPIO21, pin 32)", bindings: { out: "pin_32" } }, + { id: "clock_gpout1", label: "CLOCK_GPOUT1 (GPIO23, pin 35)", bindings: { out: "pin_35" } }, + { id: "clock_gpout2", label: "CLOCK_GPOUT2 (GPIO24, pin 36)", bindings: { out: "pin_36" } }, + { id: "clock_gpout3", label: "CLOCK_GPOUT3 (GPIO25, pin 37)", bindings: { out: "pin_37" } }, + ], + maxInstances: 4, + traits: [ + { + type: "instance_combinations", + params: { + instances_in_silicon: 4, + routing: "gpio_funcsel_fixed", + combination_space: + "CLOCK_GPOUT0-3 fixed to GPIO21 (pin 32), GPIO23 (pin 35), GPIO24 (pin 36), GPIO25 (pin 37) via F8.", + source: "RP2040 Datasheet §1.4.3 Table 3 / §2.15.2; ProtoPart clock_gp_output description", + }, + }, + { + type: "description", + params: { + note: "Drives any selected internal clock (PLL outputs, clk_sys, etc.) onto a GPIO with optional integer divide, for use by other parts.", + }, + }, + ], +}); + +// Crystal oscillator — Pierce XOSC on the dedicated XIN/XOUT pads. +const crystalOscillator = composed({ + id: "crystal_oscillator", + name: "External Crystal Oscillator (XOSC)", + protocolType: "clock", + roles: ["input"], + parameters: [clockFreqHz(12_000_000)], // the USB bootloader requires 12 MHz + slots: [ + { id: "xin", required: true, match: { protocol: "clock", role: "input", capability: "xtal_in" } }, + // Optional: left open when XIN is driven by a single-ended CMOS clock. + { id: "xout", required: false, match: { protocol: "clock", role: "output", capability: "xtal_out" } }, + ], + profiles: [ + { + id: "xosc_pins", + label: "XIN/XOUT (pins 20/21)", + default_active: true, + bindings: { xin: "pin_20", xout: "pin_21" }, + }, + ], + maxInstances: 1, + defaultActive: true, + traits: [ + { + type: "oscillator_topology", + params: { + note: "Pierce-type crystal oscillator (XOSC, Datasheet §2.16). XIN and XOUT form the inverter terminals of an on-chip Pierce circuit driving an external crystal. Drives clk_ref / the PLLs.", + source: "ProtoPart crystal_oscillator description", + }, + }, + { + type: "implied_passives", + params: { + purpose: "Crystal load", + components: [ + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "XIN to GND" }, + { kind: "capacitor", value: "per crystal vendor C_L spec", connection: "XOUT to GND" }, + ], + source: "ProtoPart crystal_oscillator description ('external crystal with two load capacitors to ground')", + }, + }, + { + type: "co_requirement", + params: { + with: "usb_device, usb_host", + condition: "USB bootloader / USB in use", + effect: + "The USB bootloader requires a 12 MHz crystal (or a 12 MHz CMOS clock driven into XIN with XOUT left open, per §1.4.2 / §2.16.2).", + source: "ProtoPart pin 20 / crystal_oscillator descriptions", + }, + }, + { + type: "alternative_drive", + params: { + note: "XIN may instead be driven by a single-ended CMOS clock with XOUT disconnected.", + }, + }, + ], +}); + +// SWD — dedicated two-wire debug port to both Cortex-M0+ cores. +const swd = composed({ + id: "swd", + name: "SWD (Serial Wire Debug)", + protocolType: "swd", + roles: ["target"], + slots: [ + { id: "swclk", required: true, match: { capability: "swd_clk" } }, + { id: "swdio", required: true, match: { capability: "swd_io" } }, + ], + profiles: [ + { id: "swd_pins", label: "SWCLK/SWDIO (pins 24/25)", bindings: { swclk: "pin_24", swdio: "pin_25" } }, + ], + maxInstances: 1, + traits: [ + { + type: "description", + params: { + note: "Serial Wire Debug interface to both Cortex-M0+ cores (Datasheet §2.3.4). Dedicated multi-drop SWD bus on SWCLK (pin 24) and SWDIO (pin 25), each with internal pull-up at reset. Used for debugging and to download code over the bus.", + source: "ProtoPart swd interface description", + }, + }, + ], +}); + +// RUN reset — the ProtoPart `reset_input` interface. +const resetInput = composed({ + id: "reset_input", + name: "RUN Reset", + protocolType: "digital", + roles: ["input"], + slots: [{ id: "run", required: true, match: { capability: "run_reset" } }], + profiles: [ + { id: "run_pin", label: "RUN (pin 26)", default_active: true, bindings: { run: "pin_26" } }, + ], + maxInstances: 1, + defaultActive: true, + traits: [ + { + type: "description", + params: { + note: "Active-low RUN pin (pin 26). Drive low to hold the RP2040 in reset; has internal pull-up so it can be left unconnected or tied to IOVDD for autonomous power-on reset.", + source: "ProtoPart reset_input description", + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Mechanical / thermal +// --------------------------------------------------------------------------- + +const footprintMount: InterfaceDef = { + id: "footprint_mounting", + name: "QFN-56 7×7 mm Surface-Mount Footprint", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["qfn56_7x7_0p4mm", "surface_mount"], + traits: [ + { + type: "assembly_requirement", + params: { + note: "Reflow solder to the QFN-56 land pattern. The center exposed pad must be soldered to the PCB ground plane and stitched with thermal vias for heat dissipation and electrical ground continuity.", + source: "ProtoPart footprint_mounting description", + }, + }, + ], +}; + +const thermalPad: InterfaceDef = { + id: "thermal_pad", + name: "Exposed Thermal Pad", + pin: 57, + domain: "thermal", + exposed: true, + default_active: true, + protocols: [{ type: "thermal_connection", roles: ["thermal_source"] }], + capabilities: ["heat_sink", "pcb_thermal_plane"], + traits: [ + { + type: "assembly_requirement", + params: { + note: "Same physical pad as pad_gnd (the single external ground connection); primary heat path to the PCB ground plane via thermal vias.", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const RP2040: ModuleDef = defineModule({ + id: "rp2040", + name: "Raspberry Pi RP2040", + version: "2.0.0", + manufacturer: "Raspberry Pi", + part_number: "RP2040", + description: + "Bare-chip dual-core Arm Cortex-M0+ microcontroller in QFN-56 7×7 mm package. 264 KB SRAM with NO internal flash (external QSPI flash required for code execution via XIP). 30 multi-function GPIOs (GPIO0..GPIO29), 2x UART, 2x I2C, 2x SPI, 16 PWM channels (8 slices), 4-channel 12-bit ADC, USB 1.1 host/device PHY, and 8 user-programmable I/O state machines (PIO) across two PIO blocks. Flexible system clock up to 133 MHz default.", + tags: [ + "rp2040", + "raspberry-pi", + "microcontroller", + "arm-cortex-m0", + "dual-core", + "qfn-56", + "pio", + "usb", + "bare-chip", + ], + categories: ["microcontroller.raspberry_pi"], + + interfaces: [ + // All 57 physical pads in package order — schematic-honest. + ...pins, + + // Analog + adc, + + // Serial / bus controllers + ...spi0, + ...spi1, + ...uart0, + ...uart1, + ...i2c0, + ...i2c1, + qspiFlash, + + // Timers / programmable I/O + pwm, + pio(0), + pio(1), + ws2812, + + // USB fabric + usbDevice, + usbHost, + usbVbusDetect, + usbVbusEnable, + usbOvercurrentDetect, + + // Clocks / debug / reset + clockGpInput, + clockGpOutput, + crystalOscillator, + swd, + resetInput, + + // Mechanical / thermal + footprintMount, + thermalPad, + ], + + interfaceGroups: [ + { + id: "required_power_pins", + label: "Required Power Pins", + // IOVDD ×6, DVDD ×2, USB_VDD (must be supplied even if USB is unused — + // ProtoPart warnings), and the exposed ground pad. VREG_VIN (pin 44) is + // required only when the internal core LDO feeds DVDD; ADC_AVDD (pin 43) + // is the ADC supply — the ProtoPart definition does not state either as + // unconditionally required, so they are deliberately not listed here. + members: [ + "pin_1", "pin_10", "pin_22", "pin_23", "pin_33", "pin_42", + "pin_48", "pin_49", "pin_50", "pad_gnd", + ], + policy: "all_of", + }, + { + id: "iovdd_common_net", + label: "IOVDD Pins (one 1.8-3.3 V rail)", + members: ["pin_1", "pin_10", "pin_22", "pin_33", "pin_42", "pin_49"], + policy: "all_of", + }, + { + id: "dvdd_common_net", + label: "DVDD Pins (one 1.1 V core rail)", + members: ["pin_23", "pin_50"], + policy: "all_of", + }, + { + id: "qspi_flash_pins", + label: "Dedicated QSPI Flash Pins", + members: ["pin_51", "pin_52", "pin_53", "pin_54", "pin_55", "pin_56"], + policy: "all_of", + }, + { + id: "usb_phy_mode", + label: "USB PHY Mode (one PHY: device or host)", + members: ["usb_device", "usb_host"], + policy: "one_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "IOVDD digital I/O ring: six pins (1, 10, 22, 33, 42, 49) tied to one 1.8-3.3 V rail (typical 3.3 V) — mixing rails is not supported. Sets the logic level for all GPIOs and the QSPI interface.", + voltage_V: [1.8, 3.3], + current_mA: 50, + }, + { + type: "power", + description: + "DVDD digital core: 1.05-1.16 V (typ 1.1 V, Table 634) on pins 23 and 50 — from VREG_VOUT (typical; VREG_VIN accepts 1.8-3.3 V) or an external 1.1 V regulator. Must not be left floating.", + voltage_V: [1.05, 1.16], + current_mA: 100, + }, + { + type: "power", + description: + "USB_VDD: dedicated 3.135-3.63 V (typ 3.3 V) supply for the USB 1.1 PHY (pin 48). Must be supplied even if USB is unused.", + voltage_V: [3.135, 3.63], + current_mA: 30, + }, + { + type: "interface", + description: + "No internal flash: the chip cannot boot or run user code without an external QSPI flash (typically 2-16 MB, Winbond W25Q-series compatible with the XIP boot ROM) on the dedicated QSPI pads (pins 51-56).", + interface_protocol: "spi", + }, + { + type: "interface", + description: + "A 12 MHz crystal between XIN/XOUT (or a 12 MHz CMOS clock into XIN with XOUT open) is required for the USB bootloader.", + interface_protocol: "clock", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { id: "iovdd", name: "IOVDD Digital I/O Supply", nominal_voltage_V: 3.3, voltage_range_V: IOVDD_RANGE, max_current_mA: 50 }, + { id: "dvdd", name: "DVDD Digital Core Supply", nominal_voltage_V: 1.1, voltage_range_V: DVDD_RANGE, max_current_mA: 100 }, + { id: "vreg_vin", name: "Core LDO Input", nominal_voltage_V: 3.3, voltage_range_V: VREG_VIN_RANGE, max_current_mA: 100, regulation_type: "regulated" }, + { id: "usb_vdd", name: "USB PHY Supply", nominal_voltage_V: 3.3, voltage_range_V: USB_VDD_RANGE, max_current_mA: 30 }, + { id: "adc_avdd", name: "ADC Analog Supply", nominal_voltage_V: 3.3, voltage_range_V: ADC_AVDD_RANGE, max_current_mA: 5 }, + { id: "gnd", name: "Ground (exposed pad)", nominal_voltage_V: 0, voltage_range_V: [0, 0], max_current_mA: 1000 }, + ], + metadata: { + pin_count: 56, + package_pins: "56 perimeter pins + exposed ground pad", + cpu: "Dual-core Arm Cortex-M0+, up to 133 MHz default system clock", + sram_KB: 264, + internal_flash: "none — external QSPI flash required (XIP)", + supply_voltage_V: [1.8, 3.3], + power_consumption_mW: 132, + max_operating_freq_Hz: 133_000_000, + supports_usb: true, + supports_hot_plug: false, + // Verbatim ProtoPart power-domain descriptions with no PowerDomainDef home: + power_domain_details: { + iovdd: + "Digital I/O ring supply (six pins: 1, 10, 22, 33, 42, 49). Sets logic level for all 30 GPIOs and QSPI flash interface. Typical 3.3 V; 1.8 V supported for low-voltage I/O. Non-isolated, common ground reference.", + dvdd: + "1.1 V digital core supply (pins 23 and 50). Normally driven by the on-chip core LDO from VREG_VOUT, but can be supplied externally. Per datasheet Table 634, DVDD must be 1.05-1.16 V (typ 1.1 V).", + vreg_vin: + "VREG_VIN input to the on-chip core voltage regulator (1.8-3.3 V). VREG_VOUT delivers ~1.1 V to DVDD.", + usb_vdd: + "Dedicated 3.3 V supply for the USB 1.1 PHY (USB_VDD pin 48). Per datasheet Table 634: 3.135-3.63 V (typ 3.3 V). Decouple separately from IOVDD.", + adc_avdd: + "Analog supply / reference for the 12-bit ADC (ADC_AVDD pin 43). Per datasheet Table 634: 1.62-3.63 V (typ 3.3 V); ADC performance is compromised below 2.97 V (datasheet §2.9.5). Filter from main 3V3 with ferrite bead to maximize ENOB.", + gnd: + "Common ground via the QFN-56 exposed thermal pad (center). Single external ground connection per datasheet §1.4.2; bonded to a number of internal ground pads on the RP2040 die.", + }, + source: "ProtoPart electrical domain (power_domains + metadata); RP2040 Datasheet Table 634", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 7, width: 7, height: 0.9 }, + metadata: { + package_type: "QFN-56 (7x7) EP", + pitch_mm: 0.4, + exposed_pad_mm: "3.0-3.2 (nominal 3.1) square (Datasheet §5.1 D2/E2)", + max_height_mm: 0.9, // Datasheet Table §5.1: A max 0.900 mm + mounting_method: "surface_mount", + enclosure_type: "ic_package", + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + metadata: { + thermal_design_power_W: 0.13, + requires_thermal_management: false, + thermal_monitoring_available: true, // internal temperature sensor on the ADC + cooling_method: "passive", + primary_heat_path: "exposed_pad_to_pcb_ground_plane", + }, + }, + ], + + traits: [ + { type: "requires_external_flash", params: { interfaceId: "qspi_flash", defaultProfile: "qspi_flash_fixed" } }, + { + type: "bare_chip_notice", + params: { + note: "This is the bare RP2040 chip, not a Pico board. There is no dedicated USB_BOOT pin — the board-level BOOTSEL button on the Pi Pico is wired to QSPI_SS_N (pin 56). Bare-chip BOOTSEL entry is via a pushbutton on QSPI_CS.", + source: "ProtoPart usage_notes / warnings", + }, + }, + { + type: "compatibility_notes", + params: { + note: "Pin-compatible only with itself (RP2040). The RP2350 successor uses a different package (QFN-60) and is NOT a drop-in replacement. Most RP2040 reference layouts (Pico, Pico W, Adafruit Feather RP2040) are good starting points for new designs.", + }, + }, + { + type: "design_rules", + params: { + source: "ProtoPart definition design_rules (verbatim)", + rules: [ + "Tie all six IOVDD pins (1, 10, 22, 33, 42, 49) to the same supply rail (1.8 V or 3.3 V). Mixing rails on IOVDD pins is not supported.", + "Bypass each supply pin with a 100 nF ceramic close to the pin. Place a 1 uF bulk cap on each rail group.", + "DVDD (pins 23, 50) must be supplied either by VREG_VOUT (typical) or an external 1.1 V regulator. Keep DVDD within 1.05-1.16 V per datasheet Table 634 (use 1.15 V if running clk_sys at 200 MHz).", + "Connect the QFN-56 center pad to the PCB ground plane with multiple thermal vias for both heat dissipation and ground reference integrity. This pad is the single external ground connection on the bare chip.", + "External QSPI flash is mandatory — the RP2040 has no internal flash. Use a flash compatible with the chip's XIP boot ROM (typically Winbond W25Q-series).", + "Keep VREG_VOUT decoupling close to pin 45 and route to both DVDD pins (23, 50) with low impedance.", + "Filter ADC_AVDD (pin 43) with a ferrite bead from 3V3 plus 1 uF + 100 nF for best ENOB.", + "USB_VDD (pin 48) must come from the same 3.3 V rail with its own decoupling; route USB_DP/USB_DM (pins 47/46) as a 90 ohm differential pair (Hardware Design with RP2040 §2.4.1) with 27 ohm series termination resistors per datasheet §1.4.2.", + "Tie TESTEN (pin 19) to GND in production designs; floating TESTEN may cause incorrect boot behavior.", + "To support firmware loading via the USB BOOTSEL UF2 path at the board level, route QSPI_SS_N (pin 56) through a momentary pushbutton-to-GND. Pulling QSPI_CS low during reset forces the boot ROM into UF2 mass-storage mode.", + ], + }, + }, + { + type: "warnings", + params: { + source: "ProtoPart definition warnings (verbatim)", + warnings: [ + "No internal flash. The chip cannot boot or run user code without an external QSPI flash (typically 2-16 MB).", + "All GPIO are 3.3 V (or 1.8 V) digital — NOT 5 V tolerant. Apply level shifting for 5 V signals.", + "The voltage on ADC inputs must not exceed IOVDD — voltages above IOVDD leak through the ESD protection diodes (Datasheet §2.9.5 note; absolute maximum pin voltage IOVDD + 0.5 V per Table 622). [Corrected from the ProtoPart 'clamped to ADC_AVDD + 0.3 V' wording.]", + "DVDD pins (23, 50) must not be left floating. Connect to VREG_VOUT (typical) or an external 1.1 V supply.", + "The exposed center pad must be soldered to ground — it is the single external GND connection. Leaving it floating violates ground reference, increases noise, and degrades thermal performance.", + "USB_VDD must be supplied even if USB is unused; otherwise the USB PHY draws leakage current that may keep the chip from entering low-power states cleanly.", + "TESTEN (pin 19) must be tied to GND. A floating TESTEN can place the chip in factory test mode and prevent normal boot.", + "There is no dedicated USB_BOOT pin on the bare RP2040 chip. The board-level BOOTSEL button on the Pi Pico is wired to QSPI_CS (pin 56), not to a separate USB_BOOT pin.", + ], + }, + }, + { + type: "usage_notes", + params: { + source: "ProtoPart definition usage_notes (verbatim)", + note: "Bare-chip dual-core Cortex-M0+ at 133 MHz with 264 KB SRAM. Requires external QSPI flash for user code (no internal flash). Strong PIO subsystem (8 user state machines) makes it especially good for protocols not natively supported (I2S, SK6812 / WS2812 LED data, parallel pixel buses, software USB host). 16 PWM channels (8 slices x A/B) with 8.4 fractional clock dividers (Datasheet §4.5.1) — easily covers 22-25 kHz / 12-bit duty applications. 4-channel 12-bit ADC plus internal temperature sensor; effective ENOB ~9 bits without filtering. USB 1.1 PHY supports both device (BOOTSEL UF2 + user CDC/HID) and host modes. SWD debug via SWCLK (pin 24) / SWDIO (pin 25). Bare-chip BOOTSEL entry is via a pushbutton on QSPI_CS (pin 56), not a dedicated USB_BOOT pin — that pin only exists on board-level products like the Pi Pico.", + }, + }, + { + type: "application_examples", + params: { + source: "ProtoPart definition application_examples (verbatim)", + examples: [ + "Audio effects co-processor with PIO-based I2S receive and bass-band FFT envelope tracking", + "Multi-channel SK6812 / WS2812 LED ring driver via PIO", + "Cost-sensitive USB MIDI / HID device", + "Closed-loop coil drivers (e.g. 22-25 kHz / 12-bit duty PWM into MOSFET gates)", + "Educational and hobbyist Pico-class boards", + "Industrial sensor hubs with parallel CSI / DPI capture via PIO", + "I2C peripheral acting as command relay between a host MCU/BT SoC and on-board effects engine", + ], + }, + }, + { + type: "terminology_policy", + params: { + note: "Signal and function names in `rp2040_pin_functions` traits are ProtoPart/datasheet-verbatim and intentionally NOT normalised to a curated whitelist; canonical capability tags exist only where slot matching requires them. The ProtoPart per-pin generic entries (pwm_out, CLOCK_GPIN, CLOCK_GPOUT, SIO, PIO0, PIO1) are represented as capability tags plus the F4/F5/F6/F7/F8 rows of each pin's function list.", + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "RP2040 Datasheet", + type: "datasheet", + url: "https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf", + }, + { + id: "art_hardware_design", + name: "Hardware Design with RP2040", + type: "datasheet", + url: "https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040.pdf", + }, + { + id: "art_product_page", + name: "Raspberry Pi RP2040 product page", + type: "documentation", + url: "https://www.raspberrypi.com/products/rp2040/", + }, + { + id: "art_mfg_image", + name: "RP2040 manufacturer photo (DigiKey)", + type: "custom", + filePath: "./ProtoPart/protoparts/rp2040/artifacts/images/MFG_RP2040.jpg", + mimeType: "image/jpeg", + tags: ["image", "product-photo"], + }, + { + id: "art_snapeda", + name: "SnapEDA part page", + type: "cad", + url: "https://www.snapeda.com/parts/SC0914(13)/Raspberry%20Pi/view-part/?ref=digikey", + }, + { + id: "art_ultralibrarian", + name: "UltraLibrarian part page", + type: "cad", + url: "https://app.ultralibrarian.com/details/A6F27E67-2E9C-11ED-B159-0A34D6323D74/Raspberry-Pi/SC0914-13-?ref=digikey", + }, + { + id: "art_digikey_forum_compare", + name: "DigiKey forum: SC0914-7 vs SC0914-13", + type: "documentation", + url: "https://forum.digikey.com/t/sc0914-7-vs-sc0914-13-raspberry-pi-comparison/19824", + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/rp2040/artifacts/thumbnail.png b/library/parts/rp2040/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..15302135a9b1b1814c3c24296ed6c18e5f42131c GIT binary patch literal 95603 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

-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 (i.id === id ? withTraits(i, traits) : i)); +} + +/** + * 5V power in — JSON requires one power_input + one ground. Both the USB-C + * receptacle and the 5V pad expose power_input on the usb_5v domain, so both + * routings are modeled as profiles. + */ +const powerInUsb = composed({ + id: "power_in_usb", + name: "5V power in", + protocolType: "power", + roles: ["input"], + parameters: [voltageRangeV(USB_5V_RANGE[0], USB_5V_RANGE[1], 5), maxCurrentA(USB_5V_MAX_A)], + slots: [ + { id: "vin", required: true, match: { protocol: "power", role: "input", capability: "power_5v_in" } }, + { id: "gnd", required: true, match: { capability: "ground" } }, + ], + profiles: [ + { + id: "power_in_via_usb_c", + label: "USB-C VBUS + connector ground", + bindings: { vin: "usb_c", gnd: "usb_c" }, + }, + { + id: "power_in_via_5v_pad", + label: "5V edge pad + GND edge pad", + bindings: { vin: "pin_5v", gnd: "gnd_pin" }, + }, + ], + maxInstances: 1, + traits: [ + { + type: "supply_budget", + params: { + note: "USB 5V available current depends on the upstream USB source and any onboard protection; treat 500mA as a USB2.0 default-budget, not a guaranteed board output capability.", + source: `${SOURCE}, warnings`, + }, + }, + ], +}); + +/** 3.3V power out — JSON requires one power_output + one ground. */ +const powerOut3v3 = composed({ + id: "power_out_3v3", + name: "3.3V power out", + protocolType: "power", + roles: ["output"], + parameters: [voltageRangeV(RANGE_3V3[0], RANGE_3V3[1], 3.3), maxCurrentA(REG_3V3_MAX_A)], + slots: [ + { id: "vout", required: true, match: { protocol: "power", role: "output", capability: "power_3v3_out" } }, + { id: "gnd", required: true, match: { capability: "ground" } }, + ], + profiles: [ + { + id: "power_out_3v3_pads", + label: "3V3 edge pad + GND edge pad", + bindings: { vout: "pin_3v3", gnd: "gnd_pin" }, + }, + ], + maxInstances: 1, +}); + +/** USB device/data — JSON requires usb_dp + usb_dm; both live on the receptacle. */ +const usbDevice = composed({ + id: "usb_device", + name: "USB device/data", + protocolType: "usb", + roles: ["device"], + slots: [ + { id: "dp", required: true, match: { capability: "usb_dp" } }, + { id: "dm", required: true, match: { capability: "usb_dm" } }, + ], + profiles: [ + { id: "usb_device_usb_c", label: "USB-C receptacle D+/D-", bindings: { dp: "usb_c", dm: "usb_c" } }, + ], + maxInstances: 1, +}); + +/** + * GPIO (single pin) — JSON protocol digital/peer, requiring one digital_io + * function. Eleven pads (D0-D10) carry digital_io, so up to eleven + * simultaneous instances exist; any pad satisfies the slot. + */ +const gpio = composed({ + id: "gpio", + name: "GPIO (single pin)", + protocolType: "digital", + roles: ["peer"], // JSON-verbatim role + slots: [ + { id: "io", required: true, match: { protocol: "digital", capability: "digital_io" } }, + ], + maxInstances: 11, + traits: [ + { + type: "instance_combinations", + params: { + combination_space: "Any of the 11 digital-capable edge pads (D0-D10); one GPIO instance per pad.", + source: `${SOURCE}, electrical resources`, + }, + }, + ], +}); + +/** + * ADC (single channel) — JSON requires one analog_input function; only + * D0-D3 (A0-A3) carry it, so at most four simultaneous channels exist. + * The JSON states no resolution, sample rate, or measurement range — + * none are invented here. + */ +const adcIn = composed({ + id: "adc_in", + name: "ADC (single channel)", + protocolType: "analog", + roles: ["input"], + slots: [ + { id: "channel", required: true, match: { protocol: "analog", role: "input", capability: "analog_in" } }, + ], + maxInstances: 4, + traits: [ + { + type: "channels", + params: { count: 4, mapping: "A0=D0, A1=D1, A2=D2, A3=D3", source: `${SOURCE}, electrical resources` }, + }, + ], +}); + +/** + * I2C master — hand-rolled rather than built with the I2C() builder because + * the builder always emits a clock_freq parameter (defaulting to 400 kHz + * Fast-mode) and the JSON states no I2C clock speed; slot shapes mirror the + * builder's canonical ones. JSON requires i2c_sda + i2c_scl, fixed on D4/D5. + */ +const i2cMaster = composed({ + id: "i2c_master", + name: "I2C master", + protocolType: "i2c", + roles: ["master"], + slots: [ + { id: "sda", required: true, match: { protocol: "i2c", role: "data", capability: "i2c_sda" } }, + { id: "scl", required: true, match: { protocol: "i2c", role: "clock", capability: "i2c_scl" } }, + ], + profiles: [ + { id: "i2c_master_default", label: "SDA=D4, SCL=D5", bindings: { sda: "d4", scl: "d5" } }, + ], + maxInstances: 1, + traits: [{ type: "display_notation", params: { latex: "I^{2}C" } }], +}); + +/** + * SPI master — JSON requires spi_sck + spi_mosi + spi_miso + spi_ss, on + * D8/D10/D9/D7 respectively. No clock frequency is stated in the JSON so + * none is emitted (the SPI builder only adds parameters when provided). + */ +const spiMaster = amend( + SPI({ + id: "spi_master", + name: "SPI master", + roles: ["master"], + mosi: "d10", + miso: "d9", + sck: "d8", + ss: "d7", + maxInstances: 1, + }), + "spi_master", + [ + { + type: "co_requirement", + params: { + with: "uart", + condition: "SPI SS bound to D7 while the UART is also required", + effect: + "D7 doubles as the default UART RX pin — SPI-SS and UART may contend if both are required simultaneously.", + source: `${SOURCE}, warnings`, + }, + }, + ], +); + +/** + * UART — hand-rolled rather than built with UART() so the JSON-verbatim + * protocol role "peer" is preserved (the builder only offers host/device); + * slot shapes mirror the builder's canonical ones. JSON requires uart_tx + + * uart_rx, fixed on D6/D7. + */ +const uart = composed({ + id: "uart", + name: "UART", + protocolType: "uart", + roles: ["peer"], // JSON-verbatim role + slots: [ + { id: "rx", required: true, match: { protocol: "uart", role: "receiver", capability: "uart_rx" } }, + { id: "tx", required: true, match: { protocol: "uart", role: "transmitter", capability: "uart_tx" } }, + ], + profiles: [ + { id: "uart_default", label: "TX=D6, RX=D7 (board default)", bindings: { rx: "d7", tx: "d6" } }, + ], + maxInstances: 1, + traits: [ + { + type: "default_routing", + params: { + note: "D6/D7 are the default UART TX/RX pins.", + source: `${SOURCE}, warnings`, + }, + }, + { + type: "co_requirement", + params: { + with: "spi_master", + condition: "SPI SS on D7 in use", + effect: + "D7 is also modeled as SPI SS, so UART and SPI-SS may contend if both are required simultaneously.", + source: `${SOURCE}, warnings`, + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Network domain — U.FL antenna feed and radios (JSON network domain) +// --------------------------------------------------------------------------- + +/** + * U.FL external antenna connector — a physical wireless port (JSON + * `resource_type: physical_port`, connector `u.fl`) whose two functions + * (wifi_antenna, bluetooth_antenna) are mutually shareable: one antenna + * feed serves both radios. + */ +const uflAntenna: InterfaceDef = { + id: "ufl_antenna", + name: "U.FL external antenna connector", + domain: "network", + exposed: true, + default_active: true, + protocols: [{ type: "rf", roles: ["transceiver"] }], + capabilities: ["wifi_antenna", "bluetooth_antenna"], + traits: [ + { + type: "rf_port", + params: { + port_type: "wireless", + connector: "u.fl", + description: "External U.FL antenna connector — the board's only modeled antenna feed.", + source: `${SOURCE}, network resources`, + }, + }, + { + type: "net_shareable", + params: { + net: "xiao_antenna_feed", + policy: "single_antenna_serves_both_radios", + members: ["wifi_antenna", "bluetooth_antenna"], + }, + }, + ], + bridgesTo: ["wifi_client", "bluetooth_peer"], +}; + +/** Wi-Fi (client) — JSON requires one wifi_antenna function. */ +const wifiClient = composed({ + id: "wifi_client", + name: "Wi-Fi (client)", + domain: "network", + protocolType: "wifi", + roles: ["client"], + capabilities: ["wifi_802_11_bgn", "wifi_2g4"], + slots: [{ id: "antenna", required: true, match: { capability: "wifi_antenna" } }], + profiles: [ + { id: "wifi_ufl", label: "U.FL external antenna", bindings: { antenna: "ufl_antenna" } }, + ], + maxInstances: 1, + traits: [ + { + type: "wireless_standard", + params: { standard: "802.11 b/g/n (2.4GHz)", source: `${SOURCE}, network wireless_capabilities` }, + }, + ], +}); + +/** Bluetooth LE — JSON requires one bluetooth_antenna function. */ +const bluetoothPeer = composed({ + id: "bluetooth_peer", + name: "Bluetooth LE", + domain: "network", + protocolType: "bluetooth", + roles: ["peer"], + capabilities: ["bluetooth_le", "bluetooth_2g4"], + slots: [{ id: "antenna", required: true, match: { capability: "bluetooth_antenna" } }], + profiles: [ + { id: "bluetooth_ufl", label: "U.FL external antenna", bindings: { antenna: "ufl_antenna" } }, + ], + maxInstances: 1, + traits: [ + { + type: "wireless_standard", + params: { standard: "Bluetooth 5 (LE)", source: `${SOURCE}, network wireless_capabilities` }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const SEEED_XIAO_ESP32C3: ModuleDef = defineModule({ + id: "seeed-xiao-esp32c3", + name: "Seeed Studio XIAO ESP32C3", + version: "0.2.0", + manufacturer: "Seeed Studio", + part_number: "113991054", + description: + "Thumb-sized ESP32-C3 (RISC-V) dev board in the XIAO form factor with USB-C, 3.3V I/O, Wi-Fi + BLE, and an external U.FL antenna connector.", + tags: ["xiao", "esp32-c3", "risc-v", "wifi", "ble", "usb-c"], + categories: ["microcontroller.seeed_mcu", "microcontroller.esp32", "connectivity.wireless"], + + interfaces: [ + // Edge pads + connectors in the JSON's resource order — schematic-honest. + ...pads, + + // Composed electrical interfaces (JSON electrical `interfaces`) + powerInUsb, + powerOut3v3, + usbDevice, + gpio, + adcIn, + i2cMaster, + ...spiMaster, + uart, + + // Network domain: antenna feed and radios + uflAntenna, + wifiClient, + bluetoothPeer, + ], + + interfaceGroups: [ + { + id: "power_entry", + label: "5V Power Entry (USB-C receptacle or 5V edge pad)", + members: ["usb_c", "pin_5v"], + policy: "any_of", + }, + { + id: "analog_capable_pads", + label: "Analog-Capable Pads (A0-A3)", + members: ["d0", "d1", "d2", "d3"], + policy: "any_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "5 V supply on the usb_5v domain, via the USB-C receptacle or the 5V edge pad (4.75-5.25 V). Treat the 500 mA figure as a USB2.0 default-budget dependent on the upstream source, not a guaranteed capability.", + voltage_V: [4.75, 5.25], + current_mA: 500, + }, + { + type: "capability", + description: + "Wi-Fi/BLE operation requires an external 2.4 GHz antenna attached to the U.FL connector — the JSON models no onboard antenna.", + capability: "wifi_antenna", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { id: "usb_5v", name: "USB / 5V rail", nominal_voltage_V: 5, voltage_range_V: USB_5V_RANGE, max_current_mA: 500 }, + { + id: "regulated_3v3", + name: "3.3V regulator output", + nominal_voltage_V: 3.3, + voltage_range_V: RANGE_3V3, + max_current_mA: 700, + regulation_type: "regulated", + }, + { id: "io_3v3", name: "3.3V digital/analog I/O reference", nominal_voltage_V: 3.3, voltage_range_V: RANGE_3V3, max_current_mA: 20 }, + { id: "gnd", name: "Ground", nominal_voltage_V: 0, voltage_range_V: [0, 0], max_current_mA: 2000 }, + ], + metadata: { + edge_pads: 14, + edge_pad_names: ["D0", "D1", "D2", "D3", "D4", "D5", "D6", "D7", "D8", "D9", "D10", "5V", "3V3", "GND"], + connectors: ["USB-C receptacle", "U.FL antenna connector"], + pad_designators: "silkscreen names — the audited JSON assigns no numeric pad indices", + io_3v3_current_note: + "max_current_mA 20 is the io_3v3 domain figure from the JSON; it does not state whether this is per-pad or aggregate.", + source: SOURCE, + }, + }, + { + domain: "network", + metadata: { + wireless_standards: ["802.11 b/g/n (2.4GHz)", "Bluetooth 5 (LE)"], + antenna: "external via U.FL connector", + source: `${SOURCE}, network wireless_capabilities`, + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 85], + }, + { + domain: "mechanical", + // The JSON states length and width only — no height. + dimensions_mm: { length: 21, width: 17.8 }, + metadata: { + form_factor: "Seeed Studio XIAO", + mounting: "14 edge pads (connector_type: pin) + USB-C receptacle", + source: SOURCE, + }, + }, + ], + + traits: [ + { + type: "logic_level_restriction", + params: { + note: "All GPIO/ADC are 3.3V-domain; do not apply 5V logic directly.", + source: `${SOURCE}, warnings`, + }, + }, + { + type: "boot_strapping_advisory", + params: { + note: "Some pins are strapping/boot sensitive (board docs recommend avoiding external pulls on certain pins during reset/boot).", + limitation: "The audited JSON does not enumerate which pads are strapping-sensitive — verify against board docs before adding external pulls.", + source: `${SOURCE}, warnings`, + }, + }, + { type: "wireless_soc", params: { radios: ["wifi_client", "bluetooth_peer"], rfFeed: "ufl_antenna" } }, + { + type: "terminology_policy", + params: { + note: "Function names in `xiao_pad_functions` traits are JSON-verbatim and intentionally NOT normalised to a curated whitelist; canonical capability tags exist only where slot matching requires them.", + }, + }, + ], + + artifacts: [ + { + id: "art_product_page", + name: "Seeed Studio XIAO ESP32C3 Product Page", + type: "documentation", + url: "https://www.seeedstudio.com/Seeed-XIAO-ESP32C3-p-5431.html", + description: "Vendor product page — the datasheet_url recorded in the audited ProtoPart definition.", + }, + { + id: "art_thumbnail", + name: "Seeed Studio XIAO ESP32C3 Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/seeed-xiao-esp32c3/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/seeed-xiao-esp32c3/artifacts/thumbnail.png b/library/parts/seeed-xiao-esp32c3/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..20d78be7f5011ec0ea5c13a4409afd3cba841e0a GIT binary patch literal 96494 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�yh?Jy!WP2{iiM0RSl)Az#!17 zRSWg z8%8^Ee-bL}n1QK-kFB`UaVssQkFdcUTFA)A@Q0wFv7Zt2nE9qR23;j1Zf2;G6v9Q@ ze@zKOe)>Z2CtI-C22lH=F)ejL-A&5LXSbmi;pG(Q4I89>uLEadrsBG8@ldaxajntX zcNnkw>Rzgacnz6s9rKq470!_9Q1`7VSZ;6~egP{TkKTouB2m$ihQ)Lv#m_9=ZNE*V zX$FN@lmZp}iL?B}|MgPseYRA6#g=yK0SzPb@xr-6F*yaOrA%3JiF;Dei3`PcBr1!9 zmRD2hjjiZNPWRuVf`JH!*ir7~$npan2(%dm!9qluU#sL9Y_1rYSBcB$%y;xX`?@I> zdlMyPu-$K1dc*?PgVIx9CN$e6;z``L?fQxVMoz`$Sf+K+E4Woldm4?nW%A{`+ED9y zALnI%$u9|2abh7Z*k#}qflpfPSqm#c)ua$I)jRxC>vlC5s$eQB=zSx*T&GrGu!S+A zeuwWu=MJZZ(HVg!wb^rtW=mqZ0YS0Ri20bwdYzt7yQSlIgx`jd9)}e+kD0qfCXXA0 zl(;$oM0%YH;ZEX|V}Os{Z%53;m>onsz{fhKtLxEw7@^jBv${NS#a|7w;iXxnIi&T zsbOlc6;I!n@Ai`7>ZHT_5QlPOnn!AeL`CnuUjD!lo0ari<>ge)ky}$o7VM?bI5SEgP~WaG(90Sar!5Ri3DBVczCvD#Q=xZ< z1nd~-59ny9eW_{ww+76&Ow58nj*?S_T(PIS#OhL%@;XBx`_V4c7zo{d>Kv0!M$Tn! z4fC9G9#I1YD+l|)LPGnsi}{6{aIyW+^^{AdYzM`cwzeM^dZIkByf3oU#Km{g|Fjp4 z1ARYmwl&;P`rZ)pZ}*@_;^r01fAFOr{WXfBYW^v)xT5JR7;b;1d-qtyuM^+?%c4XU zpug&|?t1hfFB(M5#RN^26tZMZk;p|yp;?JucAXZcJTb5~^#wAy%fg~|kjv$WLZhLz zJ+cPwx&yy_*W8obj0K10S-TY<`QCYEca(`KQo7Gj^1uTlRW4^B`9M=7KWT!!fm@{T z1{M@k#WLeqf)45+gW3?{c3iNVw;(FPWv%>`^XcR}wfI*n2B+TfRb~hm_3$8{kQ_o; zMJF*UaCaS7Sw6R;0kbKBiG!N@+ow2>-4Wl1)yN0-q=!{asR{8dX$#yW>&HiVGsK!v z777c!2f>OmCqFK}yz?avPGW0ipHdN#GPi(lh52>2-$I@7sSX@$LArovbc zz+$pk96K}0m+T7U=gE^Zwo=8L-#bF^#EFOjR3)u}tHs#|CJ*a{goqPoD^?s|b9_Hv zbPQ!xZ3U|o^3?$ng82Mp#IXf5TS2#8C{!>M<74Oa&=qBWCa73A&&}#qe1&`Y{hEpP|vUr#I;rr9a zJJ|IV2_gTXCFrCaj#s%`oZ0iM(Ztdo0WZ!EmE^m(4W>hGI>XM;&pp3-tF%r#+wQpr z6t+Dw4oCLh_+~8U!;O*6F5qS|Meawt0Ws`c)sv6xuyg|?uCjJN9vw6s>xrg9_Cg=lE(fx3* zP3QeYk9Se_^`7x$r@G9eFYpJzVMygo*n@e|ud48V{q7jZouZ zu5>z%<^6Z(ulU6;yvho+THM~vdf)<~CrL&*?cM-Xgj?(LCHzx4YBJG4uY zp+owcVI1UKsH~8IWey!deC)h~q;02$0qS0oc^WS0CD9;}JyKX)N3ellrVa{xgYqf?^Z3%@j+W~KkT)$Kv75NO z?2+)x-mT9A!E=Q3%%*>#PP;NcFBEcdj%TON9zzzI(xof!+^3d`1zOWiH4ROGx9F<^;Pdg5YYyHG#-%5_7JsrL+Kl~5tlb@hi^{d%auwM0)8$;N8PkRvBmtqeR5Zt+wlDqaHYy6zL(U^J>YYQ-j1_|wGb z&s8ubJIYWL@5q$wK_gybw$!l7zP($SWvdzJx2JI*8?&g>X!C?XkK|Ik_W&bbOCLY^ z8wf{)%hwV)-_lYu;Zf7my&F!|7GS^@DI&~=-QQr{1$!d=u3 z43EEh)m2r|W$Q0E@7K_9TVDkax}U6-K{LNuL_SJ9sAwP;ZmAkq`LkN$rB870jA+N! z?H4jsrN{2a>JDxW+7fvltd+1^`!So6XqMN-)p-z^oFs)YizwU>JfVv72rbx$P5*p_ z`E0P4E{rm=5G9?XE=coFC$M-Yv7*c-DmD*l6QQ8!LP`s=V|Ct;0S!lLB+cUpC1V2L zk^Ev@N|57=rp;)|AJC3^=OL+^eT4VGC&eFhPwU9fi~#rl8wx(rO7yOj46P|DRj{^fY+2MAVY6&nvT7A%A<_78+oM|wS0`<`&=gAp)-7&{F z#A@MN`JkZtaf41wh@??s({9a<^AE4F2uSf6ZzSX`;2@PK;#rQk%zFU@QZJlhiKys= z^xTmcAc~@#;Q)Wege7P7v51`tnkNh}RTVf7+#v9?A2i7cp!?D*sz5+5bU^oWP~zLq zRCb9AyHzmrVb`cz{@ZPdSxwCaMfogw-AB)0{!K5RL^}V=j5xZjudM;9!oGlALCANn z`(p(S6V=Hpo3=OMU}U+e^Dd~U$4 zXMAFpuW~gX^=h>j^(nO%cc!(+N&E&E9m4`j;5d?V3N4<@HeoY@#qtbUY!T^rw}usv z>2rB<+rhpazDZ=s!Q%yKLTFR_r*1wXXn7gYb{|$gPKDENI7GAZlw(5?F%h95VwdjpURu%6WV|e_vz!>Pf(01zR06+ z_(g_RU2C2jyYmgEpyv;+f@pmaE+r#^ErwW%=8n^ZthX0-^3u)F^NubSUtkde_|e$I zDIe;w@a*I5rtQ@*qsv%HZ?TR@@lgpBDCb*zF5#Y!3&0d*W$B=0z(yptLf@m5_b=B# z3{UataFayA-r3}r1p8+6>TkJXs=G!-iL`|a%nfswMDJ9|7`Z_3eV+-IJ9#yjGN9w) zlc5Yv&=F!VObYXf`5{;bmDl1U#{%Aa)8VUwgZg6xqIN*VY2J5d&aVk1ZVD=tKuM?T zNC^o8D_0>v_y7EOqujMu1*l(g#Rw8%L6$+pG->{lT|6z_a|EP!I@_&T7QUa~!%I1* zwN*bogOL*YPqF=o_Z|%SC;R)~ErWMZUkco8^+d%8pbYd}lc(1Kwv@H7c`z!}Uk58v za(ssz_SRQExGJ&11A*Gi#^Ul%d}gL`43PLpU{BMCTD(*#4=>jp|FnABMQbuVIis=O;4xY4f)wTM-cLHHRN-W}&<^AnbUG$6VTu--Or(O_ z#|E+Ou9_ZxJ#v9<&@V-3*XO`u)(~T%?}srruFUjxHU2ui1(i0T^2b4c*u)5v?noGBN_h7y)6CaHblH z7N_7?=H=uNzsiTr#qo>kv3m_U^;;!0=1kq>z$%WQe!eJ_s2=CjT9XHtYwuW zV|9OThboTcots8NeN3cqLjNd%k_&@q7i6sNX|EJ?GIE&t(ZL|{-UA*I z3N|53jzeJQ+eWoysllT4rqwZM5Mh3}A+8x{{14$%5!q680xl^LF7_%Q7krX$-WTR3 z8>CYYT-eBorg9wSwd$F-G}%jt_IvR<_~x0JYt97u1HuF)KbfNnhIXUzN`PS!=jg{` zfO6u|pX*KK_=uCR$VEXqgd;}8R_!Sz^Tt&XGv!*yEc6gh+b$?hN@e@(@Y5*knuBwJ zhpq>^BeMRiW|ZV}8M}R3fRr&A{6dn!nHm9!0t&dd8$~4Jahh29lN>zh6bX|*fl_ek zE{7Y#ubdGf6@{oNhFHlUO=AI(ROF?<>5*V}e2KSn%%t^E1t$s4wLqu{lm=I3GIYjAw%1Wk1-Vo{L>RqCH<94C~3uhRWjg*4H?# zQcw~LK{RrqQ;D+7L-Y0({q6B?-U{l(QR~q%5fOHWw{ZBa&wME)a|o|4(_Xu!0Bb8s zm;8R`Ji$nT$mWi0;KWs=YLPmY6O5Ls!pG4bIQ2NKX!+Yrtnb@vsUS(G_C|+uem|Z| z$5Tz1D5Ik052OaJdwVLx#fQwUMS=K_I&oU#C2y#RhIBF;0yUD~{wTK+w+t-KSKFPD{4vS{&FRD{BV zB!q;*u`R$;M1oe;Pd%C%lxX|dYuYXu0fM{E#4I`4zV6%4A=w%R`FZEs0^dBxYg?1R zIWOUR2r&@g03upiFD8OEV{gS2*oxTL+y~P`d60oUA0W=UFH_c`PItHiPGn;h71IiU z^{ZyKgXQQ-#8S>DjB?%*;bJZkQhXwG)}Of{NfzJ05DxQwiy-N=fYw@YnwM+q)H&B4 z)j0n{Z07W`NPX5Ly@lP_>t)@`U@jvnROTWgA}Vm~q+~4Oz0}2Rxs{*vfrrU+^8(Q} z=yN9~jFoKJ=H_L&ir={(dr8-onJ>FrfQpVHF~Y&|r{Ss2esN(w2YF;9K;MLm3dT`E zB{9^(kq>vFP@AXaNWXH&adh+z5?2>&7xfK-O^fT({Lan3r4jBeBfTYzh4aje1C@W3 zIIdZ6SdEm_sp7%=dzJT5Gbttzg0BU4!y|hua%{V*yY<7}QHX5#5`dI2I6XbaD zc&BEGcq>~Bz{8KRdc)jeHT~B7{HKj2<@Jhf7WFQ6Hzg9kf>#?3YW{c!uSTJjjI0K+ z=Xn2MJVg{aQ&xV5DEu~8D(G8CJcIlb4yo}Yhaj0&a3~M7PlsWd=erB`-EfG@;Rh)D z&n=mZA#$Ws74YMEh3T`swDei02PmFR!C@7r@j2H&))`!Og#U>-G|#S(u;S-O{7HF}vLw$G8QFj1(gXbaO{> ztc~#>7VopfKp^6A8&%ewSIvs`O1(=SRjhdX<>eiwlRemV8<#8p5V?7HXv`VZ^Yo zL7u$GPEp2XFTvL{;-<$N2+i}eW5?&IR?AV9CnGl_l;hF*2sxtIAeo?4Gy+<@mkU6; z@9(^5N(AsnrIZttw2in?gg7<;XBhPqvuI|3K@!L3IdAxSv;AwJ46QsqK@{!4WZ%TN zKhZjo>G3>%!rdKN2D(8l`7W8XqpM#vvMrs8g`)xlcsJG?RK%#{NzlBLW$S$f@D*d9 zq7#IbK(;+dPS9^T#T(7P;REAhqaJHg3<7c5$+MAisibL>3%_S+a1Hktb!uMu#tLlT ziJ0lw9`+?|AaGz`z#C+Wte}U>T_x$KsCTeCClKdEFWlLAqu&7baPjN@RMu2v&I`7i7?yi?toLL>O+Z!D7w}VCMw!@@ZZi)rEbDu&h#=&+5EzQ?6=hs)<4e1xBFDaeC|IpD zWMM!ZnjT3k9H1$h$7@KgbO}>Y)9l+vk~M4Ha^YStU*wwmc*(XVL4$wP#^w<-*<}W& z|0b?bf9GV;XSN?S#xVTkwk0-HWBPn7_O#owZYE|nCXZ=ovb!Nf%KMw9nVqQ$J4r~m z#R_xg1nfWsY`{2wmz#6K5vdqGYPs8e*Wy+YD)NVd-t=K7=24enY=~PzS=i10k~ zpA5#(VJ(1BH(;j-2dD=1Ig=YqdR~v&1H`^W4w8~_Puq(;Zg$93L8%=hhy;}(mdfvK z9OdjNeOf58+wELqFZIRO!Zwyl)p~3eEVn%yC!YU`$p59QH#OE=b5^cab1+xTcvXv| z(DJ}Momd{&7LZ+v?R*Jh=ZTP?cLHfq8Li$L<92KgFGENRsR`6Tk23}_UL7M%|q)4_SJ{a)VAP-!}e6qgQOm?Jku8+~$ z1G6fd0}O>+X0WAJO<#4_d3}!4>6#+brTP9oVTy=YdNS}OXYxy=PFba3W-qvTGABkV zIAC+tf{v6F6SY0}udiMcxGjj#CbT=_RrdpzO(rwUnJV2L90rE>JrVxP-G|$|fA_7w zVrY6siytU9j^fA2_Mz<;*LS*;4bAJbXA^R0YZ3o}r*oAXDkK3+N-UGj^$$QOGgLv( zy_)WOfl&6wyDU%~;D>=@^;v(1`)>^awBRFNp?hcuk}r6%2&6&q9y>>v=QCDv`*3r= zG5dQghyQw;e={4a=%RpxWGqoJxI8bD4=tzTlLvd8={c9&@|9_sIi-N?Ldr_(9@l}* z7glOg)5!W66O0@EPDl0dBC__w5&3t@4%5}13~FUJ7D2!OI5vPgOP6O*S$mFw|sVOB&F5v_@*cRnGyn%-=#hw1P}h=Pm_WO16WlOEb$)l^zrG1e0DQ4SBv9P}Y#*ut4$N4QKW&n{EO+~7LyrNdDF$xOvpb8-@9`C`W3k7uT+iair05Phxao#|3ol^Xi6CHM20pR?%yRLnM~c4NpZn^S1U8<< zg)L(0bXt^L$UN6y{>G|^44S!NM*bT}X(n1VD~iYtrY4{4VV&!v(1Ka|CfU{+k{isI zlr!khIz_b_Ad|^vhtKSh5!2mx3=Hdr{`r%^_|%rsIwIX-!PKSR0Sn-Ykwg_B+aW~w z^Y_;b}b-jHeMuuShOeBnSE=ld*Gu6Gw*zdA_icT2~J-5CzUXB>H zfo#WGCM2rd4Xm<9m>vzCfchu%qmyM6Ot8J-d-n0N}D zh*@1>l6%M`95({$MllF?5y*y}gj%Cd>fh~N^i=gr`Ba8Kp6whV$8L^*_g# zJGN=hf3^K+)l$uOyMo7bwHbP3rT%kqwj|kPLEVw9I`7H7<3MoOr(ntXBepqmP$E!`+y)) zT92o#OjhacO~N%KtIt=c6r+8|1aV zS@LoG%)Een8Y(Rfs4HI;+ve*QNb5{%IJj?4{NjArp$C1YDon)!tG0-X)oOroBnAnq zJ9jl>DZ@d(g2E(NP;3ewM;Dhl{_BazJ^(Q;Pso7`h*L!zI8BR`a6eprEunAyoX*nt zKsb~e{(UxQg*QY_$)4M^EPR`=$ z?m_<0e2_={Rx4nm2K(9GL}gMQb%}!x3_`sJ~`aTm5xGvg31gt>x^J|AvH|YcfI};6N{ekrQ-6 zh1WO2otNur#PiMTzEoNFIO|OH`s)62cB>1mmsc{%^wd$7B1@!L)u2_ycev;Q;U{!_!d0b z^Nmi3l{AgxW#1n*?J)3>Xa|Q(sQdf*Ec_{I%}QnT?o7&^msO<(&S+>AgFDYAQ-(iG z=MbnF7*4-aF`L1yH83(_S{^?H4{}7PJXqJ7O*~a(BzO6kWX{R5@Agqg%4&}nCLDrkL_Gs+mwR zkz{eOVxe%5rrd^2-mIttQam7tNE5}MRSG?q&6i$sj=ld^YD8TpjzV%99GemsRkZnX zlgH1+>ea9aCT?sTgx-_YSS~s8b(vv(d;Ea8wP-F|0!uUCdTw!%n0hW(jQZ9XhTx-1T9C7EevvEYGLfKdU`hpI@2v9KDqA?n$3LA5g7qb znT;|s;h<5OIO@{yr{*}^5D=pykXc|qY=DV|0*rhwBfqU{ISenklqB0go0l(mKeD>c z+HId?!U5kJ;e}>ysnF(%mR{~qSJ$aRsb9|hW=KS5k8`=*+cIRCv^E61I;B#NrP){S5~j$ z5?n!PHd=B6lWA5gD;uL&fPpK4sp=Dws@76(W;Pp#Hk@6%R*lz-N5}i^TFc$!8&V#N z9Z>5-)mx3zfycVbQw}1s>~4`ilTai@`a>Rr-q=8Cs@(ypHnTYuj{A$c%S#FM@_}KM zQNgf`kzrNp0A1@l6`RF6E6-vA!<)%Owl|7_;nDTJfAm?iIO>(1a`LtEFEwj4jJWp- zn)B88i8Bcu-v>AyP)_y}@Sw>k0c~kw#otf4rFlu7Bsv+v7^I5&2K94%sqpK&4RI*siCBM<k6`_IpPld$;zq!Ie?m%a4h*=~1gDaCI7;3XS^cNXS9zzI|+-=WD|eCiLx{ zZvIInmr~7-xtE;1^5F67R~TD?@@f71gT3Vi6ta3KwO{>J*>1EryoZu5H^zp`!6{Mt zB*U`X*(0gcWOp3m+Uwc_1El&d5siv6Dzx8>J#B#&3~T%Ymq0{B^!pF)@2>2# znl+&}wJh!B8yRfZmLK4zF(eF@hc?A^@&PY}agpTgikH-oR{-x24m}iH%C-Zigyq&VuzTgx`Az#sHv!^-a-CQO_Y?= z?Nx4Eb=-KocYnRouQQm^<&zjP*i0m)a{UBdl1}g4qnnABXn8%w3JY(8Z&#|D-mD>@ z-4|R~-7c%Wg$ikSX)iB(XN+0JUNqv|31?Z$!u4mn3N+ZQv9Asmcmm;VJ?4nor6NZ} zMEY8H?B?K@g4V_i(c}Ls@48eQD)8N)=cIz>{x*T-)3hvX; zY;&Nwm3~mpZ)f0fs}aIh&FpQX8{!lfQIuVy0kV<_qd3vvwm5Ts+`eoDrK$e&`tZz z0cvfR&q;x8wuecNRB}6TGk#^_fN3&V>A-lt?-uEloi!)^8B8Us2$)KmXLLjq67{i{ zaNEu!FFeq-7Ba8JqZ<}%`4zft&H?VZA-H@7pEv1KBdJ8hMF!A!dIrH+!IG}!9EXJU_ z`kB_gNVC ze{un$F|q@_4yA+sriRC1!PtMN&X7pZ?%ZYf9$rF1P`-m}%U#9>@O_c<-8X2+ z(7E2=KaG>UoiQK}s65qsyEDh7!cxM#?szo|^TgD&c(xtyT*!vVB@A;<>&#R9PVa6{ z;j&YiIo?b;wq`hPM14jrnao z9@lmcvS0BAsZu(=L%RuWdFjyt?P~BT6-%UwAM!k+J}@v5Jj9?yj6iDgC^K76-$_(> zJ{mIY{6ppepm4=IHs?5cXXl2{f51Bg_NR0q^y!dRRQbGegt|uWOAyL+{lir{!@MW| zC(ew0*v`QcIw94g%RU-M>V|u2Yv-?t6RxpS9zfc-cj8KxQ>JrR}#M z07@ya400wJw*;NBb+q7{C=%4asnyyYvqyGKzWkWCIG2Tllhx2$S+SWV_p zbMZX4^~7mw4BI@!qh}BEnz$t_^HF__kpkQ43v_b*>Gb}&Efvv>RykT06EgG8KQ zDH$7cZgO`GANjTYQls6qLm zGPM7>`d+EnXy2)vRSQ13E+ek-jNUZq3x%`g3q-x;0j%3`%ieL@%&GqR* zO-qPsBzw>AMQwQ?=jrOsgNxrTF}0e_fG`3-_-V)6(Aib~pB7{-HuAl@sbsymA!}_O zGMRMP%E_K0>5MV4n6}L5P6J#VRuh)?{n_~QJ}G)r-r+>o(}RYt+l{nHHa%pZg)^0rH7ZivN*Wn; z2U|Lg0qo7?a(BZ@!jA%eH`ZUdPE6~spW8P|@Athd<%qc5JFAV#>$~ZP7XRT7EQIe$ zL_eT4^<04xi<5+AOfkZ)fAX9Drr7hUe}7bo!R4Mq+kP;q#o`?_3Y#^=YRjAn?GwTN z_x2j-0Du;t-rZg1rH9|x{n7T-xbcgW?sKML@MltY+tnw; z6ID|D2TR+-)zilR0JcC$zb_T+-Pvy|Oq0xMYe_s%Yg~!i%w;ItvH;6o`5Q_$ErNN& zA{bYFjFiQ1V#ksLrJ( z1#WK#>YN8r=Qsqr;}9rzVfP+o-qt?m@Eqfw1U=?-A7Rft|4)R3$6@L69ay(94H3!& zsC9FYnNxuSoq)@G1m;pV%QabfJ&3oVhc&lKyui@m>SXTvqs(G&!7zh{?Sb_u)WvP-#u zTyp6scG<`=JTq(L=<)25kz>gNVN+*@u^BVNao->BM@d038r&YZZ4TI~s!&x@Li0p$ z>-E=T^o1AUu3K)y&2z8E(~mtRO}g?LTz%zaOu1$TW+lv#9(nNZQn{%>qM=e$gy^Xq z$jGX*GLOYCB146QJQ9j=aBv~1J4HlX-&$4vbpfFuxIYknHlV=xP>{EAprMh2#G}dW z?-NET%xU{l@xpU2A|gV8F=NJI?6~n5dD$5Jzu#Vnv16{pxN+lg$t9Obci(;YOOhmw zptN4{KhyeSKFCe@T;y^X|$urFZ-iZH5>-e!=*_yQ*$IYF4Yr9Gng9t?o zPeoNs4aG~3`~$TG>5{W#A8K;fp)!3byansAbJ6qIHvehZ_O3$Z_GKvCun_yc`T%)b z7h?ODZ{YK{9zs>-TC`LfQI)d~58ZQ*^xBKBBRjJQ_4NnP)Ivpo2jKE_qQ0RU-g^~-;VL)uOgAaC6|uGg%@3d z%SMjDA1=HUzx(~gxai_bF?#f9Tz>iGomp8~zagHIc=$OhVjxT$VF@qf$0R{OK!%FR z;Dv`iSzj*&%6+oRiW1oqk3Aj{8XA6x#!DP~L#vI4POgJCGz2d_@i$cD?v$(r z+j(rmma`Ijm%f61U%ZUkU05NcO9ENJ&OJH;a6CC zPA#je??SDkle`+x`;n+PT%BlWK8}hi4?g{TC1T>|LZLR`w!7}dv(LSRXP$Wuvu4f0 zg@5=R{`x zfy-74M^yzE6I(?YpF2Y7z0_wb&>o(Suqa4QLF-nhleIWK9A6iaZ=UOMdI32VrwYf3 zk+yuSt=EtC#%9*m(1O~Om*W!r{dJ^Ij}-&4s$d{L2ls8kwWsV!GUBP>h@y(Su}un4F^rsJ)b9+xWfQl#qK z&3sazIr(#>uXr2#mb`|o3tq&!dCy?;XKx^7*@sBouoxxjTVOM1AU$~ljQdh0ud@Md zEyv)h+mBjXD?ANH_>mKN6-_PR;_?3cHSDWZd)VI}e~WF~mCrgl8Bfc#+B4K@S7V{S@LDF@%V#@R|Ot@wWCR{xU`Wo?Uv`7+xR33k^v?u9?avOq$NFohHYO84BEU_x*V6 zkteZw`3l|xi??wvDnx}T5AVMG5^vp}ym7tcs;NbT-62^kEBTR^+in4g2&KGIJcasb zbu>0{5o+L*3T*>IVnvh9h8CwCZFO~Mce&77=S7RN9)lwCEduiGM_Au1AYYr4J|G?~ z)XKfS8BU9X=BMC`MN4?y3&lDnOqhtPubza92fU9lW3R+-e|HhbMHi36|M{=~U--J=e*^f zoO5DtAV?8J6a@sN_iFDwiAmHLTa3LWvBnxT#u9r&R4kyP2uLr|L_q3LrqGLB5fJ9P z_I>te#AA~4zR&MIzvtY%_ryQ;^BrIqMr1x~_Fj9fl@Sw$=&)} zTIjB*R=sHVP^PM*0zLmh_Gj87KRcN>3%yBBYIjTIz&d`cmPIE=t&U#tapATl}Y zN}5q#qo&-V#{!)AaoNSUyy_(~vWju=$XVfuWo6?43(FxGJa{l1?1$p>&pyVwwJXWP z-HF`Y9LdAonas>g$-uyX^bL$iSI>}o_U=P^hQ_4dS2NNwG#N|-2iwsgOFLp8u2Cb# zV(p4Gf)8O*yy$+W;59gOip7R(S5hG>65_#fS+P`{mnW4L6i95gcq2Fjdw2bSvnNlX zuA&N$YwJ-_ra(n;8EO^f!r`~FxC9LunXD9$|Be9WUT<~1ry-jd@~rBF~6hf7sg34KRFPCjmhhKr=g z5yM8qV$cxuH#HXoxlvyeF{bL+sS7%H>4vV|dWh=YqZhh$?};8gwP8MBAeMan6|P(k zYA%))PT<@SjT6EfP1E}`MC*MA^8SzD|JNUZ$WQncXo!y`XtljoYmvk+wl^!gt*^Dz zuN$@Q#@_z$?9si^irkdi`w2It;IjuX&d&wjF18po%op}U?RfJD9zOoU2Hnxg4Q_58 zu(h(pPdm3s1!-|8ObJJB{8bdhUqMdP1r#UWK;?rZsIpU$bn6BZBO;~3`~vCmlb0I8 zTGjx5$6um+iK4QnLKygZwfeii%4cMJIA4IFZ(G+E2mP<7oEWwX}2hX)(U4 zs%;g(!63q12H&ozZlY_UNn~m5O|!mOMK7BOL09g;$#oPweJ0|wxhpW()(0!s?GYV_ zO#U2svL`4iZ4|2YQhB51XO}${+7m^^6J+L;V%OfoaP{zqrPWYOoH!Y)SFXabqld9( z^>UgtaSRQ$wWI-N#?(h&N091zdU~YOTTgT%M*Yl$Mub;<+3Lh>&``1B>*qfTlPAr< z#q*a17s6Xv@_fz;$rV7tqC@65*uA$xRwVJp72l_>suJf;pMl+wp)fZc2>YQ<_;S`f zoIG+04{IKY+>weh70P9$Q0B{^$S=Uqd`^v3-I8NIj)w$=tX@4Rg{%crCd&RRh0}ND3_NZEAu{1oj8p-v%VD1 zxu3}ZL5}m)(8yRbqUxn1fP#VJ!w#LqZ3dH`J+;N?aQ{y~;!b2ZBErL@g!tII>bBSa z$!~&QH**~B`^g3Ulh4lg2>mY)PQToTZ+i9e9iBt2MQUik<8_;`B%#)3EmAlADJ}Na zqz8AypJv5|h;E|nUL>xc`3V#JoZ#s&1U{ZFaB*>htCz3jT9vMMMPb&x3<1YlIuN>Eg^L0S0hcRs0bx=1(D0N{^N@(2N15t1 zl_;92RM|qsibgTcVn8a9KcVWnX5{3nuyy+ZVYw1;_9AZH48x*Di!f*Qr||K1CqskY z)T?I~GV58JhGb9eoorHnR}6Cno&{lCRGQ;nI8m zUKW~Oyc8WoQC7Ctu;N^G1`+N=s)~zP?|~n8?!@@fV_;)p4P6~QAv~Ni`6F0c+QHn+ z5<9o;L4DOj)F^8uMShti&y`6M&iocJg{{FRJj5(7g!pKrrzI<2Jb(H@yTPZXqyD{LfAlY1zxxw-U;o_S0k7mTShNWR`QJBF zL_{dq%c@n2q*g6@-K0gF9H?&kQ|t4(4>IF#B^9Sfws8l+qbT;XD$BTykW)Wmysx9C z6B+3*xqJIamiA7P*YL3tr}TOIjfK0LA9%%g-HH{`-RLk>7Uw`!n2Gy|(IUUQEKi0S zMLizYz7iyPd0i`tm9J1*{+g845~XKX)49trG~@H7wCCUj$}X&)y5zY8y30YeE(#+47QE}O0 zoH-YYVPihViGb@UEPI4=mm+a8APm>T(vg){F93_HsO*K<^x}2l!s16_)mN^1PFXoh zY}>XUGp2uz#Do;o)YM_w(y!s|>I z(?iehJz#3mAN~6efQj({*xERX=fvvuAyy7JcjgkRRkf&5)}SOuhODG?d^&L|Y|IA1 z!`=zsE?-vf^%oyNr&VI|%?`qFh&3 zSL)iO6OT`&Jv(=(Bg1Y}J(R%=S4>14de*_xt zqwUQWiiT8Fv%w(?2HTpoBu)sF*aWdfOKNS`_b7OKkA|y@ z58PZlC0|c3>HGETrG%&`WT)SQs@Ym`ek^qq6l1Efs+el{uuhYr1!BkjWN4xf%py2BXVtmEp zEQRV7RaUnO!64^=Feh^K#5G#7{ChFhVv@d~v>s2MAuo$ha@*>gfw^gjaq0nGU4B#%5$bXo!f(oj-3e zN{W@Jt9gim>^zh_$QPke96qJY&&9;y{?O^x4TH@G!Jvl!^MQ15=N@Uey9XwY7%7zRVb`u<<&v+kbpDq}i;qR)qXyKe z7(C>t6P-xAdi>V_qFKrPMRy`h62(YMjK``<6;PEZ5FZtXU0Ziz%&4(K*P*AUF91W| zz)0{MfBUeb;5WK-?T)TpyNZsZSFc{^*x_$5H0Xmx^S+P*&zzRRL$4t@E*f!n!jTYj z2N|h}xSJ5mok-2A#utAUfAekX-}t$`FM8jBy#FKk{{kNEYVy{1##U_tG}>C5#O=nH zPqh@qc^%|=sRJsD(yeMrGOZd^`TYv-$IecRx+2SpxuPzJyNt^8P$&~F;^Dnel-~`; zgNOi;KYsGZ&C)o3H_6+Jt=QeA;UmUK9^NA)SC8SsP1oCdwB+SAN}4)lrgZW|pp>0i zfC|+^loqoI;&Z6VUkScLCVwg1aaH_oU-g<)6`B#0qWl?E*1w|cf^xc_S4jyeC3N!a z9l8>nOjR{)R8h&_^PKXED(K>s+jQd0Rr=}RIa;-L7wtcEfudvc1kgOltE0LGqP&6z z0Va>0kmw@#XE4EjEi8f9ym6@Wa5%b;hX3eKuz2}4*t?8_)zFc&W6wD#t6Bws6cs-c zc_K`#Gng=tuzEc&Pf2T5ZK986d`fOEt}xKoBOA*>G-2!rTKd%j^7V8hA8$_@J7yHw z4YeUdLw!*uCVfdqxAz;tVIRSd7@L}luEfg531((iSh3<;6w4H-R@I;|Cs%A%mE>eY zo}Gmg`}e`p+zfsD8fw;A#n`7i4EpwmvFTu;=x6UNJ3BWx*t;X(%y~Sme~cQrO3Fz| zmDaCZg}I;1#KnNqyaFs;y%;F1TD%Bbzx##*uB66C^}hfRP5p9&#a1Wv<=lCci#+z4 zvQo}>VV;Mj|aaLAsxwlKbrGE@H1r0Y+zl5RZC zO1jYye=D##6)&l(x|tNJ$5bq@qsrPBbm?jo9XN88QZp+kJTjNI?Kn+kavo(pCVBZI zDzAP?l!OUqX5q<#A@Qc9Xq9QqYiZK8W%J&Cg7l^AQ4SG}T-XDy~d zHm+pt;6t`f!!Ug8r^wE)MMO*v+X(>4L(_VD% z-W7U0%Ic*9eFI|{8k?d2z#)>krGrR995-$n934C`X~I+_#U!A*Oo^iVSxATsN9^re zoPa1XfW$|IOV@+W9$f8XE9N}7`_R?Z!NdvU zq?0F(NReToh>5s`l-MZ5h2KI#co^=++(B|&6w*@?7(mp8x!EULn_m5i7eW4!qx7#| zC+}T)={*PXuLLf?uvP!B>Q^s@ch_@&0V33@CE>M}T58d1ZEMnMY0+$@Bqt^GSp3z( zk_!Q+n+mh$0j`CWG3QC`gck@bRGnJOUqRPrPl9xWGlG4Yl0H@08=X5u{fVS^C zO6+^ZtF;U^d-t8E+u`@9{$VQ>%j*S*lqeeL(9!dBEi{2noeiZQ_MWAT`zkT=V(x;s zv{)SYM%y8}6DHcnjQ@;mo&0G3&jGY}#b!aO&-iQ!?&nov-d7tj)P5AM-ADtA7)#}B zzSvB~@)lB+O9Dj1>ag-T)l|Qv2M?Sx7E+*JnH^QsF3?kfx@M^D~fhp-4nv%ZJKr*+mhq<{8)_=DJS(y*;tl<$} z)Hi5AL{@+Y_cQR_`n4E1&ppC+OKmpH8qM(1Jt7RqVcIPN^EYC zw2mG*<2+{MgvSmxj`(QuWWtAoLWn zuOCPBscpDD@vUkr{?=NCVc%4=HLw+c$tD^#eOpi(rVRNg26q*&Q3igP(M;~6aIO_zBNzE5@CYjHnWX@jT@n}4Ds$1hW8STb$hahNV% zj-vZHHSW4_2B!o`5{#k_CCc2>x>1hHMkwkIq$969C_;q2??GYL`gc~Diq7Na)i zVMBB!$AMNfm%-fxY`FhacL1tpjmq%K{`ovh{nZ?99cOncXg9h2cYKR@Se!mmJSFYnu zSR@p(5|PqZnEL?tQj^7q$52lP4)!*Zi?h8ncHBs5*|H_-{rmSxd-m*+*029o`f1-@ zq$MYb6hmGIW^GAf);%QN2}kJViwFw|k`g0tN!ck0BA?`;sth%yMdJF133UdL(o!Kp ze5hn#;nA90tP!*AI-Z8Gp0}f2%a9kFf{5Xgn(>A(p%R+sK~o??t!jd zdJ5p^(y24LckL#`n0<7#F=fJ7oIG+!bQ}>kuOaf*btJ~z0dpU*k+)elgnOweh>i$H zY)q6CA0PXyq_}8ib91vuDf~xk>+g&HDZhjFzu5l)e_a1PfV`9bC+f|+t6y~`>Q+e$ z>h=zW@87ERTK!TB)TX5>ul%EpBg&PHP$^!5M^s{TrE1ZXLc=F8_raY3 zzoTd6ITs)Lit-n9D1XggmWy)t%Rof&$ zXXVgn+#H6nbT;`wvFUyYe9NC-9=9xKc6 zP+o%S5*g|hWq4j)jVBcqs4L^Kl~RD1uw9ocgs$WI^-wHdu?o)aUNE<`2IrsX^f81{ zKQr{u(GylA+Bbne_0J-T&Aw=P}Lt6NtL9$<#W^XKBqg>#xQRpf1?#m6A>Mu-5A zjJt`5xOEdraj{5BNJLyrtU5hCJ*Tp=(z>;^^-l~Mnk*2_>w+DnfA7~e{fpP{{si9F zFM;H@zmMOV!u`?^kzX|IKB~zjZ*5^c2ee)_J`;cw930$n^q2`*mX?kZdsq4Tj1r

s$;eH(Ar+^DON9y7Ax{lO;-v$)@WU!Wpg#ydBP##SIiy}YjI4;W2tK+A zX}8bdVM&@)Rd`Q2xqq+vz@9x)MR~2d?qRExCwqj_@@B}&UZG6!N&pChhf>bLO)oWR zfaR|>rEC$ax!e&jN5SJJ1_WNiW$@sts%@dX!dfbj)r;<9*Pb&%^TC@|H*Td;WOO!_ zS2c_KDl48-#{Dv}+RH-2HQ(%_J29EU&g8`D>u=QQYSD=>V3n3VqmXM!G6tipHV_|u^a;!dS)jkU1+48H(OcgL-Fo## zFI|0f*Vc@znC$PyWO?`Q=-jardiLmsQN#SPYui@b47q~4@zH|ch>r+E)XnSSb_#D< zMTFsQLOfz3BUne$l9hRX+oMO1{?ZN_zXp(hJl=g@^d3O|mHr6+`_wch#NXCC34`i4 zrLkde6E7U8?M)o5q}HlbmT4W_x5vW6-L=Wf!&_o)hLfYG$hBbmaaT7-xHwwF)p`(C zd@)lhy`L=QC4@dp~GqF$IB@AX1aL(JkqMFBg!v)DnNt*skH0~J$m?>5)(6N{=6kL&}=Ym zT)&Ane6xg@08aBNGf5Y=zF#yu|Ccd*di>2kb=HnXQPqv=7Ol#}F5C3=u&`k$3lwRG6M1rAFV8N^|n1 z8fA^d+74MsEmYMlLKMhVqI~rW0O8a>CBN%eH3|NMM?swD(GD8zqbmjvKE%1$5RtF# z0CMSS4E?zO96iXd72_z4sIZo58>F|u!<Cp?Ve&QtCtR2!t04>T<$`;_3ACGPx_h;AOk}avb3^=vx^68 zZ5*(F-vKvRrs?ao6#vvP#&Th|G>sIkM6+aQx?EnE&Mh*xA~{(6BG` z`WOgp2e0IEx4~D|c>MKm9niIVH+1aS5gj`GO}H1^4Yk3hjq4G1>pJ4&qHrfN4AGId zM5QFeh)#sTxcwLwoFWm?{jtTyr@N#m1hl{J|KHNRL;N;-}duJEX zm3X>%3n1CJYK2so9*=^w2;?MOMZ%3E$chd`!QBujv!YRw8He1vF;YfCw9pZ#ipr#h zipP>dR)gAV28w55MOVgTd3iI6RWG4A)EPXU3(bV^sbU^P(X6owd1DcxS*vXphj(p5 zn*a_z^b3m{1b{GM&Vf&Sz(+>kr!(hni*Z)_*o(On1_4&0vnpLy`bcO=9^_Yw;_t10 zBnd8rx3ic(se1_Gj1d(_+bUmBQOV=Coevu@TG@D!@35)l&!;ZkLRVlB0L1}6E0z^g(8%=!;jmfmH5v^IVoK7D< zLUU)&6g-HrfgYLmH6XM8{it6*W75~xr|vy^iB6|a{xT-=_SSNh;&1%A5P$EW-vG$FoyU6+p?~@r_CMed{iB!k-_~yfpm=1} z`nJSli0v!(v1-!F&4?SB9uxeko_^I=M=& zUc)4JuaT0w`*6v@&Ka(b4%oYWlO)SZL}_*$3ev)){JWtjNDGJZL5h^0o+PEm#Y$Oe znG$;|)s{a-nXDEn`7_aF@WvH)9Yyk2C{Z<`tg?yo%Eh7F4j^wgp;S$zsC+FBaZShY zgtBuh1y>Q5m`5q;B~(=MkQyFCbRG-<8c@(|U-4A{lj@ZSlFH4mr$a}sP)vND000J> z_WM1^uO?0*7$un)75K{%u4|JxLYqnEz zYN6;x?45?wfuk2GAm}#PyN;%>S8kS3`8fw+3KCTbQYY5o}m$S z>!mH6eESU;#DYT%7-#`bH5@;FB0__2phi_8Df4A&d0xI+{-B^unOCHi=N3verAn!i z3HQPxRF{?r08!*UKviKLYKsd|S5kz!l44Ocr5d|;?l@Q!Sf@~m)!c^iDgho@>GyFx zwmxj`o8`DKF!$bT2VUk{8OQ>WYU_x%?p%rH^#sci40qHTE<5DLc1X z@FeVg#rI|K;%mlz1>L-zNEPiYicQF+oCnoZ`X)z&i^pk9&WGGcBxkp= zGV$W)SCRg+=O!7+uemM1`nVNy*r^_a}@U zJq`o<4;21e#(n#vM|U0QX!jBNj$eRB=dJ=kSQx0M*Birz`QgyPePU!4emfMQH-d5U z)KMHb_#^i2*@CuuZxhc3mA6aZ?=@8r*g}^qMj+JJYF?xU`-?;Dv%g6UeEqsvBMf}qr~!}GCz|W)7A;b@ zX;EvV7QLwcYj%8aWogEB6ea|sAoeum$rq4&=M*aM-$u~ktr+QPkKsOUl9!j4MhA{u!Gy_kG1S4I+`Yz& zjVUIv*%a|~z)kvL?`fLzJ#$upFuwzyePh(ACs?q(BHdXK?e?96@FK7359g{ zXo%=SE?$nI#Je)l-L%)ErzE-&9#8S8j6Y6JEukaFLntS&Msy!MMysf95&X*59Y=*m zWc;Kr=uS+Q=#HjLpGUmjyXM;+R8iMNr4@~o!`bS!5-F-$Nl~R1T?hk-=6BHab~}s3 zh6xGxXx8WR$=S(+jEzia@BlNKHS;5y^Vz4wV4~Z*=i4&rXDG&5I=b4T8`0L$rS96g zVw}~hw*iyu7&zEkY&`k;jlii>XC!Kc)Y{mhzINe?dgio`r7`|vq*Y(95@+p^f9KX=dc&dy!{b%hH087j+uST zXZCG`pNlm{`Fl&gzTT3(tE=Qbe1zmVd?Z}Gy+y{y=+R?^o36jtFdYB+q?C8R2n-w* zs>hHO)uK%P6xDTYLRBtTwxCqm`ljA!JKlf?cOV))$4fC%Vh~}nJ2Sfia~H115WC@U zaUaJ?fr4k?Z7JqIn5*E!op})czQntQw0hkha&{X}UoQAgY+ms}&m$-HxMG`xqyzJ3a0xxO8Q~%N%~^JcQkg&e3~|M1?@i)LfHk61+gx#Y{^l5LHB^AemQCBF*`Lpm2Ad6%tOwgj zqehIC9PM4C3F9WKZ{LcPs>>^+$F;SRTvi~l-&GBRiL6j!T?Ye)Skq-YcU8F%D<;Oq zy-f-Fm z=JZLdT(JyuznF~;8@|K#?OXBPci&+5?p;{9YN=45n;08l`m`ypu7zBUh`JN8sie5* zgI}z%ztds72N3#Q&#>S95d9-pJAkzC8X_ymn>BilcgaBsr1iR0vt7czRy7sHe@%-I z3(8HoU7HmfQl1@i?cRg<>j|m10}Ag&o^4WP-h?va8uIU)g*@RBs*}bAL!LfUY1S8O#Hfl7d0xe3 zLEsO20)+P!^C4W9gX8Jg$?I?QAsjIEOaK^x^YGX@%jSR@vW(ciavx25in?wfs zy{TufuGFnt7t+)3L)yJ{s7Ft2F~;iBU59!b7z+?#%M$ZJRKWV6yRHZVhy0k>9DJzxO`0z~{p|FoHdXR_U zpsQFoe-TEF9ETxRLq*5IJO@Y0atSp#Taa|_hEAQj2=M66TUQ-B!qn6hpMU;20s;aM z5fOoqkPxg}w+`0U)^K)q#+P4yiDk={Vb!Wt*sy6MRk@sk`} zy@ij}`i*;}oZNEM)V@X$ivr7@3p)~7$x{Iw6;-cAY9JHlZ!JmQ0LQ!FA?gjUz`O?o z$d+w~VP)eZuBD2nsDIRkM^6D+X#+TJmU#!}KX}WE5B~OX5GL%l7x=H&FUJ~HJBPkXRYO+B%=Jv_kaaw9dso+Bn9l0c;ZkZF= z{o@(B6`rA4?=5{M)`LZdQ{D2GWar0P`|Tbv+FH40C#BshBbode#UvKc%-O5S!p5JL zt=TJthCJ44FCN)3AHrG~wxVySe@)jyqG`&MnKW>KCH2uWB6n90TD<5hIv*H78`iHA z0>fTCyNcr58skN6!HIAuqHEBX^o{#dFTK9pjlgt(1uQIWFwoo*V<$|-sIikU?W0*3 zJz*LqO#K9Qj&4$avq93aBgfmS%T?-1MX9=8Rj#g)D6Usn33<*V0u*xK5@ z{OpryZBe%_w`9hLs`Ha>sAY*)B>CMdQclzWI^|A5$2 z+i`x|0^B&b3T1aMfV-5!)KJWvGF)Ii^vNvRy2yt@Pd*j905x*&gl?@xrQ|7ciMbNwikB;oSnfbf~gsDxO+{+ zC!Z|^rvg^hHX$K74+jrlKw)tm8Xl{0D?E)ROrA@&_9N)C*{dieO)kb#{J1POWUyGa zVkbtAorAlnW#Vz$4HCH%NljPK{p>2y_2d=S3m$|!its!4MR(DjQpg<%g9y9#?mrYr zbG}?fM~+_=9fz=bual^@9%3bz`4#@TLb#Y!L6auWr;k5bs!^TSw1|#|IhCA(IvO>8 z4q4leq$8(8Y0trnv~~As!I8-1&q-O;B03v>d{y}?QkB1?OIN~a`0$D3=H^EW=6_9x z4*X2}_x(iuj0~w;rw^%jFO6E=#nG1Rh7KWpeLd3E)fMK8EI4GLA@d<`6zjr?w~t{z zm<_hUsEO0zGjbxvO#TGkBPL+_%sG<1gNx+s=%OwzC{$M~m6E)uSW=agNu0rcFEtHk zPn^NZ<*VT1<&Qz;RsuBG!-@eziWTLy);3tNY&lLGJ1)e9 z!B?(g!Gc91IEu4MbaZrujr-t1LttQN0%H?1u|+n-+7`XE_0Z4M3?F?w6SHQ20UKL8 zkvBhO>hz|IL6`N#s`~2|G13*BU>k2CzVATjJ%IeN0i;DOX-d4ilC;p;tkv4|Qmo~+ zw6to4-H!VA=^uaoqxDdy*WNyUlD(ZZW_>hK%1Vw<=Ox{g*mAu%E>Hl&gV_yzYdIT|NcOyA)5AKKjguv}zBJt7>!U(Y{Hx@fLtd!hc-Qeizhc6edl5RyL zONy#SRMfVjsO*{0a&SI)vAhYYDoKC`m!h&6#fldKFiKbfUe0T|nr?%|g6|d|{CoiO zVSMWBE!f(Rz}0KD{M9nz|C9d4eZjgAQ)7LaHhCP4@b@BPLtVj-^z7N4 zw6(QKPfwq8dg}}D=+;x0fkc3Zfr%Nq^)^HwQ*(HZ7!Thuli@pRlH@;Xf;4f`bhX8x zA?o0utF6__a!FoXBFXX#5FHVTEt@uDxc>-PSy_vSSw7&|9-aY&!J|XRuA&$?L>JOi z8=X3I7Kw=dzJB<2-8Z-#bcsExaP;sIOq((lPEIZuHf#i}t!>2^jKz;bZJnU2X9Sae z1L5H4CLW(PEz6d##>Jqk*s=2m0U!>J&X_Q9GVJUfA00k=#8`}cCAAn|@p1_R%KH%( z{jO)&?|z8>(TiUcjZLq#2%2cw)>qGkps-S@(AvIr$3RfhbM7h_tXnxO{va3Q{hjB>fs5M4iLE8%L0Kc`sy<#}IR7 zBa(uCfGX`e6lr&))BATzKJI?f&L56QvXXkKqPhvns%8|HK1FH8E67x@pr~pUK*G8X zR+lq)D65*q0bQbeA-0f8D|l^{H?Cd?t%pkaoK);JrF<#654K>hsBOc7uQ$WRa}ts> zO0e%h047YCg(Jr=W6qbW*tk&mPqA7&U?+Pw7$T?@TSwe;O$nGZB2(|*QesBfSF5bZvk zU`Pgr{itgQvN zm^5xY4*j$r;WuyL(#0UGUbzac&MvSYYA3+M$Hxzj4z3t8dIFe}@%A1GU0q{XSvd%o zVO}BM^}{}#K64&(zE~i*92QNE8aELWr%r>Op%JeIHy%5FawvBo+Y$(3xK(yWi z$R7YC{;OhwTxdKvX7=?nk_uI6lKpv=u><426r^mXD-FW>GPqedV#~oFT&Es9V5of!12?(&O1kRB9o`h zCvU&$WIDh_0LYD-Y1HsYlj*@-Msev2P9((Ssf(~+(WW=)g&MM6Xik)k0z~+oJ_8Ip z_%aW2^LF|hBD_|NqPPputQJ3`G8K=Np3>&6KZ}tUCmue3Npv?=K|6Mwq1sv!Zo3R3 z3?RuVa+)%A5n0;|qxlQg)3)tLY01(pWNSZ6DAp%VpHF9lB1oouO3IoR$}fEY5JB(0 zOl6f#RLH+K9`z}j1%R*(Jo762v&$3@>Eh*^G-~t&a&&a2@4j7!b*qUB(1{5@rf;_3A(*VJ3LZpZiulLU8SHefLNnhp@Ixw-~@g^yK-F5USsN9Qg* z@WEd?2wM^j*U?+pmn>QQHLhK`DtHs_I>w9|4U@jc7;0mSdGi)v@!}=oZ+7~$PcZMx zMerXs8WxteFf=s7n6Z=a@h7ved(VFC-1Q@7emV!9JUSa}4M$fG96o*u3l@KkEd|0*gN}U+@w#jWA_mOCYCnte3YDBCy<4e zFWEbdCTEX{wEEj01s9^IYNY&<29hbB5Zl2kDw_lc!oRbkGR^O=uvFvX%cD6SfpH4s zrAs$x+_(u88hV}9tz7{V6Fu144kRZhYx4GT6#!yrpi8}a^dw!K-lVO~St5O@uW>(- ztKLW7Sa2e``u(8Y#~Av?17K`s!4bETk%_tbMrio;jP$Hi-*4X9ICaWLQvZRL=%sH0 zU1L*GU3=-G3zOnKw9%nkH+1UO9UZ%Bk^Fl{!v}C!so(edRpO2k{r|&Ry*VaW})BZ5Gw1TCLZDY{Y;C|{iox8}y5duQi zg}kd!*CcbkPadRy>iPG(AHe^w*MA%S#8&H)TI;ohUjl}tAQP~a0)aE4OLCh@_-i<|3dKxm~LxW z@fI}R1rWZ?SKc0C9RnYF?ORqnf+<$8t1erBG*V5y#%`TAtJo&w?^YukV?+L!N%M8z z?G|B8fkC(M@M#+q6;Cj4(Q24mI$`qkIXHAQki7gRkfpV!*ob1|MAl#MX4aywHw%Fv zds*Gjsf2^`7_9qlpWqYPH@?J3=uHR0V=V>^1`4)*=k84{}L)~k3y#mc9YoKZs8!_w#;>sM-81s~F$1+R(6Z5Gc%u6#l&RRaZ{zeK}^ z4Z~oI0kE_ffYGCUF=mV(jTr7jHr5vO*T4KH_0j81-MVxoBO@a+HZ~?BBV&yXytW?c zXaI!z81{!j-vOeGjm=>`Xh>UJeDeDEguDBFef?YenGTeC>Gc)ku1-Dm@L~5}=&5TU zz~etY_zSvg_rjn5@`3QNV&_~Ad~$Yj5MU8>@f_k}?;zmpNlc$M36_?F1$gi_6>Evy zJ$%F{jCqc+<0iw^%^NV;tVri1!mT@wlb7!_@*Dm!&Id(d^VTEq@t*-+ zxn*LT$7$^yNc+YXkGtN@7UAtH<~N3q`jqzm6e!|sxi|}?NcKn^;F?3ck+O2Cg|}98 zY@Q&}nV4sA;*axWkEr$$QBFa<=qMtia_ReRC&jiHKNlXUvEHLybF%-?1#l>1`j>d42iFHmkWDwCeGQ)sDL*VA=r{4F|p>z<9 zUbFVQYHgi95|6vO>-0hQUV7-E-3Nc`)K%E7vkggmHhI@BozU0F029ZK!Qlh@5fy$L z*REW~zTH2-%hO$ajddRu78cOe(}yVw8!c=^m{i9u+JZ~r4tm(Av2b*9gY8g9F)kZ5 zdOY^-KZKR*)??Aql{k3xB=#RZj!Dx$fyscuVi{oG!X*MwViJ;ZIphX%3yW|!Jwv_b z+wWdnzZK^2Zs*b3s`12X*NkYu>B;!tN#r-=dh`Wr!=qpgBN8$33z3_LmgSV3_Mh$1xwl|#J zhr!0l3%q*E^JM`d)>imo(;7*BKOU;=I8;4|M@i~!)E1?oq97AlNpUF4E0pRg8zfnN z1&Rx6QCZ$3^c}wf5X~y?n|JkmTWmU2Hj9pf4^Sq|E9=yhl~*IW4o{zn7&zDs_D&;( zK#*5;zumAOJVN62Rt6F7RCuJtE4;S$e(>_0gdw)xuyybe-N%fX3t(mIK{G#JA|h!$ zeI}EW>lk6X-td@2_pyA{POt{V#%?&xo&W7yGetg#+qbdWvqglv-XuVT{k52s=Y#*}Bf<3j&XW|KP(U1U%i}0z zc?(t5NaFjLcVWRJ2VgO1asbx2iF0VE!*E)^X+O=KzmBYI{Am5gLt;&spDTk0cX*m5 zfTvVZ^_*0dkEp7;fdbD3(X=VkiAiox4>uSZ=t4)kJM}m1OAhunG-dL5a&)j2q&lzn zayP=`EPVrGv7N<1R7NHPgz+NVo|u_i!Oh*fEh;+x{Qa!lK%>5;QeeJ}}VNgR{LIRxJ4%L4oIx5EG5l$B$w5C!fH)UqAHL=>>g#edy@u zV6cUi;8M8r;L%tQ?LPFMA9SLwJ@m-Oe+(^Lyqr9JhKrCXW0L{&#k{ZR!j)^ZWyfwh z84yHUckP9Xr@sIW9=+)s_s7;9dvH47A~NphB023I!lPo5lV5<8jC<Y!TQ~wz`tJoV;lDNm{~%L7PURsqSueLNc~KUq?i9jO%1)3 z*>SSmn9G6?FN?nnRYEYz;;x}0H5zC4?!ZWQcldhvz}sgyT)l?D#did3UA^G!rU4Oe zcMsSNvB2DqCgbLXlSsIE8M(<(D9A`gZbqs|jw@Hx3Lh&L2&&4PL|P#GS#e?@7pDcj zD*$X40rER)zRkP>>q9DQnsM`XIzIk%iHLsXvDDHPTM=?25j%c30T1sycMfiGt#4TDN|e$lqX12AdhOGMs-VcQSl1GZ?T@ z;+!wn32!O}1_lp4xZB^=w`)S$futP-`E&d+7n9`NWgI(kL#*pw2#OIv!S`dGMtkSQ z-^(k(8#et+i^Vg!vWLvM^v4$ZF~1PZtv_>?5Kw z1VAiYyg^v9oVySyhqsuIC%L?qjvqTi+-W*Hy1>TT3LfsR zm_2JIjvYNn7K6>GQ^&su^F_{9H#0LOV`C%I(d{jShI)OBNLSC0dg~gnavg>y{b4r9 zl6i&J(`N!ReEmkWb?VR+ojZ0xmrmW$vwJV}=++ZmJ9k0n4?DovKp!Lh{jhu6HpE6m zApFJ+?BBf`BYl0*S4R(hdg-9IHmk->(Wj4r01h{IZvj?XT7RZaU3I8Km)`UrA9Nu@ zlfkt5+s(9P$6i{t`WssG^(xx^(_sp@7)%#}Z_>Q4SCfhP5cJYF6(hB7y$qpiXetDd zftP}DJ2Doh&t1Toz>7#sNk`6uJlsu5YyI@IIoXLxsecn)zNFzJ+t^(6cRvT{4^hAS z6ZlsL5bi)UW35)LSI-)>p4Th>{Q9x7BQ@20NG)}p8mkJN%I-zQ-@AQI&0{CFACbod zqBJ4^s<^9=MFpcOD+&8HeG4}`TX=bR!pmcM0-XLfK}AZt39^WZK-Bn7^Sl@*6Bzq>DQ6o;H< zB=ekY)xnwJd-k1$lj|5*5B0YqjxJ+`7_eP2-k!I?+6x8- zJI4{^;5R&S%lOE(Ig2HUD@Y)JUs{6hg4Jc?rSo4>~I^qKJH z!=8bpT?@j8IRgnF=csajaPV#JPBiytuxb+bt!p3(zMe#W!)FM?#^;Shd-k0cxgwv?U*}v zCh6*SqnS(m)G)`uMZ?wC~VyI&tO_ zoj7-e)^6NEBPYzDzjo23J|=^xyKX=9&@+MQz@e~p@PwU{H2-0D0x81?L-fOMltL}Zyd4A9Pp67RY_Ivrq=bB*R zI|F>~?^^4Qx9?0s!%x!*zbyI!Apg041fLA*q-~{e(@W2WN=$v&m(L!4m6LuU=-lap zSt+OYJh*W#>Q?@R=;HLaeJ@g@H%6*9R%zLFSP$~`9obZOugK1@R=Sv=d^L<<`#KvdK zY=fW2z{0@8RAGKCQ+|nw#l>?Rp22X=2v-(N0cNE;S20|%Fhh&KGhX}}d_T9xTDR>d zRaSCpE)^6%rPgixkgM9CcI`bSw^=aB^A5I`?>l%h&0D-xsL>znPV%2iQX;q27)XkX z9@G4J%P72A1nu3u2Y$YuaCEdGE32yH>ET8#!-L78aRaJdtD00JT!qxCRfB5QtVuO$ z)~34k8kp?ht65N;dN$z2Ht;Gpchsm_4d4ImZ>UnfBFujL5tYi8h04(mQ^$?L(fxZ7 zwRbNztyzOkk&&oxX$cGSs;F&IgQ``kO0{a#CJ((Aal5Ljg(d#{U*CdTR^OMcOkaOr ziT?U^d8s@mOqoNAS8k?yjos+$vQ?>py&IX=vZ0!F?aAD-A$@07gBrUUY5IZ{)T~W6 zs#LQ+m8)C_wd*^gzO4)D**aqStc5rmcMeJCE+8fKGPZ2piTwu-WA&O1C2nfn+mO&^ zD{f@v{h7hz1BkrGKWQ<4S@gg79envh|Ca$oEZ9p*q?}g%fb;Wn|8_3nY|rG_qmM7g zA9z7>di_sQkrXB#KvqH& z(&D2rWz;~}*;t`T(;#RK9&q#YhB2^-%tL$wnj*lzDLS?9RdW4Oe#x(Q-<0I%JV9R0 zQ{?5nG+B{w;8Xr{T*-Ne?BbUUAd<+Z&|g0=nfOdt^cBx!7`$rjKCxcs`GrOw0yj+{ zw(dBJd%u<-BkR6^1_KFK7#sk_o4qo;R=lJb5ERRFu1c60#r7d=OsLj|h;4f3Zo{cl z*I{B~(x%-&TDA6oZ0h_x77eCl+?BKYZ97j$CBr%o1_9o@P4k-zs!mY1;2NGpA!j%qF zaiu+W=dBzQS66HddFV)jR3DA(J!rw=jZ%d$craPOH=q?csQhT*@@+y)V4?yapB!iY zD=H{>Eqa>VoL?y?tF)cv=>wYv^jUo z*NALvY=oUvt9Bh(EYM?SQw>XNI6Aq&)!79#s#HO_Z@)z~Gc$DS*bb|gFG2LdeK>k( zKW0yzieO(~`B`m?8nCQUld73lr^;qksCF%Da&T19_hrrSm%sghZ+|e8dBeRtNoi+&0TBAXzQ2C~kbmZc@apl{w`?SBnbVK9%^N_QXZNF%8>b^X zb~g%Ajw0dkR&;I^3NNiQJdHYNynNv96$lrtH)>lof}_0#&6~9=nLcGv$)%K>lADDu zOENMah@VwXX~ys0v6l{ZP=JWUa?1vGBrLOz3*d54#8 z3jq+TzzzmNxxnq9VHr-VcC8a-|vaV5f=FQ2{h>+uH5*&D)=l9m*= zt{&2f(^o{Z!HlbEGgs4$*=xm6ktw)b5%3Iz^&Bf!?-93NwpAZ9em)tzS_&nXH+*h$ zDYFmOZ7_JSV9&H(mbRKqlw74c;m5}%WXbV7d`zMPS-0_UX;Pv|oX8-^$IS|L1`YnM z=FHn9z`>MXiPJ6hyGMG%p^#x zZ_jSnxpfmxL`PxGik}e{5-f8NUX?3UMAa(QSU^aXD^;WV^=!$yt_}U^uixRX-;@Pc z9Do1L4BWE%u|jp~*>@Oi-+h=OJNKq<%9+!Tm1@c23ZzQS23%o~jiZi+O_)v5ahGV& z=$Z7RxiwX^u%)V2_GD?JqJ~a-IH`T0@eCH?h@(n}u@k1@;Njx}Aamy}hL^X$K+vTalNr4>_l{Blq+U>|Hb#+vX0XD<{_>X7_xG z-?xBb_ROKERby$z#Ljef>uhAj??Lh9Ggvfv7=k@q5$I!tTJH&!ApoxKKCrZI%o*n; z9oly<>DhHKrc9b&axoujMJ*Ab!SsAS0ZrQrGD6yHY%1*T$2V1|PmTc`j$L-bUwAvS{sw{p1(enjD;p^|pp?sy9_^)p&;QMk_@u&a#5q3^mnlWc7jhQfm0z)IHl7%&u ztz477t6)K8E7zv-=5^${Ur1|Oxp5Cg$6TOe3D;=KoK~UDv;0mN5GXwX>*r@VdeOChmb_>NGSWF2A7txjDE9u0> zDHOG89A%u@f}594B5LCjcsSHWpr;3Ph5)!5LZQ|Lz~~)P5*!p((j=rAB3iUTpWXv8 zYvw|vT`xjG@l)g#zZ9RV>)g^RdMBbd76dXSmHY3!Slf`8k}sMGR)X`en>TB&FqnOn zlm8I+AC_Rw{I$Zq;?@&`hMl9AP;c29o$b!2Oj}M9CNCE1DpOe*R2-arK5X`;O}2E_ zQrbRK2H*?=$}EN}AwH{T@Zo_xXLv9}t5@GKv}E~K+Oqwaw6eDDI4Q5o^jH(?N|}ND zBY>EeiE+l)&z&z6wiSD44IVaw4jw)y)ML&GVdfOK&A5HVV8V1_elNC;=hhjwv$z`J zN{cHO#kkRAvBGntr$QIzV`MrnN91zbj%PVseQ~H&U`TsvWbY;5q^Q(0b6!wJw(0l; z-1&D?_?U9@?^AyM9U47mBI$LWWY?%MX*Fu<)UGW}9zTwjFJ45E5iO}x$M)oD^q^Xt ztzOMs0EDwdDpfX@N`&}p+4`vqlwtRJ%Rj-S7UHfC+(lykj_h71MUX#B0(TvJh zwxAy?R;BOCno~Km8d8C@?b4499*d)X!zNNg7bA7(Gm4_)uF%9eD@kQ&LPN*Rp_p@- z7&U1g**fZB@9K%_wHl(9RU-irjlmZU8@rILoijPBwB+IG2esBHG-WT}AP(1h*RFk+ zpL22xWhV0K_4^O)tWN>t3y{#47S`uJgW$^JL-kR5hI9UW>Q~LeTb*%n)rbPu#noLH zQp~5&_aXiGHe5Qi7CRS?!Q~TMDf!q&ia)ZNVh{dI>9L#X>WS5K z`S5az-!X>@68E7v^*An^*aIIoJ9z5cq0#t>?m}+}fllXB;_T#B;^g3n(2yWRMn!hWn)`qZnP+C_h7xO=4mor1^@iP+E73Yz!TDz}Q6A?su zV{@@55fjAHxyz@P?Fs`*sI;X+Z3dB{BW6f``r8ts)$8`k89bleb32QH<>Z;GQW0=F zic<eRUcB3gGH4eC3PRxVpkb7st>p#uky+Rc@!R5p`< zs>+orQl*M!!pvf^VReg|CT3R6+El(`1@iPZ($uL_$jZtR=H``QW>!H$p*T^{($b1O zsPOmie#8&uDhY7>`J1x%ukS11@8zoCPv2IAS&e$=(t9YDt=UFxyY!(7RW0fJ@>K*x zzAamc%9>T9YPIT8ZR^G|8_{?MQ&6+EWMOSjHR?N)y*7~gkDfuhq7!J}(Ih$^caeZ*Cvx|EPyNv3M{$dd4 z>E$O@*;2vROI*$_83ouj1KfoIuJGMvP zfrBu6-cnpiFO+!&=X_kxd_p&JUy3_y8avan5#h~O(ua>bmqXk4oTY^Gxm0lLH5D-< zD(6>Z<~_tOj|saD#2_%Fy#zzG?=%!_En>j?0Df)GDQVwns03rRZquLk zA4rh49Rm}CCewkr5@hivYeX1SO zGOJt()hw!uReOaBW|Gsv7Vc%r{8e0e|Neai{Pnwv_{+By@O61}1T>4p?4|3_XXrRs zHgu-1%T|%amB;txD^a;hRmr@DCH?K2AE}kdl&j0wA2}v17-s z|I+IX_l*W$XtYKF5MCS;tJ50A;#%kC0-cMa*pK8TMI-IRHe5Nm3sIXE(~+&q>3ZT3 zx|<$P4>DpY{n%!@w0{-dIKGu`oj-=W)U)W>E&^&7XYm^{dNqNI+6Q4_ktLfpZ-3dZ zPv3VnEX?8P&0Zd7Q0tTga?Oe@VyMBvCj+rGH z>V5i;qy155CDVgNd)&@qD|p_xO;#c72K@20{~3U=p`o;lO6^%r$E4AM#apGCVn8~4 zG+EkDYd0K}+X{eWa<0eCHy_w$OakBvDCJ_I4F7r7!#`8zJbay5XFUI5S}=nLQ=G3} zyJPa=Dy?p~dO3RHBF&t)k&-VKnMe*rFDdQD15=B!lyc3wouc9wlzF|Frc9hp?ISzW z#nda*rF~bjt=CXMgaM>V#R^ofjwNZ`HKbO#QQf-r$;QT3yt6nOw@USDRLiOkRW`38 z0>rZA%W>kNm>qIlt)vcCtRnM{KmF}{l&xriul`;Z)vOv~*!by~zhV=j{tJi`qQ|X%jwXW z3$$SMPV#Nio*FnB$ypOb-a(Nxb?!=R*>fCc6R)CY|Ix5<(4eu4PKN3%sCCnLLhIoz zRR_1S^hRG!UgQcyvPN80n)m(s4_@@*<=a2;FrA0z$^iX~R)qfT{qM7Hz<>0mq@(fm zr%#`j>C&ldUzJK-V({>Re?Ta_{X(HP2Fh}G_Z0ssy;cWrg9rTdDr{aj8951uaP8~? zTs*yx=OdJIVlSn|9HQK~D0*=5Bt5=#nyBz9z0A2pbH@&qS&FY;fapK;oRZGs^~ zN0r>Y_u$clapT`qscZ(j#7;= z^0|uO*4@M@OQh1_&%(0`p)|8!R^C&gK4)Y;_z;}Mep<|y%F2EuK~r0{o}l#W_ooE}+UP`+o?M1Fa z*o0BZ6JZc5DtJg4=>;@p;!JAYvK@73*O@eGEm@dXrMi}Ns9oz;WYB8J-AzrQ!69VO zdyu`oJy~1VGgTqgEvT+dL(z$pEmwi+)UoC^mjp`Hu4Rp~w z`GyFH1cY~>g===n+`~~5NR3s#r1lJxrS)kJJC!%7Jc6-o?G79`7LWGb2EbA6C00JJ zIxnd8-cV@`aBxUNrWs0qxvsC|%PO8@j4jyR;qOU&AJ-%3+&=&yt`~bp2 zK?V{2!%R+2{mXD7gG_Fnv)H-0>(&@;* z6pOUP6JkGd`Ajt3OHZZy>F4Odl>~Z|dxajSpQq(hM#EpHLZGh?bVhFh5HG)`uyc0D znDJBIKX~}`Nxyyr-ZW^?u*Av91!KmHL%a5!VO_rw`~t%e*}ez*4IG7~%QxYA=1p)f zo$c5&avn*Q!JCvM4f6Hk7m_r{N@)fW7P@goGJ3)yvUT*N4&8={>O3(y3jx6$xFQjo z4wKN2wI45~;^4fEpQbM(7dJl&2#%E0KfaF@=sb8IGHlid@Zgq{(r#k#Fy((dmNu3t zH-lSQrr;`8qB9uHp0|d^jGrqaJ*LjGKIHhR%R&|Y2p0beK-gmatyCcL3 zjAt_288Upj%tW}ACBtk^61??B@=kcuXTjf+r90&Q_=FoYbJkkgy(dQQ&%E(~Zr^z) zn>~Zb-Fu*on~su$qaQ`I>PNA083H0vhm)yery*3gfx9r@_8&>4d(28>#u~Tp#1Z+i z4A+?ek&*eFii+M+He1o(eohxtZ_wlkGf3xdB#Uab$lG9~{=IwAmJRD^;DA2lNl{H8C>ejGoNTtEtz|maZ+LpOKM>2K#d%nsitK;;&xLb zdlzb8>qKrEPcr(1l8Y{o+>A}Bv5OA{hIOJ*6Bm$AXgdKDXMG^FzRh5#@`QhA8ziJ& z$JCiiU~8{|Ur=*6xEbK4^Fl*=XEAK#zjFo;jy-VK7~ty{3@2wb|G$+)v}zag@X@os z^8f71moLSa?u$nj{oDKBXWxMT=!@NT6}ytTb7$Am>$NYnS}lx5)9{>wpxliCaMpRl z!QBf^S|8DD*f{VXwznwD{j{!_HDMGkC!RvlwN&DDKR1mY7GzNI)fC#hZY7QF-v?f5 z6+GNk(7J1&*Bjsy5G)mln@0cxRLPD#M_w-ddEM*3{{4G#L*+j3xQSEIq*(+kt!)q# z943ix{rV5V&nwm53aHVRi7ykYTNfX~WJPP}~kDRt>S0^F7wI$|0g zJ|VEckY^!m&%x~;Hc#YM55LakYd1wy$kbbtEqe$pUbaQ%Av_yl0O{6qjEMM5+KrD& zY{kFo(`td+JiNK{;HOsa0Yj$5ZrpxURO%ce#mB({!L;ipjff&F zWWeH9nK04Vt1IuR2|U?=G3QBXi|CbPgsfP(SHR-H!9?1=;{xuPyg9Z($hJ_`SD_=<}kXm(_)@yERXIa)3`}T6>D@vqn%ZSzp z2ns^m4eW#YKTX8q8Iv(_#9(x6)dGQ@2I$?~ z;OFIyQ6olT-kiAz@bibk!y7*SVbFPp!d)Lw(zJQI_anzneQRUqQc}5UZB(_elK$}6 z2|tP8%BG%J5sGM@DOpf9>3mbpxhaA0iGT;M?!87c zfME34*|>T8g+$V_jl0eeM$yMpM0Cf`S1e0-h|C*(M4LWjYiE!l``!C*1wfdA6xn`| zcuO%*D7NgM0>^LKO`m906c!cFYPiLddbNmFuHR34qvGYv{ai|p=tUGaUPbG|RR{wJ zi}jf8#Gj7=MDpEBGu*|}gW zcwo+e#uQ(+C*kUgeZ9ESN;-dorp;XWVGhEcUCjEra_v{zu<5t}C<92>9wX&7_v}AI zox2Sc<$7ZWgHWHjr8Q{ibkVACxD_9}kRY;NQg-$WDk^v_5yGrkzn+$l$&;ob&_4i+ z7S6?((ZkTYS6AxPxh>h*HxwpTrAk$(qM5k_P+2#yAhGo4* zWasQIz@atzk;cPcT360)MsjxZA`j0n@-Q?bH+2vV89I#;&fTCvBWJ+I)f?7MdbH_2 z7&{N1!qMYN=-+=doE>#=clU;qn;v$qT4`me^xo3SVy9}Y&J#MVCp`4N5}nH+!pq53 z_ipmkS&`zG_0~juF^Pab{~khr;Pu%L;E%qPtdHl@;l(=e)vaA}|p;EQls8-7gW>ssz z=o^UPqsKvO@Is@;j_?l%L5KETFlpj6?AUP#nHg;3!5JFA$ee+d)V!IR((_D#QVNLl z9WYVoyB)g>M$xV3*ncQiY)$w~l8537ZIw4w#mSd9aMo5VT(X6Zo=BCm^RW{a$lQc; z%9XQz1tfkC9G@=5ZvF!eH|v2^N9o!3Y1D-Iw0-YsY5&YyxRDZ*vqW6T?JhnJ-t3k4 z;hc3Ip3CQC*Wpqc^M^pHQV_X)=RKufD57c8SJAHzNHX7_zhD~iesSGp#ua~G43d2P z$g%U(yWe;^5S1V-u3dXgnd}M`ncttQp?mj9sv&+Ze`j2|#U*BlV%?^Zmcp8M5$hBF z&KO|W!oEwl(I&qxeqON&NEkp^tUaviejsz zxwtq{-MZ}9YfV3vtth!6T!GZ7$3Rk_>e@6wXwxPbK5_*5^&g1VZQ7!5zd?v>+Yvo_ z_QmKi6J(gq)+Lpz))WBw?#GG(C|q@L5@N;5)j5})8Z>q$7k2|Sc2djY>pD+=(t8Gx z)({{zCsK(x>PhPvN*>0hr1uD;1&cRROi~6Gt=fqNt9Rm5at2m!I)oMxU7=R{K(F_g zHn5$_9ZotAII2D1qV<$k7H5tyotN8JyqH4Ii;3|9|-X?JnpPGDd#ygj|(>uH2eqeai|J+NidW+cWZ;L?SQ zvUY9Tj_zH1AgpN%c>4qj


0w4{-}O9}Uc>o&9#@Tg_oK=Kv1-8FdlDERsXiJG`+ zljewQ(-A|4jKSW$$60Jh`GpTl&z#xNkhKU;1vtcFqrfCMoV#F?w5)ys7f0&9qfhP6j*snleK69gLHKF=w7D_9;r`p_n@UD-ih< zOgI6MXEgb@UQp77T-vZLTD+yE&R8Lai`-7)&7S?OM9Y!;^uvIj-%~0NzW);d5r8TM z5w1e6T)iW?AxyVrr`%)5Q)$Wa?IJW}jf)Z<#h;Dun=yN}fCqnmW?u38@=S#*GXAXm zxfJg#zRqCF-w#uV8`&GFcfYZedMS@n90mNC9Kh7*#tz=Jc-am)?$c*8=z1nw**`Vq zwX-!$!Be63=H}kPtZaLV>}NG=0_z>^N{5+xMTs zxT%Za;S&x=XCpKkANjxHp}Cz}14o?)R0bazrn|W7;i_R_EmP-x;jZ%(FyY$_Agodk z32mDA+zl$SR6fT@2JO; zmD_P5HVuU_x|QZb1);2Yc)Ii}Lq6^_xmPX$MthVOd4)(v|O;l-V3B9(|x`Y8n zv>o{z70asek69$2nmT^Eem@hDc9T>O%uISLKvHn~CFK@B6I$`Gku&9zH~WmN`yXZ& zN=hNOwG`ms#n*q|F3acl%zrM!?v<8O@8HTx5kB(Vf{*pc z(F?S9e}b^WxcXol_)jY>#XpM|gD+QQJU6*{=Otxi-4k{hlM$A$+#&R6wu)!F74`t* z_+3+&6&puBk>6QC5$BRTq~hWSNIriFW5!N|vx^E=*7ca4D^%Tf9onN!+elc~t4oWP zEk)mf0}vP*0^h&@d2DEtFhsU(kB*(XVBGl00v_x;WnH(SXhEt}t0jvQ3>iE)&CtAh z9gfZ=TRT@`fgiW5Wa)g#UGGOOYEQ9r=S#lLtt^daAgR3r$*PgF+;21nkw)z;RfdzR z2RkdEv4guLaJs9F&}zKoM2W#d=NAAwcP(7F!q9t56~c>KS!^uIiwEiqAWQ(@RhR}FJ*f6>^VoH*1lJ}>EZ6?1+6{^ zM^2_<%kI-?=;RM)k8mtpy%!tzoI%v7i`csFG$OhUhRUZYG(Mrwcyf8}0cLUa>edxU zqYj`TI}?d9r*Yw20xq3T!nw1ja48`UR}y29aN-zNEnSM?Lx*8t|3PAz!h?HuTdh;y z78aIuQKeQLRIX_W%X$rY$O*lt4~C2w4Xw@tPR_0ZB9U!7Vf>^SI1qIT88>dD_||jC zMlTz*DF>ZFg!4lRZoR?$CEL)@-V4s|ffzS&J_>I>6Ej7gj~KmM2#_=l@6H+#*-#a& zgfjRRa4J=HGkEY^K*``xT1?r+9#ZkWHxgXMKsI;525Dol z{)8(8CF6vTMeO2B0mKy1`;TdiT!k?8_Rih+Lesr;`6i{M-=m#-PK(9M*|@88{8Xw` zJeRH(f5<&ihTiOxb@ccpijBV^_9q-(#g-@RtHl+G(vD*)Gh4N=ci7-z)96ZCu>i*} z58jJ=@04jv#Y2nD8QF7e_^4U(8u7`wbpFyUQw3MZHt@enD>5_d4&A%=jFOYD(X{Dv z*ldvM)wiL>b`G?B#m~~FYS_pY{Ra=i_T9VCqfc+RX*FW;&eccr77-XdW*p|sU5KBi z&V)@vd;I%2*4@cU4GFj%;{dkK*6Wn)K; zfQ5%wFsbz9VNQ$y03ZNKL_t)(;Mmv>F3ygU!S3wn z1Xo8VXjK|`8o4d(iFyuBP#KxdYk;%HD3=aydbxDf7-hiDmM7feb#m1RfOr@USp@|J ze>SnN-j#VTOsvnphtMB*ef9(Rqp#PmxfCub^Z3z&GNVR}?8^Yc6^LHz2iwLP3>Z8G zN6%crs7cEZ*sKR;FW!ojYqv3D{swpkMxc?a2fTvAVeko%f7}+~&9P$1LR?IYL)Mj4 zB%X*yT5=pN#Gb^(xKl_ya}3ERk09mbVO)$kftX{_Sh{e54A%z^90&(TXR+$$`3JYI zxB@9#r5egtwLpa`)nVPh79nBHF?h%@7>r)>c+RG7->ExBjGlyj2Tma~>mCYBR`1Bl z;e2$?LVt#|8;_7%^b(iT@1kAjVQ|p|!BrcGQ4{9kO2!@Bc~F9jX*aQT_estx$JO+^ z5DRp6s4YzgRBTF=Gkk@rtDKF0+P+c->YvU&eh(oy*e z*$&Sr_%`QsFeTT-IQuw2R{%tz{+jIHP0_aeUJP_>s>n7hJnJwSJ8q_{={JSuYl`kQ z#o=;Qz&0t&^tyEAE=`-UhLTeXVKGdFn~06a258GldF!;`~@(0*1?yKt{ws&3UDab9bEJ>`{3JdS|8GQ`jeBJ z76!c$o@#e^xw)cqM3~t9%$PU?Qzs0tXQlgU%xeYHbikj$44_%f*OE&cVi=rx4k77*zUDs6B$< z9}+H_4yOLjoca^aL`NY#HAz6@a@+}APmV#>g#=uTIfk?(zMh24lmrxBO_9s=3+Hj> z#Bt2{X)1;c8G=52`hjh_Eoxgy1;VYXZ!1)iN`!A$uWf}Y)oY3naoF&YA3(%ExCy#+ z?}zad=V15V6Oug0ignIOzmfe^tl-5%EBg`hieDiqH6IqYMU zS|alt)`pypxhlR^Gv}<4b?WRD8TK>i2z|GdH1Mf*#FQsu0ujECfsO%y*;Z_+!W;Od ztA!Mw#Fq1qWvI>$y==0mNn3pol{%p|w&I*ncXr(u6XXjmkN+D1B-!# zSy@c*;L2I+?1)i)yW`}}^+=C9j62t3k$?FZGE<|Fed!ot4{yQjaf9Klb`pY#hlhu- z!`!qUGV9=~!&&1cvqWAhy+70jCU^Kk<)#DwPew+zyY%$wQ>j2+y?XT@uz%1Wetq@> z_+u{)j(T0D1h32FK*=hUh-Em6ObJt~@4NBPQC<+4JRYN%1C zE;u9G+dlwZ=E@{;B000}|%zTXN#VV%%t;1ndL63z3c!khe^-lwy1sWfTwboA*vkoF%qgst1RVc))eIB?(qR<2x) zGiPEjd(Hwh3y*-Ey$fp8w1RbgJ6KxV!lG6^RHmw~JCYZ40h`YNRe2p3`nLYtoi6@X77lk_)kK)#aLnut$ zhg(;pP<-_WZeBf(8;OT;XwxzT>RiN6&dj84(@Q(`N2u!3zaSaTCWhO z+`WVmsn>a8)QHgu&!4{dGv1rj=wC8H=nH`SXH+0>7(l+7Gke;Ekt2pY*XuMTOyy-I zx{KP=6o_LCfwMLMYGW`we8S{5$Iy1`(iQu5ZbNE(j8q<6Z77vT`nj{Xb}klI&c$KR zrVSX@uMe681jy>#x(&Lv?}!Pb#$d~ajku7KDiq%-Q>LPCzX9mnr3dr!rJZGAX^qO& zYr?!nZ2=LpsunUQVG!{T4iOMhY4p;P;8eqIJqKa<=xK1v%c~@y|wP@21$4*~?LUH{_&wcej29W>B`d0v=46_-$ z&cvou+YW#%rVFwk7oX8HxV-z|4y+8}*|LOH=1jfa ze<)ViSR96RHT^CvUA~*Hrrj4)L2BA$gXutXofAkXJmUS?=<#j^ikvQ#4cz6>rr zv*BvS+piV1itJ6X328DDnKFGbIl6jMLpu$vT)R{JztXaPq4b=GQa# z2a$VvCob$;j_B2saD2lQoZT@CS#g_j=h9)^ycmt#bJ2+2vK(PvuJF+~!b`7#PNRp) zRRg1U5FFe*rLyP66nX|K78f>e7Ev;O?1WQK9zFdNyJo*FHCFtx=->JdzI=iICV-TH z2XSx9+`gUn)v8sCXHJ|j`bCHKtxMe8Tw(Au%Fvn_As)V=qDc1(Z6yOfwl?s7N(V-e+U8to1uC0wrCz6 ziICuCXx6j^#*LkX*qB5_9Xcw^o1w!-pjGQgRH#@94H`8TuwY?hMRN-|i{wiI77Gjb z1_xuv$T4u!8DQ_CMw8}k(5Y)b3>Y*HM~){7RX4Zb39|E^AS34yu4g}#VLDr&uwPc; z-M1|06OcK7sR$>|Uc;IA458S{8Gb2%DBe_`0?6-Y5T6Pd|7S}9kl#MPP;9(lzo8}jM7SF^1CJ?aIiOHPtkts=$MTxmj=-w}& z*o5mc(B}CCQ*8GiN|c!oXRdR`2!CdNJTGQqF+lJPg&AAiu3E8bzhtZP&lyA%r9D%f z8AN!ta`r1t)Vjj}8a!ea?Kzkz6$snFv(qv& z=j6DvAIfl@XCkZBLl8Wh7gDyKx3~E*OR#^M_*Zk}gm+7xD$s=%U#rBof< z$L1CUTTd{EST(Rk6^mN%4hTl~KK)Ca)j9!@u;!6y->E0YOqhk3gexK%%+7lxK$2VZ z0vS1vd5MOC&wyFbcZ01)c>Zwfwag?KV3bPWQvgx?uKpE({J#Sch06Q@o=5z7o4ZU zWB~TYVx!8j6XuB}{@jIY$kt9TjI5Teds0|L4|3BrC3lZzG;97Q1`y;F@b}N81k>xX z<8MahFLbl`31^8QHZ~QbM@@i_moF++G(*`R%Hg~3en7eMl~ApEZIrE073C^cV`{Fn zvDk0zBY5!O+6b-D2fqgmWhoWO2O!aS3PVc)5T@pG8sg6j$D=qc8rM#2z?DO*aA3|T zr0-vY%%htSvt>SxuAPpf>lsK!Ve72HxPAU0Zl2qZ+o=bzfAvpjW>i7v*chSyY*Ok0 zH#dU}&$&I!0$r{?{QLsYw`Z?+%N8vj|NiZ}uawl#*QMcaUlx6-Kt9(W0r0-et5+`s zKrUTM`uo^XgJb*l?fh)muzoLtL;T(wz4RqcD%TQ&w~x>dSuMM0@y|G)av7U8ZbMQ+ zBCcLc!NtUQO22TPuAWPz%Zc%nbovZUpEQL+f|^oDNDG8Vbb(Ju8~6mbN0W%&@Cxk+ z&!DyO`fT+ha~Z96b%&>&14KLK7|UNAGOjC%ELW%$Vz2yX~A z>)N7hWeZ_ySy7M8S0b!h4{g>0eFqH3_id@Z*dj!NLpI?g)h0K zMI4QrfBTK7xidfU&|)y*0kzUv`bQmy2}J(y0f-5pxD}<$HJCxg8$QS2G6j}dSvz-~ zr2_|(MBt~er%cDi3@tX7d@hQ0WfsEiE(Q{I*=2o*Lf7RM*o8|s#S^P@w~;h{5aN#Fc`^@zBGHC^F@@okL1D*BvIr`@$-Och2!5$C>`+>N<4#$di85qq@`7AVZs#%JMePb zmX+krDm|Q?9I$204CGwckGq$TAa>I{#I2u;y9ozz_3$R799)Z(!|QSG;2Om5T8ed3 z`y=!CMij(uNA8(TC_1+f+ZIkiu-*k;?k))S^%a^g5BJ4TQRgYc^WHssp>NL~ulDTN zs!|LTxrN0cQ(wS?zEmKe^N&Co#Jzs?tW3%KS7o+sUgJ8bf45sBM)Z5oqer_pA))?n z^#;v*jZRyl_w*_W3T}$6+jfak`1sLND9p`6-i_->OFd85l9T9CLL8-?KS#$89Hg!t zx=>hX3u@WAvshfPTWM&^UKG-*F9o&ijezFe5zwRq{DWJeY4Z+f9??;%k<+JQaqUVP zHm=`*0e$*n=JXj-;+HFH2Fp72QMINuYSyuZ!LJD{tZZRc-BM`2mNt#hGO~S1*WSHL zT-`M?WN+Ro5`%}077#fc9Ve9tS0OiY9>HWl_?$BHo(qsDif&T~k_kkVs^nh*h@!vv z{|X=<=N|tEARnrn98*-Ta+beh^*+g1=M=zk;}_GKwTEcSwv(cYXQM-YJhy+ieI;k{ z1>AySv&YgoNU1`dtxgoy6IT&D5a(7I&qFxPknLJH`()BjO9dR1p}sP>XV6k&d>Jeh z;NZt8`Wb#KKbP%J7?Ak2IBT9+V0V6bhn&0zC@6Y@d%wKLx{Zh6tO~@~@rzM(^PK>Q zlK;-u^K2W>erH)Z_o*QN5eoBv#hFvF7&mIP%n_3=nNIJX@$x-XDZ`ni?C+xw!L^P!(Cs0~)5^Y_*iu^sjDLk|}MMQL<@D`n=-yPVj8~HWq zOhMt@8BEZ+<6wk@cY$AEYecr|1y@%+)~?=AlAo1_l%#W5v3N21_3DkOQ>H=V?jf5) zE$fD;Vc8H>Yd3(6lRK(eHIOQVS3O%hbn4NgBqFj+iGzzX4Bi|_)m{RrX3brOQ)g0f z`_3C-XPInHUQ=4uW6I)Wzv4HNZpdK5!afs4_9KA&c6|hp{|-d{RfY0#{T4u!%E2^1 zekq$i(`1!a4p$3&*3X)Z^Qncjc*zbrd?bZ#-g+zf9BdKt>q9aDV=1GFubT$xCV``* zBr?k>_u~ewR1zlpmX|{7UAtkwEOyrADk9-rwzTuOf?<$S3?#WSGTGIehX0aGSgMx) zRCvkH<@Q$tTMwG_({i>@K~~Ovq-Wg3-Cy2d_ntFwRR?3x(CNaQD=dBuZprbnE5~LU z{@+JI{uA6PevIhD$I&db2|9J?40ksTs#Las+TBC69WHK0sXn+J#BCw2LPVs;flyil zxwz~9DS)u^uF}5JdU%VayLt86Y;htLxMDBTxKTrl9nuwrSB@k7 zpRjlNR2MeIs@JsM|gYb zp;EiT$IlnxEt;cWzdq>DzV+L^J2nj_y!wjprp&wduf)TSqZqzaAoK-5KIb0+_fZ8v zfHKdYJ(5<|#fypG&YwSZ!}RInZjT)|>_NZ&J)ebzhrZG1+}}58(xhbP&fRk6w|?yg zEMK?~d$(?;JGt4&xR650r%y^HvS7wE3ikDrt$I?^h+Y&P*`I=& z_n>BxeW^v;{%8@|2Tj5|ASk4@xR7pKzojHQJp-4LlaU-3hh+;EV90=hm^}F>G_-XP zqs7WK>Y{p`MyOf0F)CIwfroi*E76J6s#_OL!kd-!8#J)Q*4_>}qbE9b?S)Zer()5P z^@xePiu{77QiVv8AD^ukzA_~m^30={bJicp=FR}Z8~Z;}a!ocSN*n5b6F|gzr4&H8 zCB;lAlZ)*O*}Qo@ctmva^fj6{f3p}SCM0GHn6O#l@sn3f>3DPCF!qLRqVw>7D?O=$RtnRNTs3*5Q=99ORtqHn(mXzbvPHR})I=54M(go14n zXy!c;U}7(?!s4gM%YA@lOV(l7kddPFwr}hJ7iTr>8as;xI?pIv)t*vyusBb^gTX}a zEvATESul_&prI@V4h2B?=Nf}I3k8WSdKx>aWcbePEv5iFI5;54+Z|^PZbVMb_h)3q??d+4UAUEa5H}MJpeSyi4At|Jqi{1V z9&4A(fVV+~kYInbYZr+Q9onH?+g9&;_3V=P?D4(7(|c2^nW^{hVe+v10wDASKtA^$ z0p|;t+F7PQPOd~wojz(ddCIucQ>RTV8aiyigUGfmU;FqP-?_WHm5d%e5?i-!#?k1* z*uHra7S5iHq?j1WympyV65}W(A%Uh$m`HlHj+!-TNzI$Lr=XBF6x^&cHIM8kz!BbI z0JZ2e0AZ2c(5!VQv~1G_0Rdrfbyk<`+Pbr(C?^M(l1xIw)TB7f_-PUb_8)+0(`SR- zdaKuIh-#KLs9eJe1IOG94nePL!PK~x-n%Nsg}Q*ol9X+5JGrB#9Ck1MUEQXpY~VIxF-uCTiJj9a30 z8F)+^tJ3EAARa8WJW&+v3VTXvGfB=zDa%WtvnrdjT$Y~g^QOwJEFNZW+ImbjX{OLJ zGmG0>{21P}S>&fg$$o5Qv9jJ|5wD0NdDfzk2KcqugNwB$tcYj7EWXWZbp{AU8^f=| z`5wx#@@sQDj9*K@g=xk&Uy10DpTmA$?C<5`7CdKl6%j3aqOqM3{RjPo z)QiQ)EqX1KYyQ2Y-T0Mqik?zV!LRI-g;QsfF=fhZQJHt?(hW_TG=Y^>U12LRc&OE0 z!jfXZkh~3zr&xrj4ZdIlL>2_HA)=dxH7foxAa_>j#RIF6y-J4VZaSkZcMmUe(HX>P z!Oh@>#;$6pJWOeV4lZu6YgiwByR=2}iG#>Uh(>12KHNCF6Io}sA@lSWDC<$-Y zG&M0P_8XINqDl123Uof<`=SG(FDz^?A{$bKAFpLB8+9n>Q&LGj@bnZJ#-P5<9nU!ITN(DIw-8rC+&B7tbftmQ9<< zp!b5WS1>gVZB5OZcS4I+J z^o!?^b|DGp6JjuZ+E3!BI&#cpSlc?oyjFeGw6Z~^YBf>T%pBjAt%yq1 zYKUf}cHIV2jp)665!SM`WKK5?Z-tH>P3DU~FJFfnH*TS@=sB+6_!ZJ}DSRScRJ>U+ zGmB>;3?2d?d9NrtpEuptzX1>i8^z0tnOh7bY(>H#BA{~Pp={2gWaq&=E7nV4Im=i4xD-=Iel835cys3JfP<*m=Zb}Vyz#SWkbkBK4Y}Ij zsz#wAE2?>}KKK|JIC#V7f%&wVt7-bIRkU)=UQxeuTZ?JGYt|o-ISIe6sY>GZ7=wpN zCu0Js$DdR*rXVc^&{)^OfY-I#2!sT;hqtjgTDItcIdeDQ!sTMAK3MRXQ}{v{bLrXl zsNm*f$}j#EyY?Ptl{q?h?uzj6aI|T|zti?`a&m%$y$jq_oVVc#503yDnsfD`GWfyO z!&{th*}qDJff_$@clRbICk=7JCR>H5+_Vxg;NajSUTdx@wdCUX1qF-Fh{+jj!_I)> zq&31(rGZ+lfkVTF7~HEXt|lHwWDRyK z+wMI&zw`Dnlo*U!Y~8jI(MO_i{8%*BtoRv==FLV*QaoM1dIjg=6R2dGYd6}8WyPk&JYga^^ z$O`xD>sOH!cNQ~e&c@DN`!QzxbX2d^0F|p-N=3re2iu-7n3yV(TBv1RU#bxn9yYLb zKv?tE=+d38vs$N z3Ddyc)T&ahvn>a2$~>=7djGt6vNnP@(ref6hz}K?-KS;T70N3!lz7n0^8&^7m!JP> zg`gNVDuZyPdbxGyJ)Jmxg*I+EDndUN19H2E?_=7n<biRZQG!2WCTKkd|}YJ!P&kM zTpS#s<17u8UMdkDdJ84i;4dJ;%UR>a03z)z54P)JAh36UtBVt~ZZ6QPUC<=Z8!bZp zYtucB~Ph_4uf%Mn|$co>C+=M+S zjPamm001BWNkl-Jy>2@8ubhG<6MAFT$gYSC(jX#0 zk9OgK^4@{IUiqt5{#^apvnK)`+_GW-5$ZkXfRx}1fY28J`HxtpfEp8sm<-xV$~=7Z zig^T9o{xo&Mt3G{uyzkhl?R$5PYsrX_L$GwoBJA6{8>fyP5dfJ# zdj^9D+mjGyeza}V0cuyBhz2`#>Vx(j`=Z~VvFO!rB>D^(DKWJTZS3&P-@ixacAZL+ zV&ZW9!bKF{$Uw%$WC4)8^vlS)b^)2!E+h7A91cev$KJh1F?!rISk^U#PjMx}03wdP zUVgB5ag%DKTCF+)B5b6`AkwS%0Q4U)6uo;5!h{Jkv3}z|F<)dVX;v;*B3y--S|%os zsZRmq?I!@D%s@<(Ssqri-h!|5=Exf+3;dM8B{o3h%yTxU?Al{E+O+G7h&H{@wdYWb zoj3%VZ>|?gal5P#XHg()Mi@|7FT$^<UftSa&63%OiQa`vafgw5`T!D-?!wle=b}fua2Va3pmMZ>ht43{44$ztyUWo< zFB&E{R}~sJsDlZ^`XKM(8C*HN2ib`Skay11zPfYqI4(qQ#HLw8Wte_?%Y5uuJQj1u z^uUnL%@7%4K-(t12=Ue-z^E_YxOR;N=bo3)djXI)?_SHL0w7{%!XWY=uz%1WczyN* z_@ghSb)_thwpA=n-n`|Z-Mcc+Up)S5|AF1Uv*%2|HF?VTw}S@vd*7>fx01jhU#Qh8 zEM2-7N23qn#PK6o_48tET)PT!XHMek#S1vFdp~;h=qr^74>-NOOlovz7k5}&*}%MV zbu_APi{S%@A~h}%IoHyVb@>tsGt!ZHAsN>%BqIB2ic}#xw`{=Lm8-CP=}IhHx&|jt zCZg|vk+89I5dg8av6svcPro3^6KT-c5w;G_sA*MCM2M_pXDx}hPXJm*v_-F8gD`Hw zY^>X`7g;&?L??1R>$ZRh50Yhe@jC$FDnzk}mzB#v@><$BLZ8ihAp`I9j9+DQWl`Pi zdF#Yqi=BV%UA^J_|FHL-QB|&4)+nd?R)2lJ?&_*K$t;p{&N&K5Fkr@nS5&~*4y zTA-i*W!`x_d&yYjtxR_Hdg`aOS}Iz%6$6u4!7e7n2|Va?)YZ^)8iAEobhGuF4zlBc z5j+N$##dxFPbHP4zI= z&IV=%2Cy=6IS?6}kAbF+DbKR8v@nB)vMjvU zc?kFF3WdgkB%z};1?@$5@Srjc>DPmB$c0KEp6=Y`-M@C-N@3RQ>4Ku7JpBBQAUi7!w{Aut@pcrB`5naR zz~iVaEkb^F4vO;&aQb90mM-+bSm$xv`kJgwCQqD#-QGKKKIjap3QN#bQHkop0(3Rh zp|&UwO_fEcF3QCD)Bd=6J{aDc*JJ)1cdS{y77OPsgSYp71f99WH*EgnkAwIqOB9DI z$(8C9NTsf$&jCb1MIF-eN*FeL6fbQZL%58ci1~|FVg05ZxOO8R<&~{y?R#P` zB@qGs7Xai-5NRf@25}1SK8bmYdPpyqh8` zc_P%7D(MtinSAu$`egai{*G1EKj+s>zXQEy^tslqUXjg8(<@ff`~pp# zJ!tB9#Wf-K?!7`zb}{@9AA|QMPpn+D05c~|z=9c*;Nd=xgGZA7Px)=9PT&d;$BTE z+Dqe6e&+(`FKX_bLw(8xK7#7Vk3(~AA}Z74v0?E7=&7l|(%78;KSn0B9!$z~OCEA& zW@-o>4SD$P@e-QKvV@kBbTkztqbM-~w?cdobIuRfgZJT5z;>M4zX2hByM!e(T!ry= zW_@dx%+D(;%=>pn8jrqyiTCf{a{wXWpdugi(wp8YFUEE8tUnJH}c+9af;CLul{8Zpt4h>MFvz|lhp3^A=igcnOQsVl}j3DNz(XA zRsqWDTHH^IJ|;VOIeBHi5^V1%vVkX^$ffX`sH$y4bL(S};#p*2LgS-92N1e*rUQ^P z3JndS%_%xG=^+2;ii-t{yBzv)jzhoXQiu~vlN(bvEF#6i&EO+Zjm*3GWp%wYb< zudt1thxu~?6Y{VkqMauxe%#`sYZVjdV&Yp2B;pJdK8E_(y-+u@d5bT9BqjXoH;i44 zNZ}q@M38@u+7)fB5%{)s3B2l>dRSH6Oa4e!B^*pT-_o`l>RX?qrQ;b|S{@+gRy?+D z+Jd#qmt)~9H_Vwb0SjkN#v~_enCq)RPfZ#cN+Y17CIvP5;gFXc1SeZlB*(|}1)VtF z?_f6uHnybXw&gb$WQ$I`2LXzSu_Y|1^i8mT>t;Nt%ftQZyC_S(fau^INV#|biD!2r z^5|NG?3jnRKyNgrN1#6S23qrzk$&qkTr7=YXJQ0fb4yrTJBrA9Q)}*iU}9zreLYQB znd;-%fgM6;O)=_=)3IaiLd+a%h5cSjh2SGw-(C#d_cSzMck`8yfTWEp7G3o}xX10) z(}({LfycX^w;#vJBApf~&N+Cn&m$}JGYO$@V1&i~&U5dpAH4q?>eF4#PexecPDJ3J z0Q$R??!tAesBU;F8rL*E zM`Qa-R5w1xy(j(r5Z!w)1QVusAn?phRMtKDq$d#vF3}i^+ns+rpvBiF?tVn;v?4Bp zi16*ZPO!NPHnBs#Vf>J%k(wAlczDwnIu80CvG0{wFCyk#xSdKz59d+VZ9KqNhp9Vh zY9SRGFq6ljPenrgvVOA)4eDo|A%0VTQNP?nQ~)W{)NFn6YK z;r!YD($dlohYtJpQ;HvT9ONWzY~{oOglB&kn8V7%0(PcmD9=j4qq;0Suf2=N6I*cO zxF;IZE}-~k08-EILE`D{xU_!-LUwwfEjt zxMRn*H(R%D5jJ~m5N6GBL+H6+q@>)&&6`({njD9#m&15YNX(6EXsxa0hKm$uOCV8Q zl*q{D z8tOWHU6V3P)U-??qoBzFgq&B&zME9TBc4aWZI|AD)AVLE5-kc!v4z=llPni z?|R1#7kBJF$pV8TS$RblYik!d<`Um>Gb)FV(YTcgEgZD>iaL%K+U^o5-^GGR`o7lo zr|9Z>g3OFO?Aoyxo*On|iTiBKbRCb`6USket210|O<-lH0ZStd=xZxMRcRDdRAeA8 zHwq(041=7U9Hvj7-oI_f_P(1jvF{K1`uCAt36bUmAT%E2K3K-qupu)=buFw}xDbs6 z8EDCkLsh~#T=Uz6nxyk+O23TE@FOU=c^nzxN01Tjhd}Q|ob>K2xQ)7uNOTq7L2Rfm z?DbV)VW7t&oGDbwm?CwJ3}Iwq2y=5&7#ZrqVYDS?PoIow6P&Qv-R)^hedX^Mdn@tb z?NbTH-b;|Ooa{-M@Wp1;#}bdOKG%S7ko^yzZ(sd@{bwlx59&z7d+2p_HUAP66zF^G zxc}=7o7VQPSnVOqn?Fm4jf+HDS^}?QFZ}3g+wM#rzI?}U%|SlYTkNlhO^N62y`JxZOU%_|yRQ4B7T=wc9|=QP$L@SsQPOz7@$`mEVl zxM(SM?e@XVoAIcr=|Fea8<2A?*?!QtiXYNM2=kovkD82TN-d;}@<+7limTV}!pw34 z3{9M|X{#UCGSH?GWwKW{yg+^PTM!Vnbo8-1Wm5@4)wDd~u zl1u*=MctkXzR7J??mcE4Xshc9^hDssI~o#RlCr<`C2MSWz}i~x<7VV7tY5tbTQ_dR ztjQBG$`f%ZM&aCwG9th=e-^r_B#tbLwi_QPsD}GiMaQ$ z|6>y3TQs)5M@xsmn%YF*QP(8mR_J2_5dss+?+}3rk>_u@5?id07Yi3@LyNvfhch3k ziG_}zHlAMd5fNpY@aya(KzjB`Ax}U=U5t2?_2&Tc{!?covN{nd&&AmzVpGKf2hXtZ zt9Qtu7i0;ac&Ci>DYVi|*CNt|ykd1U+M-UX`8jK9e9SsKUa-2FcAO0g!72|AtXjMf zZm#37V8#^8o;(&49IRkttOavDbr|cYz)(jG>MHV3RFZ{^oHRy`l7yvg-J8INeAX!N$ggkFZSj4KZt?D;kJr%S}L4 z!Uejm25Auis7$(u_WUSx=HEhheiRo8lCC2>_z0|x zwE4KoZnPClO^usN6?S%Zm@;`HT$~;I)~;E#gLECF=jf+#F%jet7bNgA z-N)bhJ{>6bUwRD&Ua<8exqXCCA5AG@??|(&d|2)Ny=2co>h%r9dia1!WE-1}3KPSg}&@+~S2zo}00C z>o)A!?Ssh3I6ltm?s~;J5s~`(3oG_^8VAwcJsAf+r}$Ou-gg4#R^wq|Jptj@lF`!s z=Huw9mvS!fnUL@0AkuM&Roqs+1Z|J zA?(cbp{Fj-I}g%nXsRhfNl_NVhYy9M)F{Es%37GW$V0HUcY%eSGtaBh&^3Uug*7ko zt0L!J4IOjHE9>z`Qm5-^8^TD}5Myj?5PtduC&uejB2gN55tj~m;pVA*EH5gQo$!I5WV0Hu^6-DD-$!)Zkr6J_#emGbe!9Z6H_6}s;=>}^% zdl;Krz{b{&;s}IsE@QKj5)%K7-akDb-b;L-_YrmT3?BjH<9qJoj)&KhJzHG!YfqZBtgYtei4NjFjQ|5LDE8 z5a&Ue>Lf6vXk6+(Bo&k)qoU4jPezY%z|!R&Sif-{)~s2DIdkT~&o==NYR3tWG z6mcuBKLH3`r&vou9gFCiUvjY{bs@h5AhhMx-r3Ld(Fs7r$%f)F7E$j4D|HOps#1l4H&05J0kH)2&z+~Q5=62xltETml=(= z{CL(?e1~=9$FZtAm(Y@P0}o3R(4Kn>k4qEryz&lO$cjBb2Bh<7tH{Rw?d##>V1@A$ zoMCKkhA}QFE&>%Ai@ISB(`@Pq|Z}%pgI=l@b z{<{%=_85|HM<6354wV%pxOC|f^z@A}ZH7Ch&RBr&2TO78gCb1Lt?WPt3+X(hq!swK z)hH=BPM(tvgnY6HIR5jyAMx#=VHhE+3}tOS*g1_AHf-?}Hg4V^tX{hU8#b=NjG0rh zeED)d&WgMqi>9Ure4IsMH|h+;VqtJ zwyEVcg(dwYQ=NDLBDq(t*~7*-&w`%e80hGa=3_8T9c!4FkAscfR5*`w$6lWxB;76H zcmH&!&&O3Q1ZJ;)GWHVdN2utz=sHDR$LH?k^)CVlbsq#EqUY~FZDrBVCmy7O0IK;p z2@XGjM|102p65ZU%*`#Y(Ae}0j~>25X>lD+91Ftgm1{6(#!R?PcEyZ|<1usMSd6hW zfxd@P6s74eCi9}*TtU|zX-@Ki>w!Zb+vaxsW+&O};udi_R z>QzKWMj{{}0AXRFC@9Q9-0fR98R!Q;zr8qh$`=RsZNZ^EUfAQc8vDFfBGi8$;;sZE zGV~a3T|9-{)L2xPitxTBo$Map0dfx3J|pkKyFfD=8w) zi3g!L+);8$Tq8n)Ln%dd43|+N!$slj#q+|o$Z#Pz>Ia=C!IB-y>)zL+Xf-lg~`HpY1#m8r2=MEn%Ubqxw=fs0%SPb%4IH9dr#vPQB#LY;0@{a|11` zSug`-8F462jY30qEZTBoxPR6C{3zVZiNxc=XmsV=;E99D=MEwDqCa9z?MKed5S-e( z9@CvoFmALF9PQ2d2ush%u-|d~_?A;=LQUSi`@l2I8QpmGzLQ{mqVX@KfQrH6zXBki zzh|HWVgCc?->={R{^uEC(O&xJ=OPfHASxb4g?@=wFQ0yM2 zGpm2`;)VSoAt5+>E);QbaY#x|#Oc#PICOYF{Cp2!-|ns0vttti4)4O*XtbfjcHoa>b?%o3Us20mQ_l;=%oQsHuI(V{vKiwyFIc$Rv<_ohWO)<9;tLgx`Ug z%|sX&J7Ln)B`B}z=H`H{9k01jAg%k-NXpau09P_w+K%I+7W#dTpSp;qwkN1-dVr?Z zXFT@xZdy5Z?+fJG5(-^1F`s}#N6yn$*C#J7F?s%FA|inVA61d_4Q$w6001BWNklIT5&@cOB8kJaOf~ z8YG=PfS6NzIbX74nH#2$F@md|Att(5VYIaoboDgfE?%}YFsGpKKX``$aA6?pqirjC zp9rGoU+@|O0K&f7`S&Y0fd9Em+?n+Diry3-dV9XP8gbEnug}gFpF?|k)^A$X<-N)0B^iENsSc^4!A4j@wCCSXjY8&luxfCSke9 zYGLo50|F7_2BwDie&}HQFhY`NL=2Hu!goVQ@vcOgI1?#ZOrA0gi#?XW+R6+%+G?0L z$Box)x2ZgjWY10?B*kZ-t?4PcI(sOu0`+aLQQQ0)UYdU_DJdyfS=%=I9}66}Zrv77U0u_cIyxr(!-kH6jI;t&l~tgj zq{O$juAM!FhN4V7ZK}YthElv~uf)UZ0<;#VBVg}VI9i#)!q|Z8HHaV6HnM`AnFF*b zH-ub!jZ9%~XbA81tI%4W!^MKFIniiNzl!_0H_(|Cj?-J_AwFm);!p2Gbl@Ib_1lI+ zn>{eu$pRBxtYKlQ({Ev6&~f@qpuzK(&%U7!;oS$36$#yJaq~k03{H~&S4r^!5}geI z$p3Bt5qW8eIFUC!&wmqgF39z;-@cZed$tgWyj|ci|GkEecAv4ig>dwEAkQgx8S9EA z3l{P<&O}=GJ#_+M!N-vpeH~@_=_t)hL&Sv;tX<&&Yg1F$+t_koP*>A~v7rr2j2&QM z=_=ZIvapA`h8C7BT|%V2;In5hGLqBK+0uc!np)J>R3PZg35=gS0sH;@5f*+6Q{6rI zD2ukR)V1^>C94EkIVI@o8E|8~abq3fHg!BUtX+mB3uj~EIA<(h;sM_SN0FadiuTs0 zXzlJnWy2G+-uoZ|lBQQ2MA|w&psMC6Qq!tYUGo@S-5+=gB02t2E_-rD37lPLbKr0u zKLdMw0=P4;f$-M3fyo+aJ(AbOHtT#R9`5$SSRa{kGUH6#t9^wtGF9GBy zhL8U(01LCi?@mhkrj|!&Xy`ypR4lwUuEXMa zv$0^-WVlUqf~%7aoNY{DWvB&14Mk|FDuTS!9Fn zX?R|ph31@CH0H%4D(o1>+M2-3P?z&0H0mUK6C(>J=o#5UN5=%_rWP>N(Zs>+o@gt} zL{si#JYDKYNMS55+!OqFHUP#M2iKzqxkf zid|rEK=odqolm{Dd%gDD;`K^NO}$Ug$h3d?>UF}FtviGX9GiQ)>crImBZj4hj457(YDSoGO&h)xif5SCc?4)mC=&MlX}9sEPu5R?DD!bc2J_E z&R51g(ypSgn%XOUV-si`#cwOujXx@jtUOdRf(m6NYrPI#UL5qI<3%$dzU^q=6fd_I zyoe2_+xav8b~n^>(C`2ZOAhZbBZ-DgA!gDNO-)~^z^9YMoI=vAt zMMw8*j{EAD?{^|+Z*hZlW)gOtm&od$pgWyBS-gA_*j>;=|NR{UY2LM|T3fdjUBNsiU;x0X+9#=mR96QI0dZoy$Fm^3JYBi(yF>RiA;&KTVCoIAQj$hs zWCvVvY@?(^AH3@EKyKp=hCQU`?o|;uRW!8NMVekX+>OY|7Eqo&3_i$QqLhs_CVX(D zWx%C#V$#q`JPlggRJWgUZCWSg*n)$D!^AloR+&cd@npZ-N_38?I0!*YPnUH#=e6W# zVdl2ic&O$%Is|FeY_{*9M}ULrbGa?h;YSbpv|HfZC`Cx_HhZ{pi#Z(;fDrr%Gc{f9 z3kpttB)FoeddAOBg8OpJnDcq`7Gr~uXJm2je!cnVbbN*HuvBI6tgo(|_x;`*6x=Hs zDlDN+0Q}m00|Rgg37n2s8=hP%y!|U9c-Cdw8|mwP8z~M8E9-Il`!sj#`N~To&x2CZ zQWEYa{CD$v$cn!cXaicj&hh5#Lx>M0sOt8ri6~Ebu7*NLIq5-*LOiL)=m&O1zW^>c z!zxE7AbGcoxxM{)rG;Q>YHBCv=Y2j`aJEmnL25P_Mw4yiTppIqJDnzpO!gh5OBFis zIpAI4v9iMSgZsa-rRGuD?v$5c)nz^L3F#*W`$S~~3mHtWJ{p;rocs&MZIjepoPK3_ zpswl5jF(EzoLZv&om&G4mRI-=wY5o8iujX})Q_r%9NT+?q6i-H`4Vt-p^4n(A9o1E zHJuzQ%h6Zj`%S$dVN17^goBe>Fk=J)nX@PB?biw5VB znuc8aVZmr&pJ}S*QV7Bb`+ChPWk$zFiX9AR_r&zbm&yvpUFd+0g!6^A?@DszW(wB8 z{Y9u2Q#m3}+CY$S{-VcQZ-sfHz*#_s#-JGD8%xQzs=OTPndrkaKayZ#n+eToM5a)z z>3@iL0=VO@`yCzhj+8v7e+5BTe~089<5F}Wdul05cnb1I+GksOi(i9-!8^@3OkZ}C+IVCp0pOO_^ZdTZ?vnSf2vJW@<>Wl0e`pB0sc9;|(^r(0tG(q; zSz1^fBipSppX?mLxGGaZMiuK0nD0RMNKuzRRlibWLdW<8W5Xb8(iq~NkmHNX{qJ^z z9GEkXPN#nnpjE$VWO5E7O3GSVYAvEH4WFLAh9@>MZMhwwH!>lE%u<&a;t6X3BbzeW z-xfpL5^xY2li~PqLOn24oSSzFdd=WbHTbE&G`A>gB+aLi)dI1$Kmva2><(1in!?QA|HwVGhzrIoxt|^@58pe&!qQhV&Mv;9K)x2;tTq$MV$u(EXxRgD1dv&EvzXi(s42L$ zjT<5`Y~>p~pYzI#V9dz5r@Tr_%kD3^$kjT1WzTCJz=9ZqFV@a+OB_sB??2;_!Nk%1 zI6cTXhd=t=gI>dBB}LIO-f+U((88PU&|Fd|NzNwR3MKJG^vt=O@`IG(0R)bi2*l)l zgsTZ(T+M#ak@=sqf1Ht%M~N*bIwO#_>1)_kL$X4U!s>o^-pa@ zE2GC3a=Zk?R`lpNanF0O7q#y#U|$ysb)MnMvgdhqpl9<5FP`iej#!+pxpPWZ5b z2l@Gqo@rq43HG&G-mKBEtS}9<^?4sW7XK39cc6|;lx}Ef{CYZJ?(XMxv+M5ueHrPV zt;6vom%;uRl$2S)q^pesQ--6oxbTX_Uk(m$N1AxPwZ2>fOZi+IjC-sF zG|!-;KBD2#IYYunhc+-UxLB!$O{9S;#ogHAuDHoVgAy44|Lr$`4B335dEz{ zpk~aRzw$@VcADW!^W%dt*>dxl-Nq7g`FM7b5?{(0@%-e(OmCo>O~AtSF>co9o8J2T zdUvUk%yy#%nLrl9@F|))mD!BXT+V4oOp=yM8@Fdl7YgIedLvd$QstD?gGvOb^e@x? z9oRaV`b0W| zr=t)d7j^Ue`VRyaQbiI@8mv|3JgF{>0qFbo1Y#$?n#NlHyaeb6cz7;Ldt-dO^5juZgFd2mFc9<%dPv=_JMs$Ze5 zQ)KET>Tkir#Hc!_o7pYN2X{qsUqbIXs@HlP5Tqwsu5KXu4wppbe>PrO!5G!EFF(!u zrKzX$xIRx@;zq#L(d@jgQ2ke@*|RH+!&#y_J0il+8JJS0(jy z?+Q+_`4ZOtj!1d8h@%m5I&OwiQcg%{q;27lfta@#(l7gLVh|(9+g&=rHNNGR3n6(it|c^(2Wbyq3{<&Ly~Lja#{KM= zP{o1-hqCkVI}}6|4$b&$4~XWeKH3qU!+wdO6)yHe#!b?jhQ6dKE4+S&IlO|27~VkA z={3PPA5ZlbN>8Qo_oL5K^3JQH*iMFDD+NSUv2cnk%#+pTV4$I)wZwGgr>l2o|8tEy zM#$ln1n=j=ACj+rzx;l$ya^)=b+nrzgo+!u?jjr$HoXBrTArl#tqh=;Qxwmrs2pkM zU7g{vp;P2vC~)OZ;q^4`1hsg0Gm=cb>@U5dO0_tFz1HT9#PI|SHQZZHcScWj{8S~+ z5tWyK(3Vv}2K4AKvCkmOMZ+7JmQF98Pfbl>**QSHGb7aGNm35GPwfwTvNtw<7sm5e6TELvj|9~Hq78lMhuDUb$ zjKyDT@tr?|%IH|?)ULOGeE-L~@dg(Y1ECYf9N0Op$?&7Fkdp@7$9YdMxb+G)WG3EO z#N8`wW^pO{&j()8K`{yM;g9^PY_WwwkQ6lJi87V~O%r`Sn{h=``qtZuGkY?dDS1;y zow1evH!$@-$m3O^_!gL=u{Ao&)3rlwzua#7v@m{ir0TUgK@Wo|7~Y|AGO*yX=>Fh& zGf&;^`iavP3cwLWKIh}#_4>f-BdzY6-o{+-Xg2JBYt(E3FsoN-hXqM0Su|9jjf?Z^ftFiAyZ1$!sM=|)0(mf~s0g)gT*XG~dWc=>A_@sD# zEF`*7bYoW*2OY*{j(VINnK_L+w)0af&u0Hs#Q=X;&{sGQi$z3n?hoMz?pWd>$YHdGL zlptLt@PERT(gugCnN7|5s&v=h#Qyj7BtuSZPe9$XbmuJh-Kp>HgQ6 zW@v2=3U%!0t!rjw28C+_W%SiC_=&u`{I;Hv5$ttIPc=F!<|B@59a$gm%88;e{aSl6 zPN}6Y!bPhPYY6XITS4*)Gv0hcUWi3WTE7vmCR(`MP?!!zwDR0i4V07{O1zX)f zWnyj~b@j4E=VI=V>E->Ml$IAWv1GDOidwwXCgVm^)u!DsK1nS!y@|MZIy>sJ{n_yB z!D?o9Y2d^2DwW5T=4eU>g7KQ43uxir@#n`vqkyE{I4qlc0{OejRgEkeTfj(A7}%fd zlz!Jc60Ec~!}luG(o$a`6S^sOKwL#!mr6GTmLIKuc=uPU&FQX@qH7_z6=o6r-0=uV zZ3s_dndPW=4?<)Tt1|_{?MsuAsn}1q@Pl=~?|%2bpVU?(wB?4u z3shA9{_U?5Lfu{|ZVyD3-~W4nvjr~h#`i6giwbM~$}!8FuJT#vVT#DfH~usk$6c6x6dJA`=Gya#*0}DWiiD zv*4kSac#y0WM#+a&}lW+7nayR$Jh0DQK=OkpFxK~{A&zmTmN@Td~ff4^&4NYt$4M|cnbYOgaeSI$N z=tWfY*sWz?W>vKYmR-xESd=rfg2SCDwLThw{8>QE;?Y3e+Xj`J`L|OFu1_E|BFt(s z2%{V80f-HajM=4{_=UbR{J28vnlANYgsvmy`LYSMK9e17hU?O!^f`&gg-ZCMA3LlB8sk6tY>Q@cE z<3LA_{V3}KDP=uz5*_1F95mSl$=6*Qngv9Rgt4D4)}qj9)%_*hfV+SHrkM-;3L^^( z1X5CZODk$&W#M$%v6$#bF6FAKf5H@Dflaac-D$~}=i;&&8(R&o?=oiaS;gNkzDnCv z+=IU4=w`zD!Z`h*U*W_--TMU$cKEJWD&i?@4MIj{q8aWAK$I*btrlJpeL-2hzl%OY zDG@&?vH_r4Vj!+ECBIOpC+>P@##R_yKzh!jpEOuNdyYe6GL_5D4t9Au>!F(&P_>~N ze6=3YTE&3HyM|&?G4Y>jkCn9l`N^%RIY<%GM{=t5!F}9$R4}%%>th`wuIP(I`s)yW z!C*)DM@Pj<_1?wD877mGAUIKue-I0z82Om)b>hk8c>-`Ud0nR0#}#?L*jl@L4{c2s<_D&<9d)UeabqGpv1Li-*(l8%dWi@Cz| zc>U7NC^wAFux~3!_#@fT#p)A*Dp=<*eogxcazn+?3W6^qXa=(7cT3ng6S-xi(@a8_rc-fOZ!ixF<1L~w?CjDYDCVt; z!r|~RuqO`7wCqDcp@0(=k(jy5Gz8OBFqvB*N;_RQGp8OBSq9e7$lh9)sSgW}?;|WO z`ra@1{8}mb5toz3Y_YYt{dv2NDJm)RL|s}6Q&32rS3v}C_KNKN&}cbj8ePi~T2&18 zz_w^;ViYmUfxyH`x-ZI`inHFou|UwI9y>F?5SCZW6X?^N$MK9IbFC}%ngwe)+7{Z@ zeyr?A8J$7IvE3OSyrcJ1u!i8aSDBMARk#WYI6Oz#e&tzaV_bP4Zi1%P<Spwa8f5IhFc%@ylo93FFQhY)YlO{GTSuEvH*1xZ@V0pa8c!JOg3)1IY#J zNN4rfk{k@ZL#tJ(wr1hA9OhUiHq@HwSX-LBIB%_wyCv4RfM*DiCiScOF$MZ%(t$vkWWuyN5CRv{bM4tY+oOJ$#jXDyaL@HLz-iSA#iZK|o6 z3F_*iVQT;`mq@_5Tamq8#6d`C8Ha~|{|+_x!DxzQd?FNZ+wj?~!vZ%c4=c0QCNwoO zgS7gGyy59Sn7`WM^aKH;Vxp9l)l(^YrDk#edrm31Y(flgrH$aIZLOxcE}#+e)+jbp zuDQWwC&LpXrDT|gL?kbuRm zx4yx5c|mCaa>{^U-|EYMgN*MhJ5o$#Fr&J!`1Ctu!k_2GaY~d3X~*v_yY}VB%5}aB z^-8TT)29z^#tA#R-zf|R8yP9tbT00V`L$JO^o>Q9)wG8g*Qd7$bb_B8HkAyk#_~n26`fU?n-1kBoFsiKt+^l= z*uDwq2gS7?A1>X$PcP9%OhRVd z@P!IH+e0cq4T3~86yf;H6WBRVWHMvw>$fAJIH3=U%Wot!SA9|Qw7&};*@U~|kr-$A zhX_a-V6KOMJieKMyxP!q8v9#Y`M}S)ZJb{T>*-1;U>A!?%!)+YOBR?7*KK4i31 zE-q}ls}p(9!rYB1??BiDJo8>KeCdOiDiT^;Z4Q#nRBw22 zUkC6yVXq6#>z}*79t^TQDWcSq^3^Ci^r($X>tg??Yp0{F{ehd1ElLJ~78K~ArlD&Z zFU5o8_{lcC|M#rqIsz1k^V3XC{fF~E%2xMcwnF8!#Z3=hziH+SMEzAHv)^ia`i#}v z61G{cw$^L4A7p(Fan^5-cD{(|K;AOY(TN?l z*$TmiUctg{kh-FiD|XRL&n%{uQ`5v3t$aMj!VbN)qP!{Tuy~+0x8Pk1_~TvZ?kKx) zvxTD{m(=!ksH$sejnI_IYRc=8lh}*h;XQtT*dtL+MLYvFmHvVGKo!Me-oHvnEpbRV zY-SW-y%v#|&Dah}|<(Ru$V zSuZl@8eSnY!g0_IPb3H$NARoVyH%p_l70WG$CQ5i5ll;qe5G?d3|E{%N3O3&I+bG- z*xK{<4T(TuP^2?0sDwo3FHqL$hO+P#N(yP42jBD~ZbQqAmH7Zmmi>C`u~JRU=S#le z7t`HlZr-m?mb%EkTteT0ooipjYIfO>g_H8qDR~j2Ul3JU8&Ro9gd1G7s73-dj{H5i z?hN?igPZ52qtWjx5w^i0RU8)+6Gk>h;LfZz1RApIj>StRo>FM7Z0i|mM07huW54Y4 zT8WUC6|aZW#j9@aS7*F#dP19_5FM;r0b9>QMfbj5%atw}ey1JZg#W-PKu$cLL!-c< z*#-pE4ZwyilwR@9!~*;N>n4EC@c-*3cn!coQ9e8KweH`a9muQ1L%(~y+LyoZ+na&U zK;ucm`^M?@F=OiL--O?|@~%aALg_THGfF8@eGO!~h`f_?d-iqt54?2uPw?vL2_t3B ziK|hu)=x*i^j>S)y=%12n$DgavXLDlePBLm(@pRfA~VWv^cQIBjh^V^GHrvAEQy-p zMm#oEj3!0ouXOC>(89vPT$pacD<_AO1&&2#Xxz_vg%wjFp<);|*5$%#deA|k-iXrw zcHlUO`3%3uN*w#~~ zLlbK$GJ!f=6Jdq6CMG8L9Z#ARj;W2%P&v+F?zR1uyiG1t0FrYFko|bd@cFk-A-kGx zTHWLQZ5G%T@PAEyR;foED_+TZd%XWL^kcsf9@h{0--Geo z`9mbfvOGk}?Kf$+=ezda*kV-odZYXLSikRk{!*pEm+jsFbEhoE6xyB%$;>aE=&NFx zg}(>4GT|MOQNom(7J86g&j$pu?f9d=fSp8ozMQ&R{1naoyr!o;OuOSP8&phr9_8vG zD=6K^19a2MWHKb-YX99YV=Xmd9Gfya!$U|dI!4}@%Z*z2^QB5rb9Dp`yQe*W;ev9b z{vsyhLbwBTRif%#2rWAMl`XYxL&@zoOzLOg0(>a^zJ`TTx%--hXa?~nhw?n*>6 zHCqfJ^u+?@=7vPNX11O21L_z}^VmqWEonM}_JV1{`MSVesWp@mkOG72+Y@{bnd(Tv zkXzn5|g>LAc(mxU5B{m*qb+?sMGKOU8RJbe`{vOo;htw1t_Zaf6j)8!DD$;-~?xTJT`JA37 z&#G4l4tey~3Zi?2_6(%)xj(2{3T_nU)7kKUYxj-J?cv$w`A4YBj8>$uqk%ddNv(sw zw(p=(BYm^45oz z*Gi=|(&qW2Su`$}g&D7?d7AX`ju|M+60u*vMjOl-el5^Rz;pbwUekQADdKZxwoqa) zm_Q$8R6z|Z3u`h{#yN;J{|lU(Cb1+rCYgP@mhkw%-*M_`rOQ`U zz*Zd|1nRwnZ~VW7$-?$4&d(h8vr~CG3d(h!^zK{k21&1Vx9MQfu;&efcI(mgSLfn~ zZ8$;74)2-Rt56y=3$g+te(YB22)?Hjnu8bQ6b!#8cLH?Je{|3GaI&!o7PZL7nroNm zw%yM>O~zj?Zo7qyT_gV>`Lbwr6~l*9GBwVaxsj-clkmL^G?0==#%(eiYL_C~NK ztTv_ACn8$%xPRtgI$)KR7yD+6^5N;|?R+$~5>;xbuhn0|W%aRvOy4~dMlhl}OUEoe z)cRwF-N?tA@b%Ktu3lk#>mC3|*zkHV;2P#O*{n03Ewj!=xIPSjj90r)rd2@RQz^ zdqf8Q&^s(Csqm&hmk<(MbpQDtgWfl{s^EJ!PBhdczL3pV(2~l12A@SF+o2r(Z($~) zC>Cyph^#z1t~!ITg&i@Wbder!NHCKi+JJ6fWv*z;K|6c`XnQ=4FG}(#a*OjT1dBuF z(O%COuaWM$axz-v+r;_JLn;Hnkag+(d&TRzl&Zes61Rl1;y5i$!5k7jIa5?wbqbA} z)EMX(#XE33RLXuQLt*i}_kHvspLD4BrU0AD5A!p+_H=LyoaDqp>7zlC`h z_by(a2bMCI?(PGPtRMkDP`wXlh{EC7_zsQCi>3DGn)kP?6k>^Od$w~**^24ae-nTo{o_X-!`I>y#utVEm?&%WZqO$cgUiBvttx`Aw3w7%~IO0XE*~X-PE zJ`4yakfCjVop@rt->*M+^;fnV)R&h*#dQtUTWsgIl%kBMR1F2+CNkTNxkTST_do0q z$vr(w>V+}L1i_GLCsm_x2{MqZ-{6$ zFO1+8AYj1*55@7%7NQy+8`;2+Fn?lVVhgJTC*N8a>&K6eIC6h^1tZj|;I+SkFz!~;XH&`g#QJ*E>D4Xa>hfHh$ zt76yH(<9O--8noQ6bg4rgRp;?9>}kX=-r=NPsj07%r)EV#ocxw;Hny-y*rorWeO|GTqv>2ULk zx#=KrB{W=?0%@pSN#nF7?%YMKi-jG8(U#xtZ-WiPo(8 zq7^|;!n_zrw1L{)7Y@3a^(TIDxdFi8mBoDpg&E!4AV-^+8J$C@$Re;u1=iQ&{fdA= z$p%?puI}4>v$15H7E)XCJQyUf_@Ei9%8&1VSHmtH7l=y<`LdoVt%k3n=j51f4Yis|vb9oN#?(Xgerrb_NJzi!r+tC`fmXYDxzohPd+%5s% zG_>{G?L*P#mwS=8FZ=8{J-TAU5OCn0c^STb8y%M@HxyZ7tQpigMKD|tKMoDdgON$eiM#@ADv~^Z# zC>t$*Mc-g7`w;T9kcl;|VPQG`y6ZDtRYQ;ReA$5v6ja!B?O_!dBW=#nO!6;XEBjXm zpU>PCAut&D#)IWQ;XELTSt15+93lu~$t&_`Drvuvy}4%g*KSSIvE}KHa=|eq3U&1w zCxAcxUsz5>!HKkH7@g)|Qu;`4ya7sE z7>$!YZy!(_?a$cSI`+FGy9JsJhQz3`AcTr?Kkxb*B7}e5sP^fNg#?>GcU3~8B0ntE%gqYkaJ@%#(`0dlZ5Bw?rp#Oom(35AU2D9A=FO zl9W&Y&nY=EI=jps^p>8q>$&}N5@nHtiQd(bPfNP?z@$_LR$`Tc&`9-f#PfU1nZa)ss0Rk^dsLT%r`=~b z+efqouP~%_?F>J^o1W}N$$msW-FD;CjGD>3O-IZrtG|qCaiyq|fbvdIPMxzEU4yAm zc%Abx$C6i`JQ5M{f}%H^)>Tb~^lHq+x(_xHMJjg(jvCtX;9#;kBT*`?ZhO=;R(Imt zyC+I(cfuJkdUSY;fK2G0=!iTW5;-n7Ym=K$K+)(xgB2^2^@1hv9!DL!Aei1IS*2&S zyV(q-Yg>lJ;X%q|7EK5Ahlx`CWd(HvVANbyc;2fUEm!?4EJEKox}3&(I@tQW{ta>9 zcSB<#eA=qmJ~H|4pa*d}da!FST0gDNbW24?C4LerpUUpc6Zp}Ad~hA2r6P)Sa15h? z9oM*cXDd%s!wJ5;goS5gvXYA1-xs_mJ!B1x6P%+)`bjXI&Q2>#h2~paEhxuoyMlD7 zS)hz%RvI@OO3G}0K!p{@5ggPA$@Qd;#KkK_wZl>(h^vF}BBBBCR25r5f=Rxhk)7Bl zx}B5Wu%;1{_k}yVo8DI#G~4KKBWRAC-WN6l>$02_x7j5hz}F6 z@9`X;E|?pd7xomqNHZ|4%4quw)+bx$wPo!&)c)v9F4|5NuzkZ&Gj@n%Z`qK#JFqA2 zCk&5-#^{X1W_gWNtipzC=98h3Dk@_y#09qz&ruFbgQV$B!kn?CFldErWP&ZIFB9?e zCu?mZ;PYS=NXCT*1c2gGEyUsyR=7Go&%|PMD(cYyyS*CH?y`g{f5P_S&nr zx#Y4qaP#tb6VlVepb)?Mw7svlzSB2a-|;;^FhI9e46i*b=)@rpmVz`6wh}pAQXm#+ z{$}&pZ+HZ=mM|J_Wxl2|`_S|!$U#H*6y6H_ymK?^GqMnXnR273X(j-NWd&bZ$LilO zMLVy<;s2d9w6O5d2;@Q0D=J?9hJp%XlsLh4$-u?6nv9k(dC65Yaxe=da?qH-5=4ly zkRMzF8b?jZj(!PR*@+Ak{E+{(vJOj}@>`hX-rQKk83@S|VQ`aPeIRd?PKv16quKv8 z=nE?2;wud|`#NeKW7yxzTMXZ74|J?BeyS3BNw-?z$i)p;r`RXvd4oVrz@2P_>yT0;eK;>(gPGG+QD9No zmlk!!_H_EDpzcbSehRrH;&s0uUT?alNGzEk6G_NqTG#cQE-|AaSqRF?XF-$UTuK;p zJTO@tbETr86V+LVXX9kgtfNvYYEAfk;GOO{;@ir&&9x6+_!kc| z8dOp}TKVoLzCOvA>anoUU^IOdl*($uKoJdVe29DoF|H0TxM=AbPlm zkS2nFhzR+|BzDJF6d@gEYG2qDg+POHf4m7#)jV_H-=?f`DptfnX_gdsBmD7GRo{>& zG1fIh;NM>m5%KH))MZed>gK=YI!Ccf>&r#2CxJ#e3Pe1hvzN+ZltkSkpq{v$n_6tY zyOz$9|0ct&VK$Zf952b^0~L;Q6*}F&3fz)y78zIuhO)&~e8}ya7WaEMIX1dxqwoHJ zp&gp#{rlqad^!=Jo*1VHL%g8eg+gS$y+KSD!{hd*A&?WYyw$A&m~pgC=^`JnVBTbk zE0u2oo*q0K*c$Vzijg_j)@Ii+P z+My;YFR?hISn7Wu;07R@ME7Fe^&E2drA>!qgz-89P29hkoSbEEZ+10aE~5V0`UdqO zTyK2R5(xZ`@Ou7@L>`yjF?8v*y)$0DwKH1Zy?1xWX1h@nvdC+RYm*xX)t@l)q?^0~ z&FAF|xRBd5w1bhvWlhDNSEw~&YGxU_QGQ#CgYwPC<~Dyg7avctkjvqx9AB8&8>Gy6 zSYFZ8vKfk9SazbDsByk@D%9f|s%bGTaA^VFg4YSjoEo&=66mY5rb zU{WFZ*3Q zBQ`1+Omrr4y`1!a<}Bx)713+xpP%*m6&&dCRn6=P(MhJgp^xR=n|?$UUZ0_AYe08r z%L5o>-iX4&0pLCd2E8amO1>j{U$ReGTQ$7h-JY1^2!-4A42|3OgDj2Lf>^n1BSQ0N zY@k1(-y&bQy5=M~S)?jdOpaT2O0&xavW~TWW@#?=Xo#YLoxPy56`E5gqm(HRxLNkp z!cG1oQMXYjM7Y<@0!e&-Rg^?(!=tLFV(lgNY;P?u*GVV8N62dKbluitd}hc4l^d zgL^{g{mOPY<|zauI}!sLAf{*2UlX4_0MSN#w4{l(SOQMLZap=Wjld%8Y}$U#o4QLwgxuhpU{D9NaW#%XUCPBFKTFg^5tWag9>OGPV2l zNQbe2e50&_y~LOfO~Zr6pRd{y*pDns=N#6V2!RqpN#?}h%W*v8JP~Hmg_OduBJFVtd%`6E+yngt4%Q*fl^-$_HJl~_Y ziHR85h8gxcQvB~C>i{qEcUlz4H<5nV@B6EHvO_av-`P0EuJ6gB)RWcSuxB6CHnSM> z%^|gPa@k{>Os=K}vi!|@FDQjG2ajDhKA$BQS1ca|o?B9xD$|k3NqIWQk}jNLE(ZXgqeDSUdvrsdOmqOu{mU@UNgylkhJotmuWXukbuM zp+YBYJiM%(tKFbMS#{(0C!f-C8N?beMt^e)3O%QPI%vhXl=H6^`Ue7Dw4fi05U+7`?GPu` zL5%9*((P^hZn|RVnN3(M(}M4dm0x96R*c(A{MS#tRwlc0cxZ{Yc)9gaG7>YW<ysdCDLK~6Od?lpB|zI%}jZvie?aDQ_lEcQ%PIX`Nw;Tj`I92Y%~4u zZycpqHOhCx+4Yq5C@qVIWA|+QZ&q{-%>M_J)Pc>-t_Ce%HDVTJh%lmjwRihI3X3>h z+=Y*P3I^M2E%Q6<(p`Q));B!4rToMu40pCr3>tSd&hSuDVrsHq52-&kULoVUEJhjE z-Q6Jz>>GrYN#;F)9*F10qhG$>2tf&-rwxcK5>Wa~+ly6y`8`*QS zq0Qd%3m>KDR+H*R<)otAvy8$dG^i}e|JXFBFsh_s;pWsx6qx}}Gp;NNwM7{% zDlqtGl6j`s)Syo|ZwCRChPesW;4a^Tq_XcBK(fB)c?-5Gz6 zgMbrmL<*-l1D_EI)p?h1ynl)6-+GThOw0`b2w&Oac`g8~z_DlP62NXC0DJzJh>R*e zi|2z+kC}W03Ke{FHxCeqD_-L~LFB>)I&2PiF)`e?HHMc`Y>vf~+O(5yrKk7FUR4#a zDH@hx`Ta2qxa`R*xE<|5#^RWhdM{D@(Kj)MlcHXH^XMe(?22r^peybp3})QVNwmMf zkyJt;ZZ!mrRzfIx6w+Bb$rCjYF5lv9$ZwBMnNNI-q8&LO@3{N31C8$nzk&$mClEmv z$-4>YOvK|$qr7-w8LHjmS?!;mhZMMyS#$chd##rwM74Z#?RdSVA1_mhQ##-wKd}zi ze}2Dg1p#;Jy3fk?(nzN#5G6cZhXG(_Wk@5@iR;P zd-t%JFf%3=X0wj|VYqUg!;Mj=OA3`wKuA`{#*AeRvd~aSj0VXia${EO2XAbWUcn7H zO(BOM=Dc}ms5gETAh zfgrLygTT)l_})M*SpdKt0;enkz|4a{(gjB<86B`oMatnKX$Ls1A^vn|^?VI%dhuQO zR^c#};unvOmdAel>*lR2lw0zbFoi)Upz|Gp=;H=Clg}0Be91vvMv3Onn$`S~RUwSxByb7WNa$ni zPuw3p>vu!t&DR409vVA<1TLDYtqru7i&XyYzz$UUvjrhL#o4FFRIuteUf%f@W^P8b zpz0|9!3jB=a30}xN3u#-2h)#9$@rXQ29 zAoAC9!WD#EqIT#lZ|R-hKTpJSy}v)*34spRjgCM@CF63X!D1s|R@Y9*pK!pKxbPQs z5)HfSxQQGs6eaY)FGZ9JV2;><1Fub6+i$T0U>O;Ahy%_ZBrfx9gyz#}Ray-m*=`#xLiFg! z+5U))<-8Z%-f%cPFzQWw6l7B*A#S60?CG+#&})%pG92^5>rU4VO9hR^aLu^ZQaY2a zcPB&gWW(enrXOq`zZLzjTeNO+T0nZ|Q$!9h;J)Ku0rzQeX)GWDzKO(%E%iqIb@@(s z+-Oy5W9UqH+%TjMl6`;!&1h`9F|oeMaa@v+=-awdkCQmODB^y}T9wG6WOzEdik?F! zCWaM4YYpzNhhxE>l>wy0lIY>Wi2a>^>O$mhp%bg2i@apI&Of;*0B&sH%d=od<`PWo z?1NPO*-u8=?s?!b;GuBh-+7|ULVjcdcolKNKTMc3{T|jg0K^GpsRbl)<4|!XaVxBp zHxK6YWpyU;K1PUpeSh=FzL2go4tK3g$k$|9m9gAWLTZO+vUB_;(Xm^!kcP9HBmdmC z9MN2<9uo5yQ&PN?6JzoUgc(yWoi}z9tSo6a19-a&+nMP}A`OzznKk{X7`l8IXv;?%} zW~%%}6A<0p~A(#mBEk*Is4y;&>J23vF1V<(r zg3#|_yQY!(8X1w3975qK{x&lg&5>w-y^faljNrtO6(hyGz{tudP`NT25WsBP z0vdWA*8>3eInuj3&CSCSu%;8h=Za1UdIh6CPs$ffQqU!?k85md5b+Pgts0OlII{*T zb7shAc&BqlEgW&RMp*on>YrX=$##$}sq;m?!6@6eO#k|_D*@eQ*BSbryy~&_E7l9% zY^A|TK$V5^KZrk7*+}%A8AOv@J_r?hx+yVsG;O-8=-JQnWT^o0Izx|!>e>wNzRNdEG zr>pi;uf1#6nzPnkYs@jn=(4oG%0fxJK&IpW+r4fM>-B2hv(64p4y*(1@T0I7jS2m* zMCibol^_v-r;Q@M4M8=VJ^pq`V{2;m=Pv!bHLYTHVPO{KEtbe|qe?1dr7Z~vA!B(y zu^|#);OQ~Cx~{=jgxNo{0Y4BR$)&C9Z}M}*jQ7geKyWep9By#U6PPP zxb>|n^8byhCUkmwTF;Pp{7XlN;9zew`HhFig3&fwws7K5y2%YK)AyfX(35qzZP_U7 z%A*3C{!booT$DYlndwqzl@ zw7~t?UQFdbw&&ro1ewr9Xk-rHB17jfY$^;W)-RSwIfdd%#3pg=| zFgEAn-I$`xs-je<=osdefi4NlDcXj>dV0EX83}b)44taNeAWv{o$!e|3wplrL5{HI zEE2y_I88FE6F?uaR-{u~($3sO;!?dm+bfn=^JvD_7DbSZ^s2`bF%k|_=$9{F-kRN# zcHWA>pLb8VX@pQ)^w$}Vj15Mnh5ga7fYv)JYlhE?;>4q?9p-~gWeeq}DNTm9O>IRX zNjSEJGT2mzxM#VSQa{zzDcNS6>@S6&6|#8(l7c1pd>+xp7t5qYf5BLG>dQ7(ZX%{C z0igr+jY>L1$kgFPi;;uFALN=nCc$o~$boV?W6-8O?mXRGC~Ub{C1D6F3x9P0Rdgci z>a4C88<0F@Y>v<_PlQ3SlqFR|THl2%jLv*>uHucXeuU>zA_H+{L7-E3xTr7S=EbXn zk9XozCi$&XLny|4*6M;f0uy;d6Ej#{S#~XOr}bRDB;V~F+}A|`R85$d%?N^(?9X?~ zN$N|_d(CLSJ{?4p_HC`}vT{!$K}uS~XJ+KYNRcO(l7U9a(TY9%S>OhN_)!auDV#qr zMrvoLloFx{3lS{3T(e+cC}zx0xAsCeI?z&!n#gx{UB%9{qU4cijLm$J+JEppdeY@2 zg>RK=c)8tL1Rm6xPd-m)lk@+&MU=Rp|K}Lg5pW1C)&%ceA}+*w*+J)iKe?V+zE{_F z(m;|)IyBs|ZO<)0bJGpvH>d#HHH<$Z00|Je)LM(lu%xTa?j(K+d*j!#RZ-l?FjGVm z^`^!bO)X3X(ms&nH2lr_ram7_`4Zhdu!h1cL#iR>_K@`{XwW@$ekb=j4K~~1W@}H7 z5MpQF_%*QQ@+S3DtP)C)R#f>d*1&FQ6}<^XTzaCv-YO?>dI2#Q_8HHFiy$d!!G1ps zbc7jN-4XKDc3X`Lu^$gS&5WMbmq7q6-PA3`k2_thbbR3Oia$c=R!r_!BHM0QXv?NV zU?@4>*GtM2-3Y(75J(DixcvcGynMk=>;o^L$BhcQ@d!y1Wt#JO>>VQ~Zrge6Ewi7j zQRnNBia~f70?Dl935cA*6>hsTsRXF-M-4cNV`8T7wG0yA%XB z`RE-!_zD;L{x@(MH+yC`-T1mCvU0Z!G zsJKHvxYqh=@~hXEh{&LIxur?~RC$k>aoRI(SS6GJ|x+g3A1}L`;zb4^NqXOhizi|Ex(2 z7{vBJ=oUU4p>Ebx^&NEKwqS}7mACyi!afPw&D!HaZ-hkGO$K!j1aXlx;gC%-Z9(GH>#(^Z2DSW>ez>CiyU88iEWwRqS(r_64Qj@tLn`#xv zb@b<&Wke9bRt;9-ABgrmr+SVk$(}6?@J-3EV|aiBii`-4>VPq|lNUZ_mmM z3OXF>*48?2F*A#Be*@&4L6wlG3w1?J4%Y{R$YMoMQxR@DIzFo-a(g?Jp^Z@pNSfXL zao3Uw(1;N%VX}2x8C;P`E%3T?p?#28QGzakLJ~Ut{QQ-TCv?;B2$(c&?8$}!7et9X2UdeY=+ z=vv*@({iX@g?UeJWmfnaDXZtmBX*brE7Va8sY|-oRT_n~GvQxwUGr8O#d&xUEGhAU z2&QgW)Dyp5SDJ<0pRUfcnQx3~vYRW;%B5iC6{7r_Et)Wn>Hn$gMovS6qpi&?6`?5d z2<#n_>hzavBF%023j-FdH6EDz^>vCADNOA1M~?JqspZP)Q_6QIl6J3v6t_^YhmKst zSdGoFaZrq%-{pmd1JDb0K{o+0I-uu=gwiUwa5IYg2q;j?E+5KbY?UOU)^$kaN z#-RsIlBak;;239h`q=HcPw3zwtwsBD6-+?I|!898>%Q} zyr_NUARWqO53Q-fcC~wsxn|QE7O^W=u1h@PB|=9Qi}He>o(}98iTnJfY@hE-+t>3H z9+MqE+UKA3J?*4a8cZ3qZ1&DnOHPdSKLt?r4UoTr$W6@;j8Bp>@%RU@{$YOYgt9tD zQ2$T?PAz3%&kDZZV!C^@noOJ?A@`q`#t8Me8AGzUPkr*5`A~g5+KHa>IW$Bj62Qww zeufVY7Hu$BJYCe-qs?zPMcj_Ila#;LUSp6K`mO)Xsy1IK*@<8gqZi%Nor5jkEwAtp zLq`?^|K@mVArXxyMU;7a+Lr#(9r8PFUf#YAA1kzimlT(Rl6?#OwY|BRUQ1|Ei~Ic? z&dl3BRNm2)i63*vIVa2J)`CH&ci}^AzG~G;g=miL=MzUEXUIHV=nqH88A7qLhy8Iz z3G=tD{-!q!3={Del;Cx}Mla=u4DPymFjaj{1%vtL)q2xM&iAeycvf7Ne6kM$%-HIm zZORF%f#wg{xvlN6)G&oovMv6Uk`%1g3&<7GRdD`;aE8Fw7Oe(jY6W86sO?us8j{=A z($e}AwdCZO#sQugEj@YT{QTh~6WXEkGoz(e7e?2M<&ey_d!w`9pVhTH>{nmEyBR9} z7R7|sEASP^WdB1|(;XN?Hq;M^hfEy!p6wk$E*k9HO6tvLfhIsKfZQt)>6?3H(cB!$ z@k4XAVf@E3ogB}&0x4%@KYNt}Pm^-015qJ;ti?#QgvPBxAE{ozK$-cJ^BrW`wTVL= z8)mxZnE%kUe^_W+IHGZGAO!814Y$2=t1xqd$d@GY?oqg`N~`0y>Dc&8OPSEdY>io9 zU)y4DP@`7eGRlfW;q);W+Iwpgan6tSvs3F=zVRM{CXgCJpv z5@f(;7?+rMhp0yJXHamc{<*QNx1R^|KJ20J(o(tyCX)U{G?sqF9H&mDljaVIDCRGg z3m3T$>S*?|!8E4ijLDFNQ;PM5>_-TR@nJ>g{KE`Vuw(+4{Hdjzvz!nJapdP`PMBDu zp?KsKtKR66^oEkVWzYN!yU2#b*&d%Bt;8v&lf}iwNoW4T9?t{4X><-PTU+mPj>ut^ z%C>DGJ2=<*jq`MSTZz!t5x`r+cWjtITODVplk-y#NvpGCFqdqXlU7ljS*yeBX)(RY z=1{-hG}m>%U7H|PrlbSQM_X54IcRRqnTqyrE?pI#!?Xhzx&v}5J^thAH0Hv-u6G4q z;t%n1{$w7q1&t)OExIpsWP49A1-Z2uYROo!>5(qG3bK?XOe3_)l0C!IZ=S=k9WO({ z9M;2q(yBR*4?X^cjLP;E1Wq{R!MU+tZbqj_jiMA`@w%7B2qXsf@%{>Ca1)^rEs?&# zc?BBv1`8P&WamoL9azcDxqRD^FzlZp-v{~x?dHqIK zT;_8a7=Qa4<@puH`Ksy*SsL?MTh);|;@PKThl-Phm;1J^+i)&N!}+Mp^p95WowW19 zvLs8hvDAvI&&X4KfIqVu8v2q8iGYH>BDO6qw`=66b0kT2`sq|FNcPeZ?15~xYdv$QilD-6imHEfch|#|~ zAmUW4!J{aG&C%pRyXF2B9pL>7A+Wm}{u!2kUo{)$FnSBNHw8ic!!O&oJI4<%&(0T2 z>oHErMX<@}i})%RS##Jv;4e*HJT5;NX|1W0?1CUY=$6BF!*sr2x?`({@@qpwCM_IO zInEtRzGd27E!I~zXu4U?nWQP)Bz16b{F)K0;@LZK$JlW0NWW{00MJ_l9i8|0^~x8{ z6=RLGF={d=3w*q4cQISB%kp!F?jKC}UhwQVpS8CB4tSN_&G`rT|9IBaQWIN}4#Y=u z>Ab<5w&1-b5p4MY9OlrMjf8a3LY3-X4Q&PDNhhmhGAr!5N z!Hg;Y*cx(VNkYS2DX0iMR)1l9`HEA+adhB-Hf+{hX3Oicj;boXB+*JO%0ne?ULhF_ zhc+%)KP6M>Y+g&vOk(Fbu?|^!#`TV`vv{&w^X}*|j|RrzI{;X>!o*iT+`E1(a=K9s zY0JhshseD)cW$p-+Q1feTiBNVYzkN_jMne;0tN=SX#44_zwK^bSMo+7B4H-@AP>w1 zfiYh2F;V=osuBH`f_38o-Do1XK=xvK$MbC>gTLin>9LbVl(XUlP;IZEDU{>3Se~lN zgNWqF(Ju}oC9NQ4WsGrMTZ``U3LPa$B&u#nZQInCUs#DUkDXX>?!jScWkIDm!!9+} ze?zsu&0Xs<%Twz-4XCwyaCNls!CUS!hgVNd;L2`SpZ%i~};=m2Rz1!qtm ztaJ>aD$6Vp-4LX72q_6iVpDEoWN8Z_t4f)Y9ub__f}TNC4s>(;lzo95s|I7vKp>*I zB+GButJyA)A29%2u%F+4KG6)DEQ+;#C1;CJqKzgHKHCV%m&vsrGB>K2-u z;I1oj(I1vtP}4{tW8GrIU>>CWLXE9VtH=(<{=La7^}YzXJh?cY4E$8l))(L2-j)Ka zQ9EuwqSyYo@o+S}aK-4fqeWP)Nj?3%DnWrlN;VixOugFp6WHwF2akde=chDwYFo0E zD0Mv0v$jUEZ}uJB^&Ak8hz*U>Xs;QHCp#ib?+*ZdijC)RA}r9tk@Q1uq`>7GYTqKe z`Xsq#lGlH*)T<8iUCM8p*3XDKj_osu1ELo@JaKob9-k94r zk42b&L7`gXo=Ua)b&vHlPLD|WhOS5fH!F?ZX;FDuoJr3bkNKG>kb`$7ySdzXt42l@ zeTzom?cBFrvjegdneUh}#OaM7p(Toc}A4BL!Q=Dbng3ChzyS zpM)AQ>#L%}K~6%`oKge|uLZ5Qu0Y)MVTi&UQ_$QCSip z;TnI6INl=cQe{Z0do%24V;A&;Kv50w_Q|X~EZF2VJ)aefIhX7c(MCF!yYtn^{Nf9_ zU)3q7vZK1+Rz%cH2XZRD1(7eM-%Nm{J7yO*qx+iXakfj_(uCCPPS`h|P#l14x4j?CKoM zfC!UM{orDAFEAFaa0X@~il}**ipz%ylG9q|s(z1WM}gmlu4gvM`tenQ`&{i{Yjkzq zf?;xC1ZH;GFjr;^vSp1JkcG(Sm!{{ZoRug>X4*+kzELT~ z-ebGr7M@1+%_=*+|De1N;ZvT7xscb-<480V%iQ=~g4Kd@HT2FuH^AhpPOWEbP7RC7aWd7>uIgcz@Asg3_&M?5Y%%Zu)2cEcoN4(yCa4O zWmPB-<=iwj6;E^o$w^5gA^LBtM;~p0@kS3evfAO$RxfY@0Rw_mh8*=E`h0NrPyg3X zpYVvJ#e~%~-O?`WOQ0VZDnSDcV&C*ShAOkN7R-05+!(K#Sy2_!!tr~pJaXU)0G@RH zD$Vr#DHY7gWrh?pCTP^g8>A2d%u>zvMB~`p#bZ(8+RykI>rEt{i(>_c=4oeTQ~E`y0R7Z8~{xY@jmfHw@*li+k(_^ z{1h|OS2`E-C#1J4I)px|S}`WoZj(`U=^~2)`d@wSqrvq{JCT9tlRta}xh+J5A>+B} zF$oF&&(9JG$(q|Dx4(#Znn@*5&inoJ(yM>mQ4oDz4V>NLwg2u#i!mvY_mvXi?DOJq z-a5(D+EsJacV6%)m5Zf%x9~oTx%&n6=F+F7*fiC4R z7Txd|Co?$2iHn|bepA-m z?uFs~DqP`MAo#>;rzC&Iglc-1tU9QZ;xt}vv^xKettt%Tr}8j^&2pC6i}$T?!I-En zZy}z}m(NG9!WZM=7q{@<#($=*85zhfUaFP0+`B>*L^a{2-$>$puKvxQO>~lkALs#9E{rmnoqTL`t>u_Le%xbyi*5xGzfP7$UOO zUwt%jAC-c!8&3Ok{;|9P%S|>u#?2Nttxj=UUmBS{a#dD_g_Mi~pH@n5-!jh8m@zKe zPIz=4$zn2^Ji2T~YNI~@uWH}l+yuHs4mwv2wo(m7Hw$lq0>2rOoXS`r5CB(P=mqUT zx5d0;JxR=4A7w#zd)YuTts-3b>u_e)xyuO3_Z!QFfg;3*dy=Rd;?avs1=6)o0+e2! zbNHT51MIsu)M?8|UZ(a+w$i1?!}-Q5NU9Gg9gZ{cyVdw<8yB)uwWy+^!fYe2aAlZ% zzZp*3KpT}$Ye>im^xv2?s(|iM7BN_Nrt-4j{WzORJ8XGcna<}dbrOL>wJ8* z?AjTmXg8Zkx#q42$k+ygkdWD(LQ_i3+a6THYBT~lmf1z1 zz{h>km)Go^8;^;Rueek8@}*hVDbYnbbF(XW7r-S1#;v41e-X53`XnakhtY@+D;MOF zC9Qpt1$V?f#Qhm<8(xpISfg(XO<%-xc;7{FZ@wZ=yaEk5`2wWB{OTZ2mPR`qMLX3A z0zCItX0E<@#ys#tCD|lF3F4yuyUQR=`ZuKJ`#BF-*PZT4-Z*<)>usJd0g;3Yr|Fz_ z6Pocw3P%ZT#SOg@5q)I8e@C!32z`+EZuQ|B?UlM9dsYg1VMPq2vB%mwYY36u_ytTs z0ZLGr2M)-tO_5Cu!wRg5_4raHpXWei_4+LR`AH05rS*KOJ!EZdR%4#eArvI3vt` z$@|Dus%A{f&U@(mc(X2VvJDo*jBj(Z`(S3WF+c1Pcj{7YrTaFg;5t>EI~Lx%)RTq~ z#vg*Jiln>5jo6J@ink-Phwh)43s=L*hBC-(N>)_>Va<7A^hwOG4_hP*3Cod#@h?jj zH}M{KNkrhPTFRdj?V4SkYfF_>mso%-zi6qGiPWzF`s-rm%(XA!ln*1!vF7vAyQ>Q} zUK=SvAq|>SS{Z+STI1F(qXq$>YXVUVWn{9~<7uL+N-HYfQ@l5;csE{81E;5_3ybFO zaYi-=yW7W+ju6(LXMb+*ZvLm2WD+Z;D>7@MJUcKDmij5!7J%7g4?NY((y!D(Vst{r zW5b%DpwB;vVlCVtf(+dw0kfgVVt$byi@-X{tlD3ivKgz$Dy_cbjV{=QW2=A)J*`LXn;wpAr5TjOvit7x-ossX!PoxQX8Q$3#%kF` zy~<}0ygI&zcy-WLUtG^W2#V?*ItsnBfNM8=t^GGh2t#0H$-2h*EJaYqBj(D6j-ED` z{Z4D4+h6(2sR}je2Co`;;}%57k~oJFEGvV{A0#07xs)awOvg$Nll$5;kQ5a8RYnAV z>_M!-bf_vT{blx7!oT17@Y0ui)z4tEpl~U8d2O^C(JK0v3p%(mzwH^&d~U&&cJfAU z(M^@IP0XNOWWJzaeZh&F%eRhku)&--)AFx|iLd^)g!FFA45_a2*w!jEcHmm7hYc3W z5+`Us^)7jUwYzN%lc>Vvr|8)}dsq$c`p|A4{e1Uwh@j_|WP3yNG4St6(x=gP>QFr4 zVeHRsUpVgOLw)mhq`sL>hSkIvJqwuJz4Aqqfh>uUEP;Vcxs?qaou1$5qP#C@J(iBC z3u5yMX^RfQH**SC_aRG6eie%9AfelH&6x{P?UW&WG_hJWbP9;TXDv&#QHxSRtzA&^ z6^2tr#RIy4DQk_fOUM{?f)@9FO!EGyLJHm>{<_$)5mgB?eE z)?6^<=%(6q+#4&Q!Nh4vx%oxWj27EGjDW8M3ECJtBcl%uX%~$PvAe0E*KeF~InYDi z7IH-Dvmk zR3tKEGPzRmuz!ct(Z0q=S_!D(a(i{(oRE$WXvosHqD#P#GF5@6a+Jb8x8G(&V{;+L zj8qIs=~)Iv%mn2X2E1?I6Q7FPv zSc@&JtEA3H_JxVu87{@M%6Y@H1c)A0XhdY8q=JncFcwjI|vYo3Mx8@J-E3`M9s$2E}cgbx@}1fG%I|3;R@Kup(%LK zD?cex1+Dc*Dmzj;qDm#|%c;2=b3evq(f){o!l|ok z_PPhMkl>g}0e*NyB&4nY=2I?(YPW4*7;SJz06VyM4BT}Bt_wlCw;5-25kLsYRIo30 z{+`^(B<)~xc&@O%iEtVMrdIY|Ed{U0uFAH{B0 z#&fjq@0Eq%i-ktv_5=m-dP*S$RCRZyY~oc7c0S}s!vjINadH6W5u01-a~)%Wy{eym zd<-6+o`9pHa3m!9mseK-+0iUs{Oh2DGgub4m zd)`|@OvJm+kMlTUHgda31~ez@E}Tk`^iZTo_k@}rox?8-tUiBLz~V^_k!sp+(AQbn z6D*yN3x9tX_)t67hS|Y~UE&L3B+5Jdn=b8ql@I+s=vEqK=xFg*?^!b^qq`bMuGK+4{IO;0IptRXiDUU!-o+J4Bwvo9$V>{20}D zng;BWLk&bLY^?Qqc-NvFcz@?yYrQsQvC_kd$Q(j!EUYV}2E!ZfU%O+b#?t94#&^TL zuQ+b1Qf7`$4tsnVzb3gacE`pxnp)Q<7DG@;AJ5)f&bR$u{%W9{b`^1QvQMXHcbK1n zUY!Nu&IvPqoMvZfd0v9Ns(2f!+zvr&BhGHyw^4*uAD|N2sME*SI>o`&@oWv;RmScG zxFIXMn441!Iy`$aWHbz$Iw;_ZhN$TqV#VEEFsfpQpzC(fj^?LFrb~N8@_q-}*TUGj!6ZlLqQL)~3(R!4-&TIF}(cmEJ!0n=a@3C^# zjc9$bv5`~s_T9v(ct$}zm}(gq@7ERwhkYAGnJc5N!W(thqaG=z2Y1( zO3V$PRo|zrG7}9vGO8sSIDh$o9WS`!``DviehFBlMaJ=m&EK=_59hq&!|_#79gj0% zSLWILJnxSt(NUzow}&3t6-kK&uU>0hU)E~Cv$pwqeS=DhVks!;{`WcITu?`-afLyV>z`Mn>sQEUHaKhB zTc?=Hvn-QdUaZS6gay1N7M_j0URbqWTpr)%@5(doK8)V4C`+C0AJLGFP4NqGW0cM9 zw;F=C#(xt|juQyPTkY87Es~P-2Kc-rtlfJ@0iTCQ1{zy?x28KcF9o88dV1G|=03-m@Un&N-fJ$dSOZvG{A0kWe2eW4;DMEtMe{3~FGK+N~yge3kDaND)4 zpJqwbq~RKQD2LCf@gm}&j$ojnQ0#r7l;eawAi#GKfrJuF|49YVCpa!NYVg~kA#-&@ zpomGsf`@|3DDJTGi2UB_&B?G5j0@I1ILFo z4;dK^ib_ue93$m8U?UM(vLjB+o5w#P3q}8NncaR=NR+_xW65T45eb$E)LqOIqfh4f z36Jav0}+-eG!A(N$;Jh(>h?c(fMX2ug1auQ!Uc!d50Ctx=>Ctd_1_cWe~146I0I*b iJImDnNrOn>qk-@Se9anaXX7XEPg-0-tWw0#|Nj8x@I*8K literal 0 HcmV?d00001 diff --git a/library/parts/stepperonline-17hs19-2004s1.ts b/library/parts/stepperonline-17hs19-2004s1.ts new file mode 100644 index 0000000..de1df0c --- /dev/null +++ b/library/parts/stepperonline-17hs19-2004s1.ts @@ -0,0 +1,586 @@ +/** + * STEPPERONLINE 17HS19-2004S1 — datasheet-honest part definition. + * + * Primary source: STEPPERONLINE 17HS19-2004S1 product page (datasheet) + * https://www.omc-stepperonline.com/nema-17-bipolar-59ncm-84oz-in-2a-42x48mm-4-wires-w-1m-cable-connector-17hs19-2004s1 + * audited via the ProtoPart definition (protoparts/stepperonline-17hs19-2004s1, + * schema 1.4.0): NEMA 17 bipolar stepper, 59 N·cm holding torque, 1.8° step, + * 2.0 A/phase, 4-wire with 1 m cable and 4-pin 2.54 mm female connector. + * Nothing below is carried over from stepper-catalogue convention without + * attribution to that audited source. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: the four motor leads are leaf interfaces. + * The source defines connector positions only by wire colour + * (A+=Black, A-=Green, B+=Red, B-=Blue), so the colour codes are the + * `pin` designators — no invented connector pin numbers. + * - Phase pairing: each winding (A+/A-, B+/B-) is an `all_of` interface + * group — a driver must connect each winding as a pair, never a single + * lead. The composed `bipolar_stepper_phases` interface spans all four + * leads with one default lead-colour profile (max_connections: 1). + * - Current-driven load: the phase coils are a floating power domain; + * the 2.8 V "rated voltage" is I×R at 2.0 A and 1.4 Ω. A chopper + * (current-limiting) driver is required — the coils must never be + * driven directly from a voltage source (source design rule). + * - Mechanical-domain content is carried faithfully: NEMA 17 front + * mounting face (31±0.2 mm square hole pattern, 4×M3 tapped), Ø5 mm × 24 mm D-cut + * output shaft (15 mm flat), 0.59 N·m holding torque, 1.8° step angle, + * 42×42×48 mm frame, 390 g — as leaf + composed mechanical interfaces + * mirroring the source's resources/interfaces split. + * - Source design_rules / validation_requirements / usage_notes / + * warnings / compatibility_notes are preserved verbatim as module + * traits, and additionally woven into the interfaces they govern. + */ + +import type { + InterfaceDef, + ModuleDef, + TraitDef, +} from "../../src/types/index.js"; +import type { Parameter } from "../../src/types/parameter.js"; +import { + defineModule, + maxCurrentA, + voltageRangeV, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Electrical constants — ProtoPart `phase_coils` power domain + lead ratings +// --------------------------------------------------------------------------- + +/** Rated coil voltage: "2.8 V is I×R at 2.0 A and 1.4 Ω" (power-domain description / usage notes). */ +const COIL_NOMINAL_V = 2.8; +/** Phase-coil domain withstand range (power_domains.phase_coils.voltage_range_V). */ +const COIL_RANGE_V: [number, number] = [0, 24]; +/** Rated continuous phase current: lead current_rating 2000 mA source and sink; design rule "Limit phase current to ≤2.0 A." */ +const RATED_PHASE_CURRENT_A = 2.0; +/** Coil resistance per phase: "Verify coil resistance ≈1.4 Ω/phase at 25 °C" (validation requirement). */ +const COIL_RESISTANCE_OHM = 1.4; +/** Holding torque: 59 N·cm; "Confirm holding torque near 0.59 N·m at 2-phase energize" (validation requirement). */ +const HOLDING_TORQUE_NM = 0.59; +/** Full step angle (part description: "1.8° step"). */ +const STEP_ANGLE_DEG = 1.8; + +/** Lead termination — every lead is a flying wire in the 1 m cable (resource connector_type: "wire"). */ +const LEAD_TERMINATION_TRAIT: TraitDef = { + type: "termination", + params: { + connector_type: "wire", + cable: "1 m cable terminating in a 4-pin 2.54 mm female connector", + note: "Verify mating header (source compatibility notes).", + source: "ProtoPart stepperonline-17hs19-2004s1: electrical resources / compatibility_notes", + }, +}; + +// --------------------------------------------------------------------------- +// Phase leads — schematic-honest leaf interfaces, one per wire +// --------------------------------------------------------------------------- + +interface StepperLeadSpec { + /** Interface id, verbatim from the ProtoPart resource id. */ + id: string; + /** Displayed name, verbatim ("Lead BLK (A+)", ...). */ + name: string; + /** Wire colour code — the only connector-position designator the source defines. */ + colour: "BLK" | "GRN" | "RED" | "BLU"; + /** Verbatim function name (PHASE_A, PHASE_A_BAR, PHASE_B, PHASE_B_BAR). */ + functionName: string; + /** Verbatim function description ("Phase A positive", ...). */ + functionDescription: string; + /** Canonical capability tag for slot matching. */ + capability: string; + winding: "A" | "B"; +} + +/** Build one motor lead from its audited resource row. */ +function stepperLead(spec: StepperLeadSpec): InterfaceDef { + const parameters: Parameter[] = [ + // Floating, current-driven winding: 2.8 V nominal (I×R), 0-24 V domain range. + voltageRangeV(COIL_RANGE_V[0], COIL_RANGE_V[1], COIL_NOMINAL_V), + maxCurrentA(RATED_PHASE_CURRENT_A), + ]; + + return { + id: spec.id, + name: spec.name, + pin: spec.colour, + domain: "electrical", + exposed: true, + default_active: true, + // Source function: direction "bidirectional", signal_class "power" — + // winding current alternates under the driver's H-bridge. + protocols: [{ type: "power", roles: ["bidirectional"] }], + capabilities: [spec.capability], + parameters, + traits: [ + { + type: "stepper_phase_function", + params: { + function: spec.functionName, + description: spec.functionDescription, + direction: "bidirectional", + signal_class: "power", + source: "ProtoPart stepperonline-17hs19-2004s1, electrical resources", + }, + }, + { + type: "power_domain", + params: { + domain: "phase_coils", + isolation_type: "non_isolated", + ground_reference: "floating", + note: "Per-phase DC winding. Current-driven; 2.8 V is I×R at 2.0 A and 1.4 Ω.", + }, + }, + { + type: "current_rating", + params: { + source_max_continuous_mA: 2000, + sink_max_continuous_mA: 2000, + source: "ProtoPart lead current_rating", + }, + }, + { + // Phase pairing is physical: one winding, two leads. A driver must + // land both leads of the winding — a single lead is meaningless. + type: "winding_pair", + params: { + winding: `Phase ${spec.winding}`, + pair: + spec.winding === "A" + ? ["lead_black", "lead_green"] + : ["lead_red", "lead_blue"], + }, + }, + LEAD_TERMINATION_TRAIT, + ], + }; +} + +const phaseLeads: InterfaceDef[] = [ + stepperLead({ + id: "lead_black", name: "Lead BLK (A+)", colour: "BLK", + functionName: "PHASE_A", functionDescription: "Phase A positive", + capability: "phase_a", winding: "A", + }), + stepperLead({ + id: "lead_green", name: "Lead GRN (A-)", colour: "GRN", + functionName: "PHASE_A_BAR", functionDescription: "Phase A negative", + capability: "phase_a_bar", winding: "A", + }), + stepperLead({ + id: "lead_red", name: "Lead RED (B+)", colour: "RED", + functionName: "PHASE_B", functionDescription: "Phase B positive", + capability: "phase_b", winding: "B", + }), + stepperLead({ + id: "lead_blue", name: "Lead BLU (B-)", colour: "BLU", + functionName: "PHASE_B_BAR", functionDescription: "Phase B negative", + capability: "phase_b_bar", winding: "B", + }), +]; + +// --------------------------------------------------------------------------- +// Composed drive interface — the connection a bipolar stepper driver makes +// --------------------------------------------------------------------------- + +const bipolarStepperPhases: InterfaceDef = { + id: "bipolar_stepper_phases", + name: "Bipolar stepper, 2-phase", + domain: "electrical", + exposed: true, + default_active: true, + // Verbatim protocol from the audited definition: type + // "bipolar_stepper_phases", role "motor" — pairs with a driver-side + // interface presenting the driver role of the same protocol. + protocols: [{ type: "bipolar_stepper_phases", roles: ["motor"] }], + max_instances: 1, // constraints.max_connections: 1 + parameters: [ + { id: "rated_phase_current", name: "Rated phase current (continuous)", unit: "A", value: RATED_PHASE_CURRENT_A }, + { id: "coil_resistance", name: "Coil resistance per phase (≈, 25 °C)", unit: "Ω", value: COIL_RESISTANCE_OHM }, + { id: "rated_coil_voltage", name: "Rated coil voltage (I×R)", unit: "V", value: COIL_NOMINAL_V }, + // Datasheet: "INDUCTANCE/PHASE(mH)@1KHz 3.00±20%" (17HS19-2004S1 Full Datasheet, + // omc-stepperonline.com/download/17HS19-2004S1.pdf) — added during datasheet audit. + { id: "coil_inductance", name: "Coil inductance per phase (±20%, 1 kHz)", unit: "mH", value: 3.0 }, + // Electrical-domain figure: power_consumption_mW = 11200 (both phases at rating). + { id: "power_consumption", name: "Power consumption", unit: "W", value: 11.2 }, + ], + slots: [ + { id: "phase_a", label: "PHASE_A (A+)", required: true, match: { protocol: "power", role: "bidirectional", capability: "phase_a" } }, + { id: "phase_a_bar", label: "PHASE_A_BAR (A-)", required: true, match: { protocol: "power", role: "bidirectional", capability: "phase_a_bar" } }, + { id: "phase_b", label: "PHASE_B (B+)", required: true, match: { protocol: "power", role: "bidirectional", capability: "phase_b" } }, + { id: "phase_b_bar", label: "PHASE_B_BAR (B-)", required: true, match: { protocol: "power", role: "bidirectional", capability: "phase_b_bar" } }, + ], + profiles: [ + { + id: "stepper_leads", + label: "4-wire leads: A+=Black, A-=Green, B+=Red, B-=Blue", + default_active: true, + bindings: { + phase_a: "lead_black", + phase_a_bar: "lead_green", + phase_b: "lead_red", + phase_b_bar: "lead_blue", + }, + }, + ], + traits: [ + { + type: "wiring_sequence", + params: { + mapping: "A+=Black, A-=Green, B+=Red, B-=Blue", + note: "Connect to a bipolar stepper driver.", + source: "ProtoPart interface description / design rule 'Observe wiring sequence'", + }, + }, + { + type: "drive_requirement", + params: { + driver: "Chopper (current-limiting) bipolar stepper driver", + rule: "Use a chopper driver; do not drive coils directly from a voltage source. Limit phase current to ≤2.0 A.", + typical_bus: "Rated coil voltage is 2.8 V (I×R). Typical driver bus 12-36 V with current limiting.", + source: "ProtoPart design_rules / usage_notes", + }, + }, + { + type: "connection_constraint", + params: { + max_connections: 1, + requires_connector_type: "wire", + source: "ProtoPart bipolar_stepper_phases constraints", + }, + }, + { + type: "duty_warning", + params: { + warning: "Prolonged stall at rated current can overheat the motor.", + source: "ProtoPart warnings", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical — NEMA 17 mounting face and D-cut output shaft +// --------------------------------------------------------------------------- + +/** Leaf: the physical front mounting face (ProtoPart mechanical resource `front_face_mount`). */ +const frontFaceMount: InterfaceDef = { + id: "front_face_mount", + name: "Front face mount", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical", roles: ["bidirectional"] }], + capabilities: ["mechanical_mount"], + parameters: [ + // Datasheet dimension drawing: 31±0.2 mm is the hole-to-hole spacing of the + // square NEMA 17 pattern (two "31±0.2" dims), not a bolt-circle diameter. + // Id kept stable for consumers; corrected during datasheet audit + // (17HS19-2004S1_Dimension-2.svg, omc-stepperonline.com). + { id: "bolt_circle_diameter", name: "Mounting hole spacing (square pattern)", unit: "mm", value: 31, tolerance: { type: "absolute", value: 0.2 } }, + // mount_holes: front, diam 3 mm (M3 nominal). + { id: "mount_hole_diameter", name: "Mount hole diameter", unit: "mm", value: 3 }, + ], + traits: [ + { + type: "mechanical_function", + params: { + function: "MECHANICAL_MOUNT", + // Datasheet drawing: "4-M3 DEPTH 4.5MIN" — tapped holes in the front face, + // not clearance holes (corrected during datasheet audit). + description: "NEMA 17 4×M3 tapped (4.5 mm min depth)", + direction: "bidirectional", + signal_class: "mechanical_drive", + source: "ProtoPart mechanical resources", + }, + }, + // Datasheet drawing: "4-M3 DEPTH 4.5MIN" (tapped, blind) on a 31±0.2 mm square. + { type: "hole_pattern", params: { count: 4, thread: "M3 tapped, 4.5 mm min depth", location: "front" } }, + { type: "termination", params: { connector_type: "through_hole" } }, + ], +}; + +/** Leaf: the physical output shaft (ProtoPart mechanical resource `output_shaft`). */ +const outputShaft: InterfaceDef = { + id: "output_shaft", + name: "D-cut output shaft", + domain: "mechanical", + exposed: true, + default_active: true, + // Source function SHAFT_OUTPUT: direction "source" — torque flows out. + protocols: [{ type: "mechanical", roles: ["source"] }], + capabilities: ["shaft_output"], + parameters: [ + // "Ø5 mm shaft, 24 mm length, D-flat 15 mm." + { id: "shaft_diameter", name: "Shaft diameter", unit: "mm", value: 5 }, + { id: "shaft_length", name: "Shaft length", unit: "mm", value: 24 }, + { id: "d_flat_length", name: "D-flat length", unit: "mm", value: 15 }, + ], + traits: [ + { + type: "mechanical_function", + params: { + function: "SHAFT_OUTPUT", + description: "5 mm D-shaft", + direction: "source", + signal_class: "mechanical_drive", + source: "ProtoPart mechanical resources", + }, + }, + { type: "termination", params: { connector_type: "custom" } }, + ], +}; + +/** Composed: the NEMA 17 front mount a bracket/frame connects to. */ +const mountingInterface: InterfaceDef = { + id: "mounting_interface", + name: "NEMA 17 front mount", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + max_instances: 1, + slots: [ + { id: "mount", required: true, match: { protocol: "mechanical", role: "bidirectional", capability: "mechanical_mount" } }, + ], + profiles: [ + { + id: "front_face", + label: "Front face (31±0.2 mm square hole pattern, 4×M3 tapped)", + default_active: true, + bindings: { mount: "front_face_mount" }, + }, + ], + traits: [ + { type: "assembly_requirement", params: { note: "Use four M3 screws.", source: "ProtoPart mounting_interface description" } }, + ], +}; + +/** Composed: the torque output a coupler/gear connects to. */ +const shaftInterface: InterfaceDef = { + id: "shaft_interface", + name: "Shaft output", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["custom"] }], + max_instances: 1, + parameters: [ + { id: "holding_torque", name: "Holding torque (2-phase energize)", unit: "Nm", value: HOLDING_TORQUE_NM }, + { id: "step_angle", name: "Full step angle", unit: "deg", value: STEP_ANGLE_DEG }, + ], + slots: [ + { id: "shaft", required: true, match: { protocol: "mechanical", role: "source", capability: "shaft_output" } }, + ], + profiles: [ + { + id: "d_cut_shaft", + label: "Ø5 mm × 24 mm D-cut shaft (15 mm flat)", + default_active: true, + bindings: { shaft: "output_shaft" }, + }, + ], + traits: [ + { + type: "coupling_requirement", + params: { + note: "Couple with 5 mm bore coupler or gear.", + source: "ProtoPart shaft_interface description", + }, + }, + { + type: "load_limits", + params: { + warning: "Avoid excessive axial/radial loads; use proper couplers.", + validation: "Check runout and coupler alignment to avoid bearing load.", + source: "ProtoPart warnings / validation_requirements", + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const STEPPERONLINE_17HS19_2004S1: ModuleDef = defineModule({ + id: "stepperonline-17hs19-2004s1", + name: "STEPPERONLINE 17HS19-2004S1", + version: "1.0.0", + manufacturer: "STEPPERONLINE", + part_number: "17HS19-2004S1", + description: + "NEMA 17 bipolar stepper motor, 59 N·cm holding torque, 1.8° step, 2.0 A/phase, 4-wire with 1 m cable and 4-pin connector.", + tags: ["nema17", "stepper", "bipolar", "59Ncm", "2A", "48mm", "4-wire", "1m-cable"], + categories: ["actuator.motor.stepper"], + + interfaces: [ + // The four motor leads — schematic-honest, colour-designated. + ...phaseLeads, + + // The drive connection a bipolar stepper driver makes (all four leads). + bipolarStepperPhases, + + // Mechanical: mounting face and output shaft (leaf + composed). + frontFaceMount, + outputShaft, + mountingInterface, + shaftInterface, + ], + + interfaceGroups: [ + { + id: "phase_a_winding", + label: "Phase A winding (A+/A- — connect as a pair)", + members: ["lead_black", "lead_green"], + policy: "all_of", + }, + { + id: "phase_b_winding", + label: "Phase B winding (B+/B- — connect as a pair)", + members: ["lead_red", "lead_blue"], + policy: "all_of", + }, + { + id: "required_motor_leads", + label: "Required Motor Leads (4-wire bipolar)", + members: ["lead_black", "lead_green", "lead_red", "lead_blue"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "interface", + description: + "Connect to a bipolar stepper driver. Use a chopper (current-limiting) driver; do not drive the coils directly from a voltage source. Rated coil voltage is 2.8 V (I×R); typical driver bus 12-36 V with current limiting.", + interface_protocol: "bipolar_stepper_phases", + }, + { + type: "power", + description: + "Driver must limit phase current to ≤2.0 A continuous per winding (design rule). Phase-coil domain withstand range 0-24 V; the coils are floating and non-isolated.", + current_mA: 2000, + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "phase_coils", + name: "Stepper Phase Coils", + nominal_voltage_V: COIL_NOMINAL_V, + voltage_range_V: COIL_RANGE_V, + }, + ], + metadata: { + pin_count: 4, + power_consumption_mW: 11200, + package_type: "Motor with 1 m cable and 4-pin connector", + phase_coils_domain: { + isolation_type: "non_isolated", + ground_reference: "floating", + description: "Per-phase DC winding. Current-driven; 2.8 V is I×R at 2.0 A and 1.4 Ω.", + }, + source: "ProtoPart stepperonline-17hs19-2004s1, electrical domain", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 48, width: 42, height: 42 }, + weight_g: 390, + metadata: { + package_type: "NEMA 17 frame", + mount_holes: [{ location: "front", diam_mm: 3 }], + source: "ProtoPart stepperonline-17hs19-2004s1, mechanical domain", + }, + }, + ], + + traits: [ + { + type: "design_rules", + params: { + rules: [ + "Limit phase current to ≤2.0 A.", + "Use a chopper driver; do not drive coils directly from a voltage source.", + "Observe wiring sequence: A+=Black, A-=Green, B+=Red, B-=Blue.", + ], + source: "ProtoPart design_rules (verbatim)", + }, + }, + { + type: "validation_requirements", + params: { + checks: [ + "Verify coil resistance ≈1.4 Ω/phase at 25 °C.", + "Confirm holding torque near 0.59 N·m at 2-phase energize.", + "Check runout and coupler alignment to avoid bearing load.", + ], + source: "ProtoPart validation_requirements (verbatim)", + }, + }, + { + type: "usage_notes", + params: { + note: "Rated coil voltage is 2.8 V (I×R). Typical driver bus 12-36 V with current limiting.", + source: "ProtoPart usage_notes (verbatim)", + }, + }, + { + type: "compatibility_notes", + params: { + note: "Bipolar 4-wire. 1 m cable terminates in 4-pin 2.54 mm female connector; verify mating header.", + source: "ProtoPart compatibility_notes (verbatim)", + }, + }, + { + type: "warnings", + params: { + warnings: [ + "Prolonged stall at rated current can overheat the motor.", + "Avoid excessive axial/radial loads; use proper couplers.", + ], + source: "ProtoPart warnings (verbatim)", + }, + }, + { + type: "application_examples", + params: { + examples: ["3D printer axes", "Small CNC stages", "Robotics actuators"], + source: "ProtoPart application_examples (verbatim)", + }, + }, + { + // ProtoPart previewArtifactId — preserved so the preview selection survives the audit. + type: "preview_artifact", + params: { artifactId: "art_thumbnail" }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "STEPPERONLINE 17HS19-2004S1 Product Page (datasheet)", + type: "datasheet", + url: "https://www.omc-stepperonline.com/nema-17-bipolar-59ncm-84oz-in-2a-42x48mm-4-wires-w-1m-cable-connector-17hs19-2004s1", + }, + { + id: "art_thumbnail", + name: "Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/stepperonline-17hs19-2004s1/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/stepperonline-17hs19-2004s1/artifacts/thumbnail.png b/library/parts/stepperonline-17hs19-2004s1/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..986aa7f160e111e5abf745ab79d354839ff7336d GIT binary patch literal 136013 zcmYhiRa9K<(ly#>H{Q5A!QF#4?$9K-dvJGm2rfZ_OK=bF?hxE1kPw{UZil_!cYo)< zc*Yu|*G;dgSu(5U^BJlvgN96m3;+Po8Y)(^-KjWvrrWT2hpd~yYC$yu5Ls{elcpE6>gxS zEuvy{_c&hN*dUcvTKAc9*_?XMc+Gm;G+E+1tASLccg7`1`mp;n9sJxJDoEUo>yeeV)2YmY5ky39z_nNE2MQ zUSVhg$SH_=15hYJ&vY2>yzgO>@U73{0pe2dpdY~aSL#6D<`4TQ36iUDazKAX(jEly zog+B1SEhSB$iVO~?+ab#R~(82az`u(vhEB`;tgarh+GMXEMSS^{Qh~k=Pvrl4~62_ zBf>Pu?bCA!pjQ%3e51RnQIZB_M-a*{_f7ciUkp#fJQK)@vE~K`^zH!%mNdjSm!o#; zK=7mlFMWNOhPR)VmJCtC!a>yzW(OdG>3hTz0U!3GXg@aqlhB{IS(zuO#WA*PDzTKZrE@aSo`>@qxv!XUA8vz9 zC)fF{0$tYkB zo1;^Jq-dnUwAd?4;Pm4eT`Gd_oUqLQYXuC*fZ{vV0oRqM0*r*3^5JVpe%bR#mE@~U z;L{3`3k+<-P>9@1ur$YH8pQ<~lO*hjN1o@u*2sqoKn7E^PJ=*ro6oLD*?g+|Eu-M>8X_`Qsu3));tlxz0yB2nh76?igmccj@Ivat5 zuWS6Av0(x|vgW22@?^Hu)7Qad7t^9Mgp=zA;#({g0k#t$HB63?dkc|!42l5bE~7wM zv8z+a%D>=I0Cs)-TYlO!1_U!cL9p z6g-r&pE*9jSW5OB>&#Ob9~Ej~3{zLyjVcHAn&SQv`wU+x8K^EW(>k0!2rIhs*xoKd|h`}y+ zMJ8uN%-N1 z%0UtEho`EZlsi=4Q4BrhudeDE+I^QrvKsCTNr~D?z7No>4lnJb4qu(5Z{19CBHc_< zn<8uqn;pzDBAqNsn_bLOoO97wTWIh-oYsT2ZkMh7H7~!p4Ui~id+A7h-{Q6faPQMy z>T>k%YPIO7Isy~Zv&u+PYd4AaZ+;kPmlOOPmMigPpX+QNn{vM>c!X7yQVQLW+T25* z29IG_Hrb9Y^7;k4T)=9LY+e`JqxQZycKGmgCE$niNvg0rrf!oP(pvXpbIW)D>hjr+ z`_C_Y7(m*tc0R`K1-s$cDf?K_rx&ZoPCnLGqIwPnW?#GGppSbh2w05;)T)fOBa?!p zt=T?w7K0`5iPvj|vVDt^-z`2O%dIvMeQ+P}T}{AqeD8jJ*uLhjq%P$9LFz8aiiX~c zus)c7f|&}>_0^g&A3mW^)Be91HxCMPaZ()qtHuHST#?%exM(8Tz|9^JnI|2pNm;Oq zsXEuw!iy4x&~A03hW8hmFr4x>Vbb3#tTmwUn}x798xZ_9!zoi(Zp(Qa895 z6lX-=>%Hd`VXT-#Et$~CUSn9hJt#7$b6#n$Y@Yf!x_7(ziMlV|mR#gvGAHNR1-<#S zKl_9|Q1oY;XuxwC$9m#li4-}~2YT2ww@1&BxmUG^)4jGt%~SbA<}k`$Nm_6pMG`qh zKznw(S&(c*rfZ9wz}fGEo?JfuCyh*34&ELL@vC1X!N{1(VUhCik-XGVh`mVhIH3|N zp?Ub$CXV~895?dbm_Mg}#}wQrP`8NvG;L8{@`JWZ5REWSBB+^=e4)Q2{!%kfh#I90 z%czYe@AiPEnazo|27kX@>_pjOF3xYCOcSxokuyDQLzEt~50uj74oc)&Z~b;XdT{%~ zf4?1UVyP@=#?3f`A|t95Q%@z&uoOr~u{uBArRYeekr^V$_~TyK*PRGP)p;MP@yG zvEMn0G(BDtsGg@E0LAHc|ah`QiU2(K@m+JE;upr@9LF7G-{a=(Fz ztj)myCidAv;)J2F*ZK}3H19|B`uBMlUvhNAzuojUbL00=#UJ&GevwQI$9gwD&zU;% zZ?_~!w>mdN_&PVc=x)cEPR2tW^-=v1{_mn`l&LXeNAD-WeSs5Z(NsVSzblpH%vDtk1enrAcdG1dB(4FMtoLftiO6d^oBh^6Wj9{?{GNZi%B-5MIAk30DNJO@7-uA@47!29nE^@y zx9`}rhz}hB$vJhgzN#cX?MEYPp)aQQXF9RQ9{o*@HA)zs=4&u5tk2s@kN$UR$;vC4 z8BML?yd_QVJRH8z<>nAO8X8c=J;uOi^>0z~T2F-0h>_S#mu_G%pj6c2YW>siDhBR2 zX&zL@uU9ub6lDGda^t3%4!UQ|>nX*A-~wmM?R33Zblzd>y7XUF4s6iG%{_JOG z2K(+;0PdAKB%QxO`eZ4BtpL~p zZ*yy#bu_)uL>SRFcqVF_8LF?m4*DyIxgLzOlHR@5oqfRQ2~a%&MF9d^0|}+qW~`=F zhRnHsrZrDnlmo$+!3TGNU?0Rm-UYOXx~xtX)rlU;O-}qQ+}{IWl}Kmv4@NYNR<4=T z`BV@J$6WFi8%LqVHxT-@T0tDUO+-Z*)Cgq`=luXjI#+@3*tWN)fbn_wTICqT-}kI7 zSJPd6Y?l^hQg%wMijWf(GU2=Dm^76iP3XdBwAf57b1f*ome0iN4zmb9_-yHpZPqz| zUuZqLO;MW=C12u4Csw*jsu40*rPEn!c*QN?kik+hLPF;ts_-Bd>j}z+Qq})-njQai znjQ=8&rC);!4loX)x|a}jY4XmK=DuwOB?^H`WDb4Nej1@zi2dpy}&RJ;i=E1{cqz> zwHu+DP=|e+TH;$mqMJ6@g$$ZtV<|p}IU;0K$1hK|6Wz#Y35F4k97cGlD(L6UNpQ~a zjYM*G8B~}9@31loKKbj%y3x{?b^30p8rGlPq>`LmdzZt?PyQ>TN{tm(3U{4iE}pXm zTpdj(sB9VT{b{xWjy{=g{?2CKFFUeKhvgHe$kDhp!m-M}cTtEH&1(T&pRHpequ4zI zn>Y<@6AKE|&n1)D6Mn)nSW=|ERT;xG@z-Dls*~PZ0GK1P@;$VSScWSN?l+0u1M8H3 z=iD)~_m)2%$U8{_l{ZV?fy=g+JU2652u&$mI7C`P6cU}7n`dwv4V^W4Kf>qMat8-A>V$@ia08HWM}A_&ZE9UP6y@B1A%&9Tdrgd8m-v z43sV<8+9f#_&AR~!=drhbI)f)xzsgAW(>km*8OlUm!QOjf^=lh<|kBBt_m}~&gk!#w%h)A$$GX@&E&sanJh3^ zuvxE=T-=s4w>O>yj7J;Un~J2zjnph}IN52m=i?FUAR^$Vr!ResT^e#;wvo*L49Ab( z^a1=V2sQYJmOjEnTChqR1n#fq*yw(nn_x`+u26z9D}WS)w{(t5*6`!^uFMA-?(6Fw z1J>d1nP{RglMx1R?UWdK_Dkc?Z$mnzYeEL}`h#$VvmpTW1B8)c!7qoRu*U^d`9Bjo zr+<&wTXvZXH>@_n=+IP!TD$1y|BCc~vV1LaP&N?wE%rrQV|`N?J06WB#cQ^jNyK=D zfNZ%TY;VzSOMOoH&LdiSjM|-)E#Pyc6@=A*lgi;IrMM|^!y{|WB6`DYphWg0WlFF} zO_e$(ypoIbYHwPQM5dE;m^M=|uK^9u$1hziv)e2Of#2W+Zew1Uo%}F+dl9*3J_qPH zo@I$=9*)(g1C_gj*G$Fr3>FJLI5Z4qlOLe|pr#!Zir2DNvR~(< z(I$*6T_D<4m+fKH_i=xoQrV^)dcXfk6-#M~$xlH-(PwBCv*p3BpXLpzQc36^-;gRm z3N|GcFq$@MdHLBGWc>W~cUA^sw$}i|_vIR|!$o;~P}@}$j&{h*uxqh zBzu6r)&LtpeXo5>;D_m#d_lhA9s2sC#58hi(I~x??`7Hw{vNTbcU?*-p2i!<20G1Q z?TdEz)EX=XFC32Zu;zz1$UEm;aD7%GkI0kWghG~n5&o0Nk$5Szi}|pt1|ob~)hOvl zyTzv2DXHCYyKJ|*Q9(FeegDZfQ`K-@G952-yPq@qAUbmtWJ$~+vH?02xsPNsb`l{| zIGi0BreZFud-5#ct0xqWEMk`cW&AW7y=Tn$-lt~GY0oWS>EbVb0`;put2dFtP4_)( z^0%AGSfw3*1l4|!q>-~@-73n4ZpxsGM{nr%dOs7@MnwlptL7WM{}c|*4=`M)UR!!b z+FIRN%uZcOy~{P!FUfZ-^;T-p=)~(N-@uv8^awlRwQJ#4Sc~2xS#M9o?#6#tV=z9F zrl=&qS`k^o%1BhGN)=bS@`TB=sFq%j*^JK}2gK2|i#XL26-_>jXw8-5x#}XUwuY8;~ zI`S_4+Jd!euM}jVY7Ffk6|*!E<+vQnCW2^d zsb2F_`!2*w$WP*-+lbh9y3)&xQK2L^?P$uWc4-jBvc4WVvrTz`pDV0LkyWsElHzm` zs&RrtTrod@&rH<&aeVh|_WOIiG7Sv!+R`+?JcZ_Kv&-VKof|g^4T92d_B>=rBvaq3 z;8S$C;w5dY$^yqxFrNKzgYvV-S;Z;4GvjxBo~Ph37{j^%{}56z3{`QFKLVJD9BQ2} zw&zFx6`*QaKJ`AXk#Te=6fH>LHWcSv@6y(N4XI>ay`41tp+5)GpFfrNj1*L}WYZbogG@>gE4cTHS`;mxUes>~mCRil&!MC&kkK6uFl;uw;hK$^z1rAJ+gifyQ=h_PuDo!G^}qW1 zQc@pIMS`?#voo~!=2?mutj#VLt&XJyb@lg}9`GQJ25A~Op|H~fk^UM-5^v4V89Bw< zSTL*@jtbJigH99(y+yUtFEA57bqSStPeWYBASBBRhvH^cmICjmhV9CfJ<^dR5_7uc zDW-jrmTa_gO3VE>fINn{NbFw6`EN5OgH>8h@-GYn$8fs`RN>EzYC}cdSK(w%6-H;D zlczm(8P)V~kroyu#S0h49YY3D?%!Dna-E9!JV$l-`d#Zl&-y`gj8B*-E>F`1tR3a{ zNNf{Fzlj@(oMdcQyIL(o?VQ|obQqE@<)lMVX&iGC<-d+Hqh**&h5R0SP{NI!nLJ22n6EwZ2HSS!nh&&txZ-tkX zR7wDur@?k=*uy0)rvYDaCy&7Lb{wo)jD=7 zfX8spkx77>Ex-a$uVTbGSSMT^U=A?=Vu&Ya>-I1^A-GwR(R#LF6-JMJ5oB%Vv-h=}Jq? zQi)6;`G)5V-sU++r?SwriY8-#IMX4S3^;kgB>n80jzFr{&|0lIO9KSu!c+Y}z!l$M zSKN2G!skN(PC^S(fwkfSanIg+E0-(ch!xRLSTT%E@X7_Z)HCmIm4LFvQ&_b_H&W}{ zRyenI5`<9NGcJq28)sV_4Clwx9FEthUt=c9QHmuH#p3VOr%whjOIxXNT?_fS#fqjR+^laSl6kDc8r)Brk$92lB-{jS zvUrhKe^SsL--@RW>Bwa1SoWjXh6Z;ht`^VxFyLhMFRKlBRSwVTAZWY@CQi5ELd*C- zy~EK}XQa~OdYC|nVW8LEPZ&ZrT-xOlk`7;v3g6-+g38UN5{7cqD*DYvLDv}c5c|j3 z9^XAg`X>MPYC7Zy>V>JlcsWGM1L1VZOYbI3bvy97&@5-ubw76EiP&o3vl1?aFEwWL zs$(m3)QeA6hLHN$kH{<5QpA%JB`_lpr$t+hyXkN!I~+W@A%n@5{m%0~85wDW(mwO6 z6sH*QW{5x}N6D#Y0?402QzPjA=fJI3W#G#(bX<@>%2c@0Q>+*HSTZd>qpjQ%ndtCP zwO+M>+%x!ta)NWn-g?K!!X+=g!YS-pk}INeS0Ug#X4A0U4UG;_=LZEl9&pGcFn*zQ zq4kK)Y>r@cq(7gF1-zaJDEdg1C$7Uize0kxxQ*g@U)D)p{j<&YQ_a+@ih@lB3Z=Bv z*^KqB<8U8QwPraQzGCG$rOVpH-1Cqm{h~veqJdBvrnMcEDWq3?Z9M7+`3%|NG1n}5 zYlDu#^t!cVl}~k^s|81qwxSJd=`OXX=ZMPx<<+fMbTS0o!GjlN_7B*x=DikP(_^-F zi&zN2Fa)JJ^*L9~9K>m)F)WaPe>Be5okvgI>l~T7m73dp>zZL`=MfLRRZ3u$j#RP3 z@=JavR%GvrAV%~m8i6P2LK)g33SK{3ySrHDyd?W(3+k9XYEWByTFAo1yB3uey4>%k z3PWH2IDJ({lsb=^{j>F<)7x=l9kyDt0tw%G9vgkh?*3pRPfp>k3aF42Pso{+Tt#T{ zZpcwGaNnZdMsmp{)LijTeakXC^KsCdt5IA1@;eh zp1`W>JP!B?&hHRD{?9`KIP?UgI~|)c8ui7O#{BoL>I|dS z#aO8T)yoHlPVUWoqq$p7cCk}6$tKs8`eM?dtY?$OKU8X`*WgN^C?KTGsl_wai*YK! zg-bmhXLR>-P^;aMU#a4Ic0wK^#M4z677x2HEDmS-Zd$y`X1l=DOii)pFji=nn4P7C zEo${28;H(is^eq;4%6?+5~eumdvJ?h z)4MdQ5DM>_U+4Q0n6Z*RiGE}2a=lX!I5Vt*YdyQegGfe30x-iKt_Isc?w-~%t+P3* z9h}4r3oG=|;43Y;=`O)<%X#x@ZVm%qcTA^-#3USW*%tB6n;3`jH< zD&YdSZPA8fShkI{T{`L%)vpg;B&NEeJ~vTf*b^ol$47!zWCuS{BV_Xx=rh$6%K;D| zI~5j*hH#L8wyj*)9X36^9lA7e!@z%5i)^kClsHkiNOUsTVS)W!9m)(bIW_Kx{9;`e z)m;jMa|8yp_xspj*KJacthCY$`^CM6Hj`muqm{jP1kL=Q6e8x|x-VG%N6{HydPow( zq$NEV^_w-&trx+olG0)kq-*&a)>vOuV!~!^sC%uS<@X8j;duMQ#X~Z7r%TLKL7ZiP zh{J`TWW2`hKr6H?y;1Hxqp8iZuf)9RiJEMvpelM`QL!KL$>h7m%4t|JqQ~jQnw{VV zKwzLj7EOHgUz>!4Za|_)Amrh%{9A*}hGg`*Akgzc4kcXXg&%|f!k!+G90*B5oYX#K ziVi6Sm%4y8m=cmc`Bj?*m7NOClln3iTK@z>yZTMpk6eiptUyf%;D_xAv=6)rN@lvv ze>v>tix(8s>KU8#Ie|J3tDwe@AMFL{9krg#VA(t&s%iUdgG}}xFPzAq^_gsEY|A<1gbK1n4v_o~i8Kqsc}O!%dVLWN3}ARA2Fx@OFA0?(5gcKNnA|o3 zX53P70|spZ5^WaysB@;og{px09}y6Of4N%_V`M#^S^W8%R_AoP2dz3{VlQpP&E&(F z)W-5QbH`ILi%`yGT50inL>c)W4z-)5U+1!;K5|eOU?m!>ObS^D*RpJuM?cwni}NP5 ze6O+(wY8NT$2I0~B@@g>hAHLzO;MvIq#;07O1_#@id@k#OJaAi{AnEE1?;c)xWr=7 z2&_{NuQz0ez_rT--={y1$hyNLw@m-k+Pj*?AaP*i;=4i{z8riCff*gj)`g{v0>L)K z)xUahWEnpy#N}gV@D-A(92s%rqwlvN!w$Ff(p4-%Z`rk*5q+ zjuy{x`5W(XwVJwYh3WN8aA7}=^UdwA288y6?B2Y@Bk#V9)Z-4FrCj;j6_m%<+^6;b z(>}bkqWki^XCoIH2yA7g?ehwAi)s3T`4+6PXtggh#4~l(THL~O53Aj-Ej$ozA&!dWc_#=F+N$V zhv#{q0J~nmFwA((lKV{f=;JcFbpeZX^;LhQPC0eY3kx(2LhlDvNs5J@MmaFM6&om5P zy3`l1B{O}B#vY_2+_w5CiOd!385RgBi`8~aFT%AEK$!DJcS4uhJ{7$mEt zuDl?Au?rwCZ)gu5*QrrQ&;I`I>`X5W`c!EnWyc=}$scLLBmu?l_t`CRyNOnr)8Q7CG9VGoxJJf} zhhV)nR0G{nNv8st_>dav{)_~Cm8hhwDP|>nZ1gh7?;Mld5Lgc0X%mVI|!;_sO<)$45?iE)`|2^Jd%xvO(#)^arZ!DIdNojjBl}NUsT>iM+6l2rsM+nsUUFB zkGs5BZ0*%*+rhZXa+cvNPm|SKMApS~-t^ZSSjI;F(D6***@DgcoiBWLNn+bUii(b% zPSjy_KFz;x1odpU-bVrzJ;uThI$QqZ;nfC33 zNrp^_mtqW6vNnlFYGEIP+}uj++>g!Ff>fz>)wbmJn6uC{94kYe1q^oYd^FbV?CB>1xE zOdb!!czmk-kFcZ5gOuKKb^Yg8k=s{}Y~{+w>1L6Oi7K#Rh0@Q3Sd$_SOk{N2JT}<; zubSV}t78;{KO3KraI$x_jGPgKOUqXBvyu7`}rQ@{;-_}%`v>S2u1V=N&Y70p9@&&G zUf_JGB7-lL6^(%^!K9S-P+n%}X$FX1Z#}oyO@=o@nTPOWg7Jb|Uq4v#eL_Sf69Ri{ z){F^$RrmK_@2^Wce4?Z-cnAcg#ezyCvx18cO}?4+)dg+*6u5wn#ZGn-$%yKS4_x7w?QTM zQtnFZwF#wnmGb_`s!DoZ`++2{|G{AEWcYKhx~&gVjPB3yT{uHXk@sgKHE&J|ZJQXg zVxe+1DRrNH_JvwBIo}%LHOFgpOd|q*{PIxN;31Sx;_a9cdCiSzqGj&c_&!2#$f!_L4kh*dOm{9>!Gc%SvsuX@R>tZr2!a*heT8w68 zrO+tMO(?G=Z#t`MDDPkFeADKezAbN!nk7X7(e(9pbBIWnSl$nlYhrmGyJ6+}Zp&_# z*guqU*$WeFQ@UU|7^+D9;Kn5KHiWig8Zj&g&AWsy&`%`D3o=LuFMU6_+XO6V2z}H| z3NSHxx&QOidgf(e9Rri1&FK9ob%B)RUJz6jF2Wfk<{^Tuy}z5LB%s`pY(Bfqd(@=c ze2ZN=>k60Wj13^&c6OM% zd*e^fSW5!BYJ+%T20ET4nyXE2hPQ*m03g$x_nG;8pHj*Uc-ge42S7oCOa zl(;ekw zG-62zR185^Qg;D}AVIZ8R_b#O;V%qo{6Rl*Mj9!uq`!`pp23@G%ZK%rOc|o)2nSes z?)`nHT5?!t^gf?WG1>cJ$n1aeFliD`Cd%`0cV3t;p3nZKVs1#Ho33_YITs2Er+?TQ zu@STUUN#`{`5v_&RYgT90uYf7D^0QhpuI1MPJn!}w7#b6mv1dl8{T1<4)Sun=;@E1&hOav9XT3*2NGwCyvqp{f9#OM%qv6E& z<@B@2(m!=|PF$(#^vgNvtTJtroi_bI||=^%^b2xL1tRN*>{ z@rNk#F5meHrYTkGg4qW7{8Sv5137@0=;3?K|H`>TUKIjyTmjL6;Ez%VZ2l?ogXlsW z{ZVa(-*Mj`1Jo|F#4OxXdw-XxL}fobH^?2PPAa7ivU;4MoT;FoCmLR2fV}_wK6+gl zUJ~t}5@nwgrJ$diVx#C^Tf2P@Mu;Y3(LZz>TUrXRgFvR&BO^=wkCq%NJ$?<8AvZhx zWXVY`WG;Y~qN*_}4><)ZR_&U*vbZWeSoOH-<2afyO9zD7<;2irBZvp}S_v+H(3+hp z4vN&FU=Hj$7)i5$E7n(UAiX3RC#UXK$Jz-~}SdVCV9y)t;jurtbhV_#3nFJL@8N_cp9q@bW)UnmrW zPl8j7jQoWO_DO>C?HB+NLk-Z7(0~5=O$sK!A`$Uk7;|f~()G}I?{{cB8i7HMKRPyM zyoj`@U|w{4ElQ1$^CP(6FE8&Ybu)s%2L8KU?J;JwEE_$yh9ed+@_ET7=IgnFzu2cB zCB&|Wi2O>JZm~)QOTOb z=iZHl{wI8Rp*z7JPk zGZPcG5`Y4i03_HE00a?!9JFl?AE_vctAUmwfYL_3TFIdu2bq5M7#MN5ex!DXv){Hp zArt?zc$+Ujo*c;7^1D2>&>5YyeeHME$f~upDu(f z6Ux?ad|^pKg!Ne>nA*_@N`MafGN&6P56R2AJV#UW_Imu}<@MN&fsWKohDB5-%;>$+ z7do(GV72D1b+Q&Py|YvHb6l^@wP-ncm@TTq>+%OXm*57ZhY^kik`C2!)X5hMAnMOY z0<6F$l6EVP{Xq76?rS=QE1kWdoZmkKMJ;M$gbyW$joLFUmV-Fbu?d!IrE6FTEleXo zEYy8HX4`u7CngxBDxdyL#8!lN(|wZ_m|mpLIOfm?=T5O$GSmB0`|XWl)C2z=Ej0s- z%Nk*){1J}eBtwBANaG+XdWF%^O}__|yPd(KUmoNlWzJVSr_af}#k8TJG8>mD$VwQf zNledAA@9iz11Krj34jP;M#!-vBbFqXm|+s)JL$0EWLS)$h!G&nd3{{6Q9X_Pd}Bp= zNqTdRDOU_dg6&)ph z2s3dUzAdLHXOq!^yu0%4NsiB|b1|{Rwq@%&5v6{#NGn)ux3O|De>%+cv&*A%{&H_B zy4(A{dVh^CH%7#FgmX;Iq@M&Gm7ZB0Hg#qVHHW}fpt4fbe^Vk%DgM!D^$=6d$_XvO z3EuuE*KvQ7zK6|5z{_ZhKWe3a1om4obI!Uh<_`~#p^=gFk@`)rGT|~vVlcfO@o8-2L_|a5f3~ku3va2Z3%`bjOM>1E92$8> zKqV`X)=c^!P5?(u)paGRBdQVk7}8-xTTApIu=&5$r-o=DcxO==XCfxc@RS+CJpp zysAERn|wxEy^Fnirh8rRf&NpGyWzmkCW4r>8Jo)9JVdLEj_2>K{W|W?X0|56qKo+K zHa3~t@}!5JEtpbp#0V-JFTC&a9i5Fw2u7G%ty-qz4pmV(*O99O!J3ns+|CaTt+*{~7~i z{i;x7h_T#gdEHv3kKz{1Yj++<*?<0xL7Cm}Mku}Bh(poME#myvJ^Nn}*Ekj@=i}SG2t)AqFHOIc4tipgxK7~crf$O3S z`Pie()1KG77?Z&NH0-*EvHw1g)p~2K#f(lK3dvVV8b3%9?$Mb)Zr6yN{ ztro0}4BFA>o63P`8QgGdcvbmc6;0DE+9;(q8{qP#O1SVrdGVPf^E|nag6Y5ZVSljN zv-=G(rwjYAPGr3&-ktagoGbR~snm8k>+nK33-&@eUthU|XJaGByN!&D{8bhjCdHnH z7aKdB=l#}vMSq3{!bgOnQ08MEi?}7K29ER>u!q5f$v}+g+l%6*@)slSgbEu^}1~%a7>-b5hZ!F90pCsd~Lo~U9;I{G*g8vWW0Sv zqUeAOI{F#*o65tkPxH7xlQM1$njte2NQ2Kz+~3{_AB z&O@u}zX`-gE7DG6Kq8`5p%g_*%10RU%h#_AYjrlC{>+#T(`c`8tMOPa6EweFQCe+0 z1(6E4hYu;)=KF@pLn}Sy5(sf%`l+N~DBren~Dn~d?%zP9}<@on+85>c0A+6et zpP~tfTVW%m1Q{3OuzwR(Iry^>cdXhRJZY3(!xEs@VWFG~p~whfY0aXcVKQ6^cMk|$ z&3I@nYzDvJatvN-J?qHf5m-WMBNxD(oR}JwYapg2+n^MiStF$6Mnw&PdX!$CRC5ozr|$hmN5nX3qyw) zEIOAK*x}nzf6<{{yQrlC{cxFaSE>CaMSJDu~PP^q&q;%bR*usLruQ(ixLp{bz1-LPUf@FBidK2hQDs1HG z!k@_a6~B(HYvE9#>sUfPTUuIzl9N&R1=~M(*6!{99!)M`FP+wXXqJjjWzUBqp`s4; za{Dkz{slCnAwn(PGO%XHBp;$zBMDPItomQF(5KKmH?jlnE;oPgitVdRT6#XUcSfs}T` zPPHEBfdwg#Vkb8hJ#DY%^b6ax6q%RPwLh6k%{yWE_`dcv@|{#Sl`U%N7X_g?aF&bm zX8wjX&ngbCs~}b*6U2&-L+&I>AQ9#ES14ZyW71^m@VzcpLo8v<2n#bgb>WP%xL`!a zg$w$PhD1jIO@JOjd&?3(OgmIu*abdiw=!ZuWb<=#|Ly7rsDu%)>M!*e1X z-Tv>KQAUJdOG|5Tax|A>LoWP}YF74z(J*bwdCvT190F{*)&2n_boLd0Mjyo>F^94k zLN0XaIFiXg3G)japkwY|7_LuK!7DC%J$-}GMlXE`><+!YTEALxe4l)KMcDyQuur|? z!^9mOe!XvmIUa>cty=E7NbGXp8_x1~H#*zp1Vjb~L1XsG8U7ptG zU(lj*25$S+P_h1ACuC-WHuzL;ukRARf1kXLAs2K@fNFqYeI>A%@- zqP;~z@6fyixZ9X*VDL0Fy`>6F)<_n-0`dDl8au43zO}1i68+Q z0cy&SVz33*r;v|NL}xm=@Gun`Ca<+1N@m84TO_n?zn%OJA@|l*CVq-SiITX}aCEW@ z88t1>oyAGrwpagMjQYoT@{|cR3qmA#VzAD8m1r^)OZu{)h`SI<50cYc7Y$jvozHLg zKQ;PJrOvv)bQnH$Uuf@%q7EPiJe(|C3YDM@nCN5`i|!GF#zx1a-{x72yjCVYE6dBF zYz7@P>FMd>bH$T+HcNlm%|_TQNT(@UN=o?NCK*A^&1@(!bNzmOp>k~@-4sh-_P;yN z>yQ6KH8w-GbsTnK?Q-27bn->w9xs&*&%;tztSL znN9^(M&|#c>8pdO zk(tb7CX>mt&+eYH=j;z5gJTG$RMp33E{n&8cgnOr3ho*KoeYWv><##$hANYgiAYel z@qN*Tb+EQa)@(L(vEB=8CnqO}7(E_ow!BVOPvy+@J)#Ddtq-VI|Ak{ppPwY{@#`Rs zEJ1y<9SUM53}-V;vHMVgW4yFl=OHn@bsB1^PWC{zGjm2}XNcR#`D&@1s?lIKe(T>g zm^L@}P|;YJ!tDiiSCa-Te45fwpIse9{dDL_(C49; z-{8?Mxpnzixw&r@rKE;yQmb^G*4r6Iyk>iQoD#^zbj~(9P!7(;e6?QBx-g{OadQfJ zDcL5sooPQT1Lr*{3Zik>-Fm)ilJ)UqoEQdw2o3cNCyW-={^+~vc})IqMm`?Q2Yf$H zH-G2ecx8Z*6iwf`Lc1 zz!$f*B^(~3lQ7y~gir(Ke+EZT;cw?`Sj(gDrwj_HMmeOC)Iy>tu~?88Z+UR}Z$)ke zwdjq?qk;*xRY5=~PAB3X{O~xgu8Y5Np*(oP!ovMqd9~)yN{ti<=;-%5ySuPBw8~%7 z#R~pJE%$co&udWaWiWU)MMT(w6y8s{t0KY)mHfk z9kLbR(YgCyu2m9n*UKMrYPub)rlUOpCTvQ_Bl$~35onX~mjNzwx<@)^gpXyCPhXv= zs#WHIQshK1vG{D^(J8c&UEXK?klh>>78aCLRM7aWMo~7idGTd_?Ke$_Q##Cg?T>dw zBZ`S*wR$2B;QLLMS<`lnr>(cK&*Wl$>igr1=@BklLEOKmG$wq-Qw~0deP6kc0*;d% zme|o&P#9ui1XM~oB2#;1UL6YyrhQ!LikaLVj{KEDcK{zX;XfC=r##(-zxAX+HWy^y zc>L}|_?<7l?+`1AGd8#E@z?6Wwl~TzRB}_t;<%QOz3j)29|jd(C#~sY1UhvlD7PFUQ+8_E&|&1)w;^Q+FSq}=*8Zq`;_$o1-QC}pFf!VRsyg9j zJoVDr*x2w&lxF7_6vRS6kiE~dTNGY>`TJI(nY$KfW21ZT(B9FJ{BN-g z$HvBH_xM=BdM0PwjMFKL338Ktm7#om_zq<}au4BEW@^{9b_Ljj2e31ETt4x4_=OB< z@wvL^qH`TF!>Z<+CCS$QY9UX`=qAHX@#(M49W&qV)vWiqaO?KjHV@d@;RtwKwF~&W zsvq!p%hUbwNEWs2iGS!{5;D1=yhG#xGnld^sr8BwW$;95p<^8RxHMURam%tAaEhVV zbHV@UvI-|E|1#kJ_DQeVT4*XRAu@at6zX$oj~Epf0pTIc#x>Y7*yr=Cs^|GtJUzLq z^_$>}ii#-N*)gG^p;tY)_n5U*_JrKKeWS~E{vDK=G_Sr)#%12*@e6e2dp%^N?w=6s z|NNO_;j#aB+?~y|hwJ%AvSqo3B}^*uB)^GeN&ORZ4&|PoNt$ea^PTuJ68`fu&FI`P zDE55rl~sfHOnnELl&RWf04QD@{y7BqzL0i2SO|E#sSOwX$R{Wp7W0Urp5s%v{ay8g zLwRkp$wn1Ik`OVV;4^D{rlsABC*d2&;yEGYF85bxMl27f>@1;|vSnnASDhQmC4ao# z$>+3Ugh2=o?|Sj{R?IJs6cu^B+tgVfL&aSzo26;8o}TZK{dj|1YVupb+wGz@TvAq6 z*5UE-=uMSu-uTUYj-hYJ?VTE+bQBMBb(HV$7YsmK)M2M})C>V1sJKisj6jGB+MIf9 zAmb{5w(71Em|tn)nTm>BlDy4zz^@^ubmq1lNhfP2Zc=w|XxS zhhEz>^T~?Ddd@qjYLyO@aYGl0<8vn8lfou`y9+E*!alf{ zS}=OviTBW{m7$r*DJ|kwJ&XjXY%r|e^%4y&(vHiTYiByUFKJ*1JeDX<&CgFrMNPf- z24UT&-wH4xz}cF}g?lJ&rBUtb3T?1AXrQ_O$ITte1msvx?z*31*`_iC_}m5tOJV~9 zVCZC|SWjB5P7>B3GcAVfF+0BdUVlD1X#1m17nV4r1KnPL2 zRz(;nk1GMs`TMBzy^ni$I5gUL5MWDTvrkJK5r)4hw>4rJ^DrA{*gfVCLpZ<|IlBzdsHe(*@Q5+drR}MAz%Dz3NCLdew9pk z&9W(2zH~qK;953j6Qw=TLQJflEIgvo8ZasYIAH*S)<2#7wc_{OLn7^dg4S^oLbrw;_V!@J#l<1>kWnMupdjLms5AsP2*{>+Gxj&oEyuOikVn_2B7mpn$3G7fP}P58OL5xqS$NE6QYUe$ zg!B@TR4w~FaY-@TtmMr2^NkK0*Vo5!Y;fzDt&q!B*zHJcdRTfohKKw-v=}l5GCDCB z!o;wI%e}+oksp(jbFJ3=HNh_YWbhdmw@5LzH=;L9BBVFsJ$|bUgjq;sz`Xl1608_d zXIl}qf*zOv{k^l9p4-SMCn_=$!Ohjx4B+POMhn5(QF~f8oYR4VZVwsa^uU}l<;d}b zTK2S3Org%f+cl5=0Y6S9S3(4wGdlK%HJ$3K`PY97sTzqCcGl%lM5fSnxr%jXskG1%Ig)Ih zjZ&brpo^C7=NA@NIacO>?CECrb)GwhaAvz&BFgrqha7MbtFrRaN4AUTwciU!;UZ0X zg4nuzJ{ktL0wWb5(c+WA&yC%Bou8i% z&(9}!H2)1m#+hGt^YX9(xD}n0p7^-YY36SH#+4=56S&g1W) zPja;l-1Pk2-Q5`@;x&l{1(=r)Wtd3TYc5OA1v>?)cg<)h5HBQdG2rSB$zu121Qo*f zViHo?JXFlJK0v(}?(C73`=jAOW^b1_Xkma4%**@hNVuEy-GAgwa0E6OGs`2?9`D_s zA0UIwT~Lkkd9c|>GO=#$7NghE`B2dVg)qzY@tyxr+=uyvNWsa(M3;+vTD84mc)$g7YBGed=pIeqaHUgN_P6G{d-?jLWg-m5S$rzNtvh4&T{j7zl&Zu z^pn*8OiKedHX>tiYbm$md!;+XVEO+1`O{Ae8T9uhXHISTPh4Sv($d?A|B_V%iqge6 z9Ivh#SqK2TCoyfsTb;bUF(yXQ$;mjy$<`4siCsr$`OhwPyVkOnM=pbhO?a}*#>VQG zN~S8B_>4F^NI3R|AslRA)`J_2GmZPAl^Q?9_(sA?vnft5iv5a~#zo zhwn;`->!U$@us77&6;!fs|`urrPU~tW3N6Ik!53ygObB+(mx792`i=Y__#PFR1A#l z$#e={Rnezrzuo8uWH~kR_S$A3_T8r&#l-Pm`jD^=9P%lSemDEa93o<2%ZSLCtYpn2 zIAR+$wlcPfr-9H#cQSwlEd802$lkOvnU8%XN!`y>P`8os;-iJ`L%(dE?=06-@WUD# z^T#M(AI|m3cK5OW*|TzfgB!KDpI?F7#o_P1`D{LyUOShsHjcBRfZuPXU&vR%y2jmD zm@YG|(1i5pI|IHiyuH>So_5SQ|KhTb=QXyT{EtB~SmEcqvXxd(PhI?U-9U!6`u*kI zA2IVk7AB%&CJZ#U=Pc~)Nt8VlBh5cqsap+LCEFD0eEx&_qw3mBtDv09jrE=R{y1Sl zF9I5&C6q*A`y#H)b?U(lLuGj{#-sfwV)0hu&FdE*5Xm91x@6kh`_2~_##m8ajbEUp zvy3S9NT#LDx4NDsV`zHx>=#wj+}5&sSSko!U$G@7me;IJ-6nIc&gr)Ic(hH9mgjfo zJy+mzXf4b9T=kIM5of%d!0!KFuBKk)B}}tDCJ~)taf##G9QtxssV1 zJziSbF_zP%E<>?HB*)%NQ!r}2!W8qg`>=lCiOO>iKWMzOh(?Q`?9_q zX*7~m%z7r@g8@}$#`0*^jU{H!JQNuSMKk3Wzn6C|zPP-`283enm-!ljmWxF~EGje) z3byaA^560Hm%VUcsmc9VTV1;MABGi3m|4_Nu z=pgxU9UOjF*G&u5T@CCDMYvyiCwui_3dyaJUNRbxe;spqkAv7Q>Ob1s%ko}s5@&^i zpOP(E$Tlfhsw&^=x{DUFpGK_qth8Hj+N)d#e*V;acd7OIxXtqi?cNRf*wc!*SGu zEb15k;^2tyx^zR--B+S4Q(e=exl7}9$I@EbI=-^Py_RL~)yD%lFL*;;L#J#**P*Mm z0}TOFU68f=P1SV6-iURuds?*e1h4v4ruE6pp7l_gXVX{7F#XQ2*_l1IsYsbT+uvD@ zoCniuIXrZocs+ESxjoYAc$s)*vdY_OJSY#MtBlv-1;SD!fu9*B2;s;Z7=?25|Rpvc%Q$H7~0Gl`_`1SywR0d;pK}YdtEEZ z+dU1~Y(2bRR_WF$P7M>`WEvqloMXZGwKZ4t{ZF1G@B8Kthm%Vp^v^5hTf9nFp#RcK zs&3HXP2I<{%X{!$MW6oVuz#ND#`5Mz=J9iB{ytvn)^8?8GNy|1Jo=hyEDEuIRkbU} z)6i&#C05$R2uT@$SOHch{IB?C__l#RKyap(L|J$xZtyk4V|OEAb+t_4QCaY_c%sjK zS;-|W6wgE|{H|gflEzLc^xsD#bT|%k9PAyN(C%0`Z5*BcHM2~U<;|+6;{yk*q>W%h znp@k(J4Q>r8xBj+XOC8qa)J>?9Dry{B1q43xay8A73cD{1pNiPFj{M4~5n5E* zzt?KA0-H41$#&~^S(WLx+xKL41$@hF3Fyh}ag5JwbFb0w4EmO<~YvL*mJeOa1|({l#(K0XR%@?gCag=psP7Cn0Ydtg;%xDee`c2KT$+=6~im1D_Tzs<-R^k<`@GRQ0`VUZ`Zgx@3M$ zMsl<25x`MA$s`Btv(&qa)PH=4yVZS-7rPx}7bwdsC?>zzBH?rPdpq~3`}(m@$MzC% z=3tut-uuuK>|$f{5IH$n8Jy(NxFh3iGOwp1el$-daGm8yy`gnRCbHXV@yXua zx$O>(rAUw)o${QdEw;R%K<=<#$`VZ_9qUks5u0ni(%r|cV9IMARKN$>U!qFjepH_H zCnKEr0P2fx{-~;N?qf{*wEebidroE5F&xdb@>y$5%cQsW?RxEuXlN9)+8$>=bQ>Nk zGg2)GwDx1cJ(Qji7V}CV4xnH@_y9_GDakS`EOha_$GTNa0orq{5vrX($ZQhPK&SOR?S zcj%gH3Y-v6@4IYBq)Kv1y!O5|>M9LStyv#d3vjAnprw0%n3#y-n3$M|RoB&-UN0!J zJ^hu$y_^f)9#uCgZ=q(DzCPFMI)6bEu5X*UFyrLU@w=Eg;lG%Q1#!!j1!s`HLT+?1 zFSOX}A2IOU+M0-(j?UHDVA#TmRf)Fcvi2QLyOtV0Fsy(d13k7YJcqsAJ6VhvQ?!{BSKhtYlKyR0$}v zcKj!zurXZ2A0pvz*v5QK+SFc*9D*1td`{O=sh}H(oIiQg(OV_25h(v=rP6QAxWyEr zP(#lNKuLN;Etp^W?bEWhlEw;NS!eNBGSu--5J^k6(_CD19DIl24Kn?qyx}t}b0N=h z!h6nL#V3`81}>h8aO#4i%r3&7%Bm5X&SFWXW&E^4LrcN#7A;T98q^mZyU8>sCogJ? zUP{4J!4Nr&PBxR2O9nNbw<^`d$1#2i&UQpECF7LEpy2Woc-noY>Q@oL5E5JPhPQ$? zQu}-={V^w*h-emqR0(5Sphg}zTw*fgCP%n;&=$6>@vG%m_7ldJ1QpkFBY2YWjgKM?uYR|c||{8mdU=E*?1gxt}<+M?kS9UXaSkrJf#Oe zrSI6}`FX4A>dqoK*dO<%=bQSn@bLv#mzRGjYA@gTnXawK2afp4>sXmiCk_akoFJn- z>J~OW*_GSTYfRp_g7;$i$DtsO^3iN92~M!pZoltdIQERQ_cD_Zi4H0qRSJP|L#O=3 z7y$}Fng|OgJ2^gX$j#j(FSiXXYVX_#>1Tlhsv#1NmBVU9hDp!Hwlw<%(WV>Lhyxbp z2OP?2%+_qxt>cwp*P_$8g#Zim`O(L~Kr{E=TJfKX;_8LdzlEJOH5Q#5H$+MBT4v8< z1kHRd1VX49482cVV|AVC9a?3;%IZkof%~jYL11*86hfE#vXaa|`G3}?3!hRvDW^}j z^J(Vf4mY;GgdzdPg_A88782$7{#eSYW>n*J(2BM7f63>!OCS@lM=zn^jzlNJn*9Bn zn@;smA)81exIvadG~iKPavGyja*wJXR<1yS)ihw(i0U!upL!+?=F+65s;I-($7v)S z`D^xW(2C2dh4oC9&ETL-=3La8wZS9m9@p~rBOH7t!#mWdLrfiDcs97w)4jBq>+nd- zYY+^6IiQwJU@n{3T!XjrylwSV^YySC@fi#H{O|@(zG?_V99+E_HQ}9lZhvkfxmDNq z-uV#A)=PM~;W1m|yPquU{`~wbs;LXQv{zQ%)RUKAgM|wM6!+HZLwBU&wOI7Sx&knN zB19lVk=JrB%c$OCh1w}Kr$7N*R0)$DEM6r)~qH_b_CII0f2K~PIdLC5(saX6LyqHRi7>rN_ zL;p4>hYPH9@;)}`6I=>==>RL~nlUxu4W?seIyPM`xrItE3 zmF(BCJRaprSFff>J(#H#@h{>m^`VKhDXgSNXvO$uNkzUcefjbwLoyOQb9Gg($pOTQ zLqueUjeS4CJDC5vZyK!tMFR}?<{28IUeM0mOa8NXxRH5txcj7d_-8UPN)Z)L62Th! zHJjIkr%I=e2L+!M|3S-k6?H8YdxV3BUJnqq4)l6NKp@Jm2pZ+<--cC15f6+)hN9Zq z+G=ll*VWNE9K5_*Uy@0NQ0^1zr)aH|#C7Y!-L@9tQq_H7{(zPcjH!rwx z52zovzL<|Fg|b z{2+K_La>w{0Jm~26nY1M326zT@w6FOciJrk1H`sRAcX(XYTO>(=^yGbr?2*PJAAvI6wAHNy?B-FFB84{ zm-_A7P}zUU+C)w5w(ImXXFi3_<8v((jjLw#V7VRllix_A84RkC%x%q}({L}LmT41Z zT6(&ohd4;$)SWJ4nJ^FvkXlMU1io5{0G?hLOzI#J0M6cJ{SRg2u~8ZdkQP z#J$DEHJa6M1xridtV#nz)03}t63WmwEKb+C5Ol{0tsSKL`d;5jtfi6a1VMl*{D<$b zG9oaoJwqj0zrRef(Klq$xu4A!(>b|cb9DJ!n3Le8+WMTWJM3X=p5{H$kfbDi@fkU7 z0sD-tLu5c*T(mQ#kJqXKy_efoA=D`)_o6d;9zM z?-`eut~jKmj-^VORG9r4lN@g7rWAWe7nZNDA<>DX{{H?%6clV+UX^wIQ?s+GTSt3C zUO~lJSXioo&x`r@eI7>%Z5}Yp=?=Od-rK+$KGOfw0=%}psWiU?!CZKUv>(<|3E2#_ z@eS@dkDT-%r_mA!bPx}9)QVewG??fdr@6QGuUzy7y>)_4>P+uCgWgIXW`o}+8SodY1cOTc}kHG0PajH z-OMSAmogUDz`DV@lcHvolgn9s&t_n2RWX=%spD8XXEPWI@tk32Ud5H%YJS1dzfoc-j4gQK{4CJQrTTSrF;bTYMUBP6)6 zvNJO5aj-Q`@5}kS1l-#I78jx1ByDVKrwL#O^j{sEZS05RcCwBN&+0!T`(Y;e^PCdN zg`5*fr|aoduh$?SD8y{`1^2}##y4?v6*~nuhHa*|Z;uWSXWX5D{C66hHwAGB2?tFL9=@sK(e)Wb|!dqaNtGFa<+3-7jRJJ33HD- zw&fJ;PC#?v`5z~#(khnreym05a*X>m@$g&L)1PjcP`5fA6ylv;|2GmJhc0l@`q$dr zU)J5Geg}B@s)5Igh1AqG8WWRDVrl8Rmy3;!G1)CGci7;9=)x|M&i2SJ9wn7uIT#Eq z-D;~--i9{URPvsqfBe7>ji~xvqlGV|713_BF#)4C$Ak=uKQY+QIBij9%~#jbvY4DS z;z2L@oZ5KlK#Pac)-?YKMX(lgLpy8WbFQxgF&q#!zlHZ3Grdh0_R(P76`nRsLZH;J z+}qg+NfKRfpt5%4sA|TEn}=mAKvGNAxEO)9TlUkCjpxIy{1v6Rt4wcSL&tb4H{be7 zT9+k+{5U&5ZS3iJ^ENa4?d@~db*%Dx&K|M?G`VOOS)HQ8Z=|&mJ6$JP#I2~GTqw;_ zQzKy=1_6ETv8RGp(7R70$z6`w+vNv+a?kib-Z$G)k+f8%R;vC?Zh zF~Yuoqc*!PLgEt>+vexzc^MfeoVR;7o!6R|YYm%B92X;|y`QcRydlX1vPpdz9)@Nz zjfD%`=0c!7cs~qj!g&yWq$p`9G)Ai`u?zV~XF3VBX8WNW#u`LNMX_^PPhHYu?DQk5 z;X+SAML~!9nH7i?)CXzyoZ*_Xot*7i1qKE(Pr%gEOR)#m4cb6vb$vAz717Ukb-^c+ zZE$e#ml>}QuPUwo`&)$g-KML)7Xf416#gOkQyoEr^Kh))+5x+|0dAf8v{q`*yC zxs|C%7z@{yd8D7jys_Kbp;N}h#)?ovu}=vgXyHOOqN$R>Bme4^-cVtFEk|8SXoa7r zO6AA%SUL?mHgIwrS+Rq@VCHd!MRDWjbNpiud42IgO&3XUR zyj9<9sVSOI1Ls>kV3;JHs+Dys#WZk9Z2H<~#rn_CSh$GJbW1P*c{#bHT(mYPu(h}J z1+N>@74(l9Fx7OmK+|VYD0*lZn1jGL=4*QNxNr(r{vC5j;bAGx&(FWR$+qa}?r{Vb z)S;nXH;HO?SEr{>0%H66^4l9+ZJ^L_5%WhLeEs~CrKF?+s(O3fde8p_y$J?3aZ8>! z)2;{!(7JEC?3_8Le49xz1r=m@(1{)yozR^xBM&1XrT%_}8L7EFuBuxs9`m=@Jr6<< zesg6}m2~Xh&)SAdti-oL8;dvO>-l(4{P^?IQum>`WBPViW@G&I?{z~&=_uR&;ZaYT z7pFgW9c6G)W2eG>iCNXcYZ#U0fC&liJ`XPncS!Vk-ya?FBGd_mDx>p)1;+7L24?2_ zVa^Z$J3RvfHlD;>x*kFu6i!PK)v>^Yl~f>rymrwyO!PnqoWu`qbU?wGu9fJJb1ZI< z-jHTqW!~tAFE4+QHmzdT8@UHeBr(<0GmV36bJE)P&=au!L1{GOk3 zRHx{t=4Bm#Nw_27Tm5|oc2!5>U#S6`fvWXwKy}-;x^*TF>8vK^1Z+kYy48AC=`4ok z1gu7mN3*83WvUp(A+wO4R2LVC5w=Zd|GtJ+lw;;pb)60$hs5dimEqoFghLI7`Ei(y zeM7U71_H34>CL7B1B?oQUP^ZlSd!tF#2^o{It19Adn(>tCRb>xxRA-oNe9QP-4cqo z*CSI*-89BT2sz#v{-Kw)Cj`X|fsb3~_hs*)8;U%CC4%aB=PLzo4Tw98JKW<5zt4WW zZ?ioG{ZlkWdLE_|#e0ud4X__Q5`B1@a|yZui*G-UwuJ>>#hO0#+^^%UDMg0x*@vBp z#&fu2Sc2+IAKuqyA-pbxtem~L$on{*;yRi+TwVbMzDjwoOcG^|x#(zVCuoCKlaJKo6fAzdoWWmuQCsCR&Vwx`r$6sfwFH`f!xfnKk^dD9b&&5;;3 zYfDR(*kAx9GFJFl!xU+D&||yE55EQS*%>@nO!n4WjNamzsI4Gin{vv_C5jr>yGVcL-tcRoaJY$5*)~@mPPx-UKzswR8&^*I+2~Z z$6=fIIU9Tf@hoMhbO@AIMC(x2iu8L8(DI7!=q%c0I=t?k%P8PMC#>kiyz9+fZ)P*8 zPeo3~(ne_K0R(pdl%zME=R&pmaQ-*G^i{3ecrAJTLX-o6 zzepr1ve7WAbC_#>I3xh>1C-OkyH?kJxHh!x#dlI0j1h3-SCutVB~KA_P7 z62ewr_TzAw+yhNN3i@M<6aWzxc23SXfGZ+mzJInCSZzkKLg6tYtz8bl7^G+q0P0VK zezRfzMCgIs@cHxa{g0u)JUMpUXsE&D0(n*spUdR$zIqxJZ4%*GQn#I9x;n0PPS@(U zt(eDqTOKX?p9A!1exCZG{cR|Bm?K^sjaZj~Eok3G&?eW#4fW{%vmReJo>B>U zN|R_?ef=C4Hp=`@6A(GELB9H)-!vRP@bI`u@m1WCsNGAA_=`P{X7-#~>h%Tnv{$N;FzMFfr!R*+DW3iqVH$SA!{SiHm6QAJNrH(<13*GVtbc!hKbL-U zwr7dGpGcilUKz)+{<8~b{b%rrmY;uauN9iJUlK1$LV93VivgKveAr!5cGCozxQ#^7 z>`+6nmOsim(658ieGI~FUW>i&i9L6^?|BB>i*-c4VT}AJ_>Wm?CJQh zJZHRStlbOREa$fB*s*?T=hMU)TsnODjU)JUsw3bv*!rq2193- zT}cDVnSTkC8`^J&Dz89{n8Imwf}$330D^R3EsLn)relBDgF_lV2%4})6r|ESoWPF} z(oTLi;tz3Bv5h_z7HYbm?es^T{UgV0!;2^C5`2N9BqZ}^Vj^}_eW+()sBNWdilxC1 zBT>Xd0*V*r{GPyplW>yV-TFd8hU4OMme8W!b-!AZEOeGuBeZdI<_$V0?D{$_*yTIU z+2wXa+hsp(4{<0Nb-5oXs8hzZSA@Vt9A}6)^a5#6+q8YZ=kl^>p=K!MlhYy(kI5S8 zLt}esH}u2ALC!Gi_ExLu%QzJd78WZ2Kn#!)A2KqBObF8bjP#u~3DOy{fP-E@Sn7;( zXkwr{+_9UJAH=n$sG^eaG@;uYMzZGb4l+41a7~OHZL8UQAn~nQ4}Opz_*bf-rsT|B zUMEyo^wA!4TTJovIwbZw)SL);4`wrJzf_Zy912cNOWUfgsK_ixs_YA%gNe(_6J6Zg zba;M-AI7DGZS*&u z?Wrde;E2m((^_@3!U3?ht_g&QmR4S=BLF#h{R-f(_GT&kiyYDoD!L6fR9&9-R(%ki z>vSHKS;8?r6AXMuYf;hE%2Iu#fKz{!k}?`cs(VU)KHFG`6jx&gQ?+Y)hv50OF>Ftj zbmq?CZr)?>)|LqdKeq^ei+BV1F$^dbHmAyXz^%qecNrSDnTizfx0md?^K`_mZLv;5 zHrV^;H;E8|{1RvO@Cf+7c$72Vm)!^tcm--cqz{0OEm2InnxKELnpQ5C#| z)^zDHf6AI()Hf?IFjhC?9o+Hql?~(Xr-Q?wIX8VV%ac4!EGS`@79rg*XgML5!`o(w zyvyl@HFUIe8hrYUW_a3pmkmiZ$=)|a@%qG2OSsziCGmC( zN+4_qgg+X8V*=7&Gttv0VJ(Lh0XOGHVc6T3qM52HJ6mN8vYGU_(FflUwd{{S%Y-BHq9nyc=Y}K*kG8)^RX@Cy1 z><_WaVk@o!r81rA872ZqdJ`Y)57QWN;8I34x&43(VJC)Cerg|uJ*`op<;WFPPOVRV zpP`eU1r7STwB!%3gtN2Um(Ic2)_WEhs~IBE&=>^`mUOk1^j+SYw2({!-=JLuT2HN7 zS#9~ETVw1}T;v_A4uay=sn#<;n$D)XgxGUirwCX*D=;WSr!zPfBa~2D7A1$QU}+1@ zxrW2S!f4*z_+I|iq9}el92UdI-c>v=%0c4UI*_^+tlrheO z4w?c<`*;1_tjL5jym#|Io=!Axq0}j8b6L-QelVT<|1z``Y&I(f%|{5CL9uw-IBJDJ z0dZN|WG|9fQIxv-9^O7~1MgujOc$3H0hi5XVgiZ=05bCfV4%rc8*kycv1MJQWLLAqTw=Sl&O!>AWzJ!XUE z->iD|{T^{xCjct?WHmm1Tu4a?#U_q{tVnOKThiV~|JiiuZ^r4M^L?#HNP%+D$dbYU zv77_FtW(X`w)0#BPzdNaazIXo@U12Gxmu?2br6cB=SN;%r`)FAO!M0~Nn;Pr|F$Ws znqf_O&}QY($!|SlG9rw_XapA@uLBQd?}=g`tJf>{twlc?7gW==e}2>!SKX-ixXel! z8fMFy*FQ4hc6JGkeD#m^^UTi6V_jShXSCycd+V|GC5&pXJvli^cC)nw)>@*Q0Ve0> zk_3FtbBKtDu=pF;DMSPG1oLY3n?|La*X-{(? zG_kNSG)jj*wN^K;rlqH@4u%P5XQwz-RT;4|0QFGjEurs7!lnNFnK3b;@NKt0aKr}YGo4cN-B)wb|*2t_%S`^Sz@)Voe0>TQH4UW-l-?us0v?|BeG5!g!)P-PmO ziTqHhVcD}gF)`BmbO{X2nPRPH7>{&xUoclE^S8KP%lO;lt*ceNiQh4KzDn*y-6kVn zx^!(-byk^ra@yIFeVWDssYHi0d7TN;DCuifin?olH~6b-O-BkLq>^4!5Xaz5t`K-8 zlS>iz_ojyj95?Jl8T=#Iu5i)GcNmp~m)huXaY({RPcI`^G_VsWWf)~UU(kiUk%A_D zC%Amc|jCBh8nW_qzLTi|LO>v-goYkaqa}@2dmeGr4TOXbqv2A|vSG65wav6ejb;`{CT2{; za6-Yor4l++UKOUV?-oIG7^#&bTTpUO7e8Q$yM%2X%ed>8K%{ov)!o1GaSzK$Cif2x zAm5hg@J$*DxwM6X`JB~tN5P}TV@w(z_*YRHWTIp&S8Fk(0|swWCzaDPrDsK_m0H_9 z%1eAnFiJUSHgBih?@;kyXox5`7Brc`(64)41`>~{rDrkX%dn72=>y>K{WRQX zbGvqsA{^?NSiUTM#jXMBY8Q?5M|L!Y_c;4c+Q48T9s6L&0ekvfR`ZBOnQE&C!#JU2 z4UVz0b3EtHqvdg18tnGayZjbax>z{Zo!8r^owu5efzVRCPI1jAAg5Lb9T&_H0LC#t z01;j|1d)}&o<9UpIux=23V(#d;}Eq$zsY(H@<*;mMInYFjg_N(^aDt6u^lCchG0oU z2gG@O4WaJ!lFpOH=skS#NnVFh7uYJ4oP2owPz_j zFB>(5)eN!KYgtz+TWH#tN7=EiaQ1c!=GiTwWKm3jr_V>O4#_Xtqvn}9< z>DwVl^y5B07~{R`NUZDX--E~^Xny%g!_R7@r7`AuKC9E9fP;gb+crd2SGA3hmBCAl zqcRNWlv5~fVwwm?F49BR8e9NIN4@v0ZmZKY5%RxpKD)TU>%V*-7zhf*$cG65#C7(& z216yI5U^&*lKTzki22WWdU?iN)3dO0e3l;Jw6-R-S)|DJd(B|^J=?OTpLzc`S@PcO zYh^jcx-|f2Lw{ICFC-KJ>hAQ^5ehLT)Djn#@iP;XrjaSItezfpNRWdotzm2|p980x z+1~Jb6q>4ij=Qu-+&w({`E^o`AT9T)@{2lw7bTIF_OE41B>cptq%@RE+s zYG9h0ewKUB9Acs9zl}vS8=iwO~FI2f;%SbvcGX(|!(fJ<(XBqy5CE zE++d#02S*>iD1asvsW_okGqrBsB6~&tH{kB6lv_wtc)6N6@TV-#YRgMjd;jz4p|#L zj@rZam;3>kMtV&)F!8QJmNFS}TsE>%;j-V?lKu@q$A%ODLlJq2==-T@zCS0Ksk#;7 z6E?Qr2)Y7@n}r9gx?KNA%<@!f0b)ob@=)0bq|TuSD}-;m7vp&Z=FU$PQ)F~`gf9V9 zQ%AG;FR>m+GgDnbZYd~)g%sV``^&6e!fFB zpd8JBCkfcrAWHJ#JW(Etm#<%)B#nDm7+7xs->+8Zhb-C~8&yc#WD`gmJ38n#Gu2ri zu$}2@j)0l<^e||(FjVwuMZ3a=ChE)so&Z>GHBtlaD3s_~@o8JiyjfU<5b>szRT!9% zxi3l5WOq<{uEAHmMPU+#CI+;~zd9Qy4s)h{^s2L<-L;kumQ?<=MWM+FkC|#29mdnN zYak-Z%tNb+3YOE9e2}PhrY|UTQs$Oae6Z6cz`q!fE?Lt9z_XWEEX=Ji5aY}TuHU^h z|4!PKU?4v|y$^{<0061k+I~a&T1TJrsMh(eyq3AR)`bkhodaMFbE=Us=~kzHO^71$7*1m~W-WjsU+wnufF)ln zg@a%QJLm+vLdd-A5Jj)(?f%wRs`c{3xbss@o# zJvG$9dms!>qX(TGm!^A^BOk^SmnOwnD+Q{kqI;cMapq|Yt@Nb}TxMIJcY%VE9aLOi zZU(L~&SoQ5lMRhz_}SN z^R2#a2xkXUP2v;aBk2K@p!) zX}GChk)e=QaekH6yL@?UZf5-Ct9nQf9`p-6ML`K*YEaSM_UFK)!>2za23P_>fWxL< zGZ_Zn3d(aiJGZfr(Jx|w`M52z4F$h!--Hcn`0v}6ZjzDNSl-jD{;q*MTP|+N6p%cf z-MY41wE~VOX^q)k?R83TuW;49g52s%ET28%A3;KvrR5kv@eRwB(+=;g*KqGYMW4N8 zhM7r3Ela1ydyz3P2y}7XFm?(lkx-~xu^h`(eFmVTFd^DBTU1zI06xVwgFAY?uj&<+ z$GPD-d~|zB#$sx^h`6g=czC${hSa7B0PuOxFMMKC%bb9outmc7|Iu_-VNrHp8-Io_ z>5}g5ZU&GPkd*G0?(P-@1eFfyZlqyoq#Nl5X%LZy?|HxL`p+3Bb1>|^_KM$quMqCN zYP%J@lDk&TIBvM3RT;2V_`A+x2y=$#w=vA+M^JG43aHh1a13Ud{osb#T#&Ka-qj_+ zEGG6?qFJo``s(^RJCEmUa4pE+q=c-4V(K><;Qs{$ss@z2%N0oFFycuR|Ci?b`+M|Q z`fQ1^ynjVYMu>vHXnCO?zJfb1JD;Ibd3BEJ%G!#RXuDCIUs{xJBPv{Zkxl8k@~htmwALoY3tdNx(kMADDNw-4K{ z9ta-$i7*=|i}Ixa>S70pnc2n_M&?pugwb&_E)wqUp)2#Ppwqh@%`x8@m#_F9$>VHJ zn1`0!;ByU+{%jtIq}TA4{!W7!m&F)K3=gu03$!7$lFiVNJ{x9yuoz-pxfA|bKf`Cb z&7}XE>5TQCNsVKpUMu3iH>zD#)z0;bcF`c=Y)MMgJ;`vUl58%y{3%aNjXDG}50I&0 z0`P*`a}&f6Fo^+VvIif1<78a{Oj9XQ+-2QdE4}503+9O@o5c zWY>lC(%z{IELS6yu;>k~3{JneJ7nd$e#xvsoBM}{#DSq99b?cc0Rmk=-FJA~%l+gS zblXRH55^I%lHy`xPy|6XJ~5GF%4u_h_i0w1RlEGwa%snO;3Gl3BO~d4mYA;wPkvjw z$k^UnqOrYEB6=s+e*QEkWE)?v2p4Ad3+$ zp&zMl%5;f87hOCr(wsH_gSlGCdx>vkwh+7dH3$D(oMnvmG<=0dp41w0k4H$pJ6Me+ zxZ~P-+n63Q=#VfiM#Z9WeM$VmI4z;CA6xT^yy+|YO?e&Wr`S?br5l|C@%uY6clQ0t z5AvvHEvM!7M-D-*vEp7dqu`K;`N5@sfKe&#^Qox9&>G#>?Yg>40Uoz@gr2%82laN( z%u+0ezI%2!jId3Q(IR_}O{#f97gH$wbx#(Rke-HCE<7f{L%9gX5Dh)mF)%*xc^CcD zpb}Eq{0^XE`~~OrXz)aYTvCBap9h2ykrz$|~g*6dL8fwUsvh32?hH{)eGn;9dix9mb+kvI+p1h<<2esSC))7=ZvRhrrkDqwYDr zj*aJk%|XFeg2A&Fw>yb1&v?1F{lC#UJGd@Ep-{~}Z|+@u;b`*Rn>MyT1&#JD7CbuSdny&eai;5KI z-ufHFfq}R{DXJwpV>S};4T4hOTK)$B5s8XxKLk?B#HA38$TD`Vp8$ztA(NwWyWE!b z-|9tdCA`5I2^GOLM`hbb#-eBhn~?(I;`88l{t8E)b=Z$Bz$JnZx3mE0v;ZOn4BC)C z7g?x+5$n6DI>X{Z=rnQJnV~03)m>Sr1%%GPtPs^u$_s>0>fte04b$u;UoF>oqlq;( z6K-sM*!=xrF@a=C%kbcNuOHljjcp2G69&muy_$ai7bd^<9;#rF|NFqUoAnf_a^(On zHAUFB{>nt|{SOsYNl?2oxb!zX+EIF20)nEwjemdotM#oZ1p4p%-5*Oe2%3h69jmke zL61xMfI2y;fP-5TS-Q%|shF$Y)}XYfi*g|Hl2%J47Z5hSb=`V3;D~67PXoLGX)GDr z_b9|bR9lsnYaX9aw90$NmLDA@x3$i#mNv}Ts|J%w9TENpoqqf`)L1U1SkXrpg^2H* z>VIQoi5|-~?zJP+Xa?>*tCIt7j-^)fND|}Y$p#}mYsR-IT58u3FI z4}G1Yg!V&eKcAexBela0m=KtkwUlG-)1uGls$o zc@AQTKyo=d`ShB%x3C1uNG>J$UuIU819SE0u+WF2qYnru`a7Xp+uPTJgMR8%M%nn- zKi)pRnMZbCKNx|zG2^eJi@At0L-8@w@bFc^-NTFy9%K|0|6tZGE>mFVUw@T@_}#)g z$tMZ_!xASm@aSv$pGgE2@W%Sd3^$ET5!j{#v z^U!(YIs`oC*7fFs@8<=q-P&JBYa zHr~^e0r4`D&vMacK{^?(^sfy+jl)S9%PZQB$vqfBa8zyv9E-#oZ^`BsLg9Z3@bepa zJ*HGQx96XH8?F-gaKq8=X;A3VXGM{U&DmM{3n%GSwp#efxKxu+9IGqZCmSXqVqrO} z;V$yGseaqU85wZ~N=BOQ2kh7(n}fYE;ln}}QN&6S9)>)%E+&x?2(b|C1Z`KY@?N!B z)3%JZMm3f$%_lmFd=926{lybDL%mf>C(BjcmM@;p?rxK9}! zm8VAv0+)Dkq2~LshmYOm`LPwmbUhj9>3`xA5GWW8r}NUbw44mY9k`Ol>c1xY&HEH6 zo-elQ#2Ok6_hvRsIMHs)>>Z_De>R0ntr~9ad!ldB{l1lX0L4AUe#gYD2z0tplTe1| zQ<|pYxU^!=%H7q$z?0|U4E@9UO_vVOu!{}^J0$r_<3@2Iov%hv6BiCKSAA(aPf{DMN9z4m8NMKLjz&!AiB;+1xn%Okn^U> zJ-)=`AhWaZi>-q^_1CYSGZYd5bH#;) zOX0{^E4#Z|p$LH46~ksv%xOaG4^)4=(*$x+1hSPMjw!`aun+;-lUc|cEj_jN?;pe6 z3s1L?;PCr-P+|(`0JJFdIQRd=4MYoLdhUfK1lqf}M6og0*HUkB-1&R4S z5y?tReMee=Ace%H@oUaSBQ5)8KZzPTF*>V^YR3!<1B2mcabi-QUt$Uf+5zZ1l1rW* zO}X^{6Fv$cI@r+%Z;2@F!uWgFHC&Y;DB;dXL5O9K^UW#y+|LlRzRSGg~b ztmR@(Yi(B5M(x&4hTSX|ErG{TFgRP_tASum=Co*YJpT?He)U$C@yoq^x8TO}f?#1t z(y8d0XqInI(lDKwr0qV!o^PAk#H?08Ku7<(iCjr%xu|#P?lu!jPzoZF*CrFnoD#Ww zW?{F>M-dhu)D&2)YZ52UIA&)T?ZJ}x6gHKo>l~bWdUW_>tyBEl6&bJ12_@NuAxJz* zGhx__hxLXh)OmmX`8v^6yosZwE2bbzbV&2&wQDSd;ESSzL#3D$o(wftq9_J`7>{~V zOMT6+tx4_4P-zH>r4b}N>m+5nZJSt!@Bly=nu}I5jqyj9`3&HgqCsQ!HiLHj=RAws z!CG)8W{EtB#mCRWE|j{RAlW#}muBVLmv1YfJ!WNkW~yixn^VmGTiaHXIh0W3A|!lu zCIHcUwkz;)Ro)>WAitkmjWT|v`MlBpUq33;-25g6_j~Nt5Au~FS`M!7RU-bM3;1-W zTtzRn&dMj#PRr&^zt1-sRLk;n&0yo`U{6hZ(UqdcPj3H`q*8!8V8S}I;}6Wp=H`{| z!h$75jUJd)SF-6KeJjTyG^?KOmGbm=?aa|3kfElbRm+EA!xJ(kwKKO?!-RnEGuaQj z=L{ku`i3J+xSv$qs-R}&6`w?zTU)+!ZS$u6`07o>s~;TPC8*0r1@nAqdueNDtpVsH zB%Z&6hvaru6#Y09&UYwu8>>?S{9JQBZ*zX=zMrpo2Io{dP6qaj05Z^{Mk(lQh!3`Ej9n_nG zSBIC!1I{YzK=b#^ri#V1w6$s6FD17L3rr=d*~#WoA<_gQL(4YkDc13w;&9j)A*K@+ zM_T$TE0zcxF!($mrDuye6osqDvB-&IUq7&lO5HpD#{sk{&m3fFIk!cj@Y(|kPane~ z`XMkNF9g001&}5~ECq-N_3)9QTO>La-a0NFB^3s%+A!%?&^!SbJ;m&|>UHAjU)frVpWPf77m%b^6OcVe^|rxrWrRyz!9FvWkHy4|Wk zz2%aI-tD~6!1jrUlwCJV2IU`;xCQ}n1eOluO(qOo*qxZ1BX8L9MJ5SVx=u^|{#d5H z%|s4;O{<{}2Ys*f@sYEqPNdrR2~T1*SWDEoMv^T#%0VcqyRoK_-Ke)WNloFO4=O0w zQrs8b;rBv*e@i_?r!d>9p}|QAeNFb9*wi_p5NvJrav=bj)I=DveK6!7_9nJPd+HW! z+EaG=T_1@<{;2ZQc#Db=XP33L*&vTkRU3DTT;Cn!PCoug?S7=J>AFAq1diBZFE3r) zul7~y>gu@FUzc+byXv@N)&kh#lia`-eHZLsPqAKm6rMY|ZFBT@aPyOTR?<0J~-V_n2X`R*dfKfqLz^T}1 zR*8d7PZn$YTli}_WLseX_*8Hw#5$ks-`$b41*B)9~4Oka7D(lan3N(Xev(7bw&J_;hwtfzyiGOvYh?rnTj|b&K#sJ^|(=k_h$F;Wk z0=~vI6m)^4X~tmCaY%e<_<%#VacUxicO`{+fNZA$AG4e(s~ir>jDU}ya)5@f6@mHdQ2`kjFL8)D!;*n1c>s{~g1qU1^n<|}KokoC z8Tg0btIQ3tXHYl!6yZs}Cp88iQafzY9kjOE>OKUIAQzHX%?gt3RB1UnwX0o$E58p! z%)(rAE{7za>wN#E-=u>L$K|-R7V$a;e&K<_lHzoN(QoKlS)IYRJ9)YvznB$@8u{80 zNH+-{$z=#){zb=+l2`47V8SBMd>xzM#MJ0IsyR6EQEO0r+E7kLe+bUM@)jY{O9)ITp?{0t zG4JPhF;j<@N_pH{sCP^CP!6@!0?}=qLeU?mUsaY`Opmy!;O(d38-YtzW*9DpM>+p8 z;XtKRx;d*-o&~L zx>~&r+i9u(1;OU8xBY1@>VHO-=#LiCQlGa!5{AXpI4%;$LkobTl23*u?`|@JDi$w{ zCzuh0_5+y`BIAf+S3b5N^tfyju>CEk(OTm&UuII5d@FkXVS_d2$d~e_N4R=+a=WwN z1Ya#nCvp=!1UTA^9hgvC8l}_^DqDNbg9Nh|15Nwt6es-Km@(*LznF0bwh)H3Bo`-Q zTQ1#_WK`XHEbIS0>goha^9a&&_VDQU}*x161ght4nmoL^2C zstj~0n|5%|LDI~y)lF7zRi~!&Uq%QZ_%*Dzj4Q^QiH|`hVo|nr6N!`*F9e`Vcs+g_ zQ8$9gzgocg+m;IO2gQZ^mZUa}V$p zbO_1-3xy>GG_^dXsOV_f^gJImMly>KDGR0+*lJ$VFEqyua0Vs7Q%S)NtOCcgJV}gvo?`9r%P6*6y!I|Z(y50RHgo+fO4Hd`-ZGrG5P4;)d zhXPBKb^0{ImsgB}DXF3ri!@zzh1nI@X)#myB zxF!xwiX8g}pdvw6_a;mNs7i68^&A}j{uuf%b#>n8atw{iU`n3m4juZHt^RsmjEZ}~ zu-k8ZwIisnQ_ zCih($-4pHt^nzd_NwS$`jt?@bE>0B3tzGPV+o+8$%IM`eP2Qp-2R;={>#*UrD0$haQ`RkPM) z;!cY-Yo_~S8TQ{e^{u^}*3ACX!hhW(C@!d4Yi$0JzJ5kAtER)rzIS)$Ld~;CNMkAU znR&q4@UfDe-LamVs9o$RhZ4B@vllJv2~oEbHPK~ztp!pp^w`D+G*v73{=`0Ur*y`@Xwq>%Y0Y^ zd;68{S4{BMk?V3H6N}{Xvq~#(~2D5OCx%Y$plbqo zMCGeCNwt_T>Gac{D4ii#p9C;!?S)^8!`oNgfK zgr;z|+U6+dyn(Zmh7$r1$x-E}n{9x$EaN)e_u5x`oWVOGPW<vd<2ho|?b;oEwWUI=Wa$e-wnep|AH+W4JB}? zW0y@e`iNeJ_+1+{&dsOgZRqb=arcjyhaGPd+3wA^dd)BCUHwvB1cpi^ zivUUp1QDzt@Y(L$en?3Lnlj<*l$b119Iev2qUCL!s<0!Idk0!2p!I+QJtrF4=FGb* zqKw1YJ_M=|I20}<1SE7eAqM*NT|m5KgqBHYt^f*$z!KjxC`mPp5UqRz&@nR~u7b%5 zBSU(i!Ad(Wl^;c)XVKy+_$uARnLL`GVg=vI80rXuA%*^eN+9$Iz-_5Xt03vo5(co1 zZ6=yRA}r((qh(xC#QvtW;_;M=f!%-F3sVG+EO;)m0)^YIpWOJ*H&5rm8v&q1@Mr_bSuENb;^7ln?gzEZhxt#fyO`Y*J!+vyx}|H2BW zuWwOVjWZvJkMSgm{Yg8~o}{<}5Q~bcTG+= zd4td38a@nsz!PB~^YOn+%L_5(onPEQP=3WXnp(}(UXVWy<_yaJVpEDM3+HNch1I44 z6?{Gno$jpm89}zoWn7z5yA3vdh=fw+qbcmOQDIY`8XE&YhQZVK8j2p_&i+0>P1%oR zN(?;<@-Gk8os)N#Pdq(8YM_NL;fpe-@ZVLx8kWJzd|sDOd=I42QP=j7zjk`e`FAR6 ziiY;lQqfKe8G|F4@XEd>v3!i>Mdn%1v2OZX1 z1{@5#f3oQ{&Qg4Z#n$ zy${~b<-%}){-+BqRduQZF8oO8(8w~!I{wE3kpFT2Jy|BnDp|mSOt;xbkO@6_Ki?o{&S|TtO0v3JOo3UrvYJ ztP73F-X`62HDOjLRN}o4bA^VAk!IK( zWF&_X1NQEQeNLD8AMPt^mRM^#o#dT2E2jZ6S!&AsiAL}Z$3fg3QL z-cCE=)QW1fJUqb-nd+O;AH#R-%}z0$*Ju-d(DZ8*GX ze9zOMdvbXL4-f{M!g0AMPAjG|dH|uxQ?jYhqlB;kq+G_YhYkBHAe5aPh)*b@ zDRMhgMwE7;$Ak%!dIVy|Oj@8Ja9oWFYFpoX0#xw4=Cj9eJini=dtNb5*eP31=Oa=G zeiPkW;4taZ%Igz%r+kd>x4hL0p?Ucf5Mb+|;I)l^x8%FlNneACn$Gbee!!_~Nn<@B z&{FYxFET%$AP$}8WRimV64MliL_l*NL{aoxm~aq>wO*j=)OoYet&Hza}kEa zsqR-yV%6+a*>=Gbq-h*Ptvnv0zZ7AgVE_PXVV>Y|ck&Yz|~t4)+c zYivxf%tw1AXnQAeMJFfH`B$P45Ldt$9y-?{d(KGL_>=GHp@OP7T&pe>u8qZW#w{)Dfy}&s)o76YmJ7W zMux+Cu>2aw9RXXahY6FX-g*g^r* zJA<9aP=+k1um4Ir2}MR|BpUVeC1{f-biCYT-`y4X@Q*l70yd>?LAu-cIGhdu>E(w;cPvbb84qtl6ec@IO@C`jR8wdMKakN>tA&i(f!5> zFIJx!f@n^4Ccr0HZXykA_Rp>eQei_#poL|v*DBC5XWKu}$PdmyuWCR@q!*2r_f5OK zYGbK-9C0YVz>L<r7{g3 z8-IB0b#;)I*gUHO2vrY+bPNiwr5GM_@(I9+^%h4jPua~{Vf@9yRl8U-o9#OdfZONY z{{`L)Hx3W|G-MjKIkwxv(|l=s2DaN$Y{G!9l#ovQU=N)@luMF4X)1DX7t?Ewc03;W z0pLGn{_umiC%yZD!Y6bzWHlA6OzQ(q4^Pzh-sCJ1!bkS&9f-+xk>+%fM4m_v3ix>_ zDT_Aa85T6nr(CX=vDTp8P4G?eO6`T7faNkqD3SoJd3830h~|DNwifDQWYlezCgK?`nVCb@e?gTy`Vf zv*;3Y^YU&oc%4jHlI&aH ze@hDFyQmQnO-+6N6~i0l2C7p4P;=?m$$MZ2i)p{eJh0hJvW%0q z(c#tSw&%Tlzw`ysSaZEY6>hHwPI&t$U7`zD+Tv2s{5;nO7?g@1E z;t$#9YzL)nEqC8mcK>m1Fbl4GG{EhFW<{SXYFbr8-F_Z$euBC6lyJ-(1aHlZUUx-y zur;Nr$?Z<hA#*wD3=v;~6VHR7^Mt4rk>E(!8sa;EkbO>ED~Qb8o6Xb>rwh2a#<|Cq^2Y6Z9=LJ`kdZSbGex6Bmh?jU@spZVx%1M| zxTn$?&9UET=Ml4s4IDINeA^V}?bXNWicYgt6>ZilJYk?OLQ%3j`E^-}eJvY;4oF4T zg7}Z6*MXs4qYpFM8wEX{hIfNc;LZA_KMf(auHDX*XSDo4jcqs<#TrU zG=`X4gZpl^=-C(Kvvw1Ev;=XlB5Ot*Of-Sxr;KSUY^hKT453$M%y0gk&8tun*IvS- z!H0Fzc!u2*b17gH!#xZJ0QAPBx`@r8$k`$WalHNaS^suy3f~(&)#s#D2d-`Dleu&%p^W; zRIfX~b1v)C>VQw=veKN65`3vIa1tbh@>qq*5b#WrNeDUSYmXuH& z_5!#%>t0oO?@LM0Iv_>*79q%1rq4e`(K0+W;~1And9T15jnom&xPAmY;oV9wHy z<+wCcL;BnM2{-LbU6&QZ_f83k39$wTYB`x>g!Z|sYi&AEG|E&xEh60lP4pT4Snsb* zt?!lf)6y*!_s;Xv%|KB5TG;XDe!Iri3BYZf5E-n(NmA8gQ#q{J~zGjm5Ps8 zsjL~=j_0yonlL$=Qv-@4&I}wC8E9&E)VBAw`GXsr8LRYrX!r%e4LA(&6Mi^xFKTKs z8b+g8m9AVTG$X3cISd^@Qea^rHFaYK_hmd2{nXh`JvlE{_* zTbz~JyL+lm@2HH+vQFUD8lYx@Zi-?01I$dF zWCGcY8=(gw0r%VJR)@*5^_G{?*$+L1QeTFTYhI}T5Z(F#xYi2HV)tIiN4@XPuT?zZ zWe^gdzTcw|#9(2+2*dgSbJ!*dn^1ko;6!$((@?^xU*=GY<8vZ`42f9lI}!JH?-Ch^ zbxS9g+b;t3{t+c!u7cWs4i?*fBJT5u1s38gqw|rkb5$*gm+Y@A;a1l^N$GH>F|5dou(&}u+Uh#4vj_da>{pTk^I5M`k=(b6{ zq=LMqO;eQ>y4K+U)h1pI1xgO$GeUVE1KJ-wHKKoA#cpg_)~7p5zuB+iZuZ1)F^cIz zP`B9Z_a+uK0!<7t=s@SB4vxqat#x>;oW5g#>OK;ZP+UyN%vzDu(E%q_l?T;|{i6MQ zS8mKbkBgRJePDpGJ>9hjj+k(QBtkwZls}ZMDt30a6m{$>ok_DqbulgvT+Veaa^7)8 zNI3^DJhnjn0z~^QwJd{v59;8`1c|2RW^W=8Bx+EZ6Oa*5d^=mjOsz9oAcvWHceT$% zl|f=p&nc)$$dN{yEB4|b{M492$4e`F)_$XUxZI+8kBrp!#s|w`^C&n1;5L1H+rokn zgN3viinSeXVH??A^X8gaSAf{IU8=@TsF5^9;!gWXaZ_ zJ&1mccqi~VTSBn&Lg8BXmyg#x7i&E2)u`;9=iXn7dCjT_wi`HilIPie-+H={ET#DG zv0~IQ39QQUT7Iozvcc599}4FJ5cbJoEFM`A@+16EK;Gj{@OV`#aQJPnUt8kq#zM@L zespd6^4B)c9;+)W8Nrvn4ZMQ+(V zAPjs~Y7N4)3$N2|@`dxWk-4B@YT8O}QC&oyj6W3*IYe1E_Vx(LH|;OPj5n++Q{Wsf zOfMzK`h0(v%h?JnO-<#&U{JwpsUu!b>PT67k$;OFue9V(#^|)kW^MZAN8strsi;Lq z0UoPA7}`{i5}_!YiLvQR{?oEV;}WIFZfR9A&k)ROv^bPI#KhHlD|BFKZDpk*C^E99 zWk&9^ZYaeKXX|b<1n3=XHhnf+YG~Kd(8NWWnN8k(ypo_!HM$qp^BvRpIiftj;@tTZ zCDd&4gaq_%e*j+!(r#bM{ovcoZgT!H{;Bi(f3H{wB|G+52@Q(n9v4Z`lD>Z&I?~j& z-gaK9AGrSew*?fSF0QRr$tKQKf%CpKkT%f%ijKW?VEz1A)#>liyIU+7iX^dHSYZAB zy}fp4womURT9ln8<8lAsue8JDoNqK`%!qRP%1bm(h;3(yXkT8+;8ZJ8@XV~N8w^bVy z01!IM0B)m;Zw5~8-fNzT?K=tWWEWIxM8Of}eO9CIZE zp65y{^ny%6lZ&6*c04&f{p{mMG%Zhn2E&g;8V<9Kr(tAtw8?@C-37owLoLhR8n!W5*D7w|-oB%h6hB zcD~*z54g2()_i&Z4bhr&Tfk~|&4((;cCc5+I=?}9-E+|hUWCTIpDSI``A09cFtbyh zyH|zb-2msXjYME5pMcg|`?sB|K7CDp5(S_0C#8IWL~>D|Dshrt^E-AGwyTkvmkZWK zNGMo4Ar7h`ZdbgrPc^@3b^Kssd+YGqrnXle3by=_?LpE}YHR0*BN}#2ABeF^7$TRZ zNLd8A{5_Z4@R!dC*d}$GSh6`JyPHYQho6&IH|yH9v{CZai`Dv)s$}HYGy%d7@8$H{ z@OSs#8mTxUq+Cskzw6UmP)Qr(J{EGAC6(FxE{|l5)28tPCYv9$MXS^lu9|Q zQc<&6Hem~p8dh}4=wgqcDqonMMOm33Y64|v6qK*eo*l4ARqXdg)Bwx~Um;auNyUmu zbp}Fn9{w$VR~pcW|p6McvgWQ9vZe!^&GplFR3Zg^@o@Qw;`TG0uNXMi`tc1v+$Kh zyOdr~GMKYMrt%3OF@;m`Nsx+MMD5-vC5)7RaC)s1I2PO&BKowpkGCn>)>lNJVyv+;ePoH zK%ryg-lSqQcjU{z$Jwdeeg}u0!K>k+Q2Oz@DAU>VX6+@@90pv zl6*EZNe%_QN-A#}T;=sBp|UDx1i&xHU{MOw9HF4|NxRqv(@X0?Bh(0U;FaDqWJ`bT znI^%{2pu1EJnVG%i$wbNU{8#c^B@FMzQWYTPS)RCKPi^L+SqlTqHrEb2@x-I5u(q$yVYJ6@xu4WYitB{`hU%N0EEXHx=2m5NH z-E1{@PB5@Hkg2SR-QPs&zQx`Ko#U?InUXpxJzB57krtNthX?HS_*-7)x4JEtF%CC( zUq=L-H4rI!YNv}mPCb=FOOX~sHQK%GNpUy7%lV;TZXjQ3y1y6^5)%E9fCkLFZnpNw zqH%w{uniFpd@!W^dbz&6de#Nf4>@Zj41M-nLFW_XP6p>*&7j-SVw0VPi~o)sq7re} zj1@IE7-)os9J@p5xVGwyME%#gI{jDIyVerkAfS>G=+y(I@4wpl-?O!Kn7e$%W|kW$(w`qoOB!BSKn=abvym4^OFcXOVu6QaT#W^J|E**kDyMSr=$86ZWF=> zV4`L2maJM-P}S^syX6L^B05|E%D0K^DJeM%vcwfKG%b`5{ie84P55;GTKGBM1Y-Br z>uo#yA|$C-BUB1;cW5kyR7f{-5oWeKe{fIWGlsziE6{d+mn~03j1$_bO@Dgn3DiQ_ z2>;amYQ{d?fz>#53irIoc3+@*EwK?FjmDxe=JO4GKY|Y&eV;?JA>v0X8`n%W zmi^qc4XNK~1ofspaEt5fXXO+mPd%T(;5jyO*u)3>{bi3A0#am8h<#-X(ru2(^1+|sJ z6_B3$=-SPDJ~bHEB}`FX>`M>ll(5nyGua(aj+oqCoPsZ+q>W^RHKc6zoh!N z@*g?YymhKXR4dXTcx59Pcsy5`DjU)oY=Aixw{AR%Y`be@tOVunG-PSwxV^|9e_g5i zeXD9vp0J^2MxKsuDkBRkX{&n%%6omuLSFk+DuI$jsU9i`g9U{@x z#WE94uQmw5B#epI*W5~|5qBUd#jaTDL-1jrQ;hOzxe_B+?8@{=1mZH&5m4~SDqGTj za)`4Jji)8BeAEW*+%|bUl^hVh*lAjT;;-U&nRbBh@mrI74gI7+e*~&%dZEX$7#D%z z3o!D`1^k_s?-Umohqs0^U_!UOZC0n=cv$yF$~gLfEXQr(`xnLch&1u1sB<@UcffOr z+bO>e#(&Xg1aBii85hsI4E?n!ZDWpBDHc^2+;otxF@0+;qLuc3msB-kwCWuECF`%J zq*NJUe_(OiUbtfFwE+ zwgT%{_LJ=Ar;8`JV?e{7+-$Z^DK@S=TECA^C)vIE&)s)qvHRJx)%En%pMlXDHD2;? zarVgl#GOVdOC^nZKL&Se?++_p_W^pxegR*KqvX;zgyp|+7}5=~OUfmf)M-qJ@37tN z3LlKb4&_kA5wa~5$149Q=nCN?IHDTKF#klt+$W#tR{1%^d{wto++i0*&|yv?64{J3 z0SK?fQ$dEH#j*OetLVlc+NPb3$7oL&j3WWHg!B&2#cUxTeJP9IDBJzA)i(}zcNk<7 z*nq{92x0Y!8h-^y*+`w#;&AY<^-$2K@_5EHw>;+#6qG)WxrZawLOp@RtV)N}?DQhE z2-OZtt)il$mX9BKbhNbaNw!<{(c$06;G1auNQ zoZViXQ{?8c+Qty}>$Obhc4VL!hH7YxY&f-_{&=J8fn$w{h@Li_1JV2VWDZpKuM)aNPaHA%(t!QI2I|}!I zEWrJK3xwW>V@W5X6)7K4%(f^D_YzWX@14t`P38aZ$fA@C9)%^MR{Q1~g^@usmLCNY ziYEB2+a2eDw^e#4Syr*HP9Lm3jCL_TP~0WDhhm)z)j+572VFkUiuVxTjr!=%p-z=n zSI&6x!YoG$f1=^vdrg;AbTlf1tLF;aI;3Zklj(!};_>%(6;<>i`R3;o-+w4p&J@xn zrI=Y?=P3)3E5(GP=eBMP3quscC!-eAEk)794e5u$qzQrqK0H+7pThqhr{7v22_BLMF&7 zAPbQeLiaQW(s_g#;D*(A7@46_uSmJUBd9w7rX$4 zOey~7tujH+4Y|LsmNvy+!jWP!Mvnc-k+5I7ApO;=?3Mld)z?&JX4K8&%>a+b*0xAC zE%~M%_{xk{uLahp3?@9>3lCW!N7ep2@f7tsTUgu;WGjq3GR5hlDcq~T;++$=8KvMI zCMJG`9biJZ{|65lgXDQ~U=pK&4){o$E%Q|kMr_&oxikco^17!)c=s&(Pxs4h`{SnQ z#RPSwAD zNh0&~EqWhbS;n>Z9s~TT7h<>z1{Pc-vk3esk+AY$JT3rUNGQ$LkDkZ}vFL)_dUP@e z(=S#g5OUs8$J&&l8GSE&3ADrJvO~KJlB}e(O1r8?KARTYLAM~O*wLTk-m|t>5-Ox9 zZM$FiQVWA*lSJa|#*g7RH+zH$L9-Rp40ueZ*=s=#uVQ;UCy#LzPYy=W@qzKIv-*aa z)vO75|@|svj&V#C8H%M_335O9_sL-|Cjv=FJi8 zrbd*(?%H^GFGNCQi~UFs?R+^zE1*Q z=jK;sAQ$I{Q!qFGGwQwWdw?O9L<8O)iW@YSraOHMr`=+e3|!3Hj;DG(%s!54bmOb64D(*cXuh>9nu1Vgh<18 zKi~VlEEe+*i^Z%t_c>?peO}m(h>&=ZJ2IX1;=$n4 z+VHaOax~VurAr>+@-h~0DwUKpNp8fuxb;UN5}Ba~hE+EOP358zi!hE!vqsBc*Ee-; zrP;@(R^0InuRhEmGle!P(=HOe;SnBKSeS3$>8InHMbp#JP;YNe)qHE^Q9358?lTLm-PxUW%NIYF0HNZd0q0G^@(~)h`{fr16c9CX zZhCI{sr~5xZ#$u6(nRe)J~_#(^MAVc?C9tqf?B5QiRG8$SA019pjG2*Q6mmq37<7z z_x#3iS^rdFeto>Vw`y0D3P_Dd;QIEKcX3pImu4-a*G2LU7p8TwL!!dUgA=eR7`G`c zgOLmaW9RvtjDPi(0qasJ=kr zs0nzY$f;1IetP+Bn~R(DZ8vq;?ira2N-?Gy5){P}6JlYtvP7j|g6Xik(_&W_o=n`0 zzJMA_OGMplO(_>SlOa{`(cY$X+ZmkUp!a!i;>AzG5QwvAtgS0)S7lNZ`e5g~V>wvn zRPTGlty5>;HmO{?$iPCY^4Sadn<~BexWG@YQ7j7K^;pvPv$5o&?*!s#IXpu}N~Xw! zXMz4PQwA6t6NEGk(@7uYdI`Bg!TUU}#Vn(kmDj+lI-7JY3=;onSRLFy?sj54Cho0G zAORilgPD@4X(q^&vHkj+Nvh%K8Wt~V$|C?V*|x*YfwR{*hutCTZizK(0GFtov9TW- zxJ9pufi!ZUl9@kvm$7Ext@3SbV%!D5?>U}jtvJr~-=W8)mcUFvn8S~n8uRV#8PeHQ zQ+_2pD08IA?%#>S1*f6ktOiWt}^?kYwWE37GY@+%5*XK5-={ zstc>bc-9m(Je}=r% zk5;#Aw%bapopRvHd*@ds=h))6U;@1u&_K1@=5DOttQlOQ3G{zJMUCW8V?>GTx{EGUDNDy%RZA+(SM_exwLQXZQ<|{dn{SqoV#@RLX@`V z*RAiJKG;0F2-?-Sr763&EuNkN-Hj=_oP^9&11| zo6J6w{{Gz`&>EVty$oA}x3I31I=8YpI^kN+hZfoK{`0qJx_08(Xov&f&k8m}aZ}52 zzkGs^R0XdK;Z(eST@;sufwgKw*O9e;MBc`g(sSz@R z`tBv}PG{v}o5;vXx0x{=)tF_OBiUcgy55n`Lq-P=GUv?DuQHrdnj&RP%!`UEmQ-~0 zcShyMfT4CDB1va_T(gJgI^4_vV3@H&_@7ftG+O`xwCBz-fxfF*GD2hxGIihXX?1gZ z-@YXYv*aZh@dG`*p57`!KPxM36r0KLIs@R06Q_{N)kfsLp`wj%mpsAC+k`~NqpCjcJYHP3le8sBr# zjg5_m%CiAqoSvpAMHYrClEB(#`=ivHoQZnB2Tdw0dHKKD?>`q(>+(-b+sgOXwW1cm z@3js}B!l0yih0?-JcCQfY;Q3buYeK%=+00~lU-Glgw-a>!qT^IEB!)9>L@bpJ=_@N z$f_zT#T?Z~3Zs=yjwC=nn-8l@d+H_M%1WEAMy!ebpS}{g?RENiAv(<{>hMF1psAyGJqeYi_M1Dlpaf$ zUdnLmMm@fG=#~J4N*f-YEXt>tOn zuzPZ9l3c_kUE=9WCYPp!&X4l(gGiNPFs!l_HvzZ4KpFQMc3jbnEmu@-5*}V|ttFmG zWGh@byLRC1oN4P+VcznOwm0}wYvsR1{ua{}7cEuwO4g$0_Th<4o+S>0&Or{H#$_TR zLR&9%cd(Eq`+I332znUr*6}FolJ-^+Yf(Yvs)g0T5dyTguq;nKzc11VHsCPpt^x%O zJjO#qiEg0>0n4M~%+t8UF}TFGh+ZIULI~^!W*;K#Trv=1!Y;1eOHZ5Ao@o9xQX!MF zLPvY9WbhVr_YctNh-^n9+>wGALcibMYz4fefsl-~2$kqhbkHcX?P&%&Ee6tSh-iQAY7u}JQ{*{ zFmkVozCN4_Ouf#@&YlYJ^n3HQa%sKXNO5A8>Xr`d>}7EpSS-gQQ~v$aIWD(fTcq&o zhMF(Qq{k&>zV22E39~Q-Bhhe+2>BInx0qk7%|F-zmQ6Le{%5cRLz zL}3PNGf9@T2Mzq}Ycrt_KeBfQFgxPuZ$x-RtW6_J#bjA!H?SK>-{?Z+UOREDF%7lY*29;b}S={eC0sQu<#X? z17f>K61uYZC<56(IZSh@NN5+9?#=HEe1lLNCcU#<`BS(;m634PcqKR`jmDg!o)0pe#(=Ns>CJ=ib(<^3JAR5oG!+4c@Ki^a^ zf*6L;g%dcCiz$sILVu;SxF~{WnTNM1R7dd%Wmv$b)m%BBft|0Vp=+XvcfRBJl3Pnh zcPHb7Vm(;UbtBk2s77oV9klHPB3O-^Zh*J7>6{32^SFUa3s|w`Yf+>0Kb0k{K@qf)V&L zAoQpcpCp+fIj*4Ey8RwX9}$lLjTe6UJGcAaPR$T{{Ye!H+M9U0!d*1Y+tlIuB7{bWjTz@bsbbUf%%coH3AOUo(loDOMbX>+H|n1r zdsOJeGX4b7veQ7p#<#1`G4}Jce^emHs}HS;;^0Cb70S@dbXmC=!h_y9D|rpEpYCM{ zGs=sJOJGIw%Jb7hafy%V{VkIa z7+$g6AvlRfyqDcbtBq1hU7sC{ydO+3+f_d3Xo$KL8WXP2`yW4(59ebn2 zt~19tUt>j0Qz%YNe_?`_0Gn{<@dhW5>inwh7;YEJ=C9z~o0y(n>D&u&Hcd?>4)sZ+ zXK}xl$8k{-ZJ-dsz4*rU!i! zxM2Po`Gxe2f&c;;mPVLVcsFN%8&scvR55EDR;r$sl3ZnG8B*>$*SLVXum(aLSYJ&i z=~|n2gk?Hn!0*PZo16BBBbou|=s>YiFgx(&GHDID@)%4x>(4 zlcb!iy?4498)T(fzbD_Fy0y4%)A7x#Fat1j$C==;>h5mC0j)-8{;z~>HGqe*`m?sW zS#BH5yu4=zr?}=nHwGsa^j|`t$alr)cp&lCQE|;~9PVF1dlAYkBCsG33J8H+nIuCF;oE@5z$m-f^3T(O-`Ebo=_@4K@Lzev&A9_yu8}?GJ!XONWIU5t6#U|c9%Z89bvwUQR`nBaObsE~K4^MJ(%Gr`y|3)$I8aFtd^xJ* zS_Q1D?Ns;s3O*t_7cnxPz$@S$u2vHs4Qs1>LMhof2dkNYD0igNS)O=Y>rY{G{b&;} zZ~L5*h*S!y^t)}&F#svS_xYc_U%+Y-p-KxLwu|Xk_68An1-ZJn`q!o7`n5nrSrAEF zU}0;S_yU01X@1hXet9yjM3oBlUL6~=m3&-e3Pj4ot?oyB6S?dMMXarKO7(sP0%nRr zmIaa}Lw2a7nA6crIAMpPgKu|-Fs<``4tU;Fm#l=+{DLsrg;)Y+t7 zuUDbckuiUb34Z|pi3F6)aq%Oq_zvj9mlxT)rs<^er2Ne=jXa!dIZQhL9kD%$~3st5>dDCegn!rQ&kH?8j0RO))9@U%7q>@wFl9BO*^lx?S*-9T#h^606 zgDL-}_74=yaYWBDfj{Q*P82g0wWi)%zO5)8uqY`hzl43tV-V0xO>HY_*Y$iHH6x@B zt%<&LS>QFQGcVWc_KMQ$I@U(Ux~B1BY3ZWDKD{Ox8KqC?#9-OiRm!=W}%+FNI$ z=f4D=O;G;~2*0xaJJ;Lm?U%Ld7>uf)Ts-WA<|?w*?$BO|C!EvSOsYE?;!6aEGF(+J z73jq$me(eh(Y4Anp>^Vc>(4;!x;Zax<;$GEt3V|nU3pGk1at|Z|FvxI6f^m+b+S>B z-S}}BvQntQlHfYmh~LXi$$Y(u4{M%(N1HcK+gp|F5;@kIZ9n6^?{U3(-4(yewO?m4 zAkDEkAWte{-^egn`fEXm!o@<$0SOgR3X%{4kIDZqkZO>>Qhx}>sXq9fm5VLtc30D< zVVtm?R0G;>$e=^;`9{{3l#x{aj77_D8DiGhpjOz9iNB~mv-<5kcT0I@3SOVE*f;C> zRGUU5a^F4D*NOL@raJ%$1EvHSoAu+62OKC=E?a&#Ncoi}0}Mbjd@*dg@)M9eOumUg zzIcEnItVfy4gSqBeuG9Zd?fCNSt_cTZejrg?mF1vDv5GLZ<8ywklxxaGi%_jG;(sX z%vIbEmk@7c9cf8PNK(Jj4|@@75}d#)-~Y*fPRE#5S)LL7AuTt%&>xky;x5~Dy}5q@*VtB<;*Gym_thgrg1tv3zIi+&=^~rDe5JvnE~Gcc=pD zC&t|MJv}smkG4R*_vb3_0<5p5fVPki0U|^Aqj}TVVQc37bcZXd{3EhL;LzgfTBB78 z2NVIuZg$kP^vs;5e~El8z1fGYp)%%%Y{LMSL~jog-vSv4ROvp$6_J_T?kRM>QHYjgz<04nBX zn_9*vV1gy zR)HWf_T9&DpD@&6Z$%wk2^l1VFFLe?pI6HlOH4fOx~u&w)VnD=7sxV?6Z?J5u>qgf7_DlIP3K4tZ85sX@RKD~*e`5GfwA`)@OQ z_1a_YAJuGwMds#aO8~6de&hA$e)4$W4~&;mi% z58ycuci!tbd!4x{ria)i{Ezz)mA`Er%8qMAhe5<4fA)>g5O88-)^@{?L%L;kY*Oy| zEN{&k)jImyuO>V83*$wi`9GZ?S{`*Z|G)_w0Ul>RzMY8H$9{<`8Fsf~lZJ^6#{roW ziw#s7TMVyJnD)cXS^;utUmbY#?3D^$r?B$&oA<|#p$>j9A+U` zH#sy{RNFYGXtbJ_wW=rc1fuOHW@J=4%$*$D>dVO`%F8Qy0D9W$!mfpEpHVr- zmD!={%0}&_S;m-kw2_*{9atyUtS1Y85eib+8>@f%Roi9d<#P(0>eBMA5yAO&`5IcT zY8@5uO4la7*y`?T9U7iMXLb%+dt`NT@q~G1u5{>k@v3uu!;rN{Jsz)fr^%O_ca10v zWs+0xLBJ@xUJ5ey#SJl1qX2corvbYRv2M+>=oM~vwA}0mx5aZ4`g@G4nCh1aCx0G% zWEX*ZY8lWDc<{yK@6AoTQH$dS26F-~u}Mc#)wrydF$i049hF+I#p!`0P+OqFbL90( zdzF?Lf~0^;0P0g^mRiFj&@R(-{zCaiGYNmLD8E~(W)&P3R?#}8A)Lt_0Pz=E2ALkR zzYmMu`Z}!KFr!8C5B0DD`{BOtp)V!(h1z4Q8n^0`!Fg6*7ZRu(UOA`0L2T1Y$cR5H zZc}C0rE3VpvtwCYOT0Da$(*jsq3nsw^m=n;6d!$z}-N zRw0d{li*;*te6f$v1v_B9P;b`5Sn98Ey(nC?$VlP(sCqxZF#z+#Kq4b#s}5?nxneB zZDZmr>km1(o`IA_mAw4a;yDpeTSr%S{v9l!lJoE=0bB!dY@D3#KYjpG!dLQ{WV6Vg z|0+GS3^cYgGRfCF+p^KWCVv!A$)rqD4AZ4$OcU=9yCSiPasP^KvlUvJzBMEGx!dud z?_$X?Kb9I8ix>n(2hl3i2?0l;7GGP&u_b_Py}dzV*G9qb&Z)WD#xu7{dD4rI=lk3L zUG+28>!J%?9;rA&y!uN2L8WcJz;yH|ngSTa44kmjpJW$s)3F5%?F}ob9dQMLeLLVu?v zR2rn!2sDeG@|i?^Ek*}sL)vUY8U!*<@gz%v58XVSX4ZrbGwiD87{a1ts5oBbdL>PY ziS9Pe?Ki4@Ord!?*Flzf>3)LqS1zDc{ZtH+H1imebCANSb0T|d+4+T9n4fiz0UUfo zI7TKUYycdD**`vKXS*8s`4u{Tw@*KH$iC+>Z@`+cv~l=G?@;Ah zT>dFlyePkJV!_42Xl+kd*Qz5dCbbO+GSGNqu0Inzcu>G2>N^x|QQhF08qC1SIWmzs z_83c4-BtC2XwRzSUo){MKu1{B%?64<=V_fZQ<#tTjA~bPiJ^ps{WNpzVyX^0##fXW z*PxxB{>kD&^kG3M7EM6VvrfEwQ&n{{%6Hxh5(ISwB5`yli@$%EA)Xqa^H(nsLEQ6y zY6EVvT3r7LUC9$N2!@I63yv~$*09<7;in(^L&nqr4W`e}fI+5;sGP3}aN5eGg4qhA z&!Iu--(jo~9^}|fLOd08e7UWk_RXU&|M`rwb?@_)A^LGAx zSlv~hrrhp&Iq@oI#+e8d^$m~a4kgsL)djd+Hxs@5y4$V)D;=Qrmb0J#ybtRMrhS`G z`&A#q4hzcy>z=uooO{&@eQx3ZR6(*|I`t%}*Vc0$ zlRHL_<0p02b%pKyw6OK#S=glGxmHHgE3+=5ukznB2s%y(0tF^UR4$z|E+*e66P|q}_xB*21agLqwxD0EBO%4=cp<*3LAZSof+zvELYMAI8#6Y@ln|E_M#}e3a z^LwG|Y-H+5{g@(y*NuoIm)-krD9K2fZbc9|DYF!%E#tss`PgVa7!0UAHUFU!K7K;Z z33K?ZxgDdV0>qn14G{sqZA)gDs9SfD2i##)RWvymrS?_Rjp(HAEL0QpxLYsZj0TB+ zBP7;rFDPJ5%QZT4ab+=Qcg-4`TdIP<($&gpk~6bkh22S^6N&5IiWWWQe4a$U1PVfW zRh**x`|>Unyc$P(N+v$-8+K53OIHgR_sJ|Tk(X( z(mcx`9DZUTShZGh%xjTGe>h*7|6Eui)rr@r& z5pT|uU7fw+G=9U8pq$!gCb7g+UI|a!rkDOPC^yGI&!ZJB&stQ} zsEUpbOfOJyQ=7`E(a}VAkB!eEFaqYU1>!$KtQjaO#@N|s?UR$gBZMAD@HQX)$%eaf=W15# z9|0qlLpU7Hdj$v710B0N4#r;&&8^zUzwq+S0MY4r=hoI`YFnX>9Tpa1Z;V~-Vk(^M zo%d6S(BqC*$+h&14l{t*a09=>iYmKlDSmChbc=u#LZgIY?YssuKgP8 zpniz*p#_@B@XQ#f{Q5b8tgpryn@NY0fk&ZAi^(mzF)2GB%HXP8h?>CebG9ljvXpcA zP{P1a0=$G*_i8D45B!yv@a{Z4}^G*#-B2Z{^VWCN$r_#rVF7g)i zCUQE6A1SOHw=4eGIA2oxKMB{pu|9i#<*rsPb25{X2H+sJWaR}xC^NCzUx$>r@d$atle|PeQXaAxm zKrv3QPMuXAoqRA2d^0+4b4IM5tj`5p6~NL;GF#?GDB} z8YCmD*&?}&L@8T-#P&&{UCO5w*J5;qTfg%MvM<+Ka3h#OX!E6Uq-tw^eOrA#0xq%E zZx|v`@Si@@!t9MU7`T9?p3nWPac)vMQ2D#esH3}k(|gN1^cLr51dhK0OL@QIqk`O~ zidSg!U(d^Y`cy|9ByIOOlbQ|AY5?RuSJ;&;A=3TzpWAn5@(dA`JbS1D+;{2VLH{=33@iMP zx0C`jUVkHzOMvmkcVP*C9cg}T&K4eZR-SPPtNi-Vhd24^k6E0|mWcPZR!?fto_cK5 z$mAECd1;kz;vrHHHn#T=1D)3oeLEf9WM>2Pe|hMPwNE20KItq7$g>S!7(~k-l@by9 ztgx0;d2j^;6;7Bjb5^NF67Ho6U|H>_VZ*-#b8EaUBmWvfjWNc+S!uS-Gb5Gqu>#7T6cI>hKQL6kNM2&~-_;`g&k zOfnJB)Umoc5DK4w(kT_-s^}S!Fsf>36oc~H_H0UXihtnwIz4{$l}LBS&ZIwwKF4eI z4(sS@R#8-hc`a*WF(@iFXoNL-j%)1qxgKz8!|VK1t&~LW)I9;6orbWwrfP^v@rS+T zl!`|2EI0jkCrJiUV~HiwiqKQ(ZhSe+6`yaQ4)uBvWUzQ=( z@EJEg0P1NoTK0a;)I^!9 z{vF`^gj0Wz!DjLNn_uv-kzlXlW`p*|?@r$3fMsN?>TPvm%jRPTLMT6PnXE`qlabhU zp13kpq4;ra>zN54OEh-->*##bcbh5Q|J^XPFmM0xENdstl6PM@88k7?FI``;tN@Or z*))+rCibH9qOs8R)vD_Kw(v&j?MFk;A3H>j06<80P)kj17jSr1kZIpS%kcWuy!1m` zf&6&&D(h8t5(n2zA3WAvNkYi@0_mz3ze+nQyhFK_H?)`aKt8KLYzf)UxaN z6^QO%*Zuj=?^Auz7#w~}K+o3RqP)wa@vI94Lyh(zei;F?(iiiF>&reOl7;DT`=0<% zV(1{R2DA^I5CSSMuj+9F07IytJ!do>EQ5$g#K%`0cw|l9R|gbt9aiUKf+p{K04cf_ zyPW|(5#HIal-SI6B5E&a%jQ3eu#wtrdd7G|m9{%PF7AfQd0ABEB9ja;Y#6)RXwB65 zgT@MqJ;(%+KjAB0bpfaj!u7QS9&H;2hO)4+q;zKKJD@;>ewj(4YQ(Lhvg#MlW@LU< z?AIN)W}fpPe7ulGms*hYcMJ+I?DW@HaS6OW>;GI!#t=GMIg)n0uwy4+>V}9{pGwT3 zO9wEP3&hQ>JyQF?fwvO`r&$v;XeVOkKav<#4)sCeD5OLOZ>!o2MP61g_RD2@SaCMp zEA%hgF!rNHy5Yuc`v;kgEG3iHD>Uh}A<@jrVxRwUxp={7C2r9J35khE(OzXSj8L`c z>doXe-}UkWBh)#ketbn~ zT0$Y2l*EHX!*DL%nr#ER6IW820@GH~gYLXQ=6k6edfn3-8(j{-r;P}p`R`k(BdaEa zH_#J-ANA#*8!V0T#rYl1W=36waK_r<6;A4b<6q#d;fC@u*B_JgWro%zq>Zp|4%X)fK74GTJo-6vBRx?#%{ zrtfKr)Chv~#^oxnmc5P5oK!3Bz8EQ6S=s9t^!?z1HkdbV$&C8q2masxtR?pO&ubNl zk-42VxtBKiWoY~V><$uqbiX>}Sd2ku9k8K7K>E+REt3fz_>Qy%kf1FMiK+6e6i@LLf9BnD`r^@ zSNB=9+6$f79isC$=NMQ|bb4_mviAIt?aBaDT%H+lgf~GBqm}5uhvU_eQtu)o9XwBj2uS6Vmmx!NpX)`1B zs|P~qIn@4h^RT=cA2;NcTacyJ)=U=ill$UBx5=W&#^L3`@J!HoYyRz7Wh4~W(b zZ<;dtx_cPB-W)7X$Tdf4O<3qQu*PpcT3_?1%WQY$2qLRg z#hH&Q z^zYiqdiAx|Y`G2Dv0v>sO?6FqpnV(e-G7f`H3lpNc9y{Y8PtfOg*FFZ%Np{r?~S^U zw?|j)5E%sdVSefZiY<60sd;i(<*YV1_A{$PNpIyyb zmuvjV(aLf9{za8l_o2wcH_l%VNsN4cs|wj#;-r=EdVO+=V|_)wFas}g^_)XHNQA;G za!dpaO|UzSpm$PAS`F^@m94zbysSVvy7tO6yD>s!eZ5O#eWu(OO%-ZFG;AMAO$-F( zN;LZT2zQEuG>AxKvnkGicB5s$U9r(zqvZ2rgw|eS&HAf&;m5pn=Z%H?u6cDWcs&%Y z-&V}y&+7L5z`2HimH}AYVH$|#p0|>dlbgXCEV{V#L%_tq$(L<)isfi4uuPu+$IvvP zvVls$d=4!dIo-p{$1o6^@fFy_VN>ywHlR7d8=K#0V-FNVAr|Es`^g<2aswhy zKhi{X;X*dOn$wXpgkW4Jrshm+c?C$AT@5XcJ~`irh5N08O*>h8VdO zOiOyFLlM?EerSAU!9#~>sw0d!lRx@RU1NUW)l>(}|FQ6J52vP^=}-4loSV~XWl61u zs$Fcz6V1AZ+wpQkjLty^V2lU16qhblJ=BgpU0nCHTLs)^b(}7~-zbohr_@m(h|huY zlqfA!xM!TF5ZbLdhoQ>Y(%t5unOz7spv#Xj)G%A$Rj-)j>!JzcBctPjgFRmJ^M5Q+ z%*@~L-2xDQh|y>^pLbdu-j>~_oaCz}qEdUo)=EJ*8Pt>MZxr9Ht?hM839&dD*Ze(Q zh9ifH-amU$3H3w%cq5M$i=_1QvaqnGrfV=E#+bU_`FqJI zQ2c7fFm#>N=Ytr5SO!44{jTq)<}hhFX*pH`Z-Tlzv`5v+A>ispS?~6)`(mkV2Pv<_ zt)}zE6b$$vLzv#Pa$7qt{Oh>%RBLG73H{}1fs72{Nljl^sCa6ZMiHg9E z9y3ahxS{$PJlrR)T>?u|332k;{>XhwOPCN%*?}X-e<%%7x+mdp+8ulw=NX&PzL5Uzr~?)Z(~PAZe_rDy@dW+KPVzS~|1v$lJ_ni3Tq9V7LX!vqv>#Mag-0Vmmbrke5&5#R98+`cG{l( zV2;NneT!fk^fzN&S+}_4-8l|9CW=U?g{jW%C?RCHEzHNwtj2EcVM38A@&4x)asroE z-aBPF2M4k5Gs7dQRg>YBNBw_u;gW3$`C(3APzHUV_Pc8FLiDCU8I|IpVCE#40n$$p zZ>*xj{i7HocY2B4GsCn6sSgWK|{@8zXgEU&V?GO~PUj{x51YtJ+zkEV`$INw>j zos*m0;^yzO_6L6;KO+E0w^&%(sNQ(^3L}?3rg7f#xhJb~c678=X2hr9F{p3g=KUhU z9K)sQ=x<2a&Bn}<^7|11OHs!{AR5Ro=C^k0_eP8aqePCU<5jS9!$MVB{Zrb@amBS$ z>n!4RNMpF>J$oJuo)n0OKPbv2E!!kp{EjqH)lc9^DVE}P8RU{vQc4@4{;aSq1{pK7 z+S&xTLxDH}ICq$~WZ-Vt z+v%=nwZ-uIksxlY79wJ`?-U4}m$}(HxK1x8#Nf#XLe)#M{n#j)t`)q!jmOuRL~jkj zln{eAQn(9Xp}?r{`u=g&98{S0Vt=SbEcK~tVVQykSh~kOiUpUtftZP%5b}&V_BG=v z>oJuH@VQXfkDK3Qepw|&;8}=Z#Z{y6Cr-t|Mf`%3KzJ=y&mfGb@xGv^xakSuARlML zE{-{2fDr0|1O@m>Y=4fA@11vtV~_oeqY-d%$nk`o9x-y+)@ z-98cllpjM4QMZSuvzwe0B}3;rUf$+oB2@+Z;6cXXSiE_4MO4i z@ndRu-G>iloNU^=D`n{3H%_G z^YfAQj38=4(j+mWMzess{ViK*;!Hn)3B~(%LC*VA5aEI4k22@gpV^+9Wa)=b1tcgX zZlLcl;2w(!W#2pm+O(R^A2azC7i26f+`k49H7~|vy06`0QH#Y~fyi}VaKr0v+cMux zW3`nGap*VdD>~Ww!M(7K<)Y<@sEd9ThT2;KxGhyifI(iF&Lm^Yo zzecz%e|vp%o|oLL_`k0_|AmL9vIAm!<{lNbVzB4I{eOrLscN) zY3Jqpv)@Pm+Yp*DmeL&H+auNYxPR(fHDP24DTF*(BX1Qf3pe3b;9n0FQUs~FbF*I8zCx;vtf8VKChg8V# ztTm3^-Y@lR^E=RV(Nbleswm5V0fimGw*@GNMzxETuJI#R%tNj=ui z?Czb)J_=YxhuX8py?Mi3lzn?bwGMhs5YLFpd_(ychH zUYz|BC}?&uJ3aAz$js;OnW)}El~1_BpN1vjb@%8XwqxINCe%G#guY5LKF=z8fn zgkR~es6Z;3s&;)3*TGlQI5O9L|0}Da^!&a2#t&E&H4f{obpgP3fsP9+*oK3kJ``Sn zLLsp_Hd7-=djb_6QnB#jcjcf{@79KZ^k)EOat+woryr&tdg+C1)uhx>x0%_h>3@rL zQsymxaTCYqw>bqWvhRFaHHkGMkLf~B^PYP%Bi$@%h91TGE=MUY+ohs7Tzl(EhQB98 z{)l@{B9nCROm+2Ud#&o6%{NSXzRJ2sYq>At*?{jVdCI5e{v>7>S>$V(@J!*Wdd<=B zJ>~0?%_uYU+k2>nPW)Np(a@_4&#%}HMdw>1#H&gKPR!vEm(ZTpev_&osL%MoN*}nqRA@S0)XYzp>M}M2#?2QN zg41!0t4Nq@EZC`-;7+0wM&?Elsb?%b$$OzMm>fRUrf!8T)z`DTS=~5%3G$ZAu%(Ra zY&!qSNSkhQ_ExnKlLIkQ3{^Y9U8>B!4B<``%pgp!rA_wDyFDDV*O?Cz)L#OiqAzkF zlT!e}FYf7i6M&ci&>O*YfR)W&%Eas3_!}ya9R&f=`d-gEJi4*bi@dJ7$q)#7JWJ zS4VJn+;uN~_hW*fD~X)EOet@R`-ipPZL|D#ISqVvlcsO2p1I$CKEq#{sr$~M?eWx?+ZFoI zGbe35-ZPF=;s~MkzcXjfm#(j`KZo(2ewF%#&Xtaib{K9wMlgv;JUK%jLm#t3F|I3m zRHU{yfFm0H(}a)CUz7Ma=&PPxx9s(8w_l&O2?gc;`g7hxHFnG_=4&jIi>lv86j@E! z0uZw>+Badczk*tGpZ}I-2*9L#%*+}VgK_(JJV`PRN?-+Oewv5I!nw;rE6W^>W=yX0 zvt1>O%f<^hWoU$ur=oKv>#EJ^qHQ)NBvn!f%!^Y!5dLLV^K@_Qq~065TV|RiErHdx zA22$TJE^>R!45_chjH`zE$L=xJF%V2AwvYLXxY_NQ#VhR+LvcgBfY8oOEQYjR=IoA zZ-PdEw{nn%$?+PA`U?eU5ty4_(}=);Z489K%WdO9{<>d_8a62mSXVJ%DCX$|r7}lL z`lmBM{*bTb(|xr+sLtCp{{6M<3WYn`LeE(}{BLqie?{(WA zhU3xf{^~?(g;547zN4}0HjZekE@qrqMbuCDRQ>;>=`6#d?7l8OLwAEHHI%e~G@=Zh z(lOHA-OV6Fi!{zi% zxD9fvSl>A5xcQJO(4@X)q4e#x`DI#x)RpkDdillbQpVY3ZT()guwmUCJMPjWk&OZd z{zYBDMo^X268EVLwilaVJ%N@=#aHFYqE8x7xYiN7xDIUW?he?L&U^1Jg7 z#ac1W@?-EwF_dG%A+ws;ST$f@OP|{QWHx#-)b5HY$eX5~sivIuQUXrU5l9v)V%YOm zxo4?D=1Go*^h!st9;&-P%R7iE*}SM$`k#ypu>u%ydV zS00vf2l?-9f~@rI8c4U@+1;aV0=t_ zwY=L;;o!dha8h^j^g!eG!oaI$&OEkOZVp#FhpfMvpTTU`>1(s#71$1mOrdee`DvCa zFy%3BJiDov!=PR-7aWd}UQlHICv=M2HcPkuFU)hQ#PWx_lIT2#!B6?J{M4NPJ_+x` zA;%w?@9tITMkqWT+s-{d33@g%^eTNzM5Hc>heY1498o4~seG639)4sVO*IDrIL*l; z4l*uUj+B!&L_NItpG+uuKzQnJG0(N?tMI>Nfk7@gsB)mFHbU7W%1@dB4_<$cej(8@ zrvZTOR>09ciwx%Nc>Z_FXAJLBgRZD~3n9f!DB=fH{q?>88D9}v(4`aAq+ww5)qGl> z_1lQ6mjup+YnwzN5Ka;_;*dGvvr3TAR=0X2z%>;4K~Wxfat#&MI%= zmG{fTTo7swSR-xe`;5^qX4_)N=vF-4*4hBh*-VV{= zb+gHt&>(ZGg8K>URAINsyp_*t{*LPOE0&+Uer2bhun?+}#>W-Ca05aTX9*zLf+yNO5T5d#Qt%8u2HJj`DD~yl*w%31YS?Lu=C5zeP&Hy=hWA2J zn{iobg{ZLrcjSVnPF%s37c)FKS69kdn0GUneRS}ZkV`$gUh_iR-zmpun(H+{n{cSO z>~Y#QSj$)j0}KobwLXr?KWf0pXvqAHT?9UIND^=5LW#s*M>CkcPEA!rn_B)x9j_S5 zD~>^%N-`y3brMfexU}}5J72f{Fgw@9Q1^88+`-dtU|V&Q@%`|->vh9v(Mk-yaT$S{ zngPS#D3k)DGuaC=yGOy_NVs1}!RUBDMEdPPU@nc<<*5uSfqSXJ)-ZOQCgD9A?;S$d zEmTP284^AVeli}i2P(r*i5|gZDC_sGW^HjNfpS{bpF2sSJYExJup z4bc!HeLURS_@>Ig^)`pQ*x`eAgt2Enolgh@5*C6I0(Gj#F_09GqKgVg%Gd#Q;RBu*{nK%jK{kM;2H1NB z1FJ!U$BzE#-Ue~VU0XuKfhqS!sq31btk4qUa+C@VFCkx0_23vx87v8PEB)9_t)7qD z`X`yEUR51CTfeC0NZ5Hg6(EEIb3w8PJQ!;-Na5myKhHJ9OP74s662rkxIDV;aH67v zrP@trhZ~X;Ih3~s?Cf@AlyvLHvK#LeJND|`c`I4~d2`d#kt>J5#be$0;_v67fu|iq z&((&#Q9k1l*td6V0~#0}Y&(MN3@R`?RsTa>+!+ihhy;SEGKJD2yi_A2 zJ{Y6c7MYR4EX>1b5ELFif)wsB;7`P^$$MU709#>x#%oZsL#9RI_PsMJx1yVc(;oc16w6iN~Syb~3AtT-1wzA4G(`k|*7msgFH z%I>mfbr{BAk~-L?&U8H4t3i~vC#Zyaylj$T-;I}3<5}pRq{O@ zGSP3;OS^M}T>?S311Dq*^Pfx<>|dME+LpjB8Ir;v?{Rfydja^-+D8^g$3P+34EICRGVs2%?>! z;SLrVhU3ByB7u9YSB*mi9(gf{QKPF;p2t+n@}_a)PD138WOjo?hmNa?6VHyj3Q>=p z;^&^zfYbHIP=Qud*Qk}=n(dLFgz%B9OhZ|7jJhHk`m8CA7zlxL&f99H%tL5UN;i&E3Li(I8JV9F#64dL>S(}{294+ z>pB=qlnqf`dgNJyRh~A%Ror2(5yA(8*ig>I-^UWEW9J#z`Sl2X3NC?{2iGdE1ojE z8^#Ug<sTkL@vKNw?t-Yh9>tE=*?)$vB?(rwH zv&UIyhC-4t$LD)-m;6xw0-Z#|Wvxdz&2+k=;Xu0HCU_$#kJhrs9xna{!CD@j-gu8K z;Bfw4L96-qCn0{LqQcfm?(EM_FYXeqfuuZ}>(i)5O>Mp7fb;bj9oaI+8|vp6&!4kN zB;&5?uNB?;q%KD~qAu26@>rx{#qDB${3iFZ9*ao)meu*BAc4v&7N0g>N;5gbm9H-r zcm1BP8Y0&^2#_ws59G0}m^;8+7~1DTpD}5+|J;)QqkCl(f<$XPb}EJum9&tupoT9? z((S?xH7Ouu8cvdITHLo^Z9E6RV65yJ*v+BXbBmSK7L3{xWh<_J4ZVNcYDYXzu3wj+ ztVlUaUL2dU=L^EcLxFuqNJxG6$KMq+Yf)4FOs%Py>OhnnrAb_6C~o*@c(19fa5%si zn;(VnF|U5J*}yWJkF22=QZQdb9WzRn^q>;3Gk%yS&|duLRx^3|z3X;0Co2!wDMYT_JK+=n6ohfXl&z@q=KN8e*~I0+`b^HsT3* zO*moq5uL=3!XJy*mpiTT8HsW0Ojpw-qdpXY1}^U+%Z^%x7%}++7;#HrSn3W?CWp7~w2_HtB3ENEx39Rw2q2j_k&ae9fF}bdBDmDcQBfjYF=Ak7c-coWGNd_`zDe z75idc_b_-Ksfxu#|4|7f{*QIkewD0WJOmWCkS7V++&9OIqcdZi6+_At34fow12vg9 zscTafuR5odBTyZxg2xMSN=g*{{SaC7V%Sc#ZiY|deI~t{MtAKX2#Wz3VojQ?=cTL_ zo^fWl;fM(t`q%Ztnnk^gI4R*-8|A(X-3D7X02q(ez z@K$EbjoDL~F9LTxWAJ6F{@%wV$>PMqqR)grN67o_?v?HJEQE8vRNRf+Pfo+i-3WR6 z$Pf|0Ld!lXF8ZlrMH$RMk8uBcpjsJxbF%7N7Ju;LJE|lKJ_l&XmQk^6E4 zJs!RMqHzzl)H5_>h2{B#+ZeM?ZEVw~F4W1K{dUD=r{X6Hn;6dJU0yi+9BjJ|O<(ce zH#jKzIO_3T`m1XT54N7Vf4bpZ-Eb4H$8Bjy!w1f$i5oXgXPUdS4paJ5{1ed)!{?>> zmfz|{EtB*zFBMfF%vd-i)~^`!3Q}3;h74e4H((4Q0zP_^e`D*LTTz@Iq7RGXQxwpQVtcP9m#mUiyI@K^j(rf)i4oFF!LPM-%RUl83h3xlM<@fd>VlSN>#O zws59^V{rXM^WtD;%4HCg^W-BOE=7^*zR^O;EQr<>B52Qw6v+`gk!XXY6&IJXy{5U~ zX&E2i-i8udf$;mUYBi!~r&f-2b;_TFV5Sp8DRgh8t2@BI3tdnLPGrp-Xg(lzY-?+C1VeU26W0ku zw$4a@`H0Ep-5fVzjb~*QBtMgjI=H+FjlUR#MPOl?|42g}BMn!1)$G!zb93YPv(K>g zSpH90xPt9A!Z_n`4pUJZED_TORlTYE@Mf3Ri$SIKBfiz3IAiTDAVfH6HSdi-KQDCy z>=t_%kFE1hnH^TseGbxEUnxYaQhp7M33%m5pE?4JC>k-ibMh=E~voIB)GNaf3qqbqvG=* zKIks;T#g$;ME(|hzH%9c!=Tp^c&3tFaqHR=L&0^n(BzmMJyB5iZ!?UBA61+vvzl~V z^ZBPw*1(cm+_RA;!Ca)gw`pH)Z=DOO-HhE78D43*!hV`Ak1-P9n1<(OK{~-IuxoC9 zk8b6wiW0i&PxO276n2VJE`~%WoeY?9eR6KD*U=+{6&;93)&R>BCZpfl0$--}?F`HC z+`$;|SoE$DVncrMPa1&zu&{p&TwPr?E=b;|33Comk&bkha}?3t0Z{MR$?}1y_@Qdf znKWn`FQFRTLMFY%B#?7Ri8|JfCWs)U+Q-*-{dPxvIp$=gVW4KmGwEe_?J~pE4UOBl zXbfqn=c+!)EM z^)#8eRo;S$eA!uMNb$EO{aI3P8JI#ozf${cEhu%f?4qGnb3R)-y+&!I3W|;%b?6Dj zUKthWn5@$EY!ovZ+#qz&y0%+aq)Yx-P_imKUZkA8sj&C0RoU+-0WEG_#wo2O^f}VRv>FC-PZwj*LD3~m97(cuo@mNZUk${_C0Ai`42il)Gtg%v^`Gw z_u>8;5B|9%5+^(d+C090ELuHJBe?L+=ooP1fuL48&*w3LCT%p#vB`UQ6qF%Im;@y! z+BBrrq;nv+Y><;7D}w`_#$s8tUmqu14Yz7>q+S>(FE$B>Ocj@*O9IoOX;%p)78VqX zOzW3qowy+Sg>?t2LdZ@+XqbNO#*ldcLP(2$c>PTuWR2{P$0%h+_a?3KULz115 zmBom9YY-$+rQBw4CHz7WC01}KOGxy+$8mI7Jxbcl$&Mgs(x|jWDwjh44G}26t<5$4 zXhqq=t6J%n^Gu)=>OcndpppscrDfL`?g}0!7x_vlw70ZO{!MsfcVxIpT~4iV*^qzX z8Oi@8RIuX0B)_hqrKCrAbX>=ix=716SAo>Z>g$dV4mgNjDQ5r_w?zQm@^Yq>nWLzG z_MIy!Vrbafh-5Ld*G~{bT$u55v&Js;vY6{P9P;i(8#P)DozVt|w#N0yyp;6uN!C%M zLSIbfv1sWE4sBKrcvR=_*_rR~nHkMgH^Xb855*Ob>P{2(j!b>~wmRZeMmCC}l_lY` z3epHEYWMK?c++_;&|ZJE@HYB-n^A(F49ct4DCZ@a+u{fIUf}pIEyHyKby_%r5(DIY z))mHnDz;Ej_kEzD(e0Jn9R)JMh8Q_EACe%E7mjQp8x0*PQCO{6w8QjcwX~zP!Z)Hl zQ1G&R8ZyZV`mERs!E~2E3B!Xc%>HPk@I8R%%twQi{ZwVIyx)vWklYPZgD^~}LR?lg zX+c<$L!K|C)3mi1J3NcTf*)nPg}87`J=xg0Z5Qq}IltCQTZxrw}7FLm(9BEpR@=4>Mh`#)s(H+D z(T^pG6^&qR2Tb`>)oWUXkl5ySn@dB_ya48G!8ix6UF&@-k^D-}U4F(d)QRroMh1y| z#HFglydO15s;e{uH~u3QJTWox7VuN9FDx9432x(f{;6oX2V^blGsvYz7ds`5xsxan zE?x0ivEzwy>Z|B$&&t4te7YBSV>@h?KFaMdBMa0~%mU8cf&$)CDCs1EmSdFaG{Zq4 z!W>%0?tenAdtRZ^#vB(wOsH<^NxOfW1F(u=SP`V*8lfAV_V4GK9KW3&FIz_~KU|+S zj{iPhH9ZVQg&KHmGNvEOl1Jxi7vq1V#%ZaP0`|?9Bsjf+vy_(JTv;R|W9G+91`uX$ ziPrke%no2G_0!kStg5PNGV{(*d?8W~{?#7(aq&nhZHYLL)rBKBSbz18)_wYyUQIkn zR?QZCaU(sjEb22pi8N8x+n90&63f*;#aULb!@c2}d};SN`1$qq!kP@Z5nLLmtagP+ zpf>cGk5$j=EBHig#9)b1dTL*aacn|86Ziqa;PF;VfgB^_>H39WM8F~o{AVO6Z&~Im zB_Y(o@9;O3j0zPHt6pQe@1X0$j%$8(;u?lO&EwSTe;#GXKbwmpJgXtQl5b+#`2`7# zLW;!Ij4O#@*wEmidlG!1zx%%a{9BUCp=E?mTpU(|Bp3g?aZ6A3(K8OoxTl~dCL$Q# zToV_o+1w8TtVJL~5DGyOLS5|_5!8fU3X~_$9#W-3#~zZ9*b@s#%{Ek^_!zY8EU~;X z63t(JDop96EY)l9>6`=)vwa#%P~2}A`(qF(WAR08Hy5eG90c7$_#S05!Z5g;$=P^D z3K&{7!e%h%w^|Sttm>%UzJX^OxiUbU%bOS`qO6fWh-aig1yBv*+fDGz^;NqT$e85| zBXGXd70>vbw7gik9H(+V_1X8;cTfsqoIoWot5o7RXGa3%y~y@KvXb3u1$xhaa~$8! zKMULzdq)bee$C%C=L<049%}|u*0@WEI5E{pf53AtkaHK89gzK>Do@We<|q~_ zrS4dajW{pzxGH*2w2b+8!*md>DT1=(wmXAy4iDEwBhEK>`*=Sj&~JYHL%&`+Ty9#v zx;}RCy*`<^DA)gyUEAP0KFtDEp+Uz(b0@l&KETgSpyH8s&02@b{Vjj}#%15{dl2?>cbWZIUoy(+U7JvaAA8N%v# z%FwbhM-PsQO#UIYvXYiem5h+e!E6wHkSzaeHR8vQ-m5v1Ith>AAd~mBAE~Y{K`|GQ zx!`zaK#FyUX>F@(Ld!nvH49}XmI=`{4QH;WV4B}nN#1~@$VQtXF=WxiGvfuzY8?J? zJEQkQg&s&6wz}QHBM?lNum0Mg5B`FR7*4x?`WT~hA0INuYw3?4 zWiz5e5DOwSnp%LJzG*fJ{&BaL?)T|a1jPpzMD%p#2cCI;c{_O(Jl>7ySKL#Y+8i$a zK!()7(>8r&Z8@(dtsc`?s_nv$nMc6GvfkX6R5XGa^n!Lca>_L~8 z$%KA!R98&lNc%Ao17oP<=q1bvA}gUy%KL&pU(PK{!biM0+0w08f$(+DwOWPz;H? zrEsm8dx>h|jP>+t%WCz0g~fuDw+@`Y(tm9jIQIbOQ$9qeNo%XGZYKIWPVK}a)10T84 z<1F_gm4rW+2x!J4vh_uKy6)}J%Sz6)q$7} znNnvZThKXg{~-?l4$wI{Q2gr(eptPxQYL3_e!4psZ5Dkz7jPIDV_GFve!?tH!7@HR zmhwhaCzaN)|8;ljD8YvyK~rdesU5AlF)xu?bjYjR1^9lb)B!%sX-fHLrJ}p6eWyd6JbP`_+4ksR83Pp_ZF$BG)gQqkLRX& z%x6@kzrtTLhc^B_+!(gF&S!ng=S9KxHtHkD#fl;_079KPbj3(R)47b*bmq_@)#99- z+bATjQUn_iFKnxwi!4DMY)S|a0tiO$3)m)*RpH2GqQ{KDkmlyrtmE2Gi&a1aG$@HfkD>3tL(%-<;rq+%=bbE{`|*==rY9?q z_eIITO696Dg$7(Y1AmBp8y5@3Ho>x-=nsH^h-bV{VFo#EMIohBLY6QHbn9 zswpf?iG>9O)eD+%Ce4a%T;+ogE~bMjvY$ z2KWR#iz36Sz{OWr$CU-gc%ZL>aK2OPl*>@FC9Xv=hv7#0S{wFOD&ZUsLJV?fv~@zF#?UdoDbs9D1=v z{DhrxKpIw!5{rzEXSdwodm8n_~6uli)&-D4;O1RdGJ?yX>ytGEnB zy9-E?bO`EY`6E93U`BkF2stg~PtE4fj}|Psl7eTl^_RctwLca(KP;+? zmSY*#XB)$&&`=Se+REv*S_Qi8fo_W@eX7p$uQX<1#k?=3=gkYC2>MCaSX( zUiuur`LLWpa4#RP7j{AWImAK1AJ(U}Or((f>kr#qGdTZ;FJm>=Y_6Gbwj)=Gbz(PW zCnjxqF9$86o}@6E=|#Whr(s_+eo9t7%CP#aT7!}#BQX+}l+PGv8*L)iQ;DXQ88s*F z1IUBt7nMvt&+kxUpB+K9=JO|QoEVTA{A7}FaUB5dDb7Rd>q2Uot96e-id^q4`(i3hK81WCn`x%92SGsc(MA#52bRMl7@U z&ACr~1SfQY8;m3AkuYvhNyRKw`HJ=eP?4b3y6CSugO{0cfljR1DPi=)%E7^dUiu3c zr26-FNJ=Ii3Wg9EbwkX`sxOjs;8p|*5@{Yiat2a9Q83Qk;lXbWD@S%Wd@s1$@j$Ci zJ-CgN>QmUfK$k+eibjd3O{5q5Z>A7D6y%SFPZACyx)1sa^Fl}coJw~GVIc^q`J3UI zhxYnbr-pYVd>JG~Z;|9jCIXKlkqtDE81>H`W`$LF;vGCp^vW-0)blspE*+-T$4CZ$ z$1slXh^5WL4a(bTZ0`e2tt}ZF^8|c&PyhJlT!kg1%!~a*OvZJJm$h(tFJNY3{8i_fqR% zKTXj2Vv=VJ_ARtpY3~vJe-(TbZ8@+F%hy|M$1mS`9t)9a>-U|ha02DQ4)m-Si4ug^ z;n+A(&gVI$&#-x`Ea>uk*R{!RZBN21s!{g)N$igPqe1!1CX_zrS8u`r+Bc;Xor;J?@a;rc8bLaDBD3)Imd$04!T47@Fn% znin9qq=YEpNp9N(p*KE##u)!G?CGA=3c~B8Cx&40^qbnxzQm*aoGDjaKGn|}!ycU* zUGZ^*zASfATbtu;&RO#w0uLRtd_?c zWpLg&z403-Ko$XI%*2lW+r>PP_iXuEa%*6_Mex3vm2^Axw==pgN?QG=*yU6Zi}Hyr zWlz4G`qwP)y-%F!5dpQ8z;XG=!NJ&qM=4nSUwUDf=g~?g62r6xA$$Q+(*BPHdLV)Z z(G!XTqUkfcqEwP7^+-LXfKfw+1Lsepy3v0dQkV>}{XSiPE_a`M=0jdmaiWK>2_mFA~UfLlD!*t*)pGsnKax1?7fyCE9Qc}_ZlC}6eav_&|;0R}Z z|M~+P+b@R%!EAo}v}_UYx1_MF(-5M~{c0{9hA&q$>dMUk915Ro3{bCzE!S*Y-|QsB zPzcteByEEc83RGc=xXq@s)mMD5K-wQ8WO`o2ZG38_g#F3%>B=@8+trrIe)9VU4}O| z`iaujOET7O`Mc#8gLKw!;DdUEj8juHN48{|%cg~jX<(_8-N_cO7EKi}AsButamfTy zJwZJ<`wi|hDD6@ia*01+#!b3Dd}g@HZGo_}ZGQwvA-w579G;5;=qH=~ z1S*FkDeQP~rBNg67xDv>Ww9{V!v3wf(*|Pl4ijAwwrf|k%@=+ACG0czY2Pl1;&iB3 zSP9IqEjNf`OeNw~Z4VrdVQ)#peZ)?oEA~db&3p0U{d~=BooLSB_I9m6H7i- z`LE8u+4CrWo~4mTW6sgz9QnC%Pm? zB;#E4^t?)}u!Z7j9quAE`QP3qWZ!?$w2kvaXF%#+s4@MQFPDHrt`{_bz$E@pHCPJd zczsruk&#(~VL-A1?&Z{}5DoCblht=Tq_S8*qyd4}Ybck4+3S&W(3D|;RyGpwkD7Oq zFc>&{>7R59rk_hG*g0uk#l5AjV(9P;G}BC#vVs|n00VQHRC`6mXtypeJ`w@os;vy0 zLB`F7es2(Be%a1MTTV`phD}sPz(?K>>f%zJ{ed|?z#BbrsprcS%K zxafgOy(5NU2`2DS|8UbXzCh`=akgL@s7Q)_c5u9USxZ2M{Xi5_r_r8{Ng!{Xz{>t- z7DVZc5%n=LB2hlamYA5?i~7n7$LC+P*V?fyYfmB+i<1|F{bV@#G|Zn_K;ihUM&$SiW-|h0#SAE z-RKF!7dTp6ZlZxR-{dN}t!f9;I(vhrmX~e0ebYlenCsZ>QnOYl+OzXImV**(ez_7X zndB}0r%NkP&?>;S?A4e>gsu}tO=rKx?61+ce-(f1e3=t^XqBLiAxRuSWDxg9k>A7Wr45CN?%57S1LuNXHL0ZdR^7lpU&3Bg|Sg1_2VB zqIZt?78e;U_eK|8M&CTUVfzdS7&MH-z6s}+XTEFt@$Z3Ua?P5SqY{degF&aW^8v*)oX7(4aU5&4wb1%Zt zpd!;FkqnC}Jzruy{#?)fB;XIkVK?9ZdMu}pTa_u*{yq3nqU`kG=sHtB%HQ2T!SJVD z0T^M!epzK>Xty5RDP=<$X|zaaE+t2=^yC?K*h+QN&CZ7_gK^))lM-O z9iI440YvHMY6k4k~eXjT6%kIq(sYhy;&a-<#69JE8-G17!+1spa!>j$+EX~BG)zXj6eMH{=%H9 zcHPx1&3^)Ve~f;B9EcDqQw#zTj4BT_7S>sQy7z2+M8Tq$TWD%Pw9u_+<4IaX`ehlI zre&pI5{RpplT*(n8T3q)^`YTAu*Hq->qu!`{3v!&Xu)qAGaro?N`{V2IWs297ZqIm z)w^txE8Rk47&CP$&S)1Iir8>XW{%zGw`(>^xC!9(jkx=hi8NS-#T=aNf4vyL>g(eP zsI4&mB!Ox@PYsrVP{4@^ezU>q3G}y)K|-~q^zXTqcq!r|L%K-f_yVa_O5D;pm-bQ~ za;Nb&sv`o2h$P>>8`aEB!i-%QMhJW}nRb!ZpSs|4$u?OTo7^75&V2vE z_?u2JS~{J!xE37QXe5=#69jb{;$Ub0+tO0!H}{35vYKnXp`N#eQ6ahc?s7jpo&rG1 zM`QI-TlAiBI~>Huk&*d~+E!L~hj_OAd2juJo|j7JMtI1DGrSsvQHq!#vyn9KW;g=Y z?D(YZMsy`t0(~Wpp7RwKD56_i@6(PHT$)Q6Cjp};eA&{TT3G2PH`HpF-m}L{9D*dM zF|1%U-an~zEovy@`5EKxyCQO5bAA$TlKTB;RLyJdq=v&w73Rmbg~4e8GhEi1NfI>U z($Lp>4ypL!N)^2V{BsmgxD0^JGt`(r_*M?1(y-9DlVrx>n_gTq2dUyozNdLqObnM^ z?ysBLj%AKSlI?Ayz2=KRB828QqYzMiZbqBmaB7Yqt*8Fw#;w%)q&^#Wy{a*TcvJ#z z@baQ_E&f}jH{ES;%8}SB@TEvRmKcpHIK6;?kI!gQt`La5%>3coOcYa}A zq0O0Qj&#ljlvW=o3eM=JQHapazl3>|NUvlW9Ad_m;~EB%g2ichzjQ(ag>T-D6?!%N z4S5@^vJABW(Bde8^G8%{^~LeM0qO8Any3u)Lu99F@j;ufA(dFzQGQ}#V65Kp%y$DX zNcQeOe-;T7of}SK)7PFi2}bKA7x0LGsquD}AcmXY9CFc#jNfYbxTWndTdG+I#LeEt zZuW#dsD78ebKdSxJp@t87bg&J$}35Zh5}cO`{-!&$)rr6_0V6@r}GSt$jzU>! z=u9bVSrm5ndqgI%E5i$wK+Dqd#u@y12~t0B`I5i1R3oHUp@o5zWe~=762<(+z>0?6 zk3qe=StsJBc*oYx&YHt!$y_6zp}ID}T^Y)rd8nQ8MvEO&y60b*(DnCsO+Phgr9)H^ zd8OD?U=b65!}+Lnnt6(GMo|c%TPQwumL{FD8lgl7pA{*)x1LKw#r;1#bM9(ryrJxP z!=aqOEC_~;=MI10&iA%PB4{_LGT$vw%w;fdV?Br0>g ze}m)@xCChOSRHg{i1T%O6j{yzKj5Tg-{NF#`r%Je)2U)vHSiAD&NzQ_(!k2zP44dQ zjz$pQ-Wd$*$glW9;yfi4l*nHE77ilPa~CkIA7!-`JV${de#*enO6f)V`FLK$V-m0s zR`zy+5hkNQ@BUh#lW5Es)x3SzG;uV;g1uf& z*xCGuX*h%6uU=PSWOv=0jEJ z6YnnSBnF*h#df;TX=KZ4ROrV=dWyF`lntApPWR?~FhQk*S9f=o2EdsS=53HYTrCA_ z*Swi}Ib02hnq%rLtd?Kf08TLXc$bt6E6o0kn~eJ{K{%UDTXz@hfQv~R3{BHr@^iP3 zcC<3V!x-8iTA!NQdBKS%=LVXdm~sG4fAq};q*yOpooy4>6fu+4Q?$YYWHfme4bre8 zwGKA<*yUt|eA$7iGlqf?!BucEQB<^nO^C!-;Jx?FM!Qk&KG#XrZ_zWva>RN%DK02s z0TU{PgO=H=&Q=4JOZbgVEC5bq1f?eNJZvOae9PGUNdty_rF`du1z}Tm1?$@v(Fr4 zRb)_EEiB4Z8_5=e*_HuNL{V)G9Gz9dksQ$Oba)x02AOu>vIHzlsAl1&WxsRjg^3yi zvQ$8;Ut}zt0LBD?UqMk|ApDbr?TLn*>cRb2To-n``^1IAmvxro*SD&el&yO^BYzhc zKaqKeQ^ndbO=2&kl>LXz{q~-Ie&n?(W8#&L-08*ciKXa6s_)-P8C)Q`BngHDFdTuhROmunsJ~sMv`$uq9_ntxXnSM(m_Sn~ zftEdP0s{pOuys`+AMG>SYZ`jwy>| z(dARsO0h|G?gOzPShhpgz^I;MheIe^!%8lwxKn~vGKNB=xKX~JRHacbUc>0q0c%Ue z_-IPewBeCj$%m|00!__3u#=<5;BR(6j!2*eqag3ikQeD?b$&_?Syd&B z8Qtj-#I8x4Y464>z3)OkbilbZ;<7Wfjm|dsTkvPlz4120nj`sawHm>udm}GBGT++Q zrYG~wDrX7z#bgV1S&pVyQ!GU87Ud#Va>RP{=l)V!l>8{S=2@K?nzs9Ue3sj@g1#2m zq}c^dAcr7ofMEif6GOFZ4~&{)_3C{ZrXbocn)>RN zG>*RyuBoEF-B)Ij=BBD_j<;GM%PQXxsY5KXr)H8_mjo4GIbIJ36_bOSbCVa&rcc}~ zLU}#faUlG}Z7uJvy49$qgs78p(i@`O`@@`)UHpCUw!!+=O`_;*ulR}KR=-aZ$au^~ zrsW2Rw6Br#txi6h)?H%Z>G>?~T2fv*+@6!j?p-|pnlF1r9SDZdUmqR+ka3+vhTa>X z#TxB@O~OncxjY$rcUqrHfHkjC|_@~YwrWF)b z3mzssu^kY*fXu7~ImA@yuCa26D2bw#kh$-YkiP8-4tsks8$5xHAH3K6C#d(ay0pdu{|rR%Pj2OjVD2207tN^! zDaPgBXmS1JFE>QDzA~2(>JNj4^zHY}ssMJA2qZ8O!(@88T%o}2*RK=k;$BfP-#;w1 z`miIUXu>a8exi+z<-0~)eNIs|H5I(8^S0cB=8K>Z?7FLbgnzD@ws73-_^4lUn$+#C zN1CUer&nG5dR|g9z1BFxArbas5CsYMAkq~AMS(NZT3vsnOac#P z|L-a1C6sbrtHt6HxGl5{dJou*~tBsn4)i$8DQ?O!7>6V%`sudoVOXcDqTmo+e2 zVg=fMM;Ah2#a}@&`$vFv2`h=VA$J*yk`jw7=8b~7rH(4jsa$~@S^JU&4P7kQrhH^T zBccG8y^@&-V?jhNV?5pPMB&BUedEb)dx?9EqqU*QeA+#~F1%0AaXJESZy`Y>y%Boe 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 z zrbJM%jYRbM8A0K^2q>T;0&@Ehx_vhN_Ep|DgSnNj-qBkY+fu-!b=?ZTm zj}x5NE)XsO*^p^#bQPN$IxJ}7>CJwRaQH7_5@u_4bE90Gg4yy#lXj1rZ2x{1Gz<)j zA%dM5bQVNaO&{Ui?4;7rP$uq~3_2F}i7s)&@vT?6l6K(Qp%6=|rtOm)c6N$00c~Ij zxcPQ>vNQ;1aymTIp0)rx1C6-|O8i8jH)-|AxCzx(O~gakmJbfmgKJmY&vxKo2MgsGSHtD4n^B z20HW~=^Ji#!ji~&eU1lW@cN??Gx!{q9WM9Z@Vgwdovc=8)Z2s<+URb6H__wlE!Q2j zvN=|jod*wmOGaZmiotz1f(_EA0VM56iyn?%?XxU%^H}j%!#8~R$8oD zF&KNrHWv<-H^BLRT8 zSQpjHf*{IOXCKnJ?=#gULC&BHXyapHM>VnJuqDxfYQr{DTm)*7Jx|L+uT(O1teZ** z5*vH2K#^(bZSD69$Hk-{$*}YOITF$6?y%|x5SRu!sMF4Y>C9rpV75-hRkRlG^HOSF z8ud=tD0v^*e!%z~4Du_+CWJ?(1^^UbPMRFXiC~UuS@-hY!7KzYc}gfU&%h6ccWlgo zz?Lej(-`_eh~Vdigo7wLO1U~_NLADa?~9sS98(#d{Nt+4yfcW%7?E+-+4l%Ub(S5T zxHA@s2AY3>c~J8#U(ZE?uSSp5LsLCt<;Y51J6`ClU1;5eEN7K{H0a94v*R)@iAc6(6^vP`-v5 zZUBXrVKS+8?%O{JVQnQjqdQmT&G{!X?jnp1Lv$16<)hK3jvX-bW1 zTsSaK*9X)wIjEI|hH4LB{VJtSa{Nq)=`x^IBl0TQ_S(=OrV zy9a%OkNSQxTaIF97W{%r!4`mwMQ)^VP0SIe;yARj-j#hEh542<;1>>sOmtmeR2HgX zHb6XKx4(ZtQH2b1UZAbFQeTrE5n8DxlBOu}N0JsM+(dFC>TpR=fYR|U5osC1 zr_Yo|T?kzV_ypP!X|;LVWS-y0RuMQoh9wiLlmlmqO?WW(|KR$rkR}BnIM*GRJie3d~ev~9eWoiz;T%oL?SvfA_ zp<^i(oMs6jD0t72C|n7DM&Mx}X$*&Ouu_8)K_)cHG2yQOHWI~w+s8CSlN)sF5`2dL z8xIw^P9bIyrIrupqeV_8ruro^Qh?he3&`#-hIVm$*V*gdqoRtgbA#YSsmBOFUFKrs zaqjOo!`9tZA4}!5JO~Ks!D+a8*R#N(W&hcT(yekt0-oaSwIYykbp)cW`RojO^MDbA z38}$Bq}<%2IIdbaG;6yJ5{_jQCzSH=(1nVs}hh{>336gZtqFE(tgN7!43;wR@ ztkUa-aYLASWLvY(O=w!F7HeJMiK64P{Q+i%@DJa5+pqm_LBPpV%gpGr;s;bUWF4u?BSZ5ZuG;hYYC7_8%-h4Hf85NN*QobwB3bs|BG!5Caknqm z(;3)ALWa_O^sG6PHVdrRa#Z6Qinm8Dm>7j4+oJF16D-yAY8M;L0z-AsKAJQwCW1?G zc`8*%w{i%?36oeKrFtblXiP9CUJfkgV-OWJta|BtpRYby9!#P}u6H`O@0qs-Pw}`M ztptyNb zfYV;$EJl2afN3@!wb;um42{)QF-+BA4+X={E1|aMGM($bDh`Bql7x7_i?H6Zjl#)O zbsM7%jS-!FfjYWg!TElJ?R>06VaPv}&RWR0ErCov5}|63)?~fQmxAgu~3BFHNC(?UHoXtG`ua z>q}@*Zi|5ygnD1Cbe%c1|kajUHcbSGj16|c?OrveYV!Kh>Vx4J?>|$%C7-GWL zBh4>G+vN_HLwz$$KHl-62G!ABCb0C6GbIUf)1d=&hiMCt;$#gK%iZCW!`vvdiDx9a z{oE)K6A2RUH~&Y|Rd7Yswe2$uDGky!q?B|w(jeVPrwGzWNDLj)lF})iDk0t7Dbiii zUEg`$wZ0z!i#4;^`@XMC)!R9uuuQ8G;B_WqcZt)J-5U!n$D;A>`C@ExEMnT%=q=A5 z5aKKV4L3~5HUrSh)1E%P0@nOj$~yynkO*ni8Rq8!7!Z};r!w^_+fSy_omAud=u)Eq zu+`$3rL`h(9YD;LtgYRpt(OpTnbOw$ufh9L&iW;N;g*)3R;Pr9v3k#{x}io<?>?1qZc)ZPC~kXP8l@?xo+%y8N0Q-5PjLt(tF~>O;>9v1 z1fk6S-9c^23X+o8EAQ>(f~S3wcW389{r#-?5F7|@G8EcLEFC-nhybjfY~Ykck=#r) zd7Vr4PiP}95B+0&tOpJ>{5#5E-90D#;qmy`lc~^fXlN+&s^WKx|1vc0IUxiUP7GV; z(D}I}`yldL=`OlVc{EGt;i5+Bx4*y-{sGFy_k8rP%5$Uab`%67O9Xa=vyf;*GC5y)(f`dE*#rR=%;q$>ZYRNo)l4gQ0F)63`MrUfr1qDlb!L6cF-~Af z16)D5F@vmVh0{Ye3#@!QMP&9l)(YbC(J!qzsBP5}=do>o37h%@rY0J%2+4{uuN2~! zJ3H%sEgsS|s%|+YoI9r^+#)nBBwz2N-fjmha!qKE8ctMoYX_OW77HM}cfwMgCc}>= zV0{~m@Nkdrx%wFiXneeGYnws=%x}uBflZUp01k9&3hD3^DG6#x!n;T&%0g8+b}fx?X7Mk^#Lqaan zZV99o=KWUddeq#_7yhGQOm1915Q|dCsUOc*zf#zL;&NeXv@rQh*mMKs3)~F}d9va& zRcj1>Vc2)}6q>e+Gb%x*+ed8cnv9TARshv+RQZc@3M0M;f5FL{K0Z?PLT(ZaL>R)e zc~2xG%DR$tCqj65aEP{=-a|G5YSS7-7QpWJ^E8rY@P1Qs{(#Tgk|W_*G=1D<)#8n* zRqwDgoywV?*w!XKq_@1h+}tiUkI(tpww&t&Nop{c{ue=vAH%NjFlVy29USuz%35iI z+P6;U5-_qBEo+6##H>x0Y+MKi1;)jN(F1wbD^1424%I*c_fT|Mh?>)rAp{12#R)=a z1ngIZ=1~CL+-ydV-W4)^JC5zG^Y2RE*Q5XeRKG3HcQM%+^O zKYudC>Q_OgaZ7fL`eL;@-}t937Unq4}xkb_}x_Ks$LxlDOzLco2Dme}8eQ zvGn;Oq^d(Q5@51_FJVA8{AQ%vpGT_1yX&L!=08J9DLXr4?!c8fHh@C z49i)vS+Rxdi48Iy+3(~IXq=k5t<4D#F44-&QeW1Y$2IiU134~NN|p;6&&;|fO9VJ4 zSNe^jOh6efcUHv!RF?sqKJ42UlLT3TD;#8MLT#Vk$@S+mj*f;i<@nH<6obvD3@Po%EBsiD4YuOn5e8cVEnkl@F(-7 z+`Y%E@!PNWjN<2?g&O$d^HN4~tE^j;LH)Jr#o)Q>)Irr_mJVB5AF>bw8s$RvV5rbH zGgt(V0IG8wL!}8+q2p%IuH?UFggrfMu8(R2*D944jQo9ERQScka5aiqn+-r z254PACZX>irs03sOOV;WoO{k2pTec2RG|?5wAr{qNom|H7;;I~4VZIb53%;pUzqN8 zp70ewh8lkp&SeI?K_S>NQ%j&JgNC15@|V>aC~Z_+ieO4ykorMz?ZGt`LW}_0g~YSj z^y_B+cKd$z0_E{k)v=mrve+4&jT{c*tsQp#rD)R@M(Nc|;T;YfY_x;Y$ciL&666@L zP6+_EMKDv^(9O6-fQ{HfeIfy_AK2Z85HlcNEKaxvb0@*tD<*e}%u83Vp-M7H_Anrd zN<5h!6rF`qAzX2q!g2ja-)f%IUhLkGq74#L*xgXclKir?KogEXGbRBFl@t(|Y2qWu z>0vY=4JSM71R?NEtXMY58!|cjOlBNPB4q1LhCuE@_GQKKyfLlF+20R?SQzt+;f- znnu*EzhsokxVD*bbVTa$#6plHpg53skQ0DsHT_U=xk%%>sQA(LGcnI-hFB#?s+DV8 z|I>L_@1TCZJ(4R&=@l&8d4J)YKmN3~`?MX&+|TCV+rq?S2_ySFehnek%gyc5l4u7g zb4deT2A-q@2Ms}C3UVU{9{BK5xn>a@+4~*X%M@^Cn(ZEjR@qs#x&$VUOS1xDVc)5m zF_1(4iQbih*f1J5wJN)~_wHKXfN{lpP^f5))<0ntEUJ`=jbz%yg+)IgMwPWX)v zjUU5Vwvnpbw<&y+jy^#v5?uZ3oeg>^{ym7LPw-St4_jU9>(o~9F5da9z?mTEqVQv7L2x;mPd z|6E^@FZG*G^MeaH#ov~+n13s>a+ANfg!Nm@DJ!Cl<|b(~5jsC3d-II%hVkwkjFCvgtOBBQhRB!0^0t7^^qWDiXK1b^eDY&(_oZZ3pvHtfFuE7Dhhyz4yGlC>-WAx zm)M`R?FVR{PylJ6i5_{BIQgBH8}d8T*J+cC*RJc8g73@x9z$Qm^8h&Vx*TI2(f}-c z69q0$kg|qPT=b(F(Z1>CUB985895ODr!|bzqPw`elxcA$EmTZFjkz#5?FBKa1rE2N zgtQ~ij1;E(t)kGvX{vgR-3|RHKGG%bPtTRp=Rg-Dg%DY)mpTvS4=1mqO_B(;dPO*=n?>%i6-N3xdju^z1l(SbARcv<%|;kP!DXXu!sxi z|GVRzAOn#!y+#(ntWS>7+?HkCyg&SH$hqUbywcozI2Cm>ont`$`p87Kw+pr&yV_%C z3N@!!nusabGDZC0`+(LX&6?}39{=ORg1JE*O<*0kO}tj)93nc6)H|s#5OU<>#$xT) zf!AGVqz%BdUy|9&5fWpVng z_%0R8jV=59xjM%-k9dLkHk_J7*nx{5VKzzubB7r>@jC)*!MQ<|1@;O5TiN8FJQ4dl z^S%DtVFJ*QLcg(`axS1<7%pkvd(O^v?|I!4 z+u)|V$pSdg!f&CEA68 zeZke^9fOdK1&J}L_96i$nNXy%n>`m^f#)lHBlxCDR=608u?@8zKyCTa{doB+1d$TN z+$9ju(82CW*3`X>uLPmS7{e{Z{e?}$X6S8F?6EST1e9H_5I#IP=n0N>;C=KW?^77- z5*e<((k2td59!%y3zbc;Niv#a(1zoH-^-js8-LhT60<_k#$7ttE}*72`Mv5D2q>kK z^4o%)Q~Z4R>AyAPIqqCL3%?D1BV}@?&+ytp>s{+PrY-qXj$*9z#@nL@Q+TpWyOJ}VF!3HiqT>aNJ!wL*X2lXv^W`&Q#k zVt;5V<4@}?jh`+9BFM3qWyxj5h37M!j%{k^t+xpaDBxFty2*M23uo>4LrgSut1p~T zKRJLew>x-E^uA}%>Y|?(JO1})le3ePRhX1L&hm0AgVT*vvY8-CI;>TXRxWynJ#+jc zJct#J1jsl@^>+HkRky3HM#vk-1yAi!yWyd)4GZ|OEgQ7INhxHaxwrPaK}$;3cBWKsxl?Yqd*M$85AD|h@Xoact59Tv z&a6E=>~|s7H0<2aWZLRgmcpVU&i@+eIqz`*CMFqLv$P(GRbN2F4Vf!rLCt8{4R}i$ zezIMaa4A*HL1g)D?VQu+#_5Z1cm(CkmwCvTq@5bcxXyUid(ZC)5k2AR z@`+x`p#-T?sY!IO(545GfBfq!m|cd)ka*NjoK2ac*eu_S(9NdxqY|(7lk`XP{Vu!B z&3NysIs3Kswi&GuJWb6EtTLN02etzf_nNfYB=KV|A@4EBIii#noGB<#=0gpy&k%!n z5)cuk0di0db^ht*7AX-VQ5?3wh8*F|9ipab9vo6<1rPs~|KNXmIKV-U^|_)4o_F}G z^KW?*NHu{iMrA*&>WxVsHW8t`A3P;TjsqBj-NW4qzpv#nD@DCoIJp#j@pI7KePJLX8g**i zqAGJCsxE_mt_L8vGK;C)G6z`Wt5$t;f{8%W&Bvu8TG5LW{2#uHDvFC9;o!p{or;U4 z(@7bo;~TPA#1mR;?5C_%+yTX1de^%U$mzECHxn6~Qt`WL_D`Uon0Q8)ajW77APtTh z;jAT{lMqA#J&i#Y%5YcH0x@|d8@kbnE4-f3vApM7xH3HIt9z!jCQnc z?vj-)Gjsnd&gBg*1cw8Myy0YNZ)z^HO({B^XQLC9Xzp&h+{ zo;Zb)DahUFLhLj7&D)$obq$h}TU1OEHBpDdg1o&c8|jg3@itW*(7PnYv!5a)G3fQ* z)j`!GfhfR1K8Pk^c>V9s)op9$JC%?@-V0wBt% zAT6ooiyC|G!Z+ytYwf|%W<|>8HLI22fNs&X8P*<}wM6@y9l-|-5iBNjSgqTFVw2k` zv*^XD1-ajRk-MC{?%#WGNkPDm|3LnLi6qeuj+&FUtW&5pYqSL?JwztkoV^IJ9(sad zw^d(M_^Jl+e@6lj+)r?#L-Z(7li7^)yXrFNUZ)Wq8}2XGTG?5{cE!THC`m~_Kv3zx z=aq3MgosAp#`|B=@*K4b{y+RZMdlhrkqcwoJvt((Ma2H!%2-}C@HlWd7TFcgj@+i$<|kbmXDPTJ?8XjETc-@RH+TSv#>Fuy4NB&FqP z3)1~Ud3rm8`z#%NLQ`#i`>buQQoQ3!%n9~*9!0b!Glkg-&uX4+YuguOi=+-yqB8%$ z`nUW>PNRNeAV_#`HLC&xrmnP87fjINh6_#`h4cNWAwOL>&1ZJb*AJA;3dZt#&RaK% z@!@?QCjOEuKDS7(jcUXBdiy3KHsnegis6YaaY4)qOu~f)hcIz*st=RpOqc(H*v|YO zBvB6HGzBjF(>lZ0@tew>x%$2d*nT4wH;epvn*YnF3SP^s)Ic^j{^i#FN3UpnWrpOM z%2|>pt_paw6UzafLS*^BT z7fJPvPXEwHM~-Q_hOwWxCRmERDY$XL^ND@yW*$p+IAbMQxTr?Xj_t)3bBz-&haCP5N~5(60xJtrW9&Fuyj_oH1NpgfVnDM#f%{b?Oa zY}GRP(?~P<-G&D-9P;&@BHV7!tA{KeS-j&b%>eYW4()-AhO_T%ix#c*$`;XVeb_(IsfyVhIr-+r7x9ycz! zL~$gfAdhFved^EdEz`R>;h677IZ~g;QEH>hs@sJ=eKe9%NY5jYS0QiTh;Z9qWfQ9P z5bo(?{ob%^6&e5vx@Fj9E@xaK^$9yn13$0=D1?>l?*wA4{h!cAo*npls=gGuepi{S zIG8K0hQ$Wt=j6a$TwHFr*xAEs>$n@wUT7$Idkcx)jMHwe8>EcG!l+f}4~O5rx}kd5 z!jCo?HjB7zm;Emok=NnSa%*Bv?$+yC^GQt7hiNOEW=AiS?$vncb3ul#BdHrQqEV>} zmZ{s7w3{sL^&Wv9t1$67J1Ve_l?*TqEcKNZ1ztm3$sZ}+WBKeXVV6`FXYBY(Fm#^0 znm!wPiw%6|!BJGGhNJM2BI6g7xY(m{W7`imPt?Dkh=gGhynK23S;N>EWL9dik#YLL z&Lv}+tyy~N@LRR%w_P1c7jK=?o3n=B3hJ?sKW zt;FgFWx~leLZ~E^0)XU)sV@)0uoR~Dr#K4OfGG7I#OJ)C0^LEgt)^g>c&jnwA-iLI&2D#&7UW&irF}W_38ERy9jh{u+ZS9l6Y6AJv)Qx9QVjb zOyEU@O(CI{^@S3p?OWySwEKf%#@tmW6IqdStcv<1weL9o^w%fb;X zn9wqk>`Zvv&kDY*dI9@$h#mOKT#nf~>8N|n_wm=qsMpK&uH2czzfx2RKJFOfaA3=W z|5F@s8~4;!^y9Y{_r%h(6^3ufbYwW-<@#uQAJULuHSxGFYu=0fr;*gPpLY4vWD6aW z6>o6FHfr+Bdg1CCPX4L1oH765ugKu&Xi<4N>)^;p;lqQ^V1NJWP-NtbEc%*HM&$0t z6JOeZpfJ<-ngagg@y;Qdysw77k9zLSUTy4w|Di zcds+LHZoXB{P>^;SXupJBl(0UaS8gIdtTc-2vp8*_#xex=>cI?7ry-`jBH~vD}5HR z;yt+$2OE6nK2AIb?*FEv`5^!bfZeEjvxusM-;QM3o=PN$o*w%_}Fqf4+5Ng%Ffh6;6HnW#BYwH* zcnDf&ByZ)Y{0wSMpAv>5-X$2fcwhEyYirB8YrFHNZ8h;8LhIFiFOS>Bs{h@wpFIC| zTaA;vsx>Ww$}rR&S=Pb=b>0RK}JuFSiqOnA=7C;%A@Udp5*#_;bLJtDNRu z=P6HQY_#R79ubA4GiSVE=NJ0b8p{qtgH}uGiddtbuJ4t`P5l;@9ej$4io`rG(9zS} zH@5=ZU#fwRTvb#Q>);T3LB?O7R;pLVf5Xt=m6esvg27?fn<0W*EuS09DBtHvc`?5l z^nN!r4PdZ3US4h9cSskhc%|~&k|ZPkf@S`kWTe+N7@g5osmreD`ykPC=rqglL-5tE zP#wWz<7^ydof}b`I9Ib1S_IaNPD8N$OtZ{8wl&|?jy^^|3!1`}VRI6trqQ)80IOwC z{4#dSIXQ_u>SR}MfVL~b<;D$OKf#HZx7)Fl|LuAD?87;z`Y@IWvC=EGHX{sIA4FHf zWdgrww1cMsY_*oA=u~RcL0ZKcC^V=#v8t-=?D9$z;-_<&GK0TPei?ILAt7BCrOQCh z_hCNjb1=sRIu}7IaytV0ArwGxrI=G6{o+psiCBYj^x)zZtzqw-w`Zo`6`a4rVwpd* zvaI;$n2L}8`u0VNhVhqd6e*+zbfu)Rcvqcoe+eVB#ZOT2Ifv?$W6P`dJbsv$ynyF& zWB(0Bnfzsh;&OeG2a1c0O=&%!sdXVDcUPwf=*}1n*6uoDg%-Tj!DQggzucS8p#Dy|InKG zUIZ8|t{;kL2rJse{>#n3|20)2#Wbu~?L;Pf4?2(bh9`V~*ex;`5Y)sy#wy$8+xlL- zh)fj^qahmoKEskS^(U24QAM!;zYkl}*nxq7U|UncnR=fX2sNNny-qxrg#TX(#Pv7*xaN~yJzXqLLQAh)&MO2$R0HW0| z0B1Pw`W(I895_8c)qQG3hT;MfY2gk<=x}+GDoeY7wN+P6`*~Dk2G-`*8VnM2m^lz} zDnQ37uYmxYZ@4VRZAm1&Mwh}liK{gMf?rzfc7)ww5S!uZaS5u4QE{oOrB(ycb#2rM zWlUC_L5OxC_DI_kHJU_M{PT=+5>O0E48&`GyX6EWuiu{zI;>g%yk~%en2K+h+6WVs zYClzE57KwB;|I1#+C7_PU!LyBfGVB)!Hi=$yxCgAf=1+@I$4I4_CUx8-_AlbfX2R%0> z%%YEkP$+!k>gcUCc|CV6BQ1Bj!}4IxaJk6f2umK>oTKXu_S<*x{;i>u5|EG>md3FP z)U=+fTuKW7q*t9Uj5co zZa8wyYj1hsV=5J|Sz66OAyPo91W2c%{BUw(u&6s)sN)~fNhQHPej_`NFs&5H;)w=F z4VQlo8lrD5R$jwk*fUt8=SynVtc``GQJQ_?Q>nU*eQm0ka#pz$j9 z%KYgz3q9tZNHPJkO-BFNhiJuBD~5 zFgVC;-|)IUmssl`NYg#kYItS>h_NI9g65I~3;Up}s2AhUcb#{;6cJ?RgRwdtxO`Z|FRN>9 zH9JGlmEq_6i9my2_5)lx@81*KU4c}b7Tl2|2vsjQdCo#c}ckW5Pa8^8k+95($!cx)cDy*3Gr(>$X5J6RCr_B;spK4T|e1cg)4OcGLdoySeuSz6A(!&BEL zGhX=$Hf5VBMicJtQb&wtu4@SP1eM)kSI(F+4{Pa#c2^!0HvfThB~w7i@#F$gpJk)d zxg~Z(8{sHyw|*%?AYw}UVXl=HDsRF+JalSBV%I+&&*L@8<9(Cc2WAl6l7ZKUaq-Pa z9XFfb$y49hN9DH;nc2GbqnB_dtWdMVSEke)14q_|1F8n7PiR+N&lUgKI{c>-_F2#+ zB-ktZqKm)oM{1C1CoM87y|CX=q5Symm+)Rk;!%1%gT3L`>q+;$?vpNu*r8rC}o9kYs-aQPDhquslhoY4TZT(?WZf4S!_`4#98sKEkNVb zk=Z!>r-6<`JzZJ(p-+<+%NGZmO%C)9TYmAXR4X=lL(oL&u-vSGEph_5|NEOJ2B@LW!{riH?|KTG!Io&Rwa31-wY4y+tvP89+ChhjaBIHroIw||NEEM7h?De$z?|q+&K6-K z01;WJcY{m9{aBe+HpWV}Gb<4dRvYXE@HkPdB8hi1V{Ut0h32x+H@i>~GXLCc>Nm!V zj=7HllZp*y-X+NOaQFF|E_Xpm-t(%?-iQ^A1q2xTp+54=$0Ezq4NK|Ka;*W#rj#6g z3+Ej4Wq-=V`jUCx&nJH4`8Y76AO45}#XJ&^>y65k#}>OF4saKFoOZo3laeENn=Q8S zJ3PFfEexBgB0W8QOk1Z@th)a10PMSee!`MJ8BntIrN5+I(lDv8G>#aC6F@6 z9be%@0U!vzZN~O$u1Y5|GsEw+Mq~=+XTWAR7HCn)77MbHeOQ7}dNs-r!lyl{dTZz9 zBWfZe6+b}w^JB$E={w?5)$k&j*&#SLY+3)r2;l-j;mfo%NqV3gx^AMY3t4lD;dSG& z*>1JEP6Wr0#Zv%SrkX)k)C7TXv1Bfw5SjK%i|5}dqF_Rx6vQy-{`J6EszUuwW0V>i zPcgO;#d-tvtDEciVz@j-0gcnJ%8{9-At(KCzOLi2-`-%tOG_3GObQWJXy!2#-L_p@ zKeS^xm4yUMPwO5DR(;qf`Nnl=*4K@u$;_aV;p5#KMU-XqiMO}6NSW98Op1OKX_(#U2$CT zu=>EFDfk0)db%~V+%Q^hXII{Xok16qLsgRlnl|By=Dm=G(wyo<2qNp|RfT<0%DaNv zI#&WcRAVX)LcV+?bV9WgJzV6&s>XA zRQq(+{FHLH^mHtAdkC;B|23<~#W;yR)r`WxPOivE<1Uw^kwP(UYzyS@)AJjCfUx0Z zd)&RuAV|Tic9eGwVS`}`yKBYk0SkAh<*I2+I>ImOdIw8CAbYva^lSf_B$1btjAv#k zTfIJvm!q^m4lHF;xJ^+;jT|m-*{?nvt?F32J6;-eT@feJW2Y2c10fluq zjWHiyr@1gH2Tkr!x937TGXZHu?^EKZkB_%PUpmeORYYOI;@@{0aUJ^rTrCtVjWx3_ zPaRA;oq~-wd0i{$tLU>!KkYn{i8&{Md`v?_L(~azHh05;pOtH$QOP(h%R@0>jC&tJ zPaSgn#40r{i2$YVp+aA9gl1W9bep)vVQK_=k!m)s%f;@gka-}>(JGU2An!eTK{@m5 zYVF5Gcn>?i1UbX+o3yWRzrfXPN{*LdOFG&*AFwjG_8Ta!KD^VGDO9rZ3Q=-TqWEKz z3EHEv8XFtaxw*MnK*N1mO$k)GT?n8Ps4#AGPEQ{$J;aLCYYogw7Ym~Fx^PC0acs?$ zs%kqWRQ@IsqN;1xLLdE7v=Yd3N=W}eiCSlhUITkuPPk1zR0K3A5ZuYGeipr1?V2uD$M27B zCK)uuiFaxjLqL2hfSY68p14d#v$VS|xMoAGORdqYut6v?x2^)v90qNb!h%`zl$Peq z8FZMd2Lv`B6X!ZU#^*RuRc=f!b@eGWCkc{y#&D33EC=^hyMcxr{O2MbY0?C8#m^|{ za3|)<`0xWqBoc(+#a|y)!S1K+JUo2>7cQ6S?QWO0Er20^#x^fkHhW|{Jg;zZgRhz& z+b?E)SYZDQkL!Nrcj@-teEpZu5oHJ@{ z^g2NfV7INxa+pP)o*Nkw;$0t##?%!-Kt?%+5s(T=N0W+5Mw9uAqi`d@sv#R*4T;A1 zODEmdX7&Qern}k#cWR8cUXOfmsBM!e`H67Wu}FVw&v^)RFe>rmGNZ8psXP@`>s z)Hu{skoJ2Fj6%A_z15#85|sxaZkGc{th2~38l!8#%4^=|&}E-vkh&Nk%m?C%dg#V>jru^2agGQD@sMo(|`(_9`= zzThjlJyb^Er+!%LblW8;MhoXom2cq-3WLtzYm6OX@ELlkvvafTsMb5!5Uz~&*RC{W z?lt&rFzBk2&^HL$2SY`wL2G8m3`N$m@ynNZZ&yY#r8XF%z7J^r+qqYJJbgfK`yTxI zotK2Vmke(Z%DlXT3iXg4fSF-U9r3p{vxJMg&P(%6icmqtt8AZdwm#RDqVG3P)a?QA z7vEhtTL2wI+QSBQZb@wq4bx?b)g4!R8(qi@q+K{;qV_k$yylw%t!#qtxJFb}E|F>1 zFz1_Iv&txbaBgdjM}I$EfwEC2c2CSPkRl^pGX_}|aJ|CoDK}Q-&hn3dfatj;W%3?- zTbr>N{q>Nqd4`gI6sO_fiD*vYh6fQ7dJ80)6im}Zi+B(=-4-N9rBg8EUqIo;$qbn; zr!n?y17P6C_~Mx0t((2Kfap-hrGYvFL%4iH9tX~s+*DYeN4YR0{LKfBr%KPN;Mda} z$mFCTVDg^?{y$|aGufwvJj;tRa-mJ$9{D-zk9uKvW-tWGvjqT-T0F3Wi;s8ud&u6S zV2wtDB7^{sHc+WwCsXLtRu|q=jDUc1QW7$3_iO1~ju<--KGM@mqIVcQZ&;$ab04?8 zntIhvdle8Ax|G4=^(R|A^;V&5rpDPlQi=H|P5L(t!^dCpI+Jk^npbNL_y02+uiVoT z18-&%7KOrh0S$fIs?Wl-2lZeY(2mLPEQdBPmLQV;ip8|QeE|pJ52>SM7<}nWnp7OW z%|5;qa{_$%uit&+uoXcHxyXNdloDV)ol+GqOfmM3U^8y+&)0BV8nwm=2*^r{FLS9y zpGO}UVp-KZ0yTxVcuA6`G(>EMtG%7Fn4}un#x1soyUv>jM`1BGGmYoIpgZlWYAS%Q zs=A>RHB}EsO|DrWwr^ir%1*KGjjILE-UuvEsio$v4^B`75cMH+(RF70|Fr;o1KZJy z8j%tAu#^s1*cgO~iPZ;n2yJCV|2-$CTk@;p`7S)DqAP@a_Y!A7(UQju)-*?LN$Tm@d~H5;Z>f5fdpL`sVF^HB?NCm-@^6!NOy+S2$hM=?O1UFxujk#g4|FJa08Zkp zM3&F@H=NLT(2a`btyX}I^!#fA1z|+y0ESBWB4)RtAF0V~UIal_}DO=ts zd0@2BuH(ZhJom%6M89^>e`drOO_XyE4JXVvUKY#}i?I6!&+a&fkD)tj>l${Fop>kh z?vOZ2(a*x2ohUl0nOCL*oA=-U`8_vK8A?e_5XUZ%&B3VYiF*CW`*VV|&Z z3DDF#T4}0$f|zq_IjH0g4i1_zBz*na_ZD&6TU(p=I?VoWL%b{&l_VP+%vNEYt+YINAl#7NUbcXV zLjL49{M9-Jb7*%@l1OvM<$koD4;6?naQ}3eiczWHA=(C|)~Tt0`GC&o7fd&) zCi5#WR3b-CMt7=cVcbWe2H-&S z<9FNuvndfAmqK=E_yn3`HF-5fe+B|M0*!2dG$!nQbn2|@NvcoQ#r8{Fs)>UFX8OTKtLeou6bxMRQ(cA+zX>8VZiopSxS?Py3(<^$fE4 z9iFFaKa&M3;zvlUHv-3`#lr6^kHKIWL=->LSi8+hJrLv8X^?S1FSWn1->vqCsUiyZ z_bVa%a&VM&je<6)I?v;S6p4u1Kh}x+QPbQowHGWMwiHYV(PTe!*o?e2Z*t<3>1@fd zqOLQ(x+?z{LNVT!y-$SGoq0l&zUIhe+i+H&5-PbTHfN=H`s0JSc@&$=5_Z?Y!2G+5 zV+>M(j1B~JKNLa?*N2a$$s3Lv|F(@l%A&7yd*q$YT#4pbhcU9E%Loz&E|lUd$v7HG zVaU2p(BQ{=bxzCvII365-+t^=)Gw1J$H%MJ7Ze1yjZG@Bh43aNh1wdct9QWG?E^Rb ze8(CVKd0QiGW2*Px>+&yK)~MVyIB16JKw<=OcEsHckuJy=v5Zh3kOj3Pyr;?yyn`# z7hk@--yQGRT>p@7Jwi6Qp(-N1!=91nv2xEMdVW|1x?NZD>!0qZUJ_EijUP&JCgE6D z0(n1?>e{+9f&x}h5QFm8-LS705l51dHsx9Wad?n%tVUZW`;Dzpx5eQk$8WHg;-^}RUua8lfG8don?R9+!yeMpUp^Q09PP^3; zFUh&!b(I`DPz>md_U-}T+0NKEhK{yV2|O-(olvy#CVv}JshXa=mM(A zHRC-PYPiQxATVtQq{Xosu>jocEof@^q+Q%5z20^ltQX> zma$#Gsch16iI8!*0bEhc_C|l%*slQ-QN%dijc)tXU+=JqD+w@&0h-!GEepwC2={;| zA`&t;Tw;CmiJIO200(x={uG0!O#{%h=YB^C7pJc+H0&EQJA<{;G74lMW0MA~q%DMk zP^j{(`phroK7{lNhhLyKWy;#MqS&O38X9hvG54qs*p7qwyXX$O^&e)K#d&z#`ogIE z1U`X#hf!@^-GM;L*1Aw>B|vv3I#*VCkziy-6=u)YjHA@H_l9^xhhrNdVyvti)rQjTb3;vhwCw+(9dk|GYlTqe?pP zxwsyygvAz2jwVWf<2^9CTU>d1J48zuU-l(>+3WuG;Bd3@E*U&Hgq2mxJixd8ElT*y z&6H}N5M?HiUa5;89)26*X7bsJKwEdgw&x72)ws<6^zl!^_unXEXR_ro*Z)Mlf_9hs zlrP=St4qyT`PR3}ysu8RTD&Fyaj7JEm$0$PV6CTmzD8I!Wo}rRudWGza#)H*z+d>a zx~5RRkeJ9ZF&wPs;E_ibKRH7*tG+2O_axXFgNiHbB7J{LfTI z{|+SEGEYBu39z%*(XsT$BeSs9`rrUE#(riMN$9fSN!fjXh87}i3yv=+^eTj+@+puo z(wo8sU$+|bVkWJB{>v2hHZ}#<1o4!|)PX|yDkrWw*I=W7+RV(EJ#;}2^>%P*C=4GS z60j6kc@{-~RUU$NEyf@p9It#Ep`^eA(ICgaw;71Qib<4WI8x&|i7Qelx}r zoEc&=LBVZd)!}3QXjy)F-qcOURM~`>m%cU+4>s$61khS6b)P9Nymk;6YJ*?fvW7%| zj;|WO4wzi(RW=we7?@&Y@_Kd8X-aCIkzb2-ClTB2}EiEn%jHopB z+TwNav0E&nP2VxkdFN#zCOJ4&!O-{i0c#0mqL4)aDXzRm5*o%5b&3QB!%4~r-m!}z z>dL0YGhh&AEn|>_b`<>vlUUn1>=z9tfTS2c!l6cOg^f;{^9cqqBMTN42ME=rG>D7X zhx7gznCcpvXnB|2oc#Jvk=s9?mBZE5@sg_6JCti~o6(t98ke12D6M)`#zAiBBR}!7 zkO={(X&^n!yslA)-*&P<00x6SMe{EcrzR&OuR4`fR(_h`_vSzwsF*x%3$lFty7O?@ z>WnRI--Zg@ItGmTPh8~Jy=<%ka~svYz3;Ls4I4EQlajU?{2ql)o1DK^J~>5imFFdx zi%pE02*iS~ifmmgc}>$*(@-eL(RQz9+MW$)6m}RZ+Rr<#=(2uWs&b zW39H^pDtrC&a2f7>^@R9X%&#|jm{_|U^RE7zk0t@xZ|Wy7%yGXzkwjzQnLpJ=j(Yi zL?iv0{wZhDdKe_z-D+Ga=ZKAro6k961j>QJp0nHe{&?(~58rd3qd0+1LAOlWCo<(M z&#I`bSPh45X+d7*btj4zsyM<^;?2_L2lJ$KT`fC^JU|XyPEKkVZ*6VKPiQ%|ToSq; z{Yi>;3uaVAtAYnw#zjQ1btE+<();sAgvMth%}aD5z;lAA#Da_s+a)kRnI;2DK{Ve5 zK6~o7Q1|Y1hW#H+XBigNAFb^@Lw65df`EXubc29`groujLrQleGlX=5AOh0eh;&LR z(%ndRcb@$}=Y6mFIA3OVtlx_JdDeX;B9o`}tmklx{_l6JS9GyM&>Br6fv2BO@(L_7 zv2p1NWq*Zew8hG-kyD`aYZYWJzC>Ef!dMXt^w zqOh;^^kziRu=`_6sK&WVKgq z4Rwjju#wLS5p}j5fz8|}_Muq+anuOBq zj}PGq0scsPuQP{~O9-1I*76oQ$r6^dyd+8uG}Lu}vLA}ur^QCqKFp|++f-rWfxqH& z*+M{Zrs4IJ0jb=8&(Pt6q$4C1p2w1Q)W4C!#>Uoq^$N=fs(wWOIpBO}BBFQjN!V0r z=jekV1cvBaLd#@qu!#T6St=*{JWm!UjvmSo8+mpaglEt1f}P1oyMOcnpn771e0g$< zy8+2;w^KgUfXJmkV?WHJ5a&+NE#cP7FP;Ap6c>CQwh44 z<3DX265}ELE_rZ)d)C&i4F@0lG~9r0KfJ1PdP`Y34!Z+b1{uQx_-i#TPQ)T*>e%}Tz%WRad#8R647iQF3qoKpvtvnuaLtat?f>0x z4n*JSS?Uo8&`s^_?NxHavx$NHCh%qmuRHdp6dNl`)OYOeoou{ zzQfw#p&A_>oxsOY=KuBfI{NpE=1U)wT?4al$h*)PlI-g0(|3);L%%4c&CD$=i~r71 zCMGBJXDGdU^$e8gjPehO%YjX{4GK>)7siNwn*1E`H-Z86IJV`(HQoA-=(zVk@!4)H z)@f*0#HU|j&`Q|LACQ0khx-Hy(&02LnTV`qQG|MNzxU-afWy1tdxZfJuKz)L`HGk$ zTRGk%m#0szSe6(_p?|ml@Le;M+w-vKjG1w%L>hvd9SyyuBS}95hB16XX9#$-7)b3t z6gjB`7&eC4Irc_>EwsT9n2uY=cbx}ki-abOnEj-H%=c)QER=`mVH`y0Q0Wf4k6Nhu zs}{;0QtJm~eaXgTA3oe`Ew#4d!i=fv@g|Y;0?Zres6iS^ea2Kg#$c`&GS<$>^bAvi z_MaSB6m*5;oe%KT^_iGA`VN73rd}s1k0zDgqA0AN=cek&smh3p z@YdDws(@(^uJvdx7KkXNDQkzsP`up2+j2G%vS93#cN~>(D8*-}9@$mtnz0%F&N?*W zM|{s~3CrO&{0Y?ybq(%6p!kRL#UvmYz=V+lJo+bQJxFB}&^B@&!&qisq?rIvGHz49 zu^$w-@GETO^Nl7xScf1&Bhl0$q06ENV;wny2&G6dxC)_MLccTY;dZZPsIR|2;(eWc z|7s|NLE#{&Ll$88knvgT>0Ts%zY5EfOXc`#F7sCgQhz+f+ztjG0{Ib2(mCKE9nB!e zDbAvCfD5B5>^rRkP?Nkk)fhjtECD#;ow2%Pf|2dwH<$FU>+zR?P|xcNQ-D&~O85&n zM2rF1_PNLDlDb==7^&mLN05k|6?IaM-%W2dZPeoY+hO)}lJEO3+noH=;_&Yk{vjaY z`@F_Lt-poUs0j4El|p0ixN-b_f5JHa=g#0k&1VV1YVKApRl|uLN)$H;b0`0@=pGk+ z#s!Z^wTk>;lU?=FB?>OkKvi*^y7MB{s9hvuhF8}iDzMsY5^<&2A zfS8NB`^aO|F@9i0+tTjkfY8!knnk}&@zdtoqN0x}-S8sU1_Of~L* z>B6W?p5}p8`!Jye*977HGe~hecG9s`1)uqj>(_*D1#m_Mapn&~2-8q%i2Uto;y*+~SORKTs&h z#0yf1VC7hgrmnHCp?)QVRbKM3m>LrQjIE6Nt%0~&Mwq1bOP8m-(IPG|4gk44yXO_r zb@h8pUZZNn+i!Gjn-(pnw;|l}?MQUfDV`lq!P)B6|H^Y$Jg6ZV>WIkRtb z5TK%!1xhc5fPT!vtduJ}B5a4}Mo`J+_4$E_))CJNL+$7$K~KO|mN0^O{vA4kLdGqy zh=D7R)W{lTX=dgbh#GKXOAlAMuB^STpvOScn7Cu^HczjS7ngAPjP! zqZ5s30hpPIq1*X6cJ42tXQHCPH)8GQm`Bp3fpGdR*`vCwX-r;%a5Xmwk(qh->>y!E z=Hw~JkI2OEk;(TCv;S}r5_EtwrX<6=3pGV_LHT48>L?>5$Ot zr`WPlaJ6t`>}_~-m%J8vKp18rd67$fX*&oyg}N;3f%l0QA9FAwe506YM+~6iw^;Rc zH(Sa5Slf`J;K0S6;np4F(01xt&~JKhlMa>J+Crx|Yw6q|P{>ld$+=w~d;)aDh2OE! z(o3Ue(fibgAmu;p`xI?|!)GvZS5p(9-o(ShE4cM-^}|o*w{@C+Sv$aPAer-e!5Frc zV6NNh>a6*1ifguRHLZM1{h0xOiefr3B4mnOU3x|BPuFNi*Y5f2x;eZfb)*3)D^v+E zV-WvmC2zZMQ3a>Z$E~6Gn*Ma-d#&`~S0UZnrgn=6J;>&+a|Arb%S3QBCcJpJRu9O$@uC5i1m`?DvIr`T1qM5SxjjXcte9tkpm&p=^-zO3x zI5|s6Hh+D#EJ?u#M|WsjEy&LO!3n#x(kzWZ1Z-5R>zcuzc&ZGsqJ(mJUz%akt+s*1 zJ^{AyZ~)Eeq=q~uC`#ZV#!^RSgoY8S8@uB`FrU(>6B^QA1Pk5+g!Pr`l?8QKj2nt> zFG#g8tYY;edH_Nz=`%oNUfY=7m~yQgx|^aAImvX|9SKMDMs9&qafyZ3Jbr)O}$XewTer(wPA+P-0q@ zw=Hdb4zanukX|tabFYkXJ#Ws75ODJ&SInHgd9A$7o}h_G6Da~=l4)AeAxp~BHRcMT z>S3FUJ-S}4B5+Pus$7m?vzcz{9krf+8GB%CKzYIP zljmA74hWMiPL%j`q4yhWF&deWN^FNC!zh2dD(OI!Hn zo`ckJ0jt_N8c`2}@p|Y7We^G|U+~5qNR*`?7g*K&QYB>_XDM?AEzG50!O4nsHd>|SrnvK3JE3O_{OEX^yoB{NU=W9SEcjJSAOGGAcUxYH!7ZVRV3G_$ z6VgaYHd{MiPv+w^ zMNSk}kj32Y0SBBBAcHe>850t0`~TT?o<2(RWTAa)UxWfo*b&CYD#ud^^(eyB+S`k~ ztXck!7u9GPpake)RF|m_Ar(?iH@MzTtR}FMz3hq1P?uu&`1@s|WU>rx)pLEK&D`7f z1B!tB`1oX;Bew<(lg5wBwr>R^2~A&7R{7R%pP=-$0a}R_FNh^)$d4QfOUte0I8m38 zfats~5W7Rw^yef?%Mb{e)8!C<5Os^JbBTfAPKQ94Ay5DKk)aSV71~$E*fS8L;L}QD zg3dd!?{QfIqRs-N=)=2}lSBV8X=r(TE*@0yFr-2a8ki4_qR5mn&JM)R_+?SS-e$^+ z-OZ*DwGAZ(h_Jm;q|YcqoE<2O>YRj9xkM|MPXXe3^p4%5`OJ=AWT6b|(Ho(d8(c*YTkV33c>H!X-Br9XrF7^MJ|5++z6=a zlOizq8o&ksc4fpfO$+vX$We;;wF(*o8&tm3^sfF{I@4XB%r?4;4;R=_bmpVo1qqUXwo@LcLqaPxBCiRtsJc?h) zP`{D+9#9xX%rFWI%|FHK+{eNW>E$+%TurWoQjmk~X0^>IOVjQkI1^!-+*SjZG)dD` zV18uBd+myVMhpQz)X?RtURFBYGC`gcOc#z}GBUe5-ZKoY=(IiGb)nu^b|r`&YR|uo zm>1CMgo54>T!?4r)2{H#aRq|PESoNN0DTQM_MHjw2MR@Re~T(d%UQMqei&3?fe>&6Zg{h1e?R@WulTfwuxBIIHdV zR`RbtPK-0e-RO1qz)Di_oYhP&u-SW^P>nNbv8+V~(|Co%-TvTuO!jFw#L&d~EX>#p z(VqUp_{Ps<^05b~bDYLBW{QpzkA20xrtE9!nf+ZH$-Isuytp30_akvgkV<28cwG2L zc5!uXV-FPs!GI5i$?o%3dcCtNq(1JUP_!cl7(d5{#<^k;LL<#aIsyTCg3i@6zBcuo zxB5l}q8Low6l3@fE$jHa%RgkYJuHmS*i8Saai{W>E9`O2CtUinP#F zyNIr@{F~uYk`K91P(OUDrE5PvfG_kj zBj0VZ7d_KyPQ+0o_p-pNLHjZOr88V1C^k>Hq+i?9km$aoF;m{ywV7vyG_1p!g8Krb zk?*4z29dz^k8OVKDKj2?M1Nute`l~MD_RIH-E~JFQA6?v_iZwi*B5(2LgRHQqO&>q zjs*}p(z#4wG{jm&;0!Lq32J;IH^TyR!?%hr&Q|WiG^-`W#nz=dHmDNiwt^wp`IW%PRLCt*nk z5f-uE{Vp2nA0LduO@1j9I%QhD53#RKu?P_%PHDK#yQ>E4r=&CWpuWIM@ z#BBZ~A40M_?*br|E{v&hJ$oGsx)$n$@M^b1V_>{MUNCj@TZAaaP#Ot=PuKTIdZFul zG5g2uc8|qRZMtqr&m|MzJW6hD|M31oI%V4D5Cmp8+iaqU;o9j6?wSRAdi{6r8j7l` z8wd6;6gp(B+(ZA(p0Kk(6#@qS99(qE1R1;=C;#u!QS{J%YVa=X&6{LTO$FD}ZsTGK z<**jjGPKCt)>e%lwQg(-MI|Rs1jQ)O5+#Hh${G7?Adal-~g5~P=RGN~P zPalFN=!L+V%^l7sFz$GfhC+&I8(#ro!{o$N2f*QThur7i;ISDe7ZN2+){-LTfYfW* zu;umoBT!{^{Px&E*O2MqXv@^Pn1PBZzz^UIeFYSnZd#AA-UHIE$)pfWq!0vCB4#Rq z86{LI6V7I6phqoaN7nzP0!G=QssjWFlLR%Qc@zbUpd-}lOlYN*074X1`fR>27PaqL zfEj#r9v^`ry56(l!j_zf9jW#`XI@7bD%>udPd*TCX1*zePsa!EO)ToxeOSJs$Md_3 zQOnTMv=dTfGP_i2u+#k;nD4bBYM||Cs^R?V#McSt)w#p4j-#X-cI(co+rn?VV|%E+ zd47Iw@ohkGt1m9+a&la6chB9D)NTp9{)A*`vmL6Xs%rC5>lY!3p3q_rhr6lDxGZxZ z7M}$`|1|-sLs_QDr2D1_IzER05>-SYV^JEVoz}G_KhJ7w&#~nhqM`<%GRrQ5BD&^; z$Rt2TA^NX^QGutAql&nEoe>XFw*qz#n|cQ)F_kr1W=Gs0?{lKP;13x2P)799;oEe-#Gz9>J|TNOS3aG4+9)tN!ST)68WnH=X~=&@ocIkQ1Yy4_&tQ zS&N1Q#=}0Tey2su8~SYipL#-T!iX+r{2pfSc~k&;ugQrDeQLj0ZOCc(^EEGFpcga1 zEHWvR8E;Vkii^V!h7G5-l0eCnCKKIgR7uq-jVH~|>=vEZ;@>E|U@@i@NI;21K^|9` z7KFb_uwXlqo}9@2{c^-w1Tucgqu^Ku|<%{*BrL*=nB55Me@|Eq>MbuNVt~P92!pt8`$<>P7H>4h!fE zgP%>mf{%_<9-F9+zXj#9*zvs-ir_~1kI&!DcqzIlMm&_$DFRKd+m0&Q~pZR%%uSrRH%&e@67M7MA z$y003#@4FWIo7pxjX3;I4yCmBC!LzF;t#_qEeGEk^SRHXR{hKHA-jD$W4523UDTlc z6g3lvZ?}X*mf0XxhRCb6qT4XDNHb~g52mjSN z-p*a|Z!kNvIcrxmxY?ogJleVL>)#gnf78dsYUDeb@rHUp@R}gcZvg5+CLMV2lw3#k z!0JU34^z%}o^QA8?lK)tG_1z>w_QbBYEN0zp1tkO-saEIEFcw%p@^$(@_%%Y;PW`R z>$Lpt*P6UUzXy7(pZ-d);VPsjJ5L)ObN%f%(Q*(dZNhY$C9jYJR@mD>sW(>T0V0o9FQAv9TPx9rAq3%$^?Y&60 z4z{I*Cgm=lLq7&OzcXH^YjfT3m2Lj+q5@xKGmA4A>*WE{&83(&64xUBZwjv*r(UIW z>4%p0X&#GSE7=iT#2{Z-RDZSN5aG5vnI)90SMAz>9UkapY>)9-k`WDNUkv6*tjCu^ zORy&QWVU2_3XFWzPQ&1}vTYIf0d2M!BUCqaTqtapV`}3>#859WGjF&Ug&UpX>B~<+1Q}A^0 zc=Zr)E&wA@{5D{*2ySxf8B7Z!(fW$O`A9}F1IQo(RYAV-lQ9SikIIS?4XP$T3U|+D# zRm87z7mK~4(2&Ndto&z*4^CCQMAJn$`QuIa)sT@Sr{KI>MLXM+GS_vvUafVMUbWfR z6n@L-6d{L<_^VvTV>z6F6eYi`^ZIieeQtvshi0{ zo;K=VvFtp$wCtN_WL8(rPR6KBd=xrQEKEE+SE>k#A2WqX+sWU(cYOL55A(&_Ton-s z4P?NU!04Cq7Xm+vuQ19fWzGiR6FarxNQ6X(-^+J;jbg7cV%PE$Jn=7~0%z}z#seNB zWqy$%IE`9Wk?01R*J!Kb3 z6sYzl*Nu*8JMug^_0g z;(0i$BG$N}QL)fJvBlO+t_@M12q^3I;E_D&VU~Kj zmBXPHzmmK>Hf8r$(zsA{mz6rZIYuzdRjfSR9+G>^JB8HW?39q*>a~4p5&ht?;I?ux z=Rp2=J^X8B+cHCw)AX>FFX@BI{^7?h64Y-J#6<0)jzJvwh<_K}xl@M`Q*FzQagFmY zwxaxPIQ@hK{n3nxB8Q;Ja)4$01>ilF%IO~FPr=25P*mb2XyzWkMA{I3?4oy=V+7^K zW%Iri@Zj=}Mw|%gp!v7nf-vp)-605%EBTjj|41q(#h8rTl-|Blab8=`XlH$-UzfGo zlV6H!<56_{pOiI@zv>!1+;fDqJU)aR|J)JHVYm&V{$fz&9rFw}i8KSQ+g=2$ab-)m zUcT^fRp5)((K2s-==s({ce_gRbx8cycWFRhlFsQ$Y2AZUXHyxx0X?gDKd(^ShyZMg zuzx@K;LMFpI8&s`$50-smxg}I$yZn(a4vBvFraP5^zPpj8x0}bmmN=0+CG(?)dxB` ziQIdtdLDUsI&@jKtItFJU4AC5Tz0Z6)DU>_Gi+l+hm1cAs?LmVK$$698jQM}`PshP zBG-5fZA`s8s%+mnP;ruq7mo)$=U$YrBy!x02akya58}-9D>8))m0Ape@=daeu*(hf zg2D^&41+M+lSv_ca1~o<+nkfS!$r1F=N}NR*LTNy*nV8_H&>Uc4^j@7P4u8lUpIBOJaD=SE2-cwLLrgFDXkOI*`1x%Z zI!BLbzQ-+=atw;d%g7U>e00DgcQ4IS;*T}BORx@u+qd-lQmzas6YIp zr|;6z6*1aR1NP72p0 zTci5-sr?zfxbdJ-FwzlM{u9%God=>dz1F3SS*_iBVd51gS*q;?^3`2)uC>xRr@jw zf+`)X7c%jgPW{6_=U}ZnRK@x>hEOoP7^v14`|ePPB@-erqPyP0Bjttn9Br;qQ?P&_ z=`IVmupRbqP)Y!D|EItcg#xWQ5AKA6Jm?-5!ga#4oi?VPu6#Be<7!IF3{XwC+qoBr z#xqNIg&rE4Vjz~40NLPR$92jDueq-NistfEZul1I`>gqvf32SM&k;CpICITVz;=~k zYvvgmb#B|FRS#y?6WLM-C$@}#F7-ElK5bm)uSi05LIiUSKCy&O022Zwzy*PUFg;7b zTB{CERr%UcYx%wD;+{ZqXVvw39P=HVPC+6Bf-Rsd$9;Ee$yd;d$(DlbBl!S^XA+tC z8jUmV=!}Cxqnw6;@d48IERPr3Q*ja8c{3IssUE&3U%mP#?Kae;ZfOvsKBr$|)O-%_ z2_mExFSbALP$_z8x+uE%$=P&mRzwi*N-Gc{(0Ws;>cZ2vq*q+ggBLb5WPufTw9vRh zmr8J)K;vEkO`xbOyd`8}yo3$z3!(_a%fEZx$wIJ1VVXUO1TwY`X)ATnKCaJyfynLe^x@-yFSF`nemy22Shj9fv(?sRF6JDIZ-zi;#Ptxf6q6aZ0Oq$k%2C=4nH-H@R)fJLwl zinF;Y-As7$@XI%ROPWgPYqa-N6mA?%p3C~QY(xqB_JO$W& z++2eul-}ipOps4mIHHpU#+m^lk`Vc!1hv6$QxMe6F8R=;_U;K1F~-lMlwa}6d!NHBBz!-o0bkFZVU8F%O6i}tO=Utkt`u&+0f(GlwWfKX7@?uMT$qGb6YayxNr3l8SyYWL+ zQ6OBvOk>R#U7<)66f-b*;OhQjjOpQU^>ub$jb2zj4|LF2PHJmm{N&tgxKgcLLD-*M z2D@DFX`9yfmj3b6HT>ddA#_DL^VOt~+v|u0RvX*GoL8>r!8j3c1~JKN72ep$4=vh+ z3x$xcgmY&k5Eoj|)>0STBZ7=w{)8AVY?h4^v;JXis&-Jdmv$$Z@N9Me`@-$%SY9Hf z_qu1bAxoXU+5_@e+ZLrdGk@$Vf%F+~`tS0xwatVYI9s&rB^BP@un#6#yJwVum$>9< z2)*r~=MDFerTFO?4y)ZlwP_c!nkl*7@F52J&?x%7?&sM0nIZ&rLfhTxN9Pmv65H&a z6)mJ^C24)L($OyM)RB0X^*K8PnAun0$zb7}O_O{jOD&EBBqj|t6YWb1$aXhxRu2xx z&NG52+GP;v?q7N`kxSJ&L#Zc}&aX)PA% zDQ+9K8Ukf{1}+n|E2}Ye94rBzn9``3YdC_xjSXvTZLMQ0jVUJ%?9mu*`|*oaJAk6* zyOF|fb!tgC%$u;Kz~ue-WCpsG#;uR|;GaRwOyuP+VIxd9XU++B_C}@XWzB7IjE#EUjDu%))kqZ7%2fO8EWkNHy_zC^n z{PdDqCX4#s45ni}Wvp$-H*-va{y+A6QmuRc8E0kBub2 z2q4F&n*lr%#gS&!Y%lKJO7r<9 z2T)YOpHCIwrcM)tjYHB6dON(++u;ZIb)I>#iF$$!x$XkK6{>a=CLbqMM?i^3ox?+` z6`X)tSy~(>NWE`xKA(QBFF9ysqx^SU$vyo-OJdQ_nZY5u6y-Wk)c9#$-+G>u_5%^kI2XtpUcZU^4Iv>`Er?Gu6pg^*Z44`4n(5Oa(MK39DzjA5k*umdz6(kEcpTf4-sL^_vxpcqnS*QwCna^=q9tU8!XK-6!1a+nwS^pMc!XPA7O@ ztjP!x1w%wt>ORuuyXQ*S-+UG(JE4ritVg{tD%#vvt$P@FIJ?q(2%0v9BXc9Y6V1!B zw2rr;@%hb9KP1nGQ-izCW^W=vQ%YU-zbiLbn%(P7avK5koH0N;45V5Y>DTAk~`%8*{zrBzXKZ@|_ zdhvK6;q>cVH_S-tPWkxONQ(2*`EX!%ZNp0e0fEACQ&O7Q1tnabQJ-g_G5+L0(5NTm zE%-{U00GM$s$6h#1yL>tdKJDQe2j9!hKP-Im_kroABmMgE$M6KdUX_+6%fFCY3M$) z9!QHHLU|#Z?$|W*MgU7bI`9yPP|>Fa+wDsN*X(U4g>%nZBnKtU3Z4<$={}KX?oo22 zM=DLZlZDkP)y$Fb_&1g?uSV59I*p1QI?$YW{cd&nQ^M(AQY~t$t)uuWj@?GztM<9U z2fK(bx^rD4R857I!imdHNdrv9`ybFK6xlfq0eN2X7?2-mSN)M+a1&c@U$R!OsCH0n z*3Jl2i8VWQtm<*fH!Pohxtd-+yq@vvG!qPy2}BQ9ALdy4w5siNTP76F!QCWZYE+|g zcWWmUPO#`@IPWvH58uxAT0!0(l8q=e6_(&&70i)2%wrC>i?X3Z)w^!##a-oJ1m;qN zYM}6O;WLC;pOgd8Ix+*TwekSK(-GBbS=h4=6FXB88@oq1JUpChsnSHwsH>|_&{c5O zyqObh+V?pfr5ne6ED22HUY1Wb?G}Czs(8%4%^9hL62cjFoNz(A&G`DILWR%EG&2Tv zCMMSVkzmmMWf9W*{TRGf9}ey2=QqIM51z)Q#C1LL8l#=o}y|}8iMCR=4PY$`|TOs-!q24IfJ1a zs0^Nw%MBfp(BgMbBry(HNiii)c9%*9S{%M7bRGI%h8CXtbp3ozAHG|0(+Z85`rxg4 zx4hHet!CdMW8gEf4nJzwe95y+6z3RnbR8M)Jzl|VF-84`qoW#NxV@k!Tx#8lx5q^- zQy8wpt|F|jQm}Z|&d`&EKnAQ5HltV2^10^18T&S5{~VlUe@zcI?M*I!Uu&_A!`&SF zb>1aP8bw7u=KJ7vB6B zLR}XMcKxZGzCckhan;$h{!>!(K$s{+ImH%-u&1z$9q~3j>7KQ}?5-J4JFkIp*$wq` z&%2yHuUmJR`^m%vmW^$-8DErfgHTqRdzH`$1q1viF}+_iPNLPazRrI8iq%>fV8Lw9 zajeRlSUb6Xv#t#rLo$(VRHG>Jy}qQ|YVsLs{n+Gw*mB$6apL#FT{q{~DuGxFvatIf zOj`#LWT>U{t_cVo*@iJ7Be|QbLH!%=MkYn~CjqxO7Ty&RgBUWX`!f~+Z^I(dn0oaD zC9?#i-*6l@1LMFO+Uy#+@F^o7<&-y+*~!0|KONWj1P!f|D&i-Gxs~XK&V4$QJ6>_| zCmNDEwRGw>Um|K5U>O-1}?{kf)FBKP`YdD5^Q<+&aKEEofTOv6n z=RAn-vFX!8djenruiP&v;*!kGEFtQ{gmFRB*t0dDsly*8jTuExGs_!kXg2TV_)tukuGoQi@n>8Os=?tfvCi}!UUt%0`DL}3DiS3_ zznpEWmq{O|Kox(M;jPprKPomK{ndmIgy&^5_$OLfmy)ON({}D& zgf%vz|GUIk4Nghl!`f(({kjt1`<< z5qAHP@}frRZZnV|^RgN9My}J|qgeIV*6T<*<1B`Gz4Ir_LI_l@(&zehVdnk13J?ZV zy3Z6yS0LC~+dPIyL?jq~btLYF>S!Fl+c1TU zF_VQuB(lYnEV@R1Wm^kPb#SJFi$m6vQ|E3<6pYZnA1taY&R?Tpb0sT}PfnJ6IS0bk z?Q*Q?u$HA2;oq%ySF~l$2!uWb>9A-dGRm{9uM*^sIHr5jhE7{) z;wOh&!V1fF;Bk@;Yp7PjR4TMg##dV7%d)X53NY$Uv3sjOW!y=F9WrLa{_Hvbf6@HI zp~LKG-H$zW``Q7ocTo%H&b0&EMdei@={OjH5yKD6sBEY-gg{Vnd|ks!wDlsW0!lY= zqoD1hvxe#G@CXaTtEQ#} zEgNCc8CG~;;5VW#Bh*tJo!=M2d3XUNJ>6xO-(l7G^0W#GS)?N8Q}wA(TduK!rq_SP zF82ne>mJn)nbx(hle8zL66wo+(v%f`lsig?GcyAa1PU)MoEjCsi_ejuTkMF!PNk42 zcVx7y{!3`GI(rpw4eCMB)wCg__APNGzIe!)DQ=FedCSiAy5PnLiDQ>VDjWJqh$6ir zjt8!%>^C=U3Hxy;71&sWMOecrtcaqwVV4_bqftjcV|;rH)S2b<@(Gd!mH%*=k1j*p|cD zB+dtWbBo77RvAw>T{6nVkP<|uzl1|WnG?q?mI#vg`InHXWH5V5xvGCrhg>Q^?@ zq$m(8LcpX)l!f?Vqb^3_^aO{AMbqN!2PAMDq{R{nN=l0-YzB#Jh9t>nv`1dzB!_Gc zzN1JJHScN4aaLT)5VHPz_8*G#Td<@*5+*Rt%&(zsPa4i5ieEVweu@2+kGAqe%`x+4 z7LxnT_1?hQ{OQzJ^)jrg#OT4$@NeKh_}g^3*FXRBzGm#_r@P-*;IX;5=jdH`dsq7j z%+U-?om{o1rkO-<+eH8r*>ZO5%2g4};x)!`5en%5Ywy>TlfiF45mcP+ z{*W~rR2bl1Zu?mO2l9`A`J=*AhM)b}p4;Zj$#TOfK|k-~IQ~J3J4LXQcmF4;1ViFt zdbQ>C>x)$1R_WxQcWk)1UmlF<704}e_n_*yLNFAtd@+n$G62zJJyjI|Nr)&+91HDG zz?9b7P2^7bp|lzG=6OEYxNj~nlVV@?p)V^GIR}x*gVy^HoxR1HLys?11rysxwGH#g z&~DI46c{;4sBr>pbP5z-_~h<*uOn-vsRhgn&43LI)}SwLT#<0YvayIZnQDJTn56t=$|;p&bWr zE(=c`bgw%vA08HF+qMk_MipwZ>L9`WDwX=5?2Ed}r>JJey=! z$Xvi|L{S2iJPAUC3Ile4m@kv6$2ZgtIexF|buGRhU14d?PL&!iRl(P1f38s0*v-r| z3`NmPIgRYixU{(~xJ{kkfLgAq5_bq;>`>NjhdCQ{%vFnf;YvibbS`Z{?lzpLKlI%s*;aJhJU ziVFfUFIl}KD2v$-i_SlF22Z$&K1IPiBhjsSu0Od9_b>!v(@S8v2SlB<~QEJT+EXO?m&yY$N_!#v>#sm z(I!uC@eTDpeDwRhai%>rJwKq6%ndGA3rE%ibPDX;waSdZ@pV+T40iUf_24OiA3q`{ z2iYi;T)|&n)}ppEHTpO{_HBb(ZzWa8|2Rt~P|^3QYz%#&)wesfxvlNmK7VRgx8qoT ziM&#@xi=i*}FhudxCrI4LS z$)0+*(H>n}|7yi;uz*hd;r~?sNeXzeI;R>w|46=4!{0>K;iyH7r~z z@jInY9n<@PA(2UhV-;X=f7%Sxf}=VIhEx@+K@w%XbWV2CFlU7-<) z4zY7i$4J-2p|VfxyA3e|Oqi5viE?W)W8=apCu(yUUu_MU*N6?QD{}DT(~HdRf;FOK z)8#=w_p|3sE=wIu=8Eh#RL}7}>U%b#pU6c(_h3!Dgg7rlLh}G=!b9m)dp|kNGfCfM0H*ehCFVeJ2bo^|_^50OVr>9%M$-H~CoWHq21sY@azwaC6SK+^H1z?jMZP?PT zgs&F6G%_(|IA0E}S=$qQqtX{su}dG_!x1$5^y551^YLulh2*=}g@3v4?*8Sc%aIK` zf1mrPI)9hT&$nFS=lUqHuPT(?peB0g_M)zBp{}`ko(31a$xQwQ*gyPodDei+P>(^W zgUeuhc!E0m-?`T*di7c`mL??ziD|d^dw}+tk20RAtg+-|0!{#(VXJz}?}Ll493`bK zQcK#imkpan;@1awQoHA4O@b+h{>w6_HWe)j6yV9xh)B&NgN0^wb2jR`8_d9DOjtB3uN)O0@MQDcfM0}VAdXEraXzT3sjRH*o6Al1xNZL|{hXP={k7}Zo6-nK zkeyL}!~fke8TQ_roztar$|G+zE^W@Q;y1bxE?ZOQzoR51dYuS=dU!#%|L>RH89|kV zt{;KeHP~}ehONUn&2+^R7YSaX{~mnJ|M%c)K|&i9DBtrgEAimxB=zymjk89@N=!~K zuWe2*&MdBD<$~=-M6jEq_&Jn`Cu`9#?7>h1Wi+`}DiGbjcRlRCZsdPo`_4)`UoQI} z_)$o|z4tJSGs?l&>##MpMUk+-F@yvm5&J=x*uTN*zMWb|w{iQQTJYD@<);T3K0RZriHJbnc literal 0 HcmV?d00001 diff --git a/library/parts/towerpro-sg90.ts b/library/parts/towerpro-sg90.ts new file mode 100644 index 0000000..09fbdee --- /dev/null +++ b/library/parts/towerpro-sg90.ts @@ -0,0 +1,556 @@ +/** + * Tower Pro SG90 — audit-honest part definition. + * + * Primary source: ProtoPart `towerpro-sg90` definition v0.2.0 (schema 1.4.0), + * itself citing the Tower Pro SG90 product page + * (https://towerpro.com.tw/product/sg90-analog/): + * - electrical domain power domain "servo_5v" (4.8-6.0 V, ~650 mA stall), + * three lead resources (V+/GND/Signal with wire colours), and the + * `rc_servo_3wire` PWM control interface (pulse/frame constraints) + * - mechanical domain output spline + mounting flange resources, horn and + * mounting interfaces, 23 × 12.2 × 29 mm, 9 g + * - design_rules / validation_requirements / usage_notes / warnings / + * compatibility_notes — preserved verbatim as traits below + * Nothing below is carried over from servo folklore or SDK defaults; every + * value traces to a field of that definition. + * + * Architecture notes honoured by this file: + * - Pin-honest like a schematic: the integral 3-wire lead (S/JR connector) + * is three leaf interfaces with the ProtoPart resource ids and the + * standard wire colours as displayed names. The source gives no + * connector position numbers, so no `pin` designators are fabricated. + * - The PWM control contract (1.0-2.0 ms ↔ approx 0-180°, 0.5-2.5 ms + * extended, 20 ms frame / ~50 Hz) is carried as canonical parameters + * plus a `pwm_control_contract` trait on `rc_servo_3wire`. + * - The servo is a PWM *device* (signal sink) — the PWM() builder models + * PWM sources (roles ["output"]), so the control interface is + * hand-rolled with protocol role "device" per the ProtoPart JSON; only + * its canonical parameter helpers are reused. + * - Stall-current supply demands live in module `requirements` (dedicated + * 4.8-6.0 V rail, ≥650 mA budget, tied grounds). + * - Mechanical content (stall torque, travel, spline, flange holes, + * dimensions, mass, gear material) is carried into the mechanical + * domain, leaf interfaces, and traits — none of it is invented. + * - Shareability: GND is inherently shareable and must be common with the + * PWM source's ground (`net_shareable` trait). + */ + +import type { + InterfaceDef, + ModuleDef, + TraitDef, +} from "../../src/types/index.js"; +import { + Ground, + PowerIn, + defineModule, + clockFreqHz, + voltageRangeV, +} from "../../src/protocols/index.js"; + +// --------------------------------------------------------------------------- +// Source citation + electrical constants — ProtoPart electrical domain +// --------------------------------------------------------------------------- + +const SOURCE = + "ProtoPart towerpro-sg90 definition v0.2.0 (Tower Pro SG90 product page: https://towerpro.com.tw/product/sg90-analog/)"; + +/** Power domain "servo_5v": supply range for logic and motor. */ +const SUPPLY_RANGE_V: [number, number] = [4.8, 6]; +const SUPPLY_NOMINAL_V = 5; +/** Power domain "servo_5v": stall current up to ~650 mA at 6 V. */ +const STALL_CURRENT_A = 0.65; + +/** Signal lead `voltage_tolerance_V`. */ +const SIGNAL_TOLERANCE_V: [number, number] = [3, 6]; +/** Signal lead `logic_levels_V.low_max`. */ +const V_IL_MAX = 0.8; +/** Signal lead `logic_levels_V.high_min`. */ +const V_IH_MIN = 2.3; + +/** rc_servo_3wire constraints: nominal pulse width, 1.0-2.0 ms → approx 0-180°. */ +const PULSE_NOMINAL_US: [number, number] = [1000, 2000]; +/** rc_servo_3wire constraints: extended pulse widths accepted, unit-dependent. */ +const PULSE_EXTENDED_US: [number, number] = [500, 2500]; +/** rc_servo_3wire constraints: frame_period_ms. */ +const FRAME_PERIOD_MS = 20; +/** "1-2 ms pulse at ~50 Hz controls angle" (RC_PWM function) — 20 ms frame. */ +const FRAME_RATE_HZ = 50; + +/** Every lead resource declares `connector_type: "3-pin-servo"`. */ +function servoLeadConnector(wireColors: string[]): TraitDef { + return { + type: "connector", + params: { + connector_type: "3-pin-servo", + wire_colors: wireColors, + note: "Integral lead terminated in a 3-pin S/JR-style servo connector (electrical domain metadata: 'Micro servo with 3-pin S/JR connector'). The source gives no position numbering.", + }, + }; +} + +/** Verbatim ProtoPart resource function list — display data, mirrored from the JSON. */ +function sg90Functions( + functions: Array<{ name: string; direction: string; signal_class: string; description: string }>, +): TraitDef { + return { type: "sg90_functions", params: { source: SOURCE, functions } }; +} + +// --------------------------------------------------------------------------- +// The 3-wire lead — ProtoPart electrical resources, one leaf per wire +// --------------------------------------------------------------------------- + +/** Resource `lead_red_vin`: POWER_IN, sink, max continuous 650 mA. */ +const leadVin: InterfaceDef = { + ...PowerIn({ + id: "lead_red_vin", + name: "V+ (Red)", + voltageV: SUPPLY_RANGE_V, + nominalV: SUPPLY_NOMINAL_V, + maxCurrentA: STALL_CURRENT_A, + }), + capabilities: ["power_in"], + traits: [ + sg90Functions([ + { name: "POWER_IN", direction: "sink", signal_class: "power", description: "Supply 4.8–6.0 V" }, + ]), + { + type: "power_domain", + params: { + domain: "servo_5v", + description: "Primary supply for servo logic and motor. Stall current up to ~650 mA at 6 V.", + }, + }, + servoLeadConnector(["red"]), + { + type: "current_rating_basis", + params: { + note: "650 mA is the stall-current ceiling at 6 V, not a typical draw — validation expects no-load current <60 mA at 6 V and stall current <650 mA at 6 V.", + source: SOURCE, + }, + }, + ], +}; + +/** Resource `lead_brown_gnd`: GROUND, 0 V return. */ +const leadGnd: InterfaceDef = { + ...Ground({ id: "lead_brown_gnd", name: "GND (Brown/Black)" }), + traits: [ + sg90Functions([ + { name: "GROUND", direction: "sink", signal_class: "power", description: "0 V return" }, + ]), + { + type: "power_domain", + params: { + domain: "servo_5v", + note: "ground_reference: system_ground; isolation_type: non_isolated.", + }, + }, + servoLeadConnector(["brown", "black"]), + { + // Shareability: ground is one net, and it must be common with the PWM + // source even when the servo runs from its own supply. + type: "net_shareable", + params: { + net: "gnd", + policy: "single_ground_instance_may_serve_all_members", + note: "'Power servos from a separate 5–6 V supply; tie grounds.' / 'ensure common ground.'", + }, + }, + ], +}; + +/** Resource `lead_orange_sig`: RC_PWM input, 3-6 V tolerant, TTL-ish thresholds. */ +const leadSignal: InterfaceDef = { + id: "lead_orange_sig", + name: "Signal (Orange/Yellow/White)", + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "pwm", roles: ["input"] }], + capabilities: ["rc_pwm_in"], + parameters: [ + voltageRangeV(SIGNAL_TOLERANCE_V[0], SIGNAL_TOLERANCE_V[1]), // voltage_tolerance_V + { id: "v_il_max", name: "Logic low, max (V_IL)", unit: "V", value: V_IL_MAX }, + { id: "v_ih_min", name: "Logic high, min (V_IH)", unit: "V", value: V_IH_MIN }, + ], + traits: [ + sg90Functions([ + { name: "RC_PWM", direction: "input", signal_class: "pwm", description: "1–2 ms pulse at ~50 Hz controls angle" }, + ]), + { type: "power_domain", params: { domain: "servo_5v" } }, + servoLeadConnector(["orange", "yellow", "white"]), + { + type: "logic_compatibility", + params: { + note: "Accepts 3.3 V or 5 V logic PWM in most cases; ensure common ground. Some clones require 5 V-high.", + source: SOURCE, + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// RC servo control — ProtoPart electrical interface `rc_servo_3wire` +// --------------------------------------------------------------------------- + +// The servo consumes PWM (protocol role "device" in the source JSON); the +// PWM() builder emits source-side units (roles ["output"]) and so does not +// fit — hand-rolled, with the canonical parameter helpers reused. +const rcServoControl: InterfaceDef = { + id: "rc_servo_3wire", + name: "RC servo PWM control", + domain: "electrical", + exposed: true, + default_active: true, // the 3-wire lead is integral — always present + protocols: [{ type: "pwm", roles: ["device"] }], + slots: [ + { id: "power", required: true, match: { protocol: "power", role: "input", capability: "power_in" } }, + { id: "ground", required: true, match: { protocol: "power", role: "ground", capability: "ground" } }, + { id: "signal", required: true, match: { protocol: "pwm", role: "input", capability: "rc_pwm_in" } }, + ], + profiles: [ + { + id: "rc_servo_3wire_lead", + label: "Integral 3-wire lead (S/JR connector)", + default_active: true, + bindings: { power: "lead_red_vin", ground: "lead_brown_gnd", signal: "lead_orange_sig" }, + }, + ], + parameters: [ + clockFreqHz(FRAME_RATE_HZ), // "~50 Hz" per the RC_PWM function; 20 ms frame + { id: "frame_period", name: "PWM frame period", unit: "ms", value: FRAME_PERIOD_MS }, + { id: "pulse_width", name: "Nominal pulse width", unit: "µs", range: PULSE_NOMINAL_US }, + { id: "pulse_width_extended", name: "Extended pulse width (unit-dependent)", unit: "µs", range: PULSE_EXTENDED_US }, + ], + max_instances: 1, // one physical lead + traits: [ + { + type: "pwm_control_contract", + params: { + pulse_width_us: PULSE_NOMINAL_US, + mapping: "Standard 3-wire RC servo interface. 1.0–2.0 ms → approx 0–180°.", + pulse_extension_us: PULSE_EXTENDED_US, + extension_note: "Accepts extended pulse widths 0.5–2.5 ms depending on unit.", + frame_period_ms: FRAME_PERIOD_MS, + neutral_check: "Verify neutral at 1500 µs pulse within ±10° (validation requirement).", + source: SOURCE, + }, + }, + { + type: "calibration_note", + params: { + note: "Generate 50 Hz PWM with 1–2 ms pulses for nominal 0–180°; calibrate endpoints to avoid stall. Sweep 1000–2000 µs and confirm no mechanical binding.", + source: SOURCE, + }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Mechanical — ProtoPart mechanical resources and interfaces +// --------------------------------------------------------------------------- + +/** Resource `servo_output_spline`: SERVO_OUTPUT, mechanical_drive source. */ +const outputSpline: InterfaceDef = { + id: "servo_output_spline", + name: "Output spline", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_drive", roles: ["source"] }], + capabilities: ["servo_output"], + parameters: [ + // metadata.description: "~1.2–1.8 kg·cm stall torque depending on source" + { id: "stall_torque", name: "Stall torque (source-dependent)", unit: "kg·cm", range: [1.2, 1.8] }, + // metadata.description: "~180° travel" + { id: "travel", name: "Rotational travel (approx.)", unit: "°", value: 180 }, + ], + traits: [ + sg90Functions([ + { name: "SERVO_OUTPUT", direction: "source", signal_class: "mechanical_drive", description: "Rotational output shaft for horn" }, + ]), + { + type: "connector", + params: { + connector_type: "spline", + note: "Accepts included plastic horns; micro spline (often ~21T, varies by vendor).", + }, + }, + { + type: "gear_train", + params: { + material: "plastic", + note: "Plastic gears. Avoid shock loads. Do not backdrive at power-off. Hold torque depends on supply voltage.", + source: SOURCE, + }, + }, + ], +}; + +/** Resource `mounting_flange`: MECHANICAL_MOUNT, bidirectional — both ears are one resource. */ +const mountingFlange: InterfaceDef = { + id: "mounting_flange", + name: "Mount flange", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_mount", roles: ["bidirectional"] }], + capabilities: ["mechanical_mount"], + traits: [ + sg90Functions([ + { name: "MECHANICAL_MOUNT", direction: "bidirectional", signal_class: "mechanical_mount", description: "Two mounting ears with holes" }, + ]), + { + type: "connector", + params: { + connector_type: "through_hole", + note: "Two Ø2.2 mm self-tapping screw holes on ears.", + }, + }, + ], +}; + +/** ProtoPart mechanical interface `horn_interface`. */ +const hornInterface: InterfaceDef = { + id: "horn_interface", + name: "Horn attachment", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["shaft"] }], + slots: [ + { id: "output", required: true, match: { capability: "servo_output" } }, + ], + profiles: [ + { id: "horn_spline", label: "Output spline", default_active: true, bindings: { output: "servo_output_spline" } }, + ], + max_instances: 1, + traits: [ + { + type: "assembly_requirement", + params: { note: "Attach horns with included M2 screw. Ensure travel limits are respected.", source: SOURCE }, + }, + ], +}; + +/** ProtoPart mechanical interface `mounting_interface` (requires MECHANICAL_MOUNT ×2). */ +const mountingInterface: InterfaceDef = { + id: "mounting_interface", + name: "Servo mounting ears", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + slots: [ + // The source requires the MECHANICAL_MOUNT function twice (two ears). + { id: "ear", required: true, count: 2, match: { capability: "mechanical_mount" } }, + ], + profiles: [ + { + id: "mounting_ears", + label: "Flange ears (both holes)", + default_active: true, + // The ProtoPart models both ears as the single `mounting_flange` + // resource — one leaf carries both Ø2.2 mm holes. + bindings: { ear: "mounting_flange" }, + }, + ], + max_instances: 1, + traits: [ + { + type: "assembly_requirement", + params: { note: "Use included self-tapping screws. Do not overtighten.", source: SOURCE }, + }, + ], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const TOWERPRO_SG90: ModuleDef = defineModule({ + id: "towerpro-sg90", + name: "Tower Pro SG90", + version: "0.2.0", + manufacturer: "Tower Pro", + part_number: "SG90", + description: + "9 g analog micro servo for RC and robotics. ~180° travel, 4.8–6.0 V supply, ~1.2–1.8 kg·cm stall torque depending on source.", + tags: ["sg90", "micro-servo", "rc-servo", "9g", "pwm"], + categories: ["actuator.motor.servo", "robotics.rc"], + + interfaces: [ + // The 3-wire lead — schematic-honest leaves (source declares no + // connector position numbers, so none are shown). + leadVin, + leadGnd, + leadSignal, + + // Control + rcServoControl, + + // Mechanical + outputSpline, + mountingFlange, + hornInterface, + mountingInterface, + ], + + interfaceGroups: [ + { + id: "servo_lead_3pin", + label: "3-wire servo lead (S/JR connector)", + members: ["lead_red_vin", "lead_brown_gnd", "lead_orange_sig"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Supply 4.8–6.0 V on a dedicated rail; avoid powering from an MCU 5 V pin. Budget peak (stall) current ≥650 mA per servo, and tie the servo-supply ground to the PWM source's ground.", + voltage_V: SUPPLY_RANGE_V, + current_mA: 650, + }, + { + type: "interface", + description: + "Control requires a ~50 Hz PWM source delivering 1–2 ms pulses for nominal 0–180°; calibrate endpoints to avoid stall. 3.3 V or 5 V logic accepted in most cases (some clones require 5 V-high).", + interface_protocol: "pwm", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "servo_5v", + name: "Servo 5V Rail", + nominal_voltage_V: SUPPLY_NOMINAL_V, + voltage_range_V: SUPPLY_RANGE_V, + max_current_mA: 650, + regulation_type: "unregulated", + }, + ], + metadata: { + pin_count: 3, + package_type: "Micro servo with 3-pin S/JR connector", + supply_voltage_V: SUPPLY_RANGE_V, + power_consumption_mW: 300, + // PowerDomainDef has no home for these source fields: + power_domain_detail: { + isolation_type: "non_isolated", + ground_reference: "system_ground", + description: "Primary supply for servo logic and motor. Stall current up to ~650 mA at 6 V.", + }, + source: SOURCE, + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 23, width: 12.2, height: 29 }, + weight_g: 9, + metadata: { + package_type: "9g micro servo", + mounting_method: "Flange ears with two screws", + source: SOURCE, + }, + }, + ], + + traits: [ + { + // metadata.description figures — the only torque/travel data the + // source carries (no transit-speed spec exists in the definition). + type: "servo_characteristics", + params: { + drive_type: "analog", + stall_torque_kg_cm: [1.2, 1.8], + stall_torque_note: "depending on source", + travel_deg_approx: 180, + source: SOURCE, + }, + }, + { + type: "design_rules", + params: { + rules: [ + "Supply 4.8–6.0 V on dedicated rail; avoid powering from MCU 5V pin.", + "Budget peak current ≥650 mA per servo.", + "Generate 50 Hz PWM with 1–2 ms pulses for nominal 0–180°; calibrate endpoints to avoid stall.", + ], + source: SOURCE, + }, + }, + { + type: "validation_requirements", + params: { + checks: [ + "Verify neutral at 1500 µs pulse within ±10°.", + "Sweep 1000–2000 µs and confirm no mechanical binding.", + "Measure no-load current <60 mA at 6 V and stall current <650 mA at 6 V.", + ], + source: SOURCE, + }, + }, + { + type: "usage_notes", + params: { + note: "Plastic gears. Avoid shock loads. Do not backdrive at power-off. Hold torque depends on supply voltage.", + source: SOURCE, + }, + }, + { + type: "compatibility_notes", + params: { + note: "Accepts 3.3 V or 5 V logic PWM in most cases; ensure common ground. Some clones require 5 V-high.", + source: SOURCE, + }, + }, + { + type: "warnings", + params: { + warnings: [ + "Do not exceed travel limits. Stall can overheat motor.", + "Power servos from a separate 5–6 V supply; tie grounds.", + "Avoid continuous stall or hammering; plastic gear wear will accelerate.", + ], + source: SOURCE, + }, + }, + { + type: "application_examples", + params: { + examples: ["RC airplane control surface", "Lightweight gimbal tilt", "Small robotics gripper"], + source: SOURCE, + }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "Tower Pro SG90 Product Page", + type: "datasheet", + url: "https://towerpro.com.tw/product/sg90-analog/", + }, + { + id: "art_thumbnail", + name: "Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/towerpro-sg90/thumbnail.png", + mimeType: "image/png", + description: "ProtoPart preview artifact (previewArtifactId).", + tags: ["image", "thumbnail", "preview"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/towerpro-sg90/artifacts/thumbnail.png b/library/parts/towerpro-sg90/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..6857932c62941d75504c8471d270051e49ccc7c7 GIT binary patch literal 188162 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�R0>0!WKu?Q86$&-#^K?s zcSI(J+4~JEv)wZGCaWdD+pbqD9OG}lrTyk>uC?W)rBUCKVxen1H8X?qiwZ9S$fc4c z?!a(=-F?_pL2eeV8aaeAGZRU~rCM|bQfiE3_6=^?xu;Si=wUgm%;C7CS(TjCfB)?D zd*v5Uul1gT|Ke-lvTD3S0-c2U=CC!gBRiG_{``7z%cjL4wCM#SegA-*-npL9(gBQS zWHOqWETyRtI=WZF=wZgNB3y^H1s>Qo(uBIZym9*Oa%dE$`0~FenbEUr$l2|S~RXojzxbTPYjeuaF zcjDr)+TVh2%%0d5;*VcLyakAS6Q#zgD2BQRqR}ud6uV!L;K*_{4lR`6$b2~(=jw2H zwgCsGDX{MaC4P8Rf_-y5QM*uv6R#_9_I(4I-cVrgJcgTv46RtV|d?ww*0hADl00c+}vC$ zDl4Vjf<7D|^!EVrJ06Jed->TJ7&deO<>aIY08y$mq|%y5t}>qeWz#kT?*ZWep-TYb zyxw{Na>X}*Uh6#v{|r2Mlc248vLM+V-FJo%B-~*?#n850wByserfhjV*}i$6C;jxK zfxeocr8h^)XjUep8L5n>MoH*z8b(jb7+w!iV{M@sJI8pT;UQl%JZZp@sXEk7kqMjj zp66xQ@}wN!JtW6RV;QZ!MM1BQRMC>_V(9+j5E_vjKm$^uDBWU0UZ5ERqJuCnDg;C0 zV{uhNJO=vtp}$0mNjg1N#>C+xvk%sK8nGqF3!4KC*ctDGZzE)QH(u$vB)Ig*|~rZ1z-Qi?1F#6T-35*AwF;A`DhYaeGD*?kvy4 zu!L~r`+6YH$Bf~L@fbI-1O-t+2=>sz&!mT^K?|K$4V6+3xy)I@>ondE!aWkMjm3LF zcypl|Qn^f+C!*4*g(-j!K6sby)Ttx3W6ibJU6mWUj-RXVwBd9|<$+&2ic8WRKYzdG z^tSciA78n2Nn3VelB2x1$dQwiMOpdTR9IF-d3|!pHAu=e8{NGs%U!A0J=Dc3xP+PM zS?M%%NPj9U%p!$aB80H?CU0UQWyjLxuLtsLtcxo*^BWSkoLetIdN;0Kc>T$*0YNPl zSOFYLR;f`gCv;ph}I8fTeMGew3&(^aT^T8eFtNbvIma(p~ijCXF) z(25Z%dU=Eo-IJ}Sd=sN+Eu+Gy02-DOgFZecWb4%!5E6ub(UIsI9gU%}@fhT5!C;vJ zcgmGm5fX~`&0hH0+kjszdTa~vz}83)d>5s`NAb>ZR@Ku1sF`6z%{&DT%w=d;BtzXy zF&gHov46S*`(}!SFxSx)49%!1u#-SnR>D+DC<&w0Im$ zj>OIYJvQj2_}QeuuVEIf^wMLZScD-m32sV`#%;w}JpjoudtyLT1nwMAjMBIeMEMvI z?CSxuNiT%4crsln42^PnAueFJlIgB+mQt;PMyG|&peK=p(foO{Y~Osd+BRqIbGCOr zc-i{Hrcb)sZH*m=kM3&g-!H>){BXrdINBSw{J6F?BO%sNUR)p~)3fq3D7P@1a`G~{ zsA3O1T;>9bJ3QRs!U4kPs%NDo)1ZNUY0$uOl62=lBytT&^D@ zU-Z4!dk+4!0I@r(ue$p_`21?#P}tFRih*j`?lpJax_(KrZQ~p-`td0Rt-e!7uMAbv z{2UR@Nf6WQ5E;GT$!KXL!@9v{>>lTXy2pLcFw>0M85-<=UW&tWJW%_b3OgSXWApto zthr5$_ixhD%Oj1naIin!m7t_7HKQ06qi{Jt%4u+L2wfEtigGV66nJ_e*J43wWHbiH zCt-M091Su1VvtyZ+hsB=iwMI?UlTs_)?uTc9$S3X*cIu6FD+txo-D8I!33YA)Ox&bRcp0x&uY+2v5dgv;>x~9t zVnz==c%S{9cUD*n3Q`>_R?chRU$wrYwXMG6SkvydQ6mbdrKzd~*3(D#Z(DypCpFfd zo0aHDNsFeu!W7CY&Y-+L+1!($OX0zx!tGL^bVEeQqi}%aWo1%vQ9hNI6$wMG_&_P0 z(T5mQSzmkO-2^8`SB3d3T#W#b!P;p-sH9;kjnk8P7h`1L*o*4)gn<_-@m7^tNALxSkuBqNn-7{$pL#c+torIaX>Q>n&? ztNnv;b!a$>JiU-^HX}PQ2>Ah_=pPXgRcqO z{LMmj)EE9zd=$&j_}4fzycmFeFN#pNM1}*4B!bn>6QO1q zju^Y9G8~-YgDp4v;FUmzReFZq@sX%YiNx+8BQ_c3_*pB(1|JW+<7vQTnG}N=!^jXn z+?bat^nw%w_#oY6M5d<)Zp_aT@;XVuzKF1RBgoU6+4|F&^yCOfadCztJ2!!H`XmYvDJaZw!Jr2c?y%_2bqKI8Yj!m4uRH66$O6q+v!gMtJyOxUU66!y`}>9D;NoZ)E#fP!t$MeJuerD9A!X zg8isWEx~A+2v2&O@n(<(pZa)Wtx=C(yiM2==7(=Wlvtg>aO9yV)IH;aeNz;uoXb5C z5$YF6P&=QYY7s;AQijGAQZ%iQqh`Jcl{3ZIF@>ReiU+pb=7(2;8D3K{Y>f`Zfs`=p z3^riBmf;5_!;c0H-ZAR%uv{i|&<_nT<0f8(l@x`--~eQJcnT1?CNl*ivyzb>5s2sz ze}n}3!rRONqJ~bZ>;Z^N8;g4)!jLJQmghYnS1N>~MyD14QdFGp`1Da#U%a*w_o;r8q^&_mYvB8v^n@lc%WaT9YeIXnS?p}vG zL|l0fR|v~p`knt?Tudy*$Hq}?Y&2!%WK&UTe+mkVC%M|}xa+=0$Ju@dAVP0QFF<-X zuU>%tiLU_x8r=Kf<+@I}3BKU%c0Q_huW09*yJq}2FUr2*MNj(rZXLaQjgl6Yh-g+e zqvHTdvmHQu`; zfMyN$p?wPalgK zKVA=KctydmB`Od#sUg@EViW-Kqe_HzS|#4mYw?I&E&!yzw*fcgrDAYmB>DtfkZSTk zI{!|IF}OM}9oaFVh>r*m0Altsbi+d-0L0Z?$Y-Ft6nQy7xaZNGK!;YZ5pp0&$xD_QH{uywSMGM+jTh&6lHYt_)Q#h_L%H zhHdvL@zVqiKK_dWU)&vvh1Ukq)j^EXM2s>NQp(gSsnpMt%FQ|&7T`&vg1s=*M~BfC zFAVqf#1Jn}6zdHr^fIF?BnbII{>bq2pe!E`%JcK0Y_k^)jEtl*i-r1ndSI|Zi96LA zyc!;fcfGvvsZN6*y>wU~q{mmm44))1G(HrI`ltL*JI#RFISRqss9GvT#WD#FzN$jw zYg!z5Nsj$f8FszEu;(cac8m|isu+gla)yoJ{-{m~#?DZ^kONt-kz<`kf%gnLJg!s; zgRx3YYFv|=W(CO!Rgng(;~Z*-SSL&vD#5y4azY zGtwxSgX?1D^~rUlrl(PQW`+=c%FfOdK;Qxhf9-MraWC_Ag|c`hS7v4=#m6R4e0(A$ zB_&Z*Ts%d`rBYH_0r^;>+a7!J#R4l`00=kU7a|;cJ&@kbtQTm1fNQ|Lw*I1~K(~44 z7nxh~QmDM*{T>eHAU^-x#;jdD*?F2ZY@d_%&64bnpJxZrHxFy*ovRh}#sC$~%wRMt ziwQ%cs-^~_Zmtdo=8920TZ+n=5>!kRp=yd0`<@VC>-`Mh-NCTtHZ8uJ9E15+`_fQf zMg@9Cg(fZK8cbB+=|v+W!|2+`Ai6Oo5Vs|T;x7q7xHUBzcV;HxFL6=0DKQp9f&)-$ z@y3wⅅaBN0!A4nZ91g^S20=MiSR!Ni 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�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 (i.id === id ? withTraits(i, traits) : i)); +} + +function composed(config: { + id: string; + name: string; + protocolType: string; + roles: string[]; + slots: SlotDef[]; + profiles?: InterfaceDef["profiles"]; + parameters?: Parameter[]; + maxInstances?: number; + defaultActive?: boolean; + traits?: TraitDef[]; + domain?: InterfaceDef["domain"]; +}): InterfaceDef { + return { + id: config.id, + name: config.name, + domain: config.domain ?? "electrical", + exposed: true, + default_active: config.defaultActive ?? false, + protocols: [{ type: config.protocolType, roles: config.roles }], + slots: config.slots, + ...(config.profiles ? { profiles: config.profiles } : {}), + ...(config.parameters ? { parameters: config.parameters } : {}), + ...(config.maxInstances !== undefined ? { max_instances: config.maxInstances } : {}), + ...(config.traits ? { traits: config.traits } : {}), + }; +} + +// I2C target — ST terminology is "target"; the OpenUHD I2C role vocabulary +// expresses that as "slave". SDA/SCL are fixed pads, so the single profile is +// the honest combination space. +const I2C_TARGET_TRAITS: TraitDef[] = [ + { + type: "i2c_addressing", + params: { + default_address_7bit: "0x29", + default_address_8bit_write: "0x52", + programmable: true, + note: + "Programmable I2C address; default 7-bit address 0x29. ST documents the default as 0x52 in 8-bit form, which corresponds to 7-bit address 0x29 used by most host SDKs.", + source: `${SOURCE} (i2c_target interface / compatibility_notes)`, + }, + }, + { + type: "implied_passives", + params: { + purpose: "Open-drain bus pull-ups", + components: [ + { + kind: "resistor", + value: "1.5-2 kOhm (ST recommendation for 2.8 V operation at 400 kHz)", + connection: "SDA and SCL to the bus supply — fit only once per bus", + }, + ], + source: DESIGN_RULES_SOURCE, + }, + }, + { + // The ProtoPart requires-block marks i2c_sda and i2c_scl as shareable + // with each other: one shared bus harness may carry both functions, and + // the bus itself is multi-drop. + type: "net_shareable", + params: { + net: "i2c_bus", + policy: "multi_drop_bus_shared_across_targets", + note: + "Multi-sensor arrays on one bus are typically managed by holding devices in hardware standby through XSHUT, then assigning unique addresses during initialization.", + source: `${SOURCE} (requires.shareable_with / usage_notes)`, + }, + }, + { + type: "co_requirement", + params: { + with: "pin_5", + condition: "XSHUT held low", + effect: "I2C is unavailable while XSHUT is held low (hardware standby).", + source: `${SOURCE} (shutdown_in interface / warnings)`, + }, + }, +]; + +const i2cTarget = amend( + I2C({ + id: "i2c_target", + name: "I2C target interface", + roles: ["slave"], + clockFreqHz: I2C_MAX_FREQ_HZ, + address: I2C_ADDRESS_7BIT, + sda: "pin_9", + scl: "pin_10", + maxInstances: 1, + defaultActive: true, + }), + "i2c_target", + I2C_TARGET_TRAITS, +); + +const interruptOut = composed({ + id: "interrupt_out", + name: "Interrupt output", + protocolType: "gpio_interrupt", + roles: ["source"], + slots: [{ id: "int", required: true, match: { capability: "interrupt_out" } }], + profiles: [ + { id: "interrupt_out_gpio1", label: "GPIO1 (pin 7)", bindings: { int: "pin_7" } }, + ], + maxInstances: 1, + defaultActive: false, // optional — leave GPIO1 unconnected when unused + traits: [ + { + type: "output_driver", + params: { + drive: "open_drain", + note: "GPIO1 open-drain interrupt output — requires a pull-up if used.", + source: `${SOURCE} (interrupt_out interface / compatibility_notes)`, + }, + }, + { + type: "optionality", + params: { + note: "Leave GPIO1 unconnected if interrupt signaling is not used.", + source: DESIGN_RULES_SOURCE, + }, + }, + ], +}); + +const shutdownIn = composed({ + id: "shutdown_in", + name: "Hardware standby control", + protocolType: "gpio_control", + roles: ["sink"], + slots: [{ id: "xshut", required: true, match: { capability: "shutdown_ctrl" } }], + profiles: [ + { id: "shutdown_in_xshut", label: "XSHUT (pin 5)", default_active: true, bindings: { xshut: "pin_5" } }, + ], + maxInstances: 1, + defaultActive: true, // XSHUT must be driven at all times (design rule) + traits: [ + { + type: "co_requirement", + params: { + with: "i2c_target", + condition: "XSHUT driven low", + effect: "Drive XSHUT low for hardware standby; I2C is unavailable while held low.", + source: `${SOURCE} (shutdown_in interface)`, + }, + }, + { + type: "multi_sensor_usage", + params: { + note: + "Multi-sensor arrays on one bus are typically managed by holding devices in hardware standby through XSHUT, then assigning unique addresses during initialization.", + source: `${SOURCE} (usage_notes)`, + }, + }, + ], +}); + +// --------------------------------------------------------------------------- +// Mechanical +// --------------------------------------------------------------------------- + +const footprintMount: InterfaceDef = { + id: "footprint_mounting", + name: "Optical LGA-12 4.4×2.4 mm Surface-Mount Footprint", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["lga12_optical", "surface_mount"], +}; + +// --------------------------------------------------------------------------- +// Module +// --------------------------------------------------------------------------- + +export const VL53L0X: ModuleDef = defineModule({ + id: "vl53l0x", + name: "ST VL53L0X Time-of-Flight Ranging Sensor", + version: "1.0.0", + manufacturer: "STMicroelectronics", + part_number: "VL53L0X", + description: + "Single-zone 940 nm laser time-of-flight ranging sensor with embedded SPAD array, programmable I2C target interface, XSHUT hardware standby input, and GPIO1 interrupt output.", + tags: ["vl53l0x", "tof", "distance", "ranging", "i2c", "0x29", "xshut", "gpio1", "laser", "stmicroelectronics"], + categories: ["sensor.distance"], + + interfaces: [ + // All 12 physical pads in package order — schematic-honest. + ...pins, + + // Bus / control interfaces (ProtoPart electrical `interfaces` block) + ...i2cTarget, + interruptOut, + shutdownIn, + + // Mechanical + footprintMount, + ], + + interfaceGroups: [ + { + id: "required_power_pins", + label: "Required Power Pins", + members: ["pin_1", "pin_2", "pin_3", "pin_4", "pin_6", "pin_11", "pin_12"], + policy: "all_of", + }, + { + id: "avdd_common_net", + label: "Supply Pins (one shared 2.6-3.5 V net)", + members: ["pin_1", "pin_11"], + policy: "all_of", + }, + { + id: "i2c_bus_pins", + label: "I2C Bus Pins", + members: ["pin_9", "pin_10"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: + "Power AVDD and AVDDVCSEL from the same 2.6 V to 3.5 V supply (2.8 V nominal) and connect AVSSVCSEL plus all GND pins to the main ground. The ProtoPart definition specifies no supply-current figure.", + voltage_V: AVDD_RANGE, + }, + { + type: "interface", + description: + "A host I2C controller (up to 400 kHz) with external pull-ups fitted only once per bus; ST recommends 1.5-2 kOhm pull-ups for 2.8 V operation at 400 kHz.", + interface_protocol: "i2c", + }, + { + type: "interface", + description: + "XSHUT must be driven at all times to avoid leakage current; add a pull-up if the host state during reset is not guaranteed.", + interface_protocol: "gpio_control", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { + id: "avdd_main", + name: "Main supply", + nominal_voltage_V: AVDD_NOMINAL_V, + voltage_range_V: AVDD_RANGE, + }, + ], + metadata: { + pin_count: 12, + supply_voltage_V: AVDD_RANGE, + package_type: "Optical LGA-12", + i2c_address_7bit: "0x29", + i2c_address_8bit_write: "0x52", + i2c_max_frequency_hz: I2C_MAX_FREQ_HZ, + field_of_view_deg: 25, + laser_wavelength_nm: 940, + maximum_ranging_distance_cm: 200, + typical_profile_distance_cm: 120, + // PowerDomainDef has no home for these ProtoPart power-domain fields: + power_domain_details: { + avdd_main: { + isolation_type: "non_isolated", + ground_reference: "common", + description: "Single external supply feeding both AVDD and AVDDVCSEL.", + }, + }, + source: SOURCE, + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 4.4, width: 2.4, height: 1 }, + metadata: { + package_type: "Optical LGA-12", + mounting_method: "surface_mount", + }, + }, + { + domain: "thermal", + operating_temperature_C: [-20, 70], + metadata: { + requires_thermal_management: false, + }, + }, + ], + + traits: [ + { + type: "laser_safety", + params: { + classification: "Class 1 laser device compliant with IEC 60825-1:2014", + restriction: "Do not modify the optics or aperture geometry.", + source: `${SOURCE} (warnings)`, + }, + }, + { + type: "ranging_performance", + params: { + maximum_ranging_distance_cm: 200, + typical_profile_distance_cm: 120, + field_of_view_deg: 25, + laser_wavelength_nm: 940, + caveat: + "The advertised 2 m maximum range requires favorable target reflectance and indoor conditions; darker targets and outdoor IR reduce practical range significantly. Maximum usable range depends strongly on target reflectance and ambient infrared conditions.", + source: `${SOURCE} (electrical metadata / warnings / compatibility_notes)`, + }, + }, + { + type: "usage_notes", + params: { + note: + "The VL53L0X is a PCB-integration sensor module rather than a ready-to-wire breakout. It exposes a programmable I2C target interface plus XSHUT and GPIO1 for system control. Multi-sensor arrays on one bus are typically managed by holding devices in hardware standby through XSHUT, then assigning unique addresses during initialization.", + source: SOURCE, + }, + }, + { + type: "application_examples", + params: { + examples: [ + "Wall tracking and collision avoidance for robotics.", + "Access control and presence detection.", + "Liquid level and inventory sensing.", + ], + source: SOURCE, + }, + }, + { + // Verbatim design-rule block, preserved for auditability; each rule is + // also distributed onto the pad/bus it constrains as a structured trait. + type: "design_rules", + params: { + rules: [ + "Power AVDD and AVDDVCSEL from the same 2.6 V to 3.5 V supply and connect AVSSVCSEL plus all GND pins to the main ground.", + "Place 100 nF and 4.7 uF decoupling capacitors as close as possible to the AVDDVCSEL/AVSSVCSEL and AVDD pins.", + "Use external I2C pull-ups only once per bus; ST recommends 1.5 kOhm to 2 kOhm pull-ups for 2.8 V operation at 400 kHz.", + "Drive XSHUT at all times to avoid leakage current; add a pull-up if the host state during reset is not guaranteed.", + "Leave DNC pin 8 floating and leave GPIO1 unconnected if interrupt signaling is not used.", + ], + source: SOURCE, + }, + }, + { + type: "preview_artifact", + params: { artifactId: "art_thumbnail" }, + }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "ST VL53L0X Datasheet", + type: "datasheet", + url: "https://www.st.com/resource/en/datasheet/vl53l0x.pdf", + }, + { + id: "art_product_page", + name: "ST VL53L0X Product Page", + type: "documentation", + url: "https://www.st.com/en/imaging-and-photonics-solutions/vl53l0x.html", + }, + { + id: "art_thumbnail", + name: "Thumbnail", + type: "custom", + filePath: "./ProtoPart/protoparts/vl53l0x/thumbnail.png", + mimeType: "image/png", + tags: ["image", "thumbnail"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); diff --git a/library/parts/vl53l0x/artifacts/thumbnail.png b/library/parts/vl53l0x/artifacts/thumbnail.png new file mode 100644 index 0000000000000000000000000000000000000000..0004a70eab6860a59d100b504b43b36c33ea1cbe GIT binary patch literal 122132 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.0.0" } }, + "node_modules/tsx": { + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.1.tgz", + "integrity": "sha512-GQHnkIfxyx1wYCOS/wonik5MVRZU9hi1TEZmzGZSCJB1y9YgoZ8H6itNE/u4suE+yLmOzuE4E5S4TZ/ZX2wcWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, "node_modules/typescript": { "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", diff --git a/package.json b/package.json index cc7ad69..de18ea8 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ "files": [ "dist", "src", + "library", "docs/**/*.md", "LICENSE", "NOTICE", @@ -25,6 +26,7 @@ ], "scripts": { "build": "tsc -p tsconfig.build.json", + "build:library": "tsx scripts/build-library.ts", "test": "vitest run", "test:watch": "vitest", "type-check": "tsc --noEmit" @@ -54,6 +56,7 @@ "homepage": "https://github.com/Delta-Robotics-Inc/uhd#readme", "devDependencies": { "@types/node": "^25.6.0", + "tsx": "^4.23.1", "typescript": "^5.7.0", "vitest": "^3.1.0" } diff --git a/scripts/build-library.ts b/scripts/build-library.ts new file mode 100644 index 0000000..dc92122 --- /dev/null +++ b/scripts/build-library.ts @@ -0,0 +1,157 @@ +/** + * Library manifest build step (docs/showcase-plan.md § 2.3). + * + * Compiles the TS part definitions in library/parts/ into: + * - library/dist/index.json search manifest (id, name, taxonomy, + * protocols, domains, thumbnail) + * - library/dist/parts/.json full ModuleDef, one file per part + * - library/dist/thumbnails/.png self-hosted thumbnails, copied from + * library/parts//artifacts/thumbnail.png + * + * The website statically imports these — no database needed at this scale. + * + * Run: npm run build:library (npx tsx scripts/build-library.ts) + */ + +import { copyFileSync, existsSync, mkdirSync, writeFileSync, rmSync } from "fs"; +import { fileURLToPath } from "url"; +import { join } from "path"; + +import type { ModuleDef } from "../src/types/index.js"; +import * as parts from "../library/parts/index.js"; + +/** One search-manifest row per part — the fields /parts and /validate filter on. */ +interface ManifestEntry { + id: string; + name: string; + description?: string; + version?: string; + manufacturer?: string; + part_number?: string; + /** tags + categories from the ModuleDef, merged and deduped */ + taxonomy: string[]; + /** unique protocol types across exposed interfaces (e.g. "i2c", "power") */ + protocols: string[]; + /** unique domain kinds across interfaces + domain metadata */ + domains: string[]; + /** URL/path of the first image-like artifact, if any */ + thumbnail?: string; +} + +function uniqueSorted(values: string[]): string[] { + return [...new Set(values)].sort(); +} + +function collectTaxonomy(def: ModuleDef): string[] { + return uniqueSorted([...(def.tags ?? []), ...(def.categories ?? [])]); +} + +function collectProtocols(def: ModuleDef): string[] { + const types = def.interfaces + .filter((iface) => iface.exposed) + .flatMap((iface) => iface.protocols.map((p) => p.type)); + return uniqueSorted(types); +} + +function collectDomains(def: ModuleDef): string[] { + const fromInterfaces = def.interfaces.map((iface) => iface.domain); + const fromMetadata = (def.domains ?? []).map((d) => d.domain); + return uniqueSorted([...fromInterfaces, ...fromMetadata]); +} + +/** + * Self-hosted thumbnail (docs/showcase-plan.md § 2.3 artifacts): a part may + * ship library/parts//artifacts/thumbnail.png; it is copied into + * library/dist/thumbnails/.png and referenced dist-relative. Falls back + * to an externally-hosted image artifact URL on the ModuleDef. + */ +function findThumbnail(def: ModuleDef): string | undefined { + if (existsSync(hostedThumbnailSource(def.id))) { + return `thumbnails/${def.id}.png`; + } + const artifact = (def.artifacts ?? []).find( + (a) => + a.url !== undefined && + (a.tags?.includes("thumbnail") || a.mimeType?.startsWith("image/")), + ); + return artifact?.url; +} + +function hostedThumbnailSource(id: string): string { + return join(partsSrcDir, id, "artifacts", "thumbnail.png"); +} + +function toManifestEntry(def: ModuleDef): ManifestEntry { + return { + id: def.id, + name: def.name, + description: def.description, + version: def.version, + manufacturer: def.manufacturer, + part_number: def.part_number, + taxonomy: collectTaxonomy(def), + protocols: collectProtocols(def), + domains: collectDomains(def), + thumbnail: findThumbnail(def), + }; +} + +function assertUniqueIds(defs: ModuleDef[]): void { + const seen = new Map(); + for (const def of defs) { + seen.set(def.id, (seen.get(def.id) ?? 0) + 1); + } + const duplicates = [...seen.entries()].filter(([, count]) => count > 1); + if (duplicates.length > 0) { + const ids = duplicates.map(([id]) => id).join(", "); + throw new Error(`Duplicate part ids in library/parts: ${ids}`); + } +} + +const distDir = fileURLToPath(new URL("../library/dist", import.meta.url)); +const partsDir = join(distDir, "parts"); +const thumbsDir = join(distDir, "thumbnails"); +const partsSrcDir = fileURLToPath(new URL("../library/parts", import.meta.url)); + +const defs = Object.values(parts) as ModuleDef[]; +if (defs.length === 0) { + throw new Error("No parts exported from library/parts/index.ts"); +} +assertUniqueIds(defs); + +rmSync(distDir, { recursive: true, force: true }); +mkdirSync(partsDir, { recursive: true }); + +const manifest = defs + .map(toManifestEntry) + .sort((a, b) => a.id.localeCompare(b.id)); + +writeFileSync( + join(distDir, "index.json"), + JSON.stringify(manifest, null, 2) + "\n", +); +for (const def of defs) { + writeFileSync( + join(partsDir, `${def.id}.json`), + JSON.stringify(def, null, 2) + "\n", + ); +} + +mkdirSync(thumbsDir, { recursive: true }); +let thumbnailCount = 0; +for (const def of defs) { + const source = hostedThumbnailSource(def.id); + if (existsSync(source)) { + copyFileSync(source, join(thumbsDir, `${def.id}.png`)); + thumbnailCount += 1; + } +} + +console.log( + `library/dist: wrote index.json (${manifest.length} parts) + ${defs.length} part files + ${thumbnailCount} thumbnails`, +); +for (const entry of manifest) { + console.log( + ` ${entry.id} [${entry.domains.join(", ")}] protocols: ${entry.protocols.join(", ") || "—"}`, + ); +} diff --git a/test/esp32-d0wdq6.test.ts b/test/esp32-d0wdq6.test.ts new file mode 100644 index 0000000..3226a24 --- /dev/null +++ b/test/esp32-d0wdq6.test.ts @@ -0,0 +1,82 @@ +import { describe, expect, it } from "vitest"; +import { applyProfile } from "../src/binding/profile.js"; +import { getClaimedInterfaces } from "../src/binding/claims.js"; +import { instantiateModule } from "../src/instance/instantiate.js"; +import { resolveAllInterfaces } from "../src/instance/resolve.js"; +import { ESP32D0WDQ6 } from "./fixtures/esp32-d0wdq6.js"; + +function iface(id: string) { + const found = ESP32D0WDQ6.interfaces.find((candidate) => candidate.id === id); + if (!found) throw new Error(`Missing interface ${id}`); + return found; +} + +describe("ESP32-D0WDQ6 OpenUHD definition", () => { + it("defines identity, domains, and physical package pins", () => { + expect(ESP32D0WDQ6.id).toBe("esp32-d0wdq6"); + expect(ESP32D0WDQ6.manufacturer).toBe("Espressif Systems"); + expect(ESP32D0WDQ6.part_number).toBe("ESP32-D0WDQ6"); + expect(ESP32D0WDQ6.domains?.map((domain) => domain.domain)).toEqual([ + "electrical", + "mechanical", + "thermal", + "network", + ]); + + const physicalPads = new Set( + ESP32D0WDQ6.interfaces + .map((interfaceDef) => interfaceDef.pin) + .filter((pin) => pin !== undefined), + ); + expect(physicalPads.size).toBe(49); + }); + + it("models input-only GPIO34-GPIO39 without output roles", () => { + const sensorVp = iface("sensor_vp"); + + expect(sensorVp.protocols.find((protocol) => protocol.type === "digital")?.roles).toEqual(["input"]); + expect(sensorVp.capabilities).toContain("analog_in"); + expect(sensorVp.capabilities).toContain("adc1_ch0"); + expect(sensorVp.capabilities).not.toContain("pwm_out"); + }); + + it("validates default I2C, SPI, UART, ADC, and JTAG profiles", () => { + expect(applyProfile(ESP32D0WDQ6, "i2c", "i2c0_default")?.validation.valid).toBe(true); + expect(applyProfile(ESP32D0WDQ6, "spi", "hspi_default")?.validation.valid).toBe(true); + expect(applyProfile(ESP32D0WDQ6, "spi", "vspi_default")?.validation.valid).toBe(true); + expect(applyProfile(ESP32D0WDQ6, "uart", "uart0_default")?.validation.valid).toBe(true); + expect(applyProfile(ESP32D0WDQ6, "adc1", "adc1_channels")?.validation.valid).toBe(true); + expect(applyProfile(ESP32D0WDQ6, "adc2", "adc2_channels")?.validation.valid).toBe(true); + expect(applyProfile(ESP32D0WDQ6, "jtag", "jtag_default")?.validation.valid).toBe(true); + }); + + it("activates and claims the external SPI flash pads by default", () => { + const instance = instantiateModule(ESP32D0WDQ6); + const claimed = getClaimedInterfaces(instance.interfaceStates); + + expect(instance.interfaceStates.qspi_flash.instances.spi0_flash_default.active).toBe(true); + expect(claimed.has("sd_clk")).toBe(true); + expect(claimed.has("sd_cmd")).toBe(true); + expect(claimed.has("sd_data_0")).toBe(true); + expect(claimed.has("sd_data_1")).toBe(true); + expect(claimed.has("sd_data_2")).toBe(true); + expect(claimed.has("sd_data_3")).toBe(true); + }); + + it("keeps optional buses inactive until a profile is selected", () => { + const instance = instantiateModule(ESP32D0WDQ6); + const resolved = resolveAllInterfaces(ESP32D0WDQ6, instance); + + expect(resolved.find((entry) => entry.interfaceDef.id === "i2c")?.active).toBe(false); + expect(resolved.find((entry) => entry.interfaceDef.id === "spi")?.active).toBe(false); + expect(resolved.find((entry) => entry.interfaceDef.id === "uart")?.active).toBe(false); + expect(resolved.find((entry) => entry.interfaceDef.id === "qspi_flash")?.active).toBe(true); + }); + + it("bridges the wireless radios to the shared LNA_IN RF feed", () => { + expect(iface("wifi_radio").bridgesTo).toContain("lna_in"); + expect(iface("bluetooth_radio").bridgesTo).toContain("lna_in"); + expect(iface("lna_in").bridgesTo).toEqual(["wifi_radio", "bluetooth_radio"]); + }); +}); + diff --git a/test/fixtures/esp32-d0wdq6.ts b/test/fixtures/esp32-d0wdq6.ts new file mode 100644 index 0000000..7491514 --- /dev/null +++ b/test/fixtures/esp32-d0wdq6.ts @@ -0,0 +1,1048 @@ +import type { InterfaceDef, ModuleDef, SlotDef } from "../../src/types/index.js"; +import { + ADC, + DAC, + Ground, + I2C, + Pin, + PowerIn, + SPI, + UART, + defineModule, + type PinConfig, +} from "../../src/protocols/index.js"; + +type Esp32PinConfig = PinConfig & { + functions: string[]; + extraCapabilities?: string[]; + sourceCurrentmA?: number; + sinkCurrentmA?: number; + strapping?: boolean; + externalFlashPad?: boolean; +}; + +const VDD_RTC: [number, number] = [2.3, 3.6]; +const VDD_IO: [number, number] = [1.8, 3.6]; +const GPIO_DRIVE_MA = 28; + +const MATRIX_IN = ["twai_rx", "rmt_in"]; +const MATRIX_OUT = ["twai_tx", "twai_clkout", "rmt_out", "clk_out"]; +const MATRIX_BIDIR = [...MATRIX_IN, ...MATRIX_OUT]; + +function unique(values: string[]): string[] { + return [...new Set(values)]; +} + +function addTraits( + iface: InterfaceDef, + capabilities: string[], + params: Record, +): InterfaceDef { + return { + ...iface, + capabilities: unique([...(iface.capabilities ?? []), ...capabilities]), + traits: [ + ...(iface.traits ?? []), + { type: "esp32_pin_functions", params }, + ], + }; +} + +function esp32Pin(config: Esp32PinConfig): InterfaceDef { + const { + functions, + extraCapabilities = [], + sourceCurrentmA, + sinkCurrentmA, + strapping, + externalFlashPad, + ...pinConfig + } = config; + + const capabilities = [...extraCapabilities]; + if (strapping) capabilities.push("strapping_pin"); + if (externalFlashPad) capabilities.push("external_flash_pad"); + + return addTraits(Pin(pinConfig), capabilities, { + functions, + ...(sourceCurrentmA !== undefined || sinkCurrentmA !== undefined + ? { current_mA: { source: sourceCurrentmA, sink: sinkCurrentmA } } + : {}), + ...(strapping ? { boot_strapping_pin: true } : {}), + ...(externalFlashPad ? { normally_reserved_for_external_flash: true } : {}), + }); +} + +function digitalInput( + id: string, + name: string, + pin: number, + capabilities: string[], +): InterfaceDef { + return { + id, + name, + pin, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "digital", roles: ["input"] }], + capabilities: ["digital_in", ...capabilities], + parameters: [{ id: "voltage", unit: "V", range: VDD_RTC }], + }; +} + +function composed( + id: string, + name: string, + protocolType: string, + roles: string[], + slots: SlotDef[], + profiles?: InterfaceDef["profiles"], + maxInstances?: number, + defaultActive = false, + domain: InterfaceDef["domain"] = "electrical", +): InterfaceDef { + return { + id, + name, + domain, + exposed: true, + default_active: defaultActive, + protocols: [{ type: protocolType, roles }], + slots, + ...(profiles ? { profiles } : {}), + ...(maxInstances !== undefined ? { max_instances: maxInstances } : {}), + }; +} + +const powerPins: InterfaceDef[] = [ + PowerIn({ id: "vdda_1", name: "VDDA Analog Supply 1", pin: 1, voltageV: VDD_RTC, nominalV: 3.3, maxCurrentA: 0.5 }), + PowerIn({ id: "vdd3p3_3", name: "VDD3P3 RF PA Supply 1", pin: 3, voltageV: VDD_RTC, nominalV: 3.3, maxCurrentA: 0.5 }), + PowerIn({ id: "vdd3p3_4", name: "VDD3P3 RF PA Supply 2", pin: 4, voltageV: VDD_RTC, nominalV: 3.3, maxCurrentA: 0.5 }), + PowerIn({ id: "vdd3p3_rtc", name: "VDD3P3 RTC IO Supply", pin: 19, voltageV: VDD_RTC, nominalV: 3.3, maxCurrentA: 0.04 }), + { + id: "vdd_sdio", + name: "VDD_SDIO Supply", + pin: 26, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "power", roles: ["input", "output"] }], + parameters: [ + { id: "voltage", unit: "V", value: 3.3, range: VDD_IO }, + { id: "max_current", unit: "A", value: 0.04 }, + ], + capabilities: ["vdd_sdio"], + }, + PowerIn({ id: "vdd3p3_cpu", name: "VDD3P3 CPU IO Supply", pin: 37, voltageV: VDD_IO, nominalV: 3.3, maxCurrentA: 0.04 }), + PowerIn({ id: "vdda_43", name: "VDDA Analog Supply 2", pin: 43, voltageV: VDD_RTC, nominalV: 3.3, maxCurrentA: 0.5 }), + PowerIn({ id: "vdda_46", name: "VDDA Analog Supply 3", pin: 46, voltageV: VDD_RTC, nominalV: 3.3, maxCurrentA: 0.5 }), + Ground({ id: "gnd", name: "Exposed Ground / Thermal Pad", pin: 49, maxCurrentA: 1.2 }), +]; + +const specialPins: InterfaceDef[] = [ + { + id: "lna_in", + name: "LNA_IN 2.4 GHz RF Feed", + pin: 2, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "rf", roles: ["transceiver"] }], + capabilities: ["rf_2g4_antenna_feed"], + parameters: [ + { id: "impedance", unit: "ohm", value: 50 }, + { id: "frequency", unit: "Hz", range: [2_400_000_000, 2_500_000_000] }, + ], + bridgesTo: ["wifi_radio", "bluetooth_radio"], + }, + digitalInput("chip_pu", "CHIP_PU Enable", 9, ["chip_enable", "reset_input"]), + { + id: "xtal_n", + name: "XTAL_N Crystal Output", + pin: 44, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "clock", roles: ["output"] }], + capabilities: ["crystal_out"], + parameters: [{ id: "clock_freq", unit: "Hz", value: 40_000_000 }], + }, + { + id: "xtal_p", + name: "XTAL_P Crystal Input", + pin: 45, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "clock", roles: ["input"] }], + capabilities: ["crystal_in"], + parameters: [{ id: "clock_freq", unit: "Hz", value: 40_000_000 }], + }, + { + id: "cap2", + name: "CAP2 Bias Network Pin", + pin: 47, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "analog", roles: ["input"] }], + capabilities: ["bias_capacitor_pin"], + }, + { + id: "cap1", + name: "CAP1 Bias Capacitor Pin", + pin: 48, + domain: "electrical", + exposed: true, + default_active: true, + protocols: [{ type: "analog", roles: ["input"] }], + capabilities: ["bias_capacitor_pin"], + }, +]; + +const gpioPins: InterfaceDef[] = [ + esp32Pin({ + id: "sensor_vp", + name: "GPIO36 / SENSOR_VP / ADC1_CH0", + pin: 5, + voltageV: VDD_RTC, + capabilities: { inputOnly: true, analogIn: true, interrupt: true }, + functions: ["GPIO36", "ADC1_CH0", "RTC_GPIO0", "SENSOR_VP"], + extraCapabilities: ["gpio36", "adc1_ch0", "rtc_gpio0", ...MATRIX_IN], + }), + esp32Pin({ + id: "sensor_capp", + name: "GPIO37 / SENSOR_CAPP / ADC1_CH1", + pin: 6, + voltageV: VDD_RTC, + capabilities: { inputOnly: true, analogIn: true, interrupt: true }, + functions: ["GPIO37", "ADC1_CH1", "RTC_GPIO1", "SENSOR_CAPP"], + extraCapabilities: ["gpio37", "adc1_ch1", "rtc_gpio1", ...MATRIX_IN], + }), + esp32Pin({ + id: "sensor_capn", + name: "GPIO38 / SENSOR_CAPN / ADC1_CH2", + pin: 7, + voltageV: VDD_RTC, + capabilities: { inputOnly: true, analogIn: true, interrupt: true }, + functions: ["GPIO38", "ADC1_CH2", "RTC_GPIO2", "SENSOR_CAPN"], + extraCapabilities: ["gpio38", "adc1_ch2", "rtc_gpio2", ...MATRIX_IN], + }), + esp32Pin({ + id: "sensor_vn", + name: "GPIO39 / SENSOR_VN / ADC1_CH3", + pin: 8, + voltageV: VDD_RTC, + capabilities: { inputOnly: true, analogIn: true, interrupt: true }, + functions: ["GPIO39", "ADC1_CH3", "RTC_GPIO3", "SENSOR_VN"], + extraCapabilities: ["gpio39", "adc1_ch3", "rtc_gpio3", ...MATRIX_IN], + }), + esp32Pin({ + id: "vdet_1", + name: "GPIO34 / VDET_1 / ADC1_CH6", + pin: 10, + voltageV: VDD_RTC, + capabilities: { inputOnly: true, analogIn: true, interrupt: true }, + functions: ["GPIO34", "ADC1_CH6", "RTC_GPIO4", "VDET_1"], + extraCapabilities: ["gpio34", "adc1_ch6", "rtc_gpio4", ...MATRIX_IN], + }), + esp32Pin({ + id: "vdet_2", + name: "GPIO35 / VDET_2 / ADC1_CH7", + pin: 11, + voltageV: VDD_RTC, + capabilities: { inputOnly: true, analogIn: true, interrupt: true }, + functions: ["GPIO35", "ADC1_CH7", "RTC_GPIO5", "VDET_2"], + extraCapabilities: ["gpio35", "adc1_ch7", "rtc_gpio5", ...MATRIX_IN], + }), + esp32Pin({ + id: "32k_xp", + name: "GPIO32 / ADC1_CH4 / TOUCH9 / 32K_XP", + pin: 12, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO32", "ADC1_CH4", "RTC_GPIO9", "TOUCH9", "32K_XP"], + extraCapabilities: ["gpio32", "adc1_ch4", "rtc_gpio9", "touch9", "xtal_32k_xp", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "32k_xn", + name: "GPIO33 / ADC1_CH5 / TOUCH8 / 32K_XN", + pin: 13, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO33", "ADC1_CH5", "RTC_GPIO8", "TOUCH8", "32K_XN"], + extraCapabilities: ["gpio33", "adc1_ch5", "rtc_gpio8", "touch8", "xtal_32k_xn", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio25", + name: "GPIO25 / ADC2_CH8 / DAC_1 / EMAC_RXD0", + pin: 14, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, analogOut: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO25", "ADC2_CH8", "RTC_GPIO6", "DAC_1", "EMAC_RXD0"], + extraCapabilities: ["gpio25", "adc2_ch8", "rtc_gpio6", "dac1", "emac_rxd0", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio26", + name: "GPIO26 / ADC2_CH9 / DAC_2 / EMAC_RXD1", + pin: 15, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, analogOut: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO26", "ADC2_CH9", "RTC_GPIO7", "DAC_2", "EMAC_RXD1"], + extraCapabilities: ["gpio26", "adc2_ch9", "rtc_gpio7", "dac2", "emac_rxd1", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio27", + name: "GPIO27 / ADC2_CH7 / TOUCH7 / EMAC_RX_DV", + pin: 16, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO27", "ADC2_CH7", "RTC_GPIO17", "TOUCH7", "EMAC_RX_DV"], + extraCapabilities: ["gpio27", "adc2_ch7", "rtc_gpio17", "touch7", "emac_rx_dv", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "mtms", + name: "GPIO14 / MTMS / HSPICLK / ADC2_CH6", + pin: 17, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true, spiSck: true }, + functions: ["GPIO14", "ADC2_CH6", "RTC_GPIO16", "TOUCH6", "EMAC_TXD2", "HSPICLK", "HS2_CLK", "SD_CLK", "MTMS"], + extraCapabilities: ["gpio14", "adc2_ch6", "rtc_gpio16", "touch6", "emac_txd2", "sdio_clk", "jtag_tms", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "mtdi", + name: "GPIO12 / MTDI / HSPIQ / ADC2_CH5", + pin: 18, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true, spiMiso: true }, + functions: ["GPIO12", "ADC2_CH5", "RTC_GPIO15", "TOUCH5", "EMAC_TXD3", "HSPIQ", "HS2_DATA2", "SD_DATA2", "MTDI"], + extraCapabilities: ["gpio12", "adc2_ch5", "rtc_gpio15", "touch5", "emac_txd3", "sdio_data2", "jtag_tdi", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + strapping: true, + }), + esp32Pin({ + id: "mtck", + name: "GPIO13 / MTCK / HSPID / ADC2_CH4", + pin: 20, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true, spiMosi: true }, + functions: ["GPIO13", "ADC2_CH4", "RTC_GPIO14", "TOUCH4", "EMAC_RX_ER", "HSPID", "HS2_DATA3", "SD_DATA3", "MTCK"], + extraCapabilities: ["gpio13", "adc2_ch4", "rtc_gpio14", "touch4", "emac_rx_er", "sdio_data3", "jtag_tck", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "mtdo", + name: "GPIO15 / MTDO / HSPICS0 / ADC2_CH3", + pin: 21, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true, spiSs: true }, + functions: ["GPIO15", "ADC2_CH3", "RTC_GPIO13", "TOUCH3", "EMAC_RXD3", "HSPICS0", "HS2_CMD", "SD_CMD", "MTDO"], + extraCapabilities: ["gpio15", "adc2_ch3", "rtc_gpio13", "touch3", "emac_rxd3", "sdio_cmd", "jtag_tdo", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + strapping: true, + }), + esp32Pin({ + id: "gpio2", + name: "GPIO2 / ADC2_CH2 / TOUCH2 / HSPIWP", + pin: 22, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO2", "ADC2_CH2", "RTC_GPIO12", "TOUCH2", "HSPIWP", "HS2_DATA0", "SD_DATA0"], + extraCapabilities: ["gpio2", "adc2_ch2", "rtc_gpio12", "touch2", "spi_wp", "sdio_data0", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + strapping: true, + }), + esp32Pin({ + id: "gpio0", + name: "GPIO0 / ADC2_CH1 / TOUCH1 / EMAC_TX_CLK", + pin: 23, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO0", "ADC2_CH1", "RTC_GPIO11", "TOUCH1", "EMAC_TX_CLK", "CLK_OUT1"], + extraCapabilities: ["gpio0", "adc2_ch1", "rtc_gpio11", "touch1", "emac_tx_clk", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + strapping: true, + }), + esp32Pin({ + id: "gpio4", + name: "GPIO4 / ADC2_CH0 / TOUCH0 / HSPIHD", + pin: 24, + voltageV: VDD_RTC, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, analogIn: true, touch: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO4", "ADC2_CH0", "RTC_GPIO10", "TOUCH0", "EMAC_TX_ER", "HSPIHD", "HS2_DATA1", "SD_DATA1"], + extraCapabilities: ["gpio4", "adc2_ch0", "rtc_gpio10", "touch0", "spi_hd", "emac_tx_er", "sdio_data1", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio16", + name: "GPIO16 / U2RXD / HS1_DATA4", + pin: 25, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, uartRx: true }, + functions: ["GPIO16", "HS1_DATA4", "U2RXD", "EMAC_CLK_OUT"], + extraCapabilities: ["gpio16", "sdio_data4", "emac_clk_out", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio17", + name: "GPIO17 / U2TXD / HS1_DATA5", + pin: 27, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, uartTx: true }, + functions: ["GPIO17", "HS1_DATA5", "U2TXD", "EMAC_CLK_OUT_180"], + extraCapabilities: ["gpio17", "sdio_data5", "emac_clk_out_180", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "sd_data_2", + name: "GPIO9 / SD_DATA2 / SPIHD / U1RXD", + pin: 28, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, uartRx: true }, + functions: ["GPIO9", "HS1_DATA2", "U1RXD", "SD_DATA2", "SPIHD"], + extraCapabilities: ["gpio9", "sdio_data2", "spi_hd", ...MATRIX_BIDIR], + sourceCurrentmA: 30, + sinkCurrentmA: 28, + externalFlashPad: true, + }), + esp32Pin({ + id: "sd_data_3", + name: "GPIO10 / SD_DATA3 / SPIWP / U1TXD", + pin: 29, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, uartTx: true }, + functions: ["GPIO10", "HS1_DATA3", "U1TXD", "SD_DATA3", "SPIWP"], + extraCapabilities: ["gpio10", "sdio_data3", "spi_wp", ...MATRIX_BIDIR], + sourceCurrentmA: 30, + sinkCurrentmA: 28, + externalFlashPad: true, + }), + esp32Pin({ + id: "sd_cmd", + name: "GPIO11 / SD_CMD / SPICS0 / U1RTS", + pin: 30, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiSs: true, uartRts: true }, + functions: ["GPIO11", "HS1_CMD", "U1RTS", "SD_CMD", "SPICS0"], + extraCapabilities: ["gpio11", "sdio_cmd", ...MATRIX_BIDIR], + sourceCurrentmA: 30, + sinkCurrentmA: 28, + externalFlashPad: true, + }), + esp32Pin({ + id: "sd_clk", + name: "GPIO6 / SD_CLK / SPICLK / U1CTS", + pin: 31, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiSck: true, uartCts: true }, + functions: ["GPIO6", "HS1_CLK", "U1CTS", "SD_CLK", "SPICLK"], + extraCapabilities: ["gpio6", "sdio_clk", ...MATRIX_BIDIR], + sourceCurrentmA: 30, + sinkCurrentmA: 28, + externalFlashPad: true, + }), + esp32Pin({ + id: "sd_data_0", + name: "GPIO7 / SD_DATA0 / SPIQ / U2RTS", + pin: 32, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiMiso: true, uartRts: true }, + functions: ["GPIO7", "HS1_DATA0", "U2RTS", "SD_DATA0", "SPIQ"], + extraCapabilities: ["gpio7", "sdio_data0", ...MATRIX_BIDIR], + sourceCurrentmA: 30, + sinkCurrentmA: 28, + externalFlashPad: true, + }), + esp32Pin({ + id: "sd_data_1", + name: "GPIO8 / SD_DATA1 / SPID / U2CTS", + pin: 33, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiMosi: true, uartCts: true }, + functions: ["GPIO8", "HS1_DATA1", "U2CTS", "SD_DATA1", "SPID"], + extraCapabilities: ["gpio8", "sdio_data1", ...MATRIX_BIDIR], + sourceCurrentmA: 30, + sinkCurrentmA: 28, + externalFlashPad: true, + }), + esp32Pin({ + id: "gpio5", + name: "GPIO5 / VSPICS0 / EMAC_RX_CLK", + pin: 34, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiSs: true }, + functions: ["GPIO5", "HS1_DATA6", "VSPICS0", "EMAC_RX_CLK"], + extraCapabilities: ["gpio5", "sdio_data6", "emac_rx_clk", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + strapping: true, + }), + esp32Pin({ + id: "gpio18", + name: "GPIO18 / VSPICLK / HS1_DATA7", + pin: 35, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiSck: true }, + functions: ["GPIO18", "HS1_DATA7", "VSPICLK"], + extraCapabilities: ["gpio18", "sdio_data7", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio23", + name: "GPIO23 / VSPID / HS1_STROBE", + pin: 36, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiMosi: true }, + functions: ["GPIO23", "HS1_STROBE", "VSPID"], + extraCapabilities: ["gpio23", "sdio_strobe", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio19", + name: "GPIO19 / U0CTS / VSPIQ / EMAC_TXD0", + pin: 38, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, spiMiso: true, uartCts: true }, + functions: ["GPIO19", "U0CTS", "VSPIQ", "EMAC_TXD0"], + extraCapabilities: ["gpio19", "emac_txd0", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio22", + name: "GPIO22 / U0RTS / VSPIWP / EMAC_TXD1", + pin: 39, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, uartRts: true }, + functions: ["GPIO22", "U0RTS", "VSPIWP", "EMAC_TXD1"], + extraCapabilities: ["gpio22", "spi_wp", "emac_txd1", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "u0rxd", + name: "GPIO3 / U0RXD / CLK_OUT2", + pin: 40, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, uartRx: true }, + functions: ["GPIO3", "U0RXD", "CLK_OUT2"], + extraCapabilities: ["gpio3", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "u0txd", + name: "GPIO1 / U0TXD / CLK_OUT3 / EMAC_RXD2", + pin: 41, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true, uartTx: true }, + functions: ["GPIO1", "U0TXD", "CLK_OUT3", "EMAC_RXD2"], + extraCapabilities: ["gpio1", "emac_rxd2", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), + esp32Pin({ + id: "gpio21", + name: "GPIO21 / VSPIHD / EMAC_TX_EN", + pin: 42, + voltageV: VDD_IO, + driveCurrentmA: GPIO_DRIVE_MA, + capabilities: { pwm: true, interrupt: true, i2cSda: true, i2cScl: true }, + functions: ["GPIO21", "VSPIHD", "EMAC_TX_EN"], + extraCapabilities: ["gpio21", "spi_hd", "emac_tx_en", ...MATRIX_BIDIR], + sourceCurrentmA: 40, + sinkCurrentmA: 28, + }), +]; + +const qspiFlash = composed( + "qspi_flash", + "SPI0/1 External Flash Interface", + "spi", + ["master"], + [ + { id: "sck", required: true, match: { protocol: "spi", role: "clock", capability: "spi_sck" } }, + { id: "cs", required: true, match: { protocol: "spi", role: "select", capability: "spi_ss" } }, + { id: "io0", required: true, match: { protocol: "spi", role: "data_out", capability: "spi_mosi" } }, + { id: "io1", required: true, match: { protocol: "spi", role: "data_in", capability: "spi_miso" } }, + { id: "io2", required: true, match: { capability: "spi_wp" } }, + { id: "io3", required: true, match: { capability: "spi_hd" } }, + ], + [ + { + id: "spi0_flash_default", + label: "SPI0/1 Flash (GPIO6-GPIO11)", + default_active: true, + bindings: { + sck: "sd_clk", + cs: "sd_cmd", + io0: "sd_data_1", + io1: "sd_data_0", + io2: "sd_data_3", + io3: "sd_data_2", + }, + }, + ], + 1, + true, +); + +const ledcPwm = composed( + "ledc_pwm", + "LEDC PWM Generator", + "pwm", + ["output"], + [{ id: "channel", required: true, match: { protocol: "pwm", role: "output", capability: "pwm_out" } }], + undefined, + 16, +); + +const twai = composed( + "twai", + "TWAI CAN 2.0 Controller", + "twai", + ["controller"], + [ + { id: "rx", required: true, match: { capability: "twai_rx" } }, + { id: "tx", required: true, match: { capability: "twai_tx" } }, + ], + undefined, + 1, +); + +const touch = composed( + "touch", + "Capacitive Touch Sensors", + "capacitive_touch", + ["input"], + [{ id: "channel", required: true, count: 10, match: { capability: "touch" } }], + [ + { + id: "touch_channels", + bindings: { + channel: ["gpio4", "gpio0", "gpio2", "mtdo", "mtck", "mtdi", "mtms", "gpio27", "32k_xn", "32k_xp"], + }, + }, + ], + 10, +); + +const jtag = composed( + "jtag", + "JTAG Debug Port", + "jtag", + ["target"], + [ + { id: "tms", required: true, match: { capability: "jtag_tms" } }, + { id: "tck", required: true, match: { capability: "jtag_tck" } }, + { id: "tdi", required: true, match: { capability: "jtag_tdi" } }, + { id: "tdo", required: true, match: { capability: "jtag_tdo" } }, + ], + [{ id: "jtag_default", bindings: { tms: "mtms", tck: "mtck", tdi: "mtdi", tdo: "mtdo" } }], + 1, +); + +const sdio = composed( + "sdio", + "SDIO / SDMMC Host", + "sdio", + ["host", "device"], + [ + { id: "clk", required: true, match: { capability: "sdio_clk" } }, + { id: "cmd", required: true, match: { capability: "sdio_cmd" } }, + { id: "data0", required: true, match: { capability: "sdio_data0" } }, + { id: "data1", required: true, match: { capability: "sdio_data1" } }, + { id: "data2", required: false, match: { capability: "sdio_data2" } }, + { id: "data3", required: false, match: { capability: "sdio_data3" } }, + { id: "data4", required: false, match: { capability: "sdio_data4" } }, + { id: "data5", required: false, match: { capability: "sdio_data5" } }, + { id: "data6", required: false, match: { capability: "sdio_data6" } }, + { id: "data7", required: false, match: { capability: "sdio_data7" } }, + { id: "strobe", required: false, match: { capability: "sdio_strobe" } }, + ], + [ + { + id: "sdio_slot1_8bit", + label: "SDIO Slot 1 (GPIO6-GPIO11, GPIO16-GPIO18, GPIO23)", + bindings: { + clk: "sd_clk", + cmd: "sd_cmd", + data0: "sd_data_0", + data1: "sd_data_1", + data2: "sd_data_2", + data3: "sd_data_3", + data4: "gpio16", + data5: "gpio17", + data6: "gpio5", + data7: "gpio18", + strobe: "gpio23", + }, + }, + { + id: "sdio_slot2_4bit", + label: "SDIO Slot 2 (GPIO2, GPIO4, GPIO12-GPIO15)", + bindings: { + clk: "mtms", + cmd: "mtdo", + data0: "gpio2", + data1: "gpio4", + data2: "mtdi", + data3: "mtck", + }, + }, + ], + 2, +); + +const ethernetMac = composed( + "ethernet_mac", + "Ethernet MAC MII/RMII Signals", + "ethernet_mac", + ["controller"], + [ + { id: "txd0", required: true, match: { capability: "emac_txd0" } }, + { id: "txd1", required: true, match: { capability: "emac_txd1" } }, + { id: "tx_en", required: true, match: { capability: "emac_tx_en" } }, + { id: "rxd0", required: true, match: { capability: "emac_rxd0" } }, + { id: "rxd1", required: true, match: { capability: "emac_rxd1" } }, + { id: "rx_dv", required: false, match: { capability: "emac_rx_dv" } }, + { id: "rx_clk", required: false, match: { capability: "emac_rx_clk" } }, + { id: "tx_clk", required: false, match: { capability: "emac_tx_clk" } }, + { id: "clk_out", required: false, match: { capability: "emac_clk_out" } }, + ], + [ + { + id: "emac_default", + bindings: { + txd0: "gpio19", + txd1: "gpio22", + tx_en: "gpio21", + rxd0: "gpio25", + rxd1: "gpio26", + rx_dv: "gpio27", + rx_clk: "gpio5", + tx_clk: "gpio0", + clk_out: "gpio16", + }, + }, + ], + 1, +); + +const wifiRadio: InterfaceDef = { + id: "wifi_radio", + name: "Wi-Fi 2.4 GHz Radio", + domain: "network", + exposed: true, + default_active: false, + protocols: [{ type: "wifi", roles: ["station", "access_point"] }], + capabilities: ["wifi_802_11_bgn", "wifi_2g4"], + parameters: [ + { id: "frequency", unit: "Hz", range: [2_400_000_000, 2_500_000_000] }, + { id: "max_bandwidth", unit: "dimensionless", value: 150 }, + ], + bridgesTo: ["lna_in"], +}; + +const bluetoothRadio: InterfaceDef = { + id: "bluetooth_radio", + name: "Bluetooth 4.2 BR/EDR + BLE Radio", + domain: "network", + exposed: true, + default_active: false, + protocols: [{ type: "bluetooth", roles: ["peer"] }], + capabilities: ["bluetooth_classic", "bluetooth_le", "bluetooth_2g4"], + parameters: [{ id: "frequency", unit: "Hz", range: [2_400_000_000, 2_500_000_000] }], + bridgesTo: ["lna_in"], +}; + +const footprintMount: InterfaceDef = { + id: "footprint_mounting", + name: "QFN-48 6x6 mm Surface-Mount Footprint", + domain: "mechanical", + exposed: true, + default_active: true, + protocols: [{ type: "mechanical_connection", roles: ["mounting_point"] }], + capabilities: ["qfn48_6x6_0p4mm", "surface_mount"], +}; + +const thermalPad: InterfaceDef = { + id: "thermal_pad", + name: "Exposed Thermal Pad", + pin: 49, + domain: "thermal", + exposed: true, + default_active: true, + protocols: [{ type: "thermal_connection", roles: ["thermal_source"] }], + capabilities: ["heat_sink", "pcb_thermal_plane"], +}; + +export const ESP32D0WDQ6: ModuleDef = defineModule({ + id: "esp32-d0wdq6", + name: "Espressif ESP32-D0WDQ6", + version: "1.0.0", + manufacturer: "Espressif Systems", + part_number: "ESP32-D0WDQ6", + description: + "Bare ESP32-D0WDQ6 SoC in QFN-48 6x6 mm package with dual-core Xtensa LX6, 2.4 GHz Wi-Fi, Bluetooth 4.2 BR/EDR + BLE, and external SPI flash requirement.", + tags: ["esp32", "soc", "microcontroller", "wifi", "bluetooth", "ble", "xtensa-lx6", "qfn-48", "iot"], + categories: ["microcontroller", "connectivity.wireless"], + + interfaces: [ + ...powerPins, + ...specialPins, + ...gpioPins, + + ...ADC({ + id: "adc1", + name: "ADC1 SAR Converter", + instance: 1, + resolutionBits: 12, + rangeV: [0, 3.3], + channels: ["sensor_vp", "sensor_capp", "sensor_capn", "sensor_vn", "32k_xp", "32k_xn", "vdet_1", "vdet_2"], + }), + ...ADC({ + id: "adc2", + name: "ADC2 SAR Converter", + instance: 2, + resolutionBits: 12, + rangeV: [0, 3.3], + channels: ["gpio4", "gpio0", "gpio2", "mtdo", "mtck", "mtdi", "mtms", "gpio27", "gpio25", "gpio26"], + }), + ...DAC({ + id: "dac", + name: "8-bit DAC Outputs", + resolutionBits: 8, + rangeV: [0, 3.3], + channels: ["gpio25", "gpio26"], + }), + ...I2C({ + id: "i2c", + name: "I2C Controllers", + roles: ["master", "slave"], + clockFreqHz: [100_000, 400_000], + voltageV: 3.3, + maxInstances: 2, + profiles: [ + { id: "i2c0_default", label: "I2C0 Default (GPIO21/GPIO22)", sda: "gpio21", scl: "gpio22" }, + ], + }), + qspiFlash, + ...SPI({ + id: "spi", + name: "HSPI / VSPI User SPI Controllers", + roles: ["master", "slave"], + clockFreqHz: [100_000, 80_000_000], + voltageV: 3.3, + maxInstances: 2, + profiles: [ + { id: "hspi_default", label: "HSPI IO_MUX", mosi: "mtck", miso: "mtdi", sck: "mtms", ss: "mtdo" }, + { id: "vspi_default", label: "VSPI IO_MUX", mosi: "gpio23", miso: "gpio19", sck: "gpio18", ss: "gpio5" }, + ], + }), + ...UART({ + id: "uart", + name: "UART Controllers", + roles: ["host", "device"], + baudRate: [300, 5_000_000], + voltageV: 3.3, + maxInstances: 3, + profiles: [ + { id: "uart0_default", label: "UART0", rx: "u0rxd", tx: "u0txd", rts: "gpio22", cts: "gpio19" }, + { id: "uart1_default", label: "UART1", rx: "sd_data_2", tx: "sd_data_3", rts: "sd_cmd", cts: "sd_clk" }, + { id: "uart2_default", label: "UART2", rx: "gpio16", tx: "gpio17", rts: "sd_data_0", cts: "sd_data_1" }, + ], + }), + ledcPwm, + twai, + touch, + jtag, + sdio, + ethernetMac, + wifiRadio, + bluetoothRadio, + footprintMount, + thermalPad, + ], + + interfaceGroups: [ + { + id: "required_power_pins", + label: "Required Power Pins", + members: ["vdda_1", "vdd3p3_3", "vdd3p3_4", "vdd3p3_rtc", "vdd_sdio", "vdd3p3_cpu", "vdda_43", "vdda_46", "gnd"], + policy: "all_of", + }, + { + id: "boot_strapping_pins", + label: "Boot Strapping Pins", + members: ["gpio0", "gpio2", "gpio5", "mtdi", "mtdo"], + policy: "all_of", + }, + ], + + requirements: [ + { + type: "power", + description: "Primary ESP32 supply rails must be within the ESP32 operating range and capable of Wi-Fi/BT transmit current bursts.", + voltage_V: [2.3, 3.6], + current_mA: 500, + }, + { + type: "interface", + description: "ESP32-D0WDQ6 has no in-package flash; normal boot requires external SPI flash on the SPI0/1 flash interface.", + interface_protocol: "spi", + }, + { + type: "capability", + description: "LNA_IN must connect to a matched 50 ohm 2.4 GHz antenna network.", + capability: "rf_2g4_antenna_feed", + }, + ], + + domains: [ + { + domain: "electrical", + power_domains: [ + { id: "vdda_analog", name: "VDDA / VDD3P3 Analog and RF", nominal_voltage_V: 3.3, voltage_range_V: VDD_RTC, max_current_mA: 500 }, + { id: "io_3v3", name: "VDD_SDIO / VDD3P3_CPU IO", nominal_voltage_V: 3.3, voltage_range_V: VDD_IO, max_current_mA: 40 }, + { id: "gnd", name: "Common Ground", nominal_voltage_V: 0, voltage_range_V: [0, 0], max_current_mA: 1200 }, + ], + metadata: { + pin_count: 49, + max_operating_freq_Hz: 240_000_000, + typical_power_mW: 792, + package_type: "QFN-48", + }, + }, + { + domain: "mechanical", + dimensions_mm: { length: 6, width: 6, height: 0.85 }, + metadata: { + package_type: "QFN-48", + pitch_mm: 0.4, + mounting_method: "surface_mount", + }, + }, + { + domain: "thermal", + operating_temperature_C: [-40, 125], + metadata: { + thermal_design_power_W: 0.79, + primary_heat_path: "exposed_pad_to_pcb_ground_plane", + }, + }, + { + domain: "network", + metadata: { + wireless_standards: ["802.11b", "802.11g", "802.11n", "Bluetooth 4.2 BR/EDR", "Bluetooth LE"], + frequency_bands_ghz: [2.4], + max_bandwidth_mbps: 150, + }, + }, + ], + + traits: [ + { type: "lifecycle_status", params: { status: "not_recommended_for_new_designs", source_definition: "ProtoPart esp32-d0wdq6" } }, + { type: "requires_external_flash", params: { interfaceId: "qspi_flash", defaultProfile: "spi0_flash_default" } }, + { type: "wireless_soc", params: { radios: ["wifi_radio", "bluetooth_radio"], rfFeed: "lna_in" } }, + ], + + artifacts: [ + { + id: "art_datasheet", + name: "ESP32 Series Datasheet v5.2", + type: "datasheet", + url: "https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf", + }, + { + id: "art_technical_reference", + name: "ESP32 Technical Reference Manual", + type: "datasheet", + url: "https://www.espressif.com/sites/default/files/documentation/esp32_technical_reference_manual_en.pdf", + }, + { + id: "art_product_page", + name: "Espressif ESP32 Product Page", + type: "documentation", + url: "https://www.espressif.com/en/products/socs/esp32", + }, + { + id: "art_snapeda", + name: "SnapEDA Symbol and Footprint", + type: "cad", + url: "https://www.snapeda.com/parts/ESP32-D0WDQ6/Espressif%20Systems/view-part/?ref=digikey", + }, + { + id: "art_ultralibrarian", + name: "Ultra Librarian CAD Models", + type: "cad", + url: "https://app.ultralibrarian.com/details/A7AAB95B-922A-11EA-B5D0-0AEBB021A1EA/Espressif-Systems/ESP32-D0WDQ6?ref=digikey", + }, + { + id: "art_chip_image", + name: "ESP32-D0WDQ6 Product Photo", + type: "custom", + filePath: "../ProtoPart/protoparts/esp32-d0wdq6/artifacts/images/ESP32-D0WDQ6_tilted.png", + mimeType: "image/png", + tags: ["image", "product-photo"], + }, + ], + + geometry: { + xScale: 1, + yScale: 1, + outline: { preset: "rectangle" }, + }, +}); + diff --git a/tsconfig.json b/tsconfig.json index 69d3163..84ba9d0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -16,6 +16,6 @@ }, "skipLibCheck": true }, - "include": ["src/**/*.ts", "test/**/*.ts"], + "include": ["src/**/*.ts", "test/**/*.ts", "library/**/*.ts", "scripts/**/*.ts"], "exclude": ["node_modules", "dist"] } From 63df9f52c9720cf4a2045be781fc704808b340bf Mon Sep 17 00:00:00 2001 From: London Yount <74688944+LondonYount@users.noreply.github.com> Date: Wed, 15 Jul 2026 14:56:04 -0500 Subject: [PATCH 4/5] design: add pair visualizer preview renders Add the generated standalone and fragment preview renders for the pair visualizer, alongside the existing visualizer spec and .pen source in design/. These are generated output kept in the repo for reference when iterating on the visualizer design. --- design/visualizer-preview.fragment.html | 285 +++++++++++++++++++++++ design/visualizer-preview.html | 294 ++++++++++++++++++++++++ 2 files changed, 579 insertions(+) create mode 100644 design/visualizer-preview.fragment.html create mode 100644 design/visualizer-preview.html diff --git a/design/visualizer-preview.fragment.html b/design/visualizer-preview.fragment.html new file mode 100644 index 0000000..7a3ec4a --- /dev/null +++ b/design/visualizer-preview.fragment.html @@ -0,0 +1,285 @@ +UHD Visualizer — Screen Mockups + +
+
+
OpenUHD · design/visualizer.pen
+

UHD Pair Visualizer — screen mockups

+

Faithful render of the locked visual designs for protoboard.ai/validate and /parts. Four production screens, then the concept and iteration boards (B-series) that the visualizer spec references.

+
+ +
Production screens
+
+
+

Validate — Results

+

The hero screen at protoboard.ai/validate — two module cards with the B8 shared-region pair scene, verdict banner, and per-connection DRC cards.

+ 1440px +
+
protoboard
/ validate
Parts
Validate
Docs
GitHub
Interface Validator
Check how two UHD modules connect — compatibility, capacity, and parametric constraints.
?a=arduino-nano&b=vl53l0x
MODULE A
arduino-nano
Change
MODULE B
vl53l0x
Change
i2c · master
i2c · slave · 0x29
i2c ↔ i2c
bus · protocol · VALID
sda
A4
sda ↔ sda
sda
SDA
scl
A5
scl ↔ scl
scl
SCL
power · source
power · sink · bridged 2.6–5.5 V
5v ↔ vin
wire · protocol · WARNING
5v
500 mA
5v → vin · regulator onboard
vin
VIN
digital · out
digital · in
d2 ↔ xshut
wire · protocol · VALID
d2
D2
d2 → xshut · shutdown ctl
xshut
XSHUT
UNCONNECTED
3v3
compatible · alternative supply (one_of with 5v)
spi
no counterpart
uart
no counterpart
usb · a0–a3
no counterpart
UNCONNECTED
gpio1
compatible: d3 · interrupt
2v8_out
no counterpart
Select Module A
Select Module B
3
DRC Results
Compatible with warnings
3 connections found · 2 passed · 1 warning · 0 errors
Export report
arduino-nano.i2c ↔ vl53l0x.i2c
bus · 2 conductors
PASS
PROTOCOL
i2c master ↔ slave — roles compatible
SLOT MAP
sda ↔ sda (A4) · scl ↔ scl (A5) — profile: default
PARAMETRIC
logic level 5.0 V within slave tolerant range 2.6 – 5.5 V
CAPACITY
bus address 0x29 — 1 of 112 addresses in use
arduino-nano.5v ↔ vl53l0x.vin
wire
1 WARNING
PROTOCOL
power source ↔ sink — roles compatible
PARAMETRIC
supply 4.5 – 5.5 V exceeds bare-die VCC range 2.6 – 3.5 V — onboard regulator required (present on this breakout)
CAPACITY
5V rail budget: 19 mA of 500 mA
arduino-nano.d2 ↔ vl53l0x.xshut
wire
PASS
PROTOCOL
digital out ↔ in — shutdown control, optional connection
UNMATCHED INTERFACES — NOT ERRORS, JUST NO COUNTERPART
arduino-nano
spi
uart
3v3
d3–d13
a0–a3
vin
vl53l0x
gpio1 (interrupt)
Other matches for arduino-nano
Browse all parts →
3 ifaces match
bme280
Bosch · env sensor
2 ifaces match
ssd1306
Solomon · OLED 128×64
4 ifaces match
l298n
ST · motor driver
2 ifaces match
sg90-servo
TowerPro · micro servo
+
+
+
+

Validate — Select Module B

+

Step ② of the validator wizard: search/filter the library, pre-ranked by compatibility with the module already in slot A.

+ 1440px +
+
protoboard
/ validate
Parts
Validate
Docs
GitHub
Interface Validator
Step 2 — choose the module to validate against arduino-nano.
?a=arduino-nano
MODULE A
Change
arduino-nano
Arduino · A000005 · rev3
i2c
spi
uart
5v
Connections will appear here once Module B is selected
Select Module B
search below or pick a suggested match
Select Module A
2
Select Module B
3
DRC Results
Search 168 parts — name, protocol, manufacturer…
Filters
FILTER:
compatible with A
i2c
sensor
electrical
mechanical
Suggested matches — ranked by shared interfaces with arduino-nano
3 ifaces match
vl53l0x
STMicro · ToF distance sensor
i2c
2.8v
gpio
3 ifaces match
bme280
Bosch · temp / humidity / pressure
i2c
spi
3v3
2 ifaces match
ssd1306
Solomon · OLED display 128×64
i2c
3v3
4 ifaces match
l298n
ST · dual H-bridge motor driver
motor
pwm
12v
All parts
sg90-servo
TowerPro · micro servo 9 g
pwm
5v
hc-sr04
Elecfreaks · ultrasonic ranger
digital
5v
raspberry-pi-pico
Raspberry Pi · RP2040 dev board
i2c
spi
uart
usb
buck-mp1584
MPS · 3 A step-down module
power
12v→5v
+
+
+
+

Parts — Library

+

protoboard.ai/parts — the step.parts-style dense card grid with search, filter, and pagination.

+ 1440px +
+
protoboard
/ parts
Parts
Validate
Docs
GitHub
Parts Library
168 open UHD module definitions — interfaces, parameters, and artifacts. Apache-2.0.
Contribute a part
Search parts — name, protocol, manufacturer, taxonomy…
Show filters
1–12 of 168
Sort: recently added
arduino-nano
Arduino · ATmega328P dev board
i2c
spi
uart
5v
uhd.json
vl53l0x
STMicro · ToF distance sensor
i2c
2.8v
gpio
uhd.json
bme280
Bosch · temp / humidity / pressure
i2c
spi
3v3
uhd.json
ssd1306
Solomon · OLED display 128×64
i2c
3v3
uhd.json
l298n
ST · dual H-bridge motor driver
motor
pwm
12v
uhd.json
raspberry-pi-pico
Raspberry Pi · RP2040 dev board
i2c
spi
uart
usb
uhd.json
sg90-servo
TowerPro · micro servo 9 g
pwm
5v
uhd.json
hc-sr04
Elecfreaks · ultrasonic ranger
digital
5v
uhd.json
buck-mp1584
MPS · 3 A step-down module
power
12v→5v
uhd.json
nema17-stepper
Generic · bipolar stepper 1.8°
motor
12v
mech
uhd.json
esp32-devkitc
Espressif · Wi-Fi + BLE dev board
i2c
spi
uart
wifi
uhd.json
battery-12v-3s
Generic · LiPo pack 3S 2200 mAh
power
12v
uhd.json
1
2
3
14
+
+
+
+

Parts — Detail

+

A single part page: metadata, the UHD interface table, artifacts, and the raw uhd.json toggle.

+ 1440px +
+
protoboard
/ parts / arduino-nano
Parts
Validate
Docs
GitHub
Parts Library
arduino-nano
Arduino Nano rev3 — ATmega328P development board. 14 digital I/O, 8 analog inputs, composed I2C / SPI / UART interfaces with pin-profile bindings.
MANUFACTURER
Arduino
PART NUMBER
A000005
VERSION
1.2.0
DOMAINS
electrical
TAXONOMY
mcu.dev-board
LICENSE
Apache-2.0
i2c
spi
uart
pwm
5v
atmega328p
Validate against another part
uhd.json
Datasheet
UHD definition — interfaces
View raw JSON
INTERFACE
DOMAIN
PROTOCOL · ROLE
SLOTS / PROFILE
PARAMETERS
i2c
electrical
i2c · master
sda → A4 · scl → A5 (profile: default)
f_max 400 kHz
spi
electrical
spi · master
mosi → D11 · miso → D12 · sck → D13 · cs → D10
f_max 8 MHz
uart
electrical
uart · peer
tx → D1 · rx → D0
115 200 baud max
5v
electrical
power · source
4.5 – 5.5 V · 500 mA max
3v3
electrical
power · source
3.3 V · 150 mA max
d2 – d13
electrical
digital · in / out
12 pins · pwm on 6
40 mA per pin
a0 – a7
electrical
analog · in
8 pins · 10-bit ADC
0 – 5 V
interface group · power: one_of( usb, vin, 5v-input ) — only one supply may be active
Artifacts
atmega328p-datasheet.pdf
datasheet
external · microchip.com
arduino-nano.step
3d_model
hosted
2.1 MB
nano-pinout.png
documentation
hosted
340 KB
blink-example.hex
firmware
external · github.com
+
+ +
Concept & iteration boards
+
+
+

Concept 0 — Pairing Vocabulary

+

The tier × state × port visual vocabulary the renderings are built from.

+ 720px +
+
Pairing vocabulary — tier × state
Two orthogonal encodings. HOW the pair was established (tier) = line pattern + badge. WHAT the DRC concluded (state) = color. Shared by all three concepts.
TIER — LINE PATTERN
protocol
1.0
Both sides declare the protocol. Solid, full-weight line.
compositional
0.8
One side composed from slots; other side fills them. Solid line with slot junction dot.
inferred
0.5
Counterpart never declares the interface — structure implies it. Dashed line, ghost chip, * prefix.
manual
0.3
User-asserted wiring, no protocol backing. Dotted line + lock.
none
0.0
No valid interpretation. Broken line with ✕.
STATE — COLOR
VALID
VALID_INFERRED
WARNING
CONFIG_NEEDED
INCOMPATIBLE
+
+
+
+

Concept A — Harness Table (WireViz)

+

Export-only build-sheet rendering: connector tables with wire colors.

+ 1240px +
+
A
Harness Table — WireViz-style connector tables
Each side is a connector table (physical pin · leaf interface). Every conductor is a row with a wire-color swatch, like a real harness drawing. Wire color = physical conductor; DRC state lives in badges and the footer pairing row. Strength: closest to build documentation — doubles as wiring instructions. Weakness: interface/slot hierarchy is flattened into grouping headers.
CASE 1 — EXPLICIT PROTOCOL MATCH (i2c)
arduino-nano.i2c
i2c · master · profile: default
bus · 2 conductors
protocol · 1.0
VALID
vl53l0x.i2c
i2c · slave · addr 0x29
A4
sda
YE · sda ↔ sda
sda
SDA
A5
scl
GN · scl ↔ scl
scl
SCL
interface pairing: i2c.master ↔ i2c.slave — all 2 required slots resolved · params pass (f_max 400 kHz ∩ 400 kHz)
CASE 2 — COMPOSITIONAL MATCH, LEFT SIDE INFERRED (motor_control)
*motor_control
inferred
not declared — derived from 3 free digital pins
wire · 3 conductors
inferred · 0.5
VALID_INFERRED
l298n.motor_control
motor_control · target · profile: channel_a
D5
d5
capability: pwm
d5 → slot en
slot en
en_a
D6
d6
capability: digital
d6 → slot in1
slot in1
in1
D7
d7
capability: digital
d7 → slot in2
slot in2
in2
*motor_control.source ↔ target — interface synthesized on arduino-nano · 3/3 required slots resolved · confidence 0.5 · [ accept as manual lock ]
+
+
+
+

Concept B — Breakout Funnel

+

Early funnel-view exploration of a connection.

+ 1240px +
+
B
Breakout Funnel — nested containment (ASCII view, evolved)
Direct translation of renderPairAscii. Composition is shown by physical nesting: interface ⊃ slots ⊃ bound leaves. The center lane carries one pill per pairing level — the interface pairing on top (Tier 2), conductor crossings below (Tier 1/0). An inferred interface is a ghost container drawn around bare pins that never declared it. Strength: teaches the UHD model itself — you can see composition. Weakness: taller than A; needs care at high pin counts.
CASE 1 — EXPLICIT PROTOCOL MATCH (i2c)
arduino-nano
i2c — master
composed · profile: default
slot sda
a4
slot scl
a5
i2c.master ↔ i2c.slave
protocol · 1.0
VALID · bus
sda ↔ sda
scl ↔ scl
vl53l0x
i2c — slave
leaf · addr 0x29
sda
scl
CASE 2 — COMPOSITIONAL MATCH, LEFT SIDE INFERRED (motor_control)
arduino-nano
*motor_control — source
inferred — not declared
d5
pwm · free
d6
digital · free
d7
digital · free
These pins never declare motor_control. The container exists only because l298n's slot requirements are structurally satisfiable here.
*motor_control.source ↔ target
inferred · 0.5
VALID_INFERRED · wire
d5 → en
d6 → in1
d7 → in2
l298n
motor_control — target
composed · profile: channel_a
slot en
en_a
slot in1
in1
slot in2
in2
+
+
+
+

Concept C — Tier Stack Inspector

+

The per-connection DRC card stages: pairing / slot table / conductors + parameters.

+ 1240px +
+
C
Tier Stack — connection list + expandable DRC pipeline
Connections are compact rows in a list; expanding one reveals three stacked bands that mirror the DRC evaluation stages exactly — interface pairing (tier determination), slot resolution (sub-link derivation), conductors & parameters. Confidence is a segmented meter. Strength: scales to many connections, 1:1 with the engine so diagnostics slot in naturally. Weakness: least spatial — you don't 'see' the two modules.
arduino-nano.i2c ↔ vl53l0x.i2c
protocol · 1.0
VALID
arduino-nano.5v ↔ vl53l0x.vin
protocol · 1.0
WARNING
arduino-nano.*motor_control ↔ l298n.motor_control
inferred · 0.5
VALID_INFERRED
TIER 2 — INTERFACE PAIRING
stage 2: tier determination
*motor_control · source — inferred, not declared
motor_control · target — declared, profile channel_a
confidence
No protocol match at tier 1 (arduino-nano declares no motor_control). findCompositionalMatch() succeeded: l298n.motor_control's 3 required slots are all fillable from free pins → interface synthesized via deriveInferredInterface().
TIER 1 — SLOT RESOLUTION
stage 3: sub-link derivation
3 / 3 required slots resolved
SLOT (l298n)
REQUIREMENT
METHOD
BOUND LEAF (nano)
NOTE
en
capability: pwm · required
inferred
d5 (D5)
auto-derived — 5 other pwm pins eligible
in1
capability: digital · required
inferred
d6 (D6)
auto-derived
in2
capability: digital · required
inferred
d7 (D7)
auto-derived · [ lock assignment ]
TIER 0 — CONDUCTORS & PARAMETERS
stage 4: parameter checking per sub-link
d5 ↔ en
logic 5.0 V within en tolerant range 2.3 – 7.0 V · pwm 490 Hz within 0 – 25 kHz
d6 ↔ in1
logic level compatible
d7 ↔ in2
in2 current sink unspecified on l298n — cannot validate, no error
Inferred pairings are suggestions — accepting converts each sub-link to a locked manual link (tier manual → confidence set by you, not the engine).
Accept & lock wiring
Dismiss suggestion
+
+
+
+

Recommendation

+

Design recommendation note.

+ 720px +
+
Recommendation — compose all three, one per altitude
These aren't competing skins — they're different altitudes of the same data. Proposed composition for /validate: + +• C (Tier Stack rows) = the DRC results list. Compact, scales, maps 1:1 to the engine's pipeline stages and diagnostic codes. +• B (Breakout Funnel) = the spatial view inside an expanded row (or the slot-rail edge detail). It's the view that teaches interface ⊃ slot ⊃ leaf composition and makes inference visible as a ghost container. +• A (Harness Table) = the export/'build it' view — printable WireViz-style wiring sheet with wire colors, one per harness. + +Shared vocabulary board (left) is the contract all three obey: tier → line pattern + badge, state → color, inferred → purple + dashed + * + sparkle.
+
+
+
+

B1 — Region Nesting

+

Depth encoded by fill, not indentation.

+ 1300px +
+
B1
Region nesting — interface as territory, 3 levels deep
Each composed interface is a soft-filled region; sub-interfaces are lighter regions inside it; leaves are chips. Depth = fill, not indentation. The harness lane mirrors the same tree: conductors are grouped into labeled bundles per sub-interface, so the wiring reads as the same shape as the composition. Example: a smart-actuator port (Dynamixel-style) — actuator_port ⊃ { uart ⊃ tx/rx, power_12v ⊃ v+/gnd }.
3-LEVEL COMPOSED INTERFACE · PROTOCOL TIER · VALID
arm-controller
actuator_port_1
actuator_port · host
uart
uart · host
tx
→ D16
rx
← D17
power_12v
power · source
v+
12 V rail
gnd
common
actuator_port.host ↔ device
protocol · 1.0
VALID · wire · 4 conductors in 2 bundles
bundle · uart
tx → rx
rx ← tx
bundle · power_12v
v+ ↔ v+
gnd ↔ gnd
dynamixel-servo
actuator_port · device
port
uart · device
uart
rx
half-duplex
tx
half-duplex
power · sink
power_12v
v+
9 – 14.8 V
gnd
common
DEPTH KEY:
L1 · composed interface
L2 · sub-interface
L3 · leaf
+
+
+
+

B2 — Depth Rails (compact)

+

Collapsed outline-tree rendering.

+ 980px +
+
B2
Depth rails — same tree, collapsed density
The fallback treatment when region fills get heavy: a 40-pin MCU with six composed interfaces would drown in nested boxes. Same hierarchy, rendered as an outline with depth rails and collapse chevrons. Regions (B1) and rails (B2) can coexist — rails while browsing, region fill only for the interface participating in the active connection.
arm-controller
actuator_port_1
actuator_port · host
in use → dynamixel-servo
uart
uart · host
tx
D16
rx
D17
power_12v
power · source
v+
12 V rail
gnd
common
actuator_port_2
actuator_port · host
4 leaves · available
i2c
i2c · master
2 leaves · available
power_in
power · sink
one_of group
Active-connection highlight
Rows participating in the selected harness get the L1 region tint; everything else stays flat. Region fill becomes a signal, not decoration.
Port dot = connection state
Green dot: leaf is wired in the current pair. No dot: available. The dot column doubles as the attach point for edge lines when this panel sits in the slot rail.
Collapsed rows keep their contract
A collapsed interface still shows protocol · role and availability, so scanning a 40-pin module never requires expansion.
+
+
+
+

B3 — Missing Visualizations

+

Harness-lane feature vignettes (buses, capacity bars…).

+ 1340px +
+
B3
What's still missing — six visualizations to add to B
Gaps found by walking the UHD type system against concept B: three on the harness side (bus topology, capacity, unresolved slots) and three on the module side (claims, interface groups, parameter ranges). Each maps to an existing type or a validatePair() check.
HARNESS · BUS MULTI-DROP
nano.i2c · master
vl53l0x · 0x29
bme280 · 0x76
add drop · 109 addresses free
Topology 'bus' and 'split' need more than two endpoints. The spine stays horizontal; extra drops hang below with their own state dot and address chip. Maps to HarnessDef.endpoints[2..n].
HARNESS · CAPACITY BUDGET
5v rail — 3 sinks
340 / 500 mA
5v rail + servo — 4 sinks
620 / 500 mA · OVER BUDGET
i2c bus — addresses
3 / 112
Aggregated draws vs supply limit, rendered on the harness spine itself. This is the net-new capacity check in validatePair() — sums current_draw across every connection claiming the rail.
HARNESS · UNRESOLVED SLOT
spi.cs — required
?
CONFIG_NEEDED · 1 of 4 slots unresolved
assign leaf…
A required slot with no counterpart leaf renders as an empty socket and an interrupted conductor — the visual for CONFIGURATION_NEEDED. Click assigns manually → becomes a locked manualLink.
MODULE · CLAIMED LEAVES
a4
in use · Sensor I2C bus (sda)
a5
in use · Sensor I2C bus (scl)
d5
available · pwm
A leaf already consumed by another connection is grayed with a lock and names its claimant. Backed by findClaimConflicts() — prevents double-booking A4 for both i2c and analog read.
MODULE · ONE_OF GROUP
power_in
group · one_of
usb
5 V · active — powering this pair
vin
7 – 12 V · disabled while usb active
5v-input
disabled while usb active
InterfaceGroup policies render as a bracketed radio group inside the module card. Selecting one supply disables the siblings — validateInterfaceGroups() already enforces this; the UI just shows it.
MODULE · PARAMETER RANGE OVERLAP
nano.5v · 4.5 – 5.5 V
vl53l0x.vcc · 2.6 – 3.5 V
∅ no overlap — ERROR
suggestion: route via 3v3 rail (3.0 – 3.6 V ∩ vcc = 3.0 – 3.5 V ✓)
checkParameterCompatibility() output drawn as ranges on a shared axis — the intersection (or its absence) is the diagnostic. Far clearer than prose for voltage mismatches.
+
+
+
+

B4 — Sketch Integrations

+

More harness-lane vignettes (connectors, bridges, groups).

+ 1340px +
+
B4
From the notebook — four ideas integrated from design/concept sketches
1) Interfaces sit ON the module boundary, not inside the card. 2) Conductors carry explicit connector glyphs (pluggable points → connector_type + proprietary exclusivity). 3) One composed interface can be fulfilled by leaves from MULTIPLE modules — per-slot provenance, 'Partial!' state. 4) External interfaces bridge to internal ones inside the module (bridgesTo / can_bridge).
EDGE-MOUNTED INTERFACE — the boundary is the junction
l298n
motor driver
motor_control
target · channel_a
en
in1
in2
wire · 3 conductors
*motor_control
source · inferred
arduino-nano
dev board
Interface blocks dock on the card edge (half chrome, half harness). The module body stays quiet; composition regions (B1) open on selection. Matches how every sketch draws it: module → edge interface → harness.
CONNECTOR GLYPHS — pluggable points on the conductor
nano.i2c
jst-sh-4p · qwiic
vl53l0x.i2c
dxl-ctrl.port
molex-51065 · dynamixel
generic-servo.in
✕ ecosystem lock: dynamixel port mates only within its ecosystem — exclusivity from docs/NOTES.md
The sketches' rings become connector glyphs: ○—○ mated pair with a connector_type chip. Hooks directly into the NOTES.md concept — proprietary ecosystems render as a keyed connector that refuses foreign mates.
SPLIT FULFILLMENT — one interface, multiple source modules
sg90-servo.control — composed · sink
PARTIAL · 2 of 3 slots
slot sig
arm-controller.d9 · pwm
slot 5v
? unfulfilled — needs power · source
slot gnd
? unfulfilled — needs power · source
source 1: arm-controller
add source 2 · suggested: battery-5v, buck-mp1584
Your servo sketch: sig comes from the controller, 5v/gnd from a battery. Each slot carries a provenance chip naming its source module; a slot whose source is missing renders the sketch's 'Partial!' — CONFIGURATION_NEEDED naming exactly what's absent. Requires the pair view to admit third-party ghost modules, and validatePair() to accept context modules.
INTERNAL BRIDGES — what happens behind the external interface
vl53l0x-breakout — interior view
vin · 2.6–5.5 V
can_bridge · ldo regulator
3v3 rail → vdd core
i2c · slave
can_bridge · level shifter
sensor core · 2.8 V logic
DRC consequence: parametric checks should evaluate against the BRIDGED range (2.6–5.5 V), not the bare-die range — this resolves the false warning in the earlier 5v↔vin example.
Your A↔B sketch fans the external interface into internal interfaces. That's the can_bridge trait: power_in bridges to the 3v3 rail via the regulator; i2c bridges to the MCU core. Rendered as an expandable interior lane on the module card — explains WHY a 5 V supply is fine for a 3.3 V sensor board.
+
+
+
+

B5 — PCB Symbol Layout + Match Altitude

+

Two-column schematic-symbol card layout with match-altitude rules.

+ 1420px +
+
B5
B1 evolved — PCB-symbol columns, full interface census, match altitude
Every interface on both modules is shown, PCB-symbol style: two columns per module, interior sides reserved for connectable interfaces, exterior sides carry the rest, both populated evenly. Port state carries the census: ● connected · ◉ compatible but unconnected · ○ no counterpart on the other module. Below: the match-altitude problem — when a child sub-interface matches on its own, the connection attaches at that child's port and the parent reports partial engagement.
FULL CENSUS — ALL INTERFACES VISIBLE, INTERIOR = CONNECTABLE
arduino-nano
9 interfaces · 3 connected · 1 compatible
spi
spi · master · 4 leaves
uart
uart · peer
usb
usb · device
a0–a3
analog · in
i2c
i2c · master
5v
power · source · 500 mA
d2
digital · out
3v3
power · source · 150 mA
vin
power · sink
i2c ↔ i2c
protocol · VALID
5v ↔ vin
protocol · VALID
d2 ↔ xshut
protocol · VALID
3v3 ↔ vin
alternative · one_of with 5v
vl53l0x-breakout
6 interfaces · 3 connected · 1 compatible
i2c
i2c · slave · 0x29
vin
power · sink · 2.6–5.5 V
xshut
digital · in
gpio1
digital · out · interrupt
2v8_out
power · source · 20 mA
gnd
power · common
PORT STATE:
connected
compatible · unconnected (click to connect)
no counterpart on the other module
MATCH ALTITUDE — CHILD MATCHES ON ITS OWN, PARENT PARTIALLY ENGAGED
arm-controller
actuator_port_1
partial · 1 of 2 subs engaged
uart
uart · host · tx rx
power_12v
power · source · v+ gnd
available — needs power·sink (add module: B4 split)
uart.host ↔ uart.device
matched at sub-interface · protocol · VALID
actuator_port_1 itself: no counterpart at this altitude
radio-module
uart
uart · device — this IS its top level (leaf interface)
3v3_in
power · sink — incompatible with power_12v (range ∅)
MATCH-ALTITUDE RULES
1 · The engine pairs top-down and connects at the HIGHEST level both sides declare — one pill per match, attached to the port of the exact region that matched.
2 · When only a child matches, the line exits through the parent's region edge; the parent port becomes a donut (partially engaged) and reports n of m subs.
3 · Deeper regions under a connected parent don't re-pair — the bundle view (B1) already shows their conductor crossings. Their ports render solid, inherited.
4 · Remaining unengaged children keep live hollow ports — power_12v here can still pair with a third module via split fulfillment (B4).
5 · Altitude asymmetry is fine: A connects at sub-interface level while B connects at its top level. The pill names both roles; tier/params evaluate on the matched pair only.
+
+
+
+

B6 — Depth Rails, Both Sides Connected

+

Depth rails with engaged branches.

+ 1360px +
+
B6
B5 census × B2 depth rails — both sides connected
Mirrored outline trees, ports on the interior edges. Connected rows carry the region tint (B2's active highlight) and their ancestor rails turn green, so the engagement path is readable at a glance even in a deep tree. Everything else from the B5 vocabulary carries over: ◉ compatible/unconnected, ○ no counterpart, donut = partially engaged parent, dashed pill = potential connection.
arm-controller
2 connected · 1 partial
actuator_port_1
actuator_port · host
1/2 engaged
uart
uart · host
tx
D16
rx
D17
power_12v
power · source
needs sink
i2c
i2c · master
sda · scl
A4 · A5
actuator_port_2
actuator_port · host
no counterpart
spi
spi · master
no counterpart
usb
usb · device
no counterpart
uart.host ↔ uart.device
sub-interface ↔ top level · VALID
i2c.master ↔ i2c.slave
protocol · VALID
d3 ↔ gpio_int
potential · click ◉ to connect
2 connected · 1 compatible
telemetry-widget
uart
uart · device
top level
rx ← tx
pin 3
tx → rx
pin 4
i2c
i2c · slave
0x62
sda · scl
pins 6 · 7
gpio_int
digital · out
compatible: d3
3v3_in
power · sink
∅ range vs power_12v
antenna
rf · sma
no counterpart
PORT STATE:
connected
partially engaged parent
compatible · unconnected
no counterpart
row tint = engaged in current pair
Reading: green rails trace the engagement path through each tree — on the left, actuator_port_1's rail is green only along the uart branch (donut parent, power_12v still hollow); on the right, uart connects at its top level, so the asymmetric altitude of the same pill is visible as different depths at each end. Inherited children (tx/rx, sda·scl) show no port of their own — their crossings belong to the bundle detail, expandable per pill.
+
+
+
+

B7a — Regions + All Child Wires (flat)

+

Iteration toward the shared-region hero.

+ 1400px +
+
B7a
Expanded regions + a wire for every linked child — flat lane
Connected interfaces expand into B1 regions inline in the tree; every linked leaf gets its own port and its own crossing wire. The lane stacks them flat: parent pairing pill first, child conductor wires beneath.
arm-controller
actuator_port_1
partial 1/2
uart
uart · host
tx
D16
rx
D17
power_12v
available
i2c
i2c · master
sda
A4
scl
A5
spi
no counterpart
usb
no counterpart
uart ↔ uart
sub ↔ top · VALID
tx → rx
rx ← tx
i2c ↔ i2c
protocol · VALID
sda ↔ sda
scl ↔ scl
telemetry-widget
uart
uart · device · top level
rx
pin 3
tx
pin 4
i2c
i2c · slave · 0x62
sda
pin 6
scl
pin 7
gpio_int
compatible: d3
antenna
no counterpart
+
+
+
+

B7b — Regions + Lane Bundles

+

Iteration: bundled conductor lanes.

+ 1400px +
+
B7b
Expanded regions + lane bundles — the harness mirrors the nesting
Same panels; the lane wraps each connected interface's wires in a bundle box whose header IS the pairing (name · tier · state). Region → bundle → region reads as one shape; the box edge doubles as the cable jacket.
arm-controller
actuator_port_1
partial 1/2
uart
uart · host
tx
D16
rx
D17
power_12v
available
i2c
i2c · master
sda
A4
scl
A5
spi
no counterpart
usb
no counterpart
uart ↔ uart
sub ↔ top · VALID
tx → rx
rx ← tx
i2c ↔ i2c
protocol · VALID
sda ↔ sda
scl ↔ scl
telemetry-widget
uart
uart · device · top level
rx
pin 3
tx
pin 4
i2c
i2c · slave · 0x62
sda
pin 6
scl
pin 7
gpio_int
compatible: d3
antenna
no counterpart
+
+
+
+

B7c — Continuous Band

+

Iteration: continuous connection band.

+ 1400px +
+
B7c
Continuous band — the connection is one shared territory
The two matched regions and the lane between them share one tinted band: region → band → region is a single continuous surface. The parent match is the thick spine at the band's top edge; child wires are thin threads inside. Strongest statement that a match at level N merges two territories into one.
arm-controller
actuator_port_1
partial 1/2
uart
uart · host
tx
D16
rx
D17
power_12v
available
i2c
i2c · master
sda
A4
scl
A5
spi
no counterpart
usb
no counterpart
uart ↔ uart
sub ↔ top · VALID
tx → rx
rx ← tx
i2c ↔ i2c
protocol · VALID
sda ↔ sda
scl ↔ scl
telemetry-widget
uart
uart · device · top level
rx
pin 3
tx
pin 4
i2c
i2c · slave · 0x62
sda
pin 6
scl
pin 7
gpio_int
compatible: d3
antenna
no counterpart
+
+
+
+

B8 — Shared Region, Dot-to-Dot

+

The canonical hero rendering — connection as co-owned shared territory.

+ 1400px +
+
B8
Shared region — a match creates ONE region owned by both modules
The matched interface is a single bordered box spanning both cards and the lane. Leaves hold fixed row heights; every child link is a straight dot→dot wire at its row height (row order mirrored so pairs align — no diagonals). Match altitude = how deep the shared box starts inside each card: uart begins one level deep on the left (inside actuator_port_1) but at the top level on the right.
arm-controller
telemetry-widget
actuator_port_1
partial 1/2
power_12v
available · needs power sink
uart · host
uart · device · top level
uart ↔ uart
sub ↔ top · VALID
tx
D16
tx → rx
rx
pin 3
rx
D17
rx ← tx
tx
pin 4
i2c · master
i2c · slave · 0x62
i2c ↔ i2c
protocol · VALID
sda
A4
sda ↔ sda
sda
pin 6
scl
A5
scl ↔ scl
scl
pin 7
spi
no counterpart
usb
no counterpart
gpio_int
compatible: d3
antenna
no counterpart
Reading: the shared uart box starts INSIDE actuator_port_1's territory on the left (one level deep) and at the card surface on the right (top level) — match altitude is literally visible as where the box begins. Wires never bend: row order is mirrored per pair (A.tx row = B.rx row), so every conductor is a straight dot→dot line. power_12v stays behind in A's parent region with a hollow port; census rows sit below, outside any shared territory.
+
+
\ No newline at end of file diff --git a/design/visualizer-preview.html b/design/visualizer-preview.html new file mode 100644 index 0000000..467c714 --- /dev/null +++ b/design/visualizer-preview.html @@ -0,0 +1,294 @@ + + + + + +UHD Visualizer — Screen Mockups + + + +
+
+
OpenUHD · design/visualizer.pen
+

UHD Pair Visualizer — screen mockups

+

Faithful render of the locked visual designs for protoboard.ai/validate and /parts. Four production screens, then the concept and iteration boards (B-series) that the visualizer spec references.

+
+ +
Production screens
+
+
+

Validate — Results

+

The hero screen at protoboard.ai/validate — two module cards with the B8 shared-region pair scene, verdict banner, and per-connection DRC cards.

+ 1440px +
+
protoboard
/ validate
Parts
Validate
Docs
GitHub
Interface Validator
Check how two UHD modules connect — compatibility, capacity, and parametric constraints.
?a=arduino-nano&b=vl53l0x
MODULE A
arduino-nano
Change
MODULE B
vl53l0x
Change
i2c · master
i2c · slave · 0x29
i2c ↔ i2c
bus · protocol · VALID
sda
A4
sda ↔ sda
sda
SDA
scl
A5
scl ↔ scl
scl
SCL
power · source
power · sink · bridged 2.6–5.5 V
5v ↔ vin
wire · protocol · WARNING
5v
500 mA
5v → vin · regulator onboard
vin
VIN
digital · out
digital · in
d2 ↔ xshut
wire · protocol · VALID
d2
D2
d2 → xshut · shutdown ctl
xshut
XSHUT
UNCONNECTED
3v3
compatible · alternative supply (one_of with 5v)
spi
no counterpart
uart
no counterpart
usb · a0–a3
no counterpart
UNCONNECTED
gpio1
compatible: d3 · interrupt
2v8_out
no counterpart
Select Module A
Select Module B
3
DRC Results
Compatible with warnings
3 connections found · 2 passed · 1 warning · 0 errors
Export report
arduino-nano.i2c ↔ vl53l0x.i2c
bus · 2 conductors
PASS
PROTOCOL
i2c master ↔ slave — roles compatible
SLOT MAP
sda ↔ sda (A4) · scl ↔ scl (A5) — profile: default
PARAMETRIC
logic level 5.0 V within slave tolerant range 2.6 – 5.5 V
CAPACITY
bus address 0x29 — 1 of 112 addresses in use
arduino-nano.5v ↔ vl53l0x.vin
wire
1 WARNING
PROTOCOL
power source ↔ sink — roles compatible
PARAMETRIC
supply 4.5 – 5.5 V exceeds bare-die VCC range 2.6 – 3.5 V — onboard regulator required (present on this breakout)
CAPACITY
5V rail budget: 19 mA of 500 mA
arduino-nano.d2 ↔ vl53l0x.xshut
wire
PASS
PROTOCOL
digital out ↔ in — shutdown control, optional connection
UNMATCHED INTERFACES — NOT ERRORS, JUST NO COUNTERPART
arduino-nano
spi
uart
3v3
d3–d13
a0–a3
vin
vl53l0x
gpio1 (interrupt)
Other matches for arduino-nano
Browse all parts →
3 ifaces match
bme280
Bosch · env sensor
2 ifaces match
ssd1306
Solomon · OLED 128×64
4 ifaces match
l298n
ST · motor driver
2 ifaces match
sg90-servo
TowerPro · micro servo
+
+
+
+

Validate — Select Module B

+

Step ② of the validator wizard: search/filter the library, pre-ranked by compatibility with the module already in slot A.

+ 1440px +
+
protoboard
/ validate
Parts
Validate
Docs
GitHub
Interface Validator
Step 2 — choose the module to validate against arduino-nano.
?a=arduino-nano
MODULE A
Change
arduino-nano
Arduino · A000005 · rev3
i2c
spi
uart
5v
Connections will appear here once Module B is selected
Select Module B
search below or pick a suggested match
Select Module A
2
Select Module B
3
DRC Results
Search 168 parts — name, protocol, manufacturer…
Filters
FILTER:
compatible with A
i2c
sensor
electrical
mechanical
Suggested matches — ranked by shared interfaces with arduino-nano
3 ifaces match
vl53l0x
STMicro · ToF distance sensor
i2c
2.8v
gpio
3 ifaces match
bme280
Bosch · temp / humidity / pressure
i2c
spi
3v3
2 ifaces match
ssd1306
Solomon · OLED display 128×64
i2c
3v3
4 ifaces match
l298n
ST · dual H-bridge motor driver
motor
pwm
12v
All parts
sg90-servo
TowerPro · micro servo 9 g
pwm
5v
hc-sr04
Elecfreaks · ultrasonic ranger
digital
5v
raspberry-pi-pico
Raspberry Pi · RP2040 dev board
i2c
spi
uart
usb
buck-mp1584
MPS · 3 A step-down module
power
12v→5v
+
+
+
+

Parts — Library

+

protoboard.ai/parts — the step.parts-style dense card grid with search, filter, and pagination.

+ 1440px +
+
protoboard
/ parts
Parts
Validate
Docs
GitHub
Parts Library
168 open UHD module definitions — interfaces, parameters, and artifacts. Apache-2.0.
Contribute a part
Search parts — name, protocol, manufacturer, taxonomy…
Show filters
1–12 of 168
Sort: recently added
arduino-nano
Arduino · ATmega328P dev board
i2c
spi
uart
5v
uhd.json
vl53l0x
STMicro · ToF distance sensor
i2c
2.8v
gpio
uhd.json
bme280
Bosch · temp / humidity / pressure
i2c
spi
3v3
uhd.json
ssd1306
Solomon · OLED display 128×64
i2c
3v3
uhd.json
l298n
ST · dual H-bridge motor driver
motor
pwm
12v
uhd.json
raspberry-pi-pico
Raspberry Pi · RP2040 dev board
i2c
spi
uart
usb
uhd.json
sg90-servo
TowerPro · micro servo 9 g
pwm
5v
uhd.json
hc-sr04
Elecfreaks · ultrasonic ranger
digital
5v
uhd.json
buck-mp1584
MPS · 3 A step-down module
power
12v→5v
uhd.json
nema17-stepper
Generic · bipolar stepper 1.8°
motor
12v
mech
uhd.json
esp32-devkitc
Espressif · Wi-Fi + BLE dev board
i2c
spi
uart
wifi
uhd.json
battery-12v-3s
Generic · LiPo pack 3S 2200 mAh
power
12v
uhd.json
1
2
3
14
+
+
+
+

Parts — Detail

+

A single part page: metadata, the UHD interface table, artifacts, and the raw uhd.json toggle.

+ 1440px +
+
protoboard
/ parts / arduino-nano
Parts
Validate
Docs
GitHub
Parts Library
arduino-nano
Arduino Nano rev3 — ATmega328P development board. 14 digital I/O, 8 analog inputs, composed I2C / SPI / UART interfaces with pin-profile bindings.
MANUFACTURER
Arduino
PART NUMBER
A000005
VERSION
1.2.0
DOMAINS
electrical
TAXONOMY
mcu.dev-board
LICENSE
Apache-2.0
i2c
spi
uart
pwm
5v
atmega328p
Validate against another part
uhd.json
Datasheet
UHD definition — interfaces
View raw JSON
INTERFACE
DOMAIN
PROTOCOL · ROLE
SLOTS / PROFILE
PARAMETERS
i2c
electrical
i2c · master
sda → A4 · scl → A5 (profile: default)
f_max 400 kHz
spi
electrical
spi · master
mosi → D11 · miso → D12 · sck → D13 · cs → D10
f_max 8 MHz
uart
electrical
uart · peer
tx → D1 · rx → D0
115 200 baud max
5v
electrical
power · source
4.5 – 5.5 V · 500 mA max
3v3
electrical
power · source
3.3 V · 150 mA max
d2 – d13
electrical
digital · in / out
12 pins · pwm on 6
40 mA per pin
a0 – a7
electrical
analog · in
8 pins · 10-bit ADC
0 – 5 V
interface group · power: one_of( usb, vin, 5v-input ) — only one supply may be active
Artifacts
atmega328p-datasheet.pdf
datasheet
external · microchip.com
arduino-nano.step
3d_model
hosted
2.1 MB
nano-pinout.png
documentation
hosted
340 KB
blink-example.hex
firmware
external · github.com
+
+ +
Concept & iteration boards
+
+
+

Concept 0 — Pairing Vocabulary

+

The tier × state × port visual vocabulary the renderings are built from.

+ 720px +
+
Pairing vocabulary — tier × state
Two orthogonal encodings. HOW the pair was established (tier) = line pattern + badge. WHAT the DRC concluded (state) = color. Shared by all three concepts.
TIER — LINE PATTERN
protocol
1.0
Both sides declare the protocol. Solid, full-weight line.
compositional
0.8
One side composed from slots; other side fills them. Solid line with slot junction dot.
inferred
0.5
Counterpart never declares the interface — structure implies it. Dashed line, ghost chip, * prefix.
manual
0.3
User-asserted wiring, no protocol backing. Dotted line + lock.
none
0.0
No valid interpretation. Broken line with ✕.
STATE — COLOR
VALID
VALID_INFERRED
WARNING
CONFIG_NEEDED
INCOMPATIBLE
+
+
+
+

Concept A — Harness Table (WireViz)

+

Export-only build-sheet rendering: connector tables with wire colors.

+ 1240px +
+
A
Harness Table — WireViz-style connector tables
Each side is a connector table (physical pin · leaf interface). Every conductor is a row with a wire-color swatch, like a real harness drawing. Wire color = physical conductor; DRC state lives in badges and the footer pairing row. Strength: closest to build documentation — doubles as wiring instructions. Weakness: interface/slot hierarchy is flattened into grouping headers.
CASE 1 — EXPLICIT PROTOCOL MATCH (i2c)
arduino-nano.i2c
i2c · master · profile: default
bus · 2 conductors
protocol · 1.0
VALID
vl53l0x.i2c
i2c · slave · addr 0x29
A4
sda
YE · sda ↔ sda
sda
SDA
A5
scl
GN · scl ↔ scl
scl
SCL
interface pairing: i2c.master ↔ i2c.slave — all 2 required slots resolved · params pass (f_max 400 kHz ∩ 400 kHz)
CASE 2 — COMPOSITIONAL MATCH, LEFT SIDE INFERRED (motor_control)
*motor_control
inferred
not declared — derived from 3 free digital pins
wire · 3 conductors
inferred · 0.5
VALID_INFERRED
l298n.motor_control
motor_control · target · profile: channel_a
D5
d5
capability: pwm
d5 → slot en
slot en
en_a
D6
d6
capability: digital
d6 → slot in1
slot in1
in1
D7
d7
capability: digital
d7 → slot in2
slot in2
in2
*motor_control.source ↔ target — interface synthesized on arduino-nano · 3/3 required slots resolved · confidence 0.5 · [ accept as manual lock ]
+
+
+
+

Concept B — Breakout Funnel

+

Early funnel-view exploration of a connection.

+ 1240px +
+
B
Breakout Funnel — nested containment (ASCII view, evolved)
Direct translation of renderPairAscii. Composition is shown by physical nesting: interface ⊃ slots ⊃ bound leaves. The center lane carries one pill per pairing level — the interface pairing on top (Tier 2), conductor crossings below (Tier 1/0). An inferred interface is a ghost container drawn around bare pins that never declared it. Strength: teaches the UHD model itself — you can see composition. Weakness: taller than A; needs care at high pin counts.
CASE 1 — EXPLICIT PROTOCOL MATCH (i2c)
arduino-nano
i2c — master
composed · profile: default
slot sda
a4
slot scl
a5
i2c.master ↔ i2c.slave
protocol · 1.0
VALID · bus
sda ↔ sda
scl ↔ scl
vl53l0x
i2c — slave
leaf · addr 0x29
sda
scl
CASE 2 — COMPOSITIONAL MATCH, LEFT SIDE INFERRED (motor_control)
arduino-nano
*motor_control — source
inferred — not declared
d5
pwm · free
d6
digital · free
d7
digital · free
These pins never declare motor_control. The container exists only because l298n's slot requirements are structurally satisfiable here.
*motor_control.source ↔ target
inferred · 0.5
VALID_INFERRED · wire
d5 → en
d6 → in1
d7 → in2
l298n
motor_control — target
composed · profile: channel_a
slot en
en_a
slot in1
in1
slot in2
in2
+
+
+
+

Concept C — Tier Stack Inspector

+

The per-connection DRC card stages: pairing / slot table / conductors + parameters.

+ 1240px +
+
C
Tier Stack — connection list + expandable DRC pipeline
Connections are compact rows in a list; expanding one reveals three stacked bands that mirror the DRC evaluation stages exactly — interface pairing (tier determination), slot resolution (sub-link derivation), conductors & parameters. Confidence is a segmented meter. Strength: scales to many connections, 1:1 with the engine so diagnostics slot in naturally. Weakness: least spatial — you don't 'see' the two modules.
arduino-nano.i2c ↔ vl53l0x.i2c
protocol · 1.0
VALID
arduino-nano.5v ↔ vl53l0x.vin
protocol · 1.0
WARNING
arduino-nano.*motor_control ↔ l298n.motor_control
inferred · 0.5
VALID_INFERRED
TIER 2 — INTERFACE PAIRING
stage 2: tier determination
*motor_control · source — inferred, not declared
motor_control · target — declared, profile channel_a
confidence
No protocol match at tier 1 (arduino-nano declares no motor_control). findCompositionalMatch() succeeded: l298n.motor_control's 3 required slots are all fillable from free pins → interface synthesized via deriveInferredInterface().
TIER 1 — SLOT RESOLUTION
stage 3: sub-link derivation
3 / 3 required slots resolved
SLOT (l298n)
REQUIREMENT
METHOD
BOUND LEAF (nano)
NOTE
en
capability: pwm · required
inferred
d5 (D5)
auto-derived — 5 other pwm pins eligible
in1
capability: digital · required
inferred
d6 (D6)
auto-derived
in2
capability: digital · required
inferred
d7 (D7)
auto-derived · [ lock assignment ]
TIER 0 — CONDUCTORS & PARAMETERS
stage 4: parameter checking per sub-link
d5 ↔ en
logic 5.0 V within en tolerant range 2.3 – 7.0 V · pwm 490 Hz within 0 – 25 kHz
d6 ↔ in1
logic level compatible
d7 ↔ in2
in2 current sink unspecified on l298n — cannot validate, no error
Inferred pairings are suggestions — accepting converts each sub-link to a locked manual link (tier manual → confidence set by you, not the engine).
Accept & lock wiring
Dismiss suggestion
+
+
+
+

Recommendation

+

Design recommendation note.

+ 720px +
+
Recommendation — compose all three, one per altitude
These aren't competing skins — they're different altitudes of the same data. Proposed composition for /validate: + +• C (Tier Stack rows) = the DRC results list. Compact, scales, maps 1:1 to the engine's pipeline stages and diagnostic codes. +• B (Breakout Funnel) = the spatial view inside an expanded row (or the slot-rail edge detail). It's the view that teaches interface ⊃ slot ⊃ leaf composition and makes inference visible as a ghost container. +• A (Harness Table) = the export/'build it' view — printable WireViz-style wiring sheet with wire colors, one per harness. + +Shared vocabulary board (left) is the contract all three obey: tier → line pattern + badge, state → color, inferred → purple + dashed + * + sparkle.
+
+
+
+

B1 — Region Nesting

+

Depth encoded by fill, not indentation.

+ 1300px +
+
B1
Region nesting — interface as territory, 3 levels deep
Each composed interface is a soft-filled region; sub-interfaces are lighter regions inside it; leaves are chips. Depth = fill, not indentation. The harness lane mirrors the same tree: conductors are grouped into labeled bundles per sub-interface, so the wiring reads as the same shape as the composition. Example: a smart-actuator port (Dynamixel-style) — actuator_port ⊃ { uart ⊃ tx/rx, power_12v ⊃ v+/gnd }.
3-LEVEL COMPOSED INTERFACE · PROTOCOL TIER · VALID
arm-controller
actuator_port_1
actuator_port · host
uart
uart · host
tx
→ D16
rx
← D17
power_12v
power · source
v+
12 V rail
gnd
common
actuator_port.host ↔ device
protocol · 1.0
VALID · wire · 4 conductors in 2 bundles
bundle · uart
tx → rx
rx ← tx
bundle · power_12v
v+ ↔ v+
gnd ↔ gnd
dynamixel-servo
actuator_port · device
port
uart · device
uart
rx
half-duplex
tx
half-duplex
power · sink
power_12v
v+
9 – 14.8 V
gnd
common
DEPTH KEY:
L1 · composed interface
L2 · sub-interface
L3 · leaf
+
+
+
+

B2 — Depth Rails (compact)

+

Collapsed outline-tree rendering.

+ 980px +
+
B2
Depth rails — same tree, collapsed density
The fallback treatment when region fills get heavy: a 40-pin MCU with six composed interfaces would drown in nested boxes. Same hierarchy, rendered as an outline with depth rails and collapse chevrons. Regions (B1) and rails (B2) can coexist — rails while browsing, region fill only for the interface participating in the active connection.
arm-controller
actuator_port_1
actuator_port · host
in use → dynamixel-servo
uart
uart · host
tx
D16
rx
D17
power_12v
power · source
v+
12 V rail
gnd
common
actuator_port_2
actuator_port · host
4 leaves · available
i2c
i2c · master
2 leaves · available
power_in
power · sink
one_of group
Active-connection highlight
Rows participating in the selected harness get the L1 region tint; everything else stays flat. Region fill becomes a signal, not decoration.
Port dot = connection state
Green dot: leaf is wired in the current pair. No dot: available. The dot column doubles as the attach point for edge lines when this panel sits in the slot rail.
Collapsed rows keep their contract
A collapsed interface still shows protocol · role and availability, so scanning a 40-pin module never requires expansion.
+
+
+
+

B3 — Missing Visualizations

+

Harness-lane feature vignettes (buses, capacity bars…).

+ 1340px +
+
B3
What's still missing — six visualizations to add to B
Gaps found by walking the UHD type system against concept B: three on the harness side (bus topology, capacity, unresolved slots) and three on the module side (claims, interface groups, parameter ranges). Each maps to an existing type or a validatePair() check.
HARNESS · BUS MULTI-DROP
nano.i2c · master
vl53l0x · 0x29
bme280 · 0x76
add drop · 109 addresses free
Topology 'bus' and 'split' need more than two endpoints. The spine stays horizontal; extra drops hang below with their own state dot and address chip. Maps to HarnessDef.endpoints[2..n].
HARNESS · CAPACITY BUDGET
5v rail — 3 sinks
340 / 500 mA
5v rail + servo — 4 sinks
620 / 500 mA · OVER BUDGET
i2c bus — addresses
3 / 112
Aggregated draws vs supply limit, rendered on the harness spine itself. This is the net-new capacity check in validatePair() — sums current_draw across every connection claiming the rail.
HARNESS · UNRESOLVED SLOT
spi.cs — required
?
CONFIG_NEEDED · 1 of 4 slots unresolved
assign leaf…
A required slot with no counterpart leaf renders as an empty socket and an interrupted conductor — the visual for CONFIGURATION_NEEDED. Click assigns manually → becomes a locked manualLink.
MODULE · CLAIMED LEAVES
a4
in use · Sensor I2C bus (sda)
a5
in use · Sensor I2C bus (scl)
d5
available · pwm
A leaf already consumed by another connection is grayed with a lock and names its claimant. Backed by findClaimConflicts() — prevents double-booking A4 for both i2c and analog read.
MODULE · ONE_OF GROUP
power_in
group · one_of
usb
5 V · active — powering this pair
vin
7 – 12 V · disabled while usb active
5v-input
disabled while usb active
InterfaceGroup policies render as a bracketed radio group inside the module card. Selecting one supply disables the siblings — validateInterfaceGroups() already enforces this; the UI just shows it.
MODULE · PARAMETER RANGE OVERLAP
nano.5v · 4.5 – 5.5 V
vl53l0x.vcc · 2.6 – 3.5 V
∅ no overlap — ERROR
suggestion: route via 3v3 rail (3.0 – 3.6 V ∩ vcc = 3.0 – 3.5 V ✓)
checkParameterCompatibility() output drawn as ranges on a shared axis — the intersection (or its absence) is the diagnostic. Far clearer than prose for voltage mismatches.
+
+
+
+

B4 — Sketch Integrations

+

More harness-lane vignettes (connectors, bridges, groups).

+ 1340px +
+
B4
From the notebook — four ideas integrated from design/concept sketches
1) Interfaces sit ON the module boundary, not inside the card. 2) Conductors carry explicit connector glyphs (pluggable points → connector_type + proprietary exclusivity). 3) One composed interface can be fulfilled by leaves from MULTIPLE modules — per-slot provenance, 'Partial!' state. 4) External interfaces bridge to internal ones inside the module (bridgesTo / can_bridge).
EDGE-MOUNTED INTERFACE — the boundary is the junction
l298n
motor driver
motor_control
target · channel_a
en
in1
in2
wire · 3 conductors
*motor_control
source · inferred
arduino-nano
dev board
Interface blocks dock on the card edge (half chrome, half harness). The module body stays quiet; composition regions (B1) open on selection. Matches how every sketch draws it: module → edge interface → harness.
CONNECTOR GLYPHS — pluggable points on the conductor
nano.i2c
jst-sh-4p · qwiic
vl53l0x.i2c
dxl-ctrl.port
molex-51065 · dynamixel
generic-servo.in
✕ ecosystem lock: dynamixel port mates only within its ecosystem — exclusivity from docs/NOTES.md
The sketches' rings become connector glyphs: ○—○ mated pair with a connector_type chip. Hooks directly into the NOTES.md concept — proprietary ecosystems render as a keyed connector that refuses foreign mates.
SPLIT FULFILLMENT — one interface, multiple source modules
sg90-servo.control — composed · sink
PARTIAL · 2 of 3 slots
slot sig
arm-controller.d9 · pwm
slot 5v
? unfulfilled — needs power · source
slot gnd
? unfulfilled — needs power · source
source 1: arm-controller
add source 2 · suggested: battery-5v, buck-mp1584
Your servo sketch: sig comes from the controller, 5v/gnd from a battery. Each slot carries a provenance chip naming its source module; a slot whose source is missing renders the sketch's 'Partial!' — CONFIGURATION_NEEDED naming exactly what's absent. Requires the pair view to admit third-party ghost modules, and validatePair() to accept context modules.
INTERNAL BRIDGES — what happens behind the external interface
vl53l0x-breakout — interior view
vin · 2.6–5.5 V
can_bridge · ldo regulator
3v3 rail → vdd core
i2c · slave
can_bridge · level shifter
sensor core · 2.8 V logic
DRC consequence: parametric checks should evaluate against the BRIDGED range (2.6–5.5 V), not the bare-die range — this resolves the false warning in the earlier 5v↔vin example.
Your A↔B sketch fans the external interface into internal interfaces. That's the can_bridge trait: power_in bridges to the 3v3 rail via the regulator; i2c bridges to the MCU core. Rendered as an expandable interior lane on the module card — explains WHY a 5 V supply is fine for a 3.3 V sensor board.
+
+
+
+

B5 — PCB Symbol Layout + Match Altitude

+

Two-column schematic-symbol card layout with match-altitude rules.

+ 1420px +
+
B5
B1 evolved — PCB-symbol columns, full interface census, match altitude
Every interface on both modules is shown, PCB-symbol style: two columns per module, interior sides reserved for connectable interfaces, exterior sides carry the rest, both populated evenly. Port state carries the census: ● connected · ◉ compatible but unconnected · ○ no counterpart on the other module. Below: the match-altitude problem — when a child sub-interface matches on its own, the connection attaches at that child's port and the parent reports partial engagement.
FULL CENSUS — ALL INTERFACES VISIBLE, INTERIOR = CONNECTABLE
arduino-nano
9 interfaces · 3 connected · 1 compatible
spi
spi · master · 4 leaves
uart
uart · peer
usb
usb · device
a0–a3
analog · in
i2c
i2c · master
5v
power · source · 500 mA
d2
digital · out
3v3
power · source · 150 mA
vin
power · sink
i2c ↔ i2c
protocol · VALID
5v ↔ vin
protocol · VALID
d2 ↔ xshut
protocol · VALID
3v3 ↔ vin
alternative · one_of with 5v
vl53l0x-breakout
6 interfaces · 3 connected · 1 compatible
i2c
i2c · slave · 0x29
vin
power · sink · 2.6–5.5 V
xshut
digital · in
gpio1
digital · out · interrupt
2v8_out
power · source · 20 mA
gnd
power · common
PORT STATE:
connected
compatible · unconnected (click to connect)
no counterpart on the other module
MATCH ALTITUDE — CHILD MATCHES ON ITS OWN, PARENT PARTIALLY ENGAGED
arm-controller
actuator_port_1
partial · 1 of 2 subs engaged
uart
uart · host · tx rx
power_12v
power · source · v+ gnd
available — needs power·sink (add module: B4 split)
uart.host ↔ uart.device
matched at sub-interface · protocol · VALID
actuator_port_1 itself: no counterpart at this altitude
radio-module
uart
uart · device — this IS its top level (leaf interface)
3v3_in
power · sink — incompatible with power_12v (range ∅)
MATCH-ALTITUDE RULES
1 · The engine pairs top-down and connects at the HIGHEST level both sides declare — one pill per match, attached to the port of the exact region that matched.
2 · When only a child matches, the line exits through the parent's region edge; the parent port becomes a donut (partially engaged) and reports n of m subs.
3 · Deeper regions under a connected parent don't re-pair — the bundle view (B1) already shows their conductor crossings. Their ports render solid, inherited.
4 · Remaining unengaged children keep live hollow ports — power_12v here can still pair with a third module via split fulfillment (B4).
5 · Altitude asymmetry is fine: A connects at sub-interface level while B connects at its top level. The pill names both roles; tier/params evaluate on the matched pair only.
+
+
+
+

B6 — Depth Rails, Both Sides Connected

+

Depth rails with engaged branches.

+ 1360px +
+
B6
B5 census × B2 depth rails — both sides connected
Mirrored outline trees, ports on the interior edges. Connected rows carry the region tint (B2's active highlight) and their ancestor rails turn green, so the engagement path is readable at a glance even in a deep tree. Everything else from the B5 vocabulary carries over: ◉ compatible/unconnected, ○ no counterpart, donut = partially engaged parent, dashed pill = potential connection.
arm-controller
2 connected · 1 partial
actuator_port_1
actuator_port · host
1/2 engaged
uart
uart · host
tx
D16
rx
D17
power_12v
power · source
needs sink
i2c
i2c · master
sda · scl
A4 · A5
actuator_port_2
actuator_port · host
no counterpart
spi
spi · master
no counterpart
usb
usb · device
no counterpart
uart.host ↔ uart.device
sub-interface ↔ top level · VALID
i2c.master ↔ i2c.slave
protocol · VALID
d3 ↔ gpio_int
potential · click ◉ to connect
2 connected · 1 compatible
telemetry-widget
uart
uart · device
top level
rx ← tx
pin 3
tx → rx
pin 4
i2c
i2c · slave
0x62
sda · scl
pins 6 · 7
gpio_int
digital · out
compatible: d3
3v3_in
power · sink
∅ range vs power_12v
antenna
rf · sma
no counterpart
PORT STATE:
connected
partially engaged parent
compatible · unconnected
no counterpart
row tint = engaged in current pair
Reading: green rails trace the engagement path through each tree — on the left, actuator_port_1's rail is green only along the uart branch (donut parent, power_12v still hollow); on the right, uart connects at its top level, so the asymmetric altitude of the same pill is visible as different depths at each end. Inherited children (tx/rx, sda·scl) show no port of their own — their crossings belong to the bundle detail, expandable per pill.
+
+
+
+

B7a — Regions + All Child Wires (flat)

+

Iteration toward the shared-region hero.

+ 1400px +
+
B7a
Expanded regions + a wire for every linked child — flat lane
Connected interfaces expand into B1 regions inline in the tree; every linked leaf gets its own port and its own crossing wire. The lane stacks them flat: parent pairing pill first, child conductor wires beneath.
arm-controller
actuator_port_1
partial 1/2
uart
uart · host
tx
D16
rx
D17
power_12v
available
i2c
i2c · master
sda
A4
scl
A5
spi
no counterpart
usb
no counterpart
uart ↔ uart
sub ↔ top · VALID
tx → rx
rx ← tx
i2c ↔ i2c
protocol · VALID
sda ↔ sda
scl ↔ scl
telemetry-widget
uart
uart · device · top level
rx
pin 3
tx
pin 4
i2c
i2c · slave · 0x62
sda
pin 6
scl
pin 7
gpio_int
compatible: d3
antenna
no counterpart
+
+
+
+

B7b — Regions + Lane Bundles

+

Iteration: bundled conductor lanes.

+ 1400px +
+
B7b
Expanded regions + lane bundles — the harness mirrors the nesting
Same panels; the lane wraps each connected interface's wires in a bundle box whose header IS the pairing (name · tier · state). Region → bundle → region reads as one shape; the box edge doubles as the cable jacket.
arm-controller
actuator_port_1
partial 1/2
uart
uart · host
tx
D16
rx
D17
power_12v
available
i2c
i2c · master
sda
A4
scl
A5
spi
no counterpart
usb
no counterpart
uart ↔ uart
sub ↔ top · VALID
tx → rx
rx ← tx
i2c ↔ i2c
protocol · VALID
sda ↔ sda
scl ↔ scl
telemetry-widget
uart
uart · device · top level
rx
pin 3
tx
pin 4
i2c
i2c · slave · 0x62
sda
pin 6
scl
pin 7
gpio_int
compatible: d3
antenna
no counterpart
+
+
+
+

B7c — Continuous Band

+

Iteration: continuous connection band.

+ 1400px +
+
B7c
Continuous band — the connection is one shared territory
The two matched regions and the lane between them share one tinted band: region → band → region is a single continuous surface. The parent match is the thick spine at the band's top edge; child wires are thin threads inside. Strongest statement that a match at level N merges two territories into one.
arm-controller
actuator_port_1
partial 1/2
uart
uart · host
tx
D16
rx
D17
power_12v
available
i2c
i2c · master
sda
A4
scl
A5
spi
no counterpart
usb
no counterpart
uart ↔ uart
sub ↔ top · VALID
tx → rx
rx ← tx
i2c ↔ i2c
protocol · VALID
sda ↔ sda
scl ↔ scl
telemetry-widget
uart
uart · device · top level
rx
pin 3
tx
pin 4
i2c
i2c · slave · 0x62
sda
pin 6
scl
pin 7
gpio_int
compatible: d3
antenna
no counterpart
+
+
+
+

B8 — Shared Region, Dot-to-Dot

+

The canonical hero rendering — connection as co-owned shared territory.

+ 1400px +
+
B8
Shared region — a match creates ONE region owned by both modules
The matched interface is a single bordered box spanning both cards and the lane. Leaves hold fixed row heights; every child link is a straight dot→dot wire at its row height (row order mirrored so pairs align — no diagonals). Match altitude = how deep the shared box starts inside each card: uart begins one level deep on the left (inside actuator_port_1) but at the top level on the right.
arm-controller
telemetry-widget
actuator_port_1
partial 1/2
power_12v
available · needs power sink
uart · host
uart · device · top level
uart ↔ uart
sub ↔ top · VALID
tx
D16
tx → rx
rx
pin 3
rx
D17
rx ← tx
tx
pin 4
i2c · master
i2c · slave · 0x62
i2c ↔ i2c
protocol · VALID
sda
A4
sda ↔ sda
sda
pin 6
scl
A5
scl ↔ scl
scl
pin 7
spi
no counterpart
usb
no counterpart
gpio_int
compatible: d3
antenna
no counterpart
Reading: the shared uart box starts INSIDE actuator_port_1's territory on the left (one level deep) and at the card surface on the right (top level) — match altitude is literally visible as where the box begins. Wires never bend: row order is mirrored per pair (A.tx row = B.rx row), so every conductor is a straight dot→dot line. power_12v stays behind in A's parent region with a hollow port; census rows sit below, outside any shared territory.
+
+
+ + \ No newline at end of file From 3e23e4d568b62e1288cf99003290f518edc181fb Mon Sep 17 00:00:00 2001 From: London Yount <74688944+LondonYount@users.noreply.github.com> Date: Wed, 15 Jul 2026 15:00:10 -0500 Subject: [PATCH 5/5] fix: normalize hcsr04 id casing and guarantee library build on pack Resolve the two follow-ups left open by the parts library commit. - hcsr04-ultrasonic-sensor.ts declared id "HCSR04-Ultrasonic-Sensor" while the other 17 parts use lowercase kebab-case. The casing leaked into the dist filename, the thumbnail path, and the public URL slug. Normalized to "hcsr04-ultrasonic-sensor" and renamed the artifacts directory to match, since build-library resolves thumbnails from library/parts//artifacts/thumbnail.png keyed on the id. All 18 manifest ids are now lowercase. The remaining "HCSR04-Ultrasonic-Sensor" strings in the file are provenance pointers to the upstream ProtoPart source directory, which is genuinely named that. Left intact. - Add a prepack script running build then build:library. library/dist is gitignored generated output, so without this a publish could ship the "library" files entry with no manifest inside it. Verified: tsc --noEmit clean, 89/89 tests passing, and prepack from a cold start emits dist/index.js plus 18 part JSONs and 18 thumbnails. --- library/parts/hcsr04-ultrasonic-sensor.ts | 2 +- .../artifacts/thumbnail.png | Bin package.json | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) rename library/parts/{HCSR04-Ultrasonic-Sensor => hcsr04-ultrasonic-sensor}/artifacts/thumbnail.png (100%) diff --git a/library/parts/hcsr04-ultrasonic-sensor.ts b/library/parts/hcsr04-ultrasonic-sensor.ts index 22bb62e..3b22294 100644 --- a/library/parts/hcsr04-ultrasonic-sensor.ts +++ b/library/parts/hcsr04-ultrasonic-sensor.ts @@ -260,7 +260,7 @@ const ultrasonicSensor: InterfaceDef = { // --------------------------------------------------------------------------- export const HCSR04_ULTRASONIC_SENSOR: ModuleDef = defineModule({ - id: "HCSR04-Ultrasonic-Sensor", + id: "hcsr04-ultrasonic-sensor", name: "HC-SR04 Ultrasonic Sonar Distance Sensor + 2 x 10K resistors", version: "1.0.0", // audited definition; ProtoPart source version 0.1.0 manufacturer: "Adafruit", diff --git a/library/parts/HCSR04-Ultrasonic-Sensor/artifacts/thumbnail.png b/library/parts/hcsr04-ultrasonic-sensor/artifacts/thumbnail.png similarity index 100% rename from library/parts/HCSR04-Ultrasonic-Sensor/artifacts/thumbnail.png rename to library/parts/hcsr04-ultrasonic-sensor/artifacts/thumbnail.png diff --git a/package.json b/package.json index de18ea8..475e753 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "scripts": { "build": "tsc -p tsconfig.build.json", "build:library": "tsx scripts/build-library.ts", + "prepack": "npm run build && npm run build:library", "test": "vitest run", "test:watch": "vitest", "type-check": "tsc --noEmit"

gwuJb8ukv<+8GR;2sKn8J=7* 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 dYm^9ITZ>0_e4w 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