From 245d43c091f5beca30e07dc17a054820452ade72 Mon Sep 17 00:00:00 2001 From: DemchaAV Date: Mon, 25 May 2026 10:30:45 +0200 Subject: [PATCH] feat(cv-v2): migrate Blue Banner preset --- .../templates/v2-layered/authoring-presets.md | 7 +- docs/templates/v2-layered/quickstart.md | 7 +- docs/templates/v2-layered/using-templates.md | 9 +- .../document/templates/cv/v2/AUTHORS.md | 5 +- .../templates/cv/v2/package-info.java | 5 +- .../templates/cv/v2/presets/BlueBanner.java | 358 ++++++++++++++++++ .../templates/cv/v2/theme/CvDecoration.java | 8 + .../templates/cv/v2/theme/CvPalette.java | 12 + .../templates/cv/v2/theme/CvSpacing.java | 22 ++ .../templates/cv/v2/theme/CvTheme.java | 13 + .../templates/cv/v2/theme/CvTypography.java | 17 + .../cv/v2/widgets/SectionHeader.java | 39 ++ .../cv/v2/presets/BlueBannerSmokeTest.java | 76 ++++ .../cv/v2/presets/CvV2VisualParityTest.java | 5 +- .../cv/v2/widgets/WidgetSmokeTest.java | 3 + .../cv-v2-layered/blue_banner-page-0.png | Bin 0 -> 111671 bytes .../cv-v2-layered/blue_banner-page-1.png | Bin 0 -> 10016 bytes 17 files changed, 571 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBanner.java create mode 100644 src/test/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBannerSmokeTest.java create mode 100644 src/test/resources/visual-baselines/cv-v2-layered/blue_banner-page-0.png create mode 100644 src/test/resources/visual-baselines/cv-v2-layered/blue_banner-page-1.png diff --git a/docs/templates/v2-layered/authoring-presets.md b/docs/templates/v2-layered/authoring-presets.md index 387c44a0..37662ac0 100644 --- a/docs/templates/v2-layered/authoring-presets.md +++ b/docs/templates/v2-layered/authoring-presets.md @@ -2,9 +2,9 @@ You like the layered architecture, but the shipped presets (`BoxedSections`, `MinimalUnderlined`, `ModernProfessional`, -`CenteredHeadline`) don't match the design you want. This doc walks -you through writing a new preset from scratch — **without subclassing, -without duplicating rendering code**. +`CenteredHeadline`, `BlueBanner`) don't match the design you want. +This doc walks you through writing a new preset from scratch — +**without subclassing, without duplicating rendering code**. If you haven't read [quickstart.md](quickstart.md) and [using-templates.md](using-templates.md), do those first. @@ -91,6 +91,7 @@ small set of named variants. | Variant | Visual | |---|---| | `SectionHeader.banner(host, title, theme)` | Pale-grey panel + centred spaced-caps inside | +| `SectionHeader.fullWidthBanner(host, title, theme[, style])` | Full-width fill banner + centred spaced-caps inside; surrounding rules stay in preset page flow | | `SectionHeader.underlined(host, title, theme)` | Small left spaced-caps + thin rule below | | `SectionHeader.flat(host, title, color, theme)` | Large bold title in a given colour, no panel | | `SectionHeader.flatSpacedCaps(host, title, color, theme, titleStyle)` | Small left spaced-caps title in a soft colour, no panel | diff --git a/docs/templates/v2-layered/quickstart.md b/docs/templates/v2-layered/quickstart.md index 2838b3f4..e6b23c14 100644 --- a/docs/templates/v2-layered/quickstart.md +++ b/docs/templates/v2-layered/quickstart.md @@ -19,8 +19,8 @@ GraphCompose's templates v2 (layered) gives you: you can drop into a preset. - **Presets as compositions** — a preset orchestrates widgets in a page flow. `BoxedSections`, `MinimalUnderlined`, - `ModernProfessional`, `CenteredHeadline` ship today; writing your - own is ~150 lines. + `ModernProfessional`, `CenteredHeadline`, `BlueBanner` ship today; + writing your own is ~150 lines. You hand a `CvDocument` to a preset, you get a PDF. The preset internally composes widgets that read theme tokens that ultimately @@ -88,7 +88,8 @@ Same data, different visual. That's the layering. ``` ┌─────────────────────────────────────────────────────────────┐ │ presets/ BoxedSections, MinimalUnderlined, │ -│ ModernProfessional, CenteredHeadline │ +│ ModernProfessional, CenteredHeadline, │ +│ BlueBanner │ │ — composition of widgets in a page flow │ └─────────────────────────────────────────────────────────────┘ │ compose from widgets diff --git a/docs/templates/v2-layered/using-templates.md b/docs/templates/v2-layered/using-templates.md index e09eafb9..142344dc 100644 --- a/docs/templates/v2-layered/using-templates.md +++ b/docs/templates/v2-layered/using-templates.md @@ -159,9 +159,9 @@ CvDocument doc = CvDocument.builder() ``` **Single-column presets** (`BoxedSections`, `MinimalUnderlined`, -`ModernProfessional`, `CenteredHeadline`) render only `Slot.MAIN`. -Sidebar content is silently dropped — switch to a multi-column preset -to render it. +`ModernProfessional`, `CenteredHeadline`, `BlueBanner`) render only +`Slot.MAIN`. Sidebar content is silently dropped — switch to a +multi-column preset to render it. If you don't use slots at all, your sections go to `MAIN` and every preset renders them. The slot model is opt-in. @@ -171,7 +171,7 @@ preset renders them. The slot model is opt-in. ## Picking a preset -Four shipped today: +Five shipped today: | Preset | Visual signature | |---|---| @@ -179,6 +179,7 @@ Four shipped today: | `MinimalUnderlined.create()` | Centred name with thin rule, small spaced-caps section titles with accent rule, single page | | `ModernProfessional.create()` | Right-aligned big slate-blue name, flat bright-blue bold section titles, dense single page | | `CenteredHeadline.create()` | Centred spaced-caps name, small subheadline, full-width rules around contact and modules | +| `BlueBanner.create()` | Centred PT-Serif name, compact Lato body, blue full-width section banners between thin rules | Each factory has a no-arg form (uses a sensible default theme) and a `create(CvTheme)` form (custom theme). diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/AUTHORS.md b/src/main/java/com/demcha/compose/document/templates/cv/v2/AUTHORS.md index 1ee92c73..141632cb 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/AUTHORS.md +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/AUTHORS.md @@ -324,7 +324,7 @@ as DSL plumbing. Below is the current catalog. | Variant | Visual | Used in | |---|---|---| -| `Headline.spacedCentered(host, name, theme)` | centred letter-spaced uppercase (`J A N E D O E`) | BoxedSections, MinimalUnderlined, CenteredHeadline | +| `Headline.spacedCentered(host, name, theme)` | centred letter-spaced uppercase (`J A N E D O E`) | BoxedSections, MinimalUnderlined, CenteredHeadline, BlueBanner | | `Headline.rightAligned(host, name, theme)` | right-aligned plain bold (`Jane Doe`) | ModernProfessional | | `Headline.render(host, name, theme, align, spacedCaps)` | low-level: pick any alignment + transform | — | @@ -338,7 +338,7 @@ as DSL plumbing. Below is the current catalog. | Variant | Visual | Used in | |---|---|---| -| `ContactLine.centered(host, identity, theme)` | centred, phone → email → address → links | BoxedSections, MinimalUnderlined, CenteredHeadline | +| `ContactLine.centered(host, identity, theme)` | centred, phone → email → address → links | BoxedSections, MinimalUnderlined, CenteredHeadline, BlueBanner | | `ContactLine.rightAligned(host, identity, theme)` | right-aligned, address → phone → email → links | ModernProfessional | | `ContactLine.twoRowRightAligned(host, identity, theme, bodyStyle, linkStyle, separatorStyle)` | right-aligned address/phone row plus email/link row | ModernProfessional | | `ContactLine.render(host, identity, theme, align, order)` | low-level: pick alignment + field order | — | @@ -352,6 +352,7 @@ change ` | ` to ` · ` or anything else. | Variant | Visual | Used in | |---|---|---| | `SectionHeader.banner(host, title, theme)` | pale-grey panel with centred spaced-caps inside | BoxedSections | +| `SectionHeader.fullWidthBanner(host, title, theme[, style])` | full-width fill banner with centred spaced-caps inside; rules around it stay in the preset page flow | BlueBanner | | `SectionHeader.underlined(host, title, theme)` | small spaced-caps left-aligned, thin rule below | MinimalUnderlined | | `SectionHeader.flat(host, title, color, theme)` | large bold title in a given colour, no panel | ModernProfessional | | `SectionHeader.flatSpacedCaps(host, title, color, theme, titleStyle)` | small spaced-caps title in a soft colour, no panel | CenteredHeadline | diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java index 45d7007b..904d3779 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/package-info.java @@ -22,6 +22,7 @@ * │ MinimalUnderlined ← another composition, same pieces │ * │ ModernProfessional ← corporate composition variant │ * │ CenteredHeadline ← classic centred headline variant │ + * │ BlueBanner ← full-width banner composition │ * └─────────────────────────────────────────────────────────────┘ * │ compose from * ▼ @@ -31,8 +32,8 @@ * │ Subheadline .centeredSpacedCaps │ * │ ContactLine .centered | .rightAligned │ * │ .twoRowRightAligned │ - * │ SectionHeader .banner | .underlined | .flat │ - * │ .flatSpacedCaps │ + * │ SectionHeader .banner | .fullWidthBanner | .underlined │ + * │ .flat | .flatSpacedCaps │ * └─────────────────────────────────────────────────────────────┘ * │ delegate to │ read tokens from * ▼ ▼ diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBanner.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBanner.java new file mode 100644 index 00000000..8672607f --- /dev/null +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBanner.java @@ -0,0 +1,358 @@ +package com.demcha.compose.document.templates.cv.v2.presets; + +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.dsl.PageFlowBuilder; +import com.demcha.compose.document.dsl.SectionBuilder; +import com.demcha.compose.document.node.TextAlign; +import com.demcha.compose.document.style.DocumentColor; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.style.DocumentTextDecoration; +import com.demcha.compose.document.style.DocumentTextStyle; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.cv.v2.components.MarkdownInline; +import com.demcha.compose.document.templates.cv.v2.components.ParagraphRenderer; +import com.demcha.compose.document.templates.cv.v2.components.RowRenderer; +import com.demcha.compose.document.templates.cv.v2.data.CvDocument; +import com.demcha.compose.document.templates.cv.v2.data.CvEntry; +import com.demcha.compose.document.templates.cv.v2.data.CvRow; +import com.demcha.compose.document.templates.cv.v2.data.CvSection; +import com.demcha.compose.document.templates.cv.v2.data.EntriesSection; +import com.demcha.compose.document.templates.cv.v2.data.ParagraphSection; +import com.demcha.compose.document.templates.cv.v2.data.RowStyle; +import com.demcha.compose.document.templates.cv.v2.data.RowsSection; +import com.demcha.compose.document.templates.cv.v2.data.Slot; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import com.demcha.compose.document.templates.cv.v2.widgets.ContactLine; +import com.demcha.compose.document.templates.cv.v2.widgets.Headline; +import com.demcha.compose.document.templates.cv.v2.widgets.SectionHeader; +import com.demcha.compose.font.FontName; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Objects; + +/** + * v2 port of the legacy "Blue Banner" CV preset. + * + *

Visual signature: centred PT-Serif spaced-caps name, compact + * Lato contact row, full-width blue section banners sandwiched + * between thin dark-blue rules, and dense white body blocks.

+ * + *

Most of the preset is ordinary widget composition. The body + * renderer is deliberately preset-local because Blue Banner differs + * from the shared {@code EntryRenderer}: entry titles are uppercase, + * dates are bold, subtitles are regular ink, and project rows render + * without bullets.

+ */ +public final class BlueBanner { + + /** Stable template identifier. */ + public static final String ID = "blue-banner"; + + /** Human-readable display name. */ + public static final String DISPLAY_NAME = "Blue Banner"; + + /** Recommended page margin (in points). */ + public static final double RECOMMENDED_MARGIN = 28.0; + + private static final double BANNER_RULE_WIDTH = 500.0; + private static final double BANNER_RULE_HORIZONTAL_INSET = 18.0; + + private static final DocumentColor BANNER_TEXT = + DocumentColor.rgb(22, 32, 48); + + private static final List SUMMARY_KEYS = + List.of("summary", "professional summary", "profile"); + private static final List EXPERIENCE_KEYS = + List.of("experience", "professional experience", "employment", "work"); + private static final List EDUCATION_KEYS = + List.of("education", "certifications"); + private static final List SKILL_KEYS = + List.of("technical skills", "skills"); + private static final List ADDITIONAL_KEYS = + List.of("additional information", "additional"); + + private BlueBanner() { + } + + /** + * Builds the preset with the Blue Banner theme. + */ + public static DocumentTemplate create() { + return create(CvTheme.blueBanner()); + } + + /** + * Builds the preset with a caller-supplied theme. The caller can + * adjust palette, typography, spacing, or separator tokens without + * changing the page-flow composition. + */ + public static DocumentTemplate create(CvTheme theme) { + Objects.requireNonNull(theme, "theme"); + return new Template(theme); + } + + private static final class Template implements DocumentTemplate { + + private final CvTheme theme; + + Template(CvTheme theme) { + this.theme = theme; + } + + @Override + public String id() { + return ID; + } + + @Override + public String displayName() { + return DISPLAY_NAME; + } + + @Override + public void compose(DocumentSession document, CvDocument doc) { + Objects.requireNonNull(document, "document"); + Objects.requireNonNull(doc, "doc"); + + DocumentTextStyle bannerTitleStyle = DocumentTextStyle.builder() + .fontName(theme.typography().bodyFont()) + .size(theme.typography().sizeBanner()) + .decoration(DocumentTextDecoration.BOLD) + .color(BANNER_TEXT) + .build(); + + PageFlowBuilder pageFlow = document.dsl() + .pageFlow() + .name("CvV2BlueBannerRoot") + .spacing(theme.spacing().pageFlowSpacing()) + .addSection("Header", section -> + Headline.spacedCentered(section, + doc.identity().name(), theme)) + .addSection("Contact", section -> + ContactLine.centered(section, doc.identity(), theme)); + + List sections = orderedSections(doc); + for (int i = 0; i < sections.size(); i++) { + final CvSection sec = sections.get(i); + final int idx = i; + addBannerRule(pageFlow, "BlueBannerRuleTop_" + idx, theme, 3, 1); + pageFlow.addSection("BlueBannerTitle_" + idx, host -> + SectionHeader.fullWidthBanner(host, sec.title(), + theme, bannerTitleStyle)); + addBannerRule(pageFlow, "BlueBannerRuleBottom_" + idx, theme, 1, 1); + pageFlow.addSection("BlueBannerBody_" + idx, host -> + renderBody(host, sec, theme)); + } + + pageFlow.build(); + } + + private static void addBannerRule(PageFlowBuilder pageFlow, String name, + CvTheme theme, + double topMargin, + double bottomMargin) { + pageFlow.addLine(line -> line + .name(name) + .horizontal(BANNER_RULE_WIDTH) + .color(theme.palette().rule()) + .thickness(theme.spacing().accentRuleWidth()) + .margin(new DocumentInsets( + topMargin, + BANNER_RULE_HORIZONTAL_INSET, + bottomMargin, + BANNER_RULE_HORIZONTAL_INSET))); + } + } + + private static void renderBody(SectionBuilder host, + CvSection section, + CvTheme theme) { + host.spacing(theme.spacing().sectionBodySpacing()) + .padding(theme.spacing().sectionBodyPadding()); + + if (section instanceof ParagraphSection p) { + ParagraphRenderer.render(host, p.body(), theme); + } else if (section instanceof RowsSection r) { + renderRows(host, r, theme); + } else if (section instanceof EntriesSection e) { + for (CvEntry entry : e.entries()) { + renderEntry(host, entry, theme); + } + } else { + throw new IllegalStateException( + "Unknown CvSection subtype: " + section.getClass().getName()); + } + } + + private static void renderRows(SectionBuilder host, + RowsSection section, + CvTheme theme) { + if (section.style() == RowStyle.BULLETED_STACKED) { + for (CvRow row : section.rows()) { + renderPlainProjectRow(host, row, theme); + } + return; + } + for (CvRow row : section.rows()) { + RowRenderer.render(host, row, section.style(), theme); + } + } + + private static void renderPlainProjectRow(SectionBuilder host, + CvRow row, + CvTheme theme) { + String label = row.label().trim(); + String body = row.body().trim(); + DocumentTextStyle labelStyle = theme.entryTitleStyle(); + DocumentTextStyle bodyStyle = theme.bodyStyle(); + + host.addParagraph(p -> p + .textStyle(bodyStyle) + .lineSpacing(theme.typography().bodyLineSpacing()) + .align(TextAlign.LEFT) + .margin(DocumentInsets.top((float) theme.spacing().paragraphMarginTop())) + .rich(rich -> { + rich.style(stripBasicMarkdown(label), labelStyle); + if (!body.isBlank()) { + rich.style(" - ", bodyStyle); + MarkdownInline.append(rich, body, bodyStyle); + } + })); + } + + private static void renderEntry(SectionBuilder section, + CvEntry entry, + CvTheme theme) { + DocumentTextStyle titleStyle = theme.entryTitleStyle(); + DocumentTextStyle dateStyle = style(theme.typography().bodyFont(), + theme.typography().sizeEntryDate(), + DocumentTextDecoration.BOLD, + theme.palette().ink()); + DocumentTextStyle subtitleStyle = style(theme.typography().bodyFont(), + theme.typography().sizeEntrySubtitle(), + DocumentTextDecoration.DEFAULT, + theme.palette().ink()); + DocumentTextStyle bodyStyle = theme.bodyStyle(); + + section.addRow("BlueBannerEntryHeader", row -> row + .spacing(theme.spacing().entryHeaderRowSpacing()) + .weights(theme.spacing().entryTitleWeight(), + theme.spacing().entryDateWeight()) + .addSection("Title", titleColumn -> titleColumn + .padding(DocumentInsets.zero()) + .addParagraph(p -> p + .text(stripBasicMarkdown(entry.title()) + .toUpperCase(Locale.ROOT)) + .textStyle(titleStyle) + .align(TextAlign.LEFT) + .margin(DocumentInsets.zero()))) + .addSection("Date", dateColumn -> dateColumn + .padding(DocumentInsets.zero()) + .addParagraph(p -> p + .text(stripBasicMarkdown(entry.date())) + .textStyle(dateStyle) + .align(TextAlign.RIGHT) + .margin(DocumentInsets.zero())))); + + if (!entry.subtitle().isBlank()) { + section.addParagraph(p -> p + .text(stripBasicMarkdown(entry.subtitle())) + .textStyle(subtitleStyle) + .align(TextAlign.LEFT) + .margin(DocumentInsets.zero())); + } + + if (!entry.body().isBlank()) { + renderBodyParagraph(section, entry.body(), bodyStyle, + theme.typography().bodyLineSpacing(), + DocumentInsets.top((float) theme.spacing().paragraphMarginTop())); + } + } + + private static void renderBodyParagraph(SectionBuilder host, + String text, + DocumentTextStyle style, + double lineSpacing, + DocumentInsets margin) { + if (text == null || text.isBlank()) { + return; + } + host.addParagraph(p -> p + .textStyle(style) + .lineSpacing(lineSpacing) + .align(TextAlign.LEFT) + .margin(margin) + .rich(rich -> MarkdownInline.append(rich, text.trim(), style))); + } + + private static DocumentTextStyle style(FontName font, + double size, + DocumentTextDecoration decoration, + DocumentColor color) { + return DocumentTextStyle.builder() + .fontName(font) + .size(size) + .decoration(decoration) + .color(color) + .build(); + } + + private static List orderedSections(CvDocument doc) { + List sections = doc.sectionsIn(Slot.MAIN); + List ordered = new ArrayList<>(); + addIfPresent(ordered, findSection(sections, SUMMARY_KEYS)); + addIfPresent(ordered, findSection(sections, EXPERIENCE_KEYS)); + addIfPresent(ordered, findSection(sections, EDUCATION_KEYS)); + addIfPresent(ordered, findSection(sections, SKILL_KEYS)); + addIfPresent(ordered, findSection(sections, ADDITIONAL_KEYS)); + for (CvSection section : sections) { + addIfPresent(ordered, section); + } + return List.copyOf(ordered); + } + + private static void addIfPresent(List sections, CvSection section) { + if (section != null && !sections.contains(section)) { + sections.add(section); + } + } + + private static CvSection findSection(List sections, + List keys) { + for (CvSection section : sections) { + String normalizedTitle = normalize(section.title()); + for (String key : keys) { + if (normalizedTitle.contains(normalize(key))) { + return section; + } + } + } + return null; + } + + private static String stripBasicMarkdown(String value) { + if (value == null) { + return ""; + } + return value + .replace("**", "") + .replace("__", "") + .replace("`", "") + .replace("*", "") + .replace("_", ""); + } + + private static String normalize(String value) { + String safe = value == null ? "" : value; + StringBuilder builder = new StringBuilder(safe.length()); + for (int i = 0; i < safe.length(); i++) { + char current = Character.toLowerCase(safe.charAt(i)); + if (Character.isLetterOrDigit(current)) { + builder.append(current); + } + } + return builder.toString(); + } +} diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvDecoration.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvDecoration.java index 9a4c7aea..da00c6e2 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvDecoration.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvDecoration.java @@ -47,4 +47,12 @@ public record CvDecoration(String bulletGlyph, public static CvDecoration classic() { return new CvDecoration("• ", " ", " | "); } + + /** + * Blue Banner keeps classic bullets but uses the tighter contact + * separator spacing from the legacy preset. + */ + public static CvDecoration blueBanner() { + return new CvDecoration("• ", " ", " | "); + } } diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvPalette.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvPalette.java index ca8103af..c3285b04 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvPalette.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvPalette.java @@ -56,4 +56,16 @@ public static CvPalette centeredHeadline() { DocumentColor.rgb(188, 188, 188), // rule (#BCBCBC) DocumentColor.rgb(220, 226, 230)); // banner (inherits classic) } + + /** + * Blue Banner palette: compact dark ink, blue section fills, and + * darker blue separator rules. + */ + public static CvPalette blueBanner() { + return new CvPalette( + DocumentColor.rgb(20, 25, 35), + DocumentColor.rgb(85, 85, 85), + DocumentColor.rgb(58, 82, 118), + DocumentColor.rgb(112, 146, 190)); + } } diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvSpacing.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvSpacing.java index c900d5bb..356492f3 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvSpacing.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvSpacing.java @@ -167,4 +167,26 @@ public static CvSpacing modernProfessional() { 0.45, // entryDateWeight 2.5); // entrySeparation } + + /** + * Compact spacing for Blue Banner: tight body blocks, full-width + * title banners, and no extra artificial gap between entries. + */ + public static CvSpacing blueBanner() { + return new CvSpacing( + 4, // pageFlowSpacing + 3, // sectionBodySpacing + new DocumentInsets(3, 4, 0, 4), // sectionBodyPadding + new DocumentInsets(8, 0, 8, 0), // headlinePadding + new DocumentInsets(1.5, 0, 1.5, 0), // contactPadding + 0.0, // bannerCornerRadius + 3.2, // bannerInnerPadding + DocumentInsets.zero(), // bannerMargin + 0.55, // accentRuleWidth + 1.2, // paragraphMarginTop + 8.0, // entryHeaderRowSpacing + 1.0, // entryTitleWeight + 0.4, // entryDateWeight + 0.0); // entrySeparation + } } diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTheme.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTheme.java index 4652c83e..a9828463 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTheme.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTheme.java @@ -102,6 +102,19 @@ public static CvTheme centeredHeadline() { CvDecoration.classic()); } + /** + * The "Blue Banner" look — PT Serif display name, Lato body, + * compact spacing, blue full-width section banners, and tighter + * pipe separators. + */ + public static CvTheme blueBanner() { + return new CvTheme( + CvPalette.blueBanner(), + CvTypography.blueBanner(), + CvSpacing.blueBanner(), + CvDecoration.blueBanner()); + } + // -- pre-built text-style helpers ------------------------------------ // Renderers ask the theme for an already-composed DocumentTextStyle // instead of re-assembling font + size + decoration + colour every diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTypography.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTypography.java index 7de1427b..376744db 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTypography.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/theme/CvTypography.java @@ -102,4 +102,21 @@ public static CvTypography centeredHeadline() { 8.7, // body 1.45); // line spacing } + + /** + * Compact PT-Serif headline + Lato body scale used by the Blue + * Banner preset. + */ + public static CvTypography blueBanner() { + return new CvTypography( + FontName.PT_SERIF, FontName.LATO, + 20.0, // headline + 7.5, // contact + 7.3, // banner + 8.0, // entry title + 7.7, // entry date + 7.45, // entry subtitle + 7.7, // body + 1.3); // line spacing + } } diff --git a/src/main/java/com/demcha/compose/document/templates/cv/v2/widgets/SectionHeader.java b/src/main/java/com/demcha/compose/document/templates/cv/v2/widgets/SectionHeader.java index f5239886..a8159447 100644 --- a/src/main/java/com/demcha/compose/document/templates/cv/v2/widgets/SectionHeader.java +++ b/src/main/java/com/demcha/compose/document/templates/cv/v2/widgets/SectionHeader.java @@ -17,6 +17,10 @@ *
    *
  • {@link #banner} — pale-grey panel with centred spaced-caps * title inside. Visual signature of {@code BoxedSections}.
  • + *
  • {@link #fullWidthBanner} — full-width fill banner with + * centred spaced-caps title. Used by compact editorial presets + * such as {@code BlueBanner}; surrounding rules stay in the + * preset's page-flow composition.
  • *
  • {@link #underlined} — small left-aligned spaced-caps title * with a thin accent rule beneath. Visual signature of * {@code MinimalUnderlined}.
  • @@ -62,6 +66,41 @@ public static void banner(SectionBuilder host, String title, CvTheme theme) { .margin(DocumentInsets.zero())); } + /** + * Full-width filled banner with centred spaced-caps title. This + * variant is for presets where the section title is a solid band + * in the main page flow (for example {@code BlueBanner}), not a + * soft inset panel. Any rules above or below the band are + * page-flow ornaments and should be composed by the preset. + */ + public static void fullWidthBanner(SectionBuilder host, String title, CvTheme theme) { + fullWidthBanner(host, title, theme, null); + } + + /** + * Full-width filled banner with an explicit title style override. + * + * @param titleStyleOverride text style for the banner label; pass + * {@code null} to use + * {@link CvTheme#bannerStyle()} + */ + public static void fullWidthBanner(SectionBuilder host, String title, + CvTheme theme, + DocumentTextStyle titleStyleOverride) { + DocumentTextStyle titleStyle = titleStyleOverride != null + ? titleStyleOverride + : theme.bannerStyle(); + host.fillColor(theme.palette().banner()) + .padding(new DocumentInsets(theme.spacing().bannerInnerPadding(), + 0, theme.spacing().bannerInnerPadding(), 0)) + .margin(theme.spacing().bannerMargin()) + .addParagraph(p -> p + .text(TextOrnaments.spacedUpper(title)) + .textStyle(titleStyle) + .align(TextAlign.CENTER) + .margin(DocumentInsets.zero())); + } + /** * Small left-aligned spaced-caps title with a thin accent rule * beneath. Visual signature of {@code MinimalUnderlined}. diff --git a/src/test/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBannerSmokeTest.java b/src/test/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBannerSmokeTest.java new file mode 100644 index 00000000..4f1d6c52 --- /dev/null +++ b/src/test/java/com/demcha/compose/document/templates/cv/v2/presets/BlueBannerSmokeTest.java @@ -0,0 +1,76 @@ +package com.demcha.compose.document.templates.cv.v2.presets; + +import com.demcha.compose.GraphCompose; +import com.demcha.compose.document.api.DocumentSession; +import com.demcha.compose.document.style.DocumentInsets; +import com.demcha.compose.document.templates.api.DocumentTemplate; +import com.demcha.compose.document.templates.cv.v2.data.CvDocument; +import com.demcha.compose.document.templates.cv.v2.data.CvIdentity; +import com.demcha.compose.document.templates.cv.v2.data.EntriesSection; +import com.demcha.compose.document.templates.cv.v2.data.ParagraphSection; +import com.demcha.compose.document.templates.cv.v2.data.RowStyle; +import com.demcha.compose.document.templates.cv.v2.data.RowsSection; +import com.demcha.compose.document.templates.cv.v2.theme.CvTheme; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Smoke test for the v2 BlueBanner preset. Covers the preset-local + * body dispatcher, especially bulletless project rows and custom + * uppercase timeline entries. + */ +class BlueBannerSmokeTest { + + @Test + void exposes_stable_identity() { + DocumentTemplate template = BlueBanner.create(); + assertThat(template.id()).isEqualTo("blue-banner"); + assertThat(template.displayName()).isEqualTo("Blue Banner"); + } + + @Test + void default_factory_renders_full_document() throws Exception { + DocumentTemplate template = BlueBanner.create(); + renderAndAssertNonEmpty(template, fullDocument()); + } + + @Test + void custom_theme_factory_renders() throws Exception { + DocumentTemplate template = + BlueBanner.create(CvTheme.blueBanner()); + renderAndAssertNonEmpty(template, fullDocument()); + } + + private static void renderAndAssertNonEmpty( + DocumentTemplate template, CvDocument doc) throws Exception { + try (DocumentSession session = GraphCompose.document() + .pageSize(420, 595) + .margin(DocumentInsets.of(24)) + .create()) { + template.compose(session, doc); + assertThat(session.roots()).isNotEmpty(); + } + } + + private static CvDocument fullDocument() { + return CvDocument.builder() + .identity(CvIdentity.builder() + .name("Jane", "Doe") + .contact("+44 0", "j@d.com", "London") + .link("GitHub", "https://github.com/jane-doe") + .build()) + .sections( + new ParagraphSection("Professional Summary", "body"), + RowsSection.builder("Technical Skills", RowStyle.BULLETED) + .row("Languages", "Java").build(), + EntriesSection.builder("Professional Experience") + .entry("Engineer", "Acme", "2020-2024", "did stuff") + .build(), + RowsSection.builder("Projects", RowStyle.BULLETED_STACKED) + .row("X", "desc").build(), + RowsSection.builder("Additional Information", RowStyle.PLAIN) + .row("Languages", "English").build()) + .build(); + } +} diff --git a/src/test/java/com/demcha/compose/document/templates/cv/v2/presets/CvV2VisualParityTest.java b/src/test/java/com/demcha/compose/document/templates/cv/v2/presets/CvV2VisualParityTest.java index b4fe7583..a7dd6eb6 100644 --- a/src/test/java/com/demcha/compose/document/templates/cv/v2/presets/CvV2VisualParityTest.java +++ b/src/test/java/com/demcha/compose/document/templates/cv/v2/presets/CvV2VisualParityTest.java @@ -95,7 +95,10 @@ private static Stream presets() { (Supplier>) ModernProfessional::create), Arguments.of("centered_headline", CenteredHeadline.RECOMMENDED_MARGIN, - (Supplier>) CenteredHeadline::create)); + (Supplier>) CenteredHeadline::create), + Arguments.of("blue_banner", + BlueBanner.RECOMMENDED_MARGIN, + (Supplier>) BlueBanner::create)); } /** diff --git a/src/test/java/com/demcha/compose/document/templates/cv/v2/widgets/WidgetSmokeTest.java b/src/test/java/com/demcha/compose/document/templates/cv/v2/widgets/WidgetSmokeTest.java index b1e1f9f3..d8839e41 100644 --- a/src/test/java/com/demcha/compose/document/templates/cv/v2/widgets/WidgetSmokeTest.java +++ b/src/test/java/com/demcha/compose/document/templates/cv/v2/widgets/WidgetSmokeTest.java @@ -61,6 +61,9 @@ void sectionHeader_variants_render_without_throwing() throws Exception { CvTheme theme = CvTheme.boxedClassic(); renderWithSection(section -> SectionHeader.banner(section, "Professional Summary", theme)); + renderWithSection(section -> + SectionHeader.fullWidthBanner(section, "Professional Summary", + CvTheme.blueBanner())); renderWithSection(section -> SectionHeader.underlined(section, "Skills", theme)); renderWithSection(section -> diff --git a/src/test/resources/visual-baselines/cv-v2-layered/blue_banner-page-0.png b/src/test/resources/visual-baselines/cv-v2-layered/blue_banner-page-0.png new file mode 100644 index 0000000000000000000000000000000000000000..13f82984aba7f7de8d3413c79f13a466d9e64400 GIT binary patch literal 111671 zcmeFZRa9JGxAqCa-Q67m!CeY>hu|T&6FdPzA;I0Ha0mnm1Pugtr|=Nmp&*1{6{L{R z`~RNvj_-`oqx(DE<6QJb*WE7Lw$@zFeCBWNI6WOzJZx%gBqSs}bu}deB&27CNJuE^ zn9qQBDyev{k&wcW)Rp942E0Bgj0z$fZ@uo7wLR@VgysqzCRz*O^0#%OaS#@46Ee!3 zZ<7~npZ@crw)f&_lX`r7$7itcvk+B%z<&8x@bQZ7*>Sp2jq#Un#{OrUPcsIbq}Wjd zIpXzzplJ=lEfd2X5mOK*yysfZf@&A9}zkeNuaQsi# zH+t;8sgLR^wP`AiCQ$JGs9O_vnMmYXaD21=_3EI;q~GcB=OK)5=B*$qIk&R}0k*Y;Qi^SM*IR{<6pX^Y?hs&3{f@Am~)VKU;xFmJ`mk z8-+u`D}w8Bp?LXq>j7Q~j?&m&U1y`E6mi^5;hH~yS_q4mYj2=yhw9{l5PVc6a{ld{ z+miXB1ln2bI7x>ShpJ!Z4?ctMi(krqx(&XAwx7=HFSi9+$Q|T8-PhYc{S|oo`>y}{ za}%cX-tqYd_&sUt`-5W<|0vV*^BorRu*waNF2Wx*z0TV=&_HXq!)o4*pwRnZ4IPK+ z*GTNXMR$xN+K}{b)>y~vnpvf<^_u(4<$Eh8uVuIXu9xV;#ZAF~mgA1%&7Ha0%-lRX z=!EUtWkAa3qKql zZZ*Mp?0Xc*EQ9{^$5f~lj!Wgm5oJ_Pm*?cYrEb?9ij2#s#8Lc)|NBHz#O?Y)8cm}s z=w>?WNkH!9DsI(F#h#v!$LQ;E7vgzQ^Y$agk&n2wXCR^|-$T9zRIiE%YvVvU9g<9n*q0zWIJjJS}z+dkW*mDD0=Ub}jW~OJzFVAKrpuq~I zu^2!+zzQP}+&XTd;nb^?Co%aunZxJ1&lO&?(GpbuEAvAFqAy%obG-kPq(=LWElB?9 zymV_h&1`*16D=wMagXtmqom#UuO6 zbbYpUI8*#&#w!UL1DDvZXk_L}g*I{*Gqz-gI+#?*Cqlp39TpV@4-`u1v_S|GDMgA3 zbS#4;HHH(#JU7dyQk&i7M6S8Lttd@6L0A*uc+@_O+h!b+22KMtIAig;(>XT9*7B%Eu|DgI}|8}?3?Abs7tCQ zSn%DS8Pn%Bxdduszk+q=w(TIE*XvQ4TqaDjS;ZjDBJoTT7WgopC(NS#{RYM`Nv%b1 zwe_5!-KcKGL(@UcdL>!>Oq5_TGcutVTv=t4o%rrF#>x(C9vK_o5oz3rCa?+Rhwu!j#7a&^;?V)GHA9-AX8C+#?$x=Kt3p1E9vYbcDo zu)(XG%X+P8U>tm;NQ_>Fcs@o?Z7tj6-bbR;zwXvalO#!F8=W$bGzfV@p7EyThu&=O z41WLFv{UVWvd&UToQ>E&ExUPZ#{r5)$kntKa*BGLV`h;22$EY5dgckkab33^pU+BW z_Gp8oJZjg0LylCx(_kzUH(I1SnN6D1BCiC=eks!f)BkHkw&m)2Op?9OpAKfm)+0p| zbzk2F*(gHzYE43EC3RZ;+Mf@xDXJ!V=OiRALkL11M?%c!g9ko1a2q>KUKLgP|K8L@ zkbjX<;@ge30X4Wzz5i?v&DJeqh?9krU2;z@ugLiwufiFgbWR!c=tAC7yxnHWJ)7Mr z+gc_l%%c?+4c#GDB@&B76wJIEu-O#DDI|o^2)IfcOj$Iv$)(K$;q3~#0$)Gq;&+8A zl^HyrA1h&EDa+F11X27mIOW!%926Wt$Uguk>L0U9y}m2!*bn?xae`UlimPLLw+xAW zwadAlhr9$CpC%!bz@Y=7nwsPObVEw~WR&!07ej>Kz&N->z6|zfzQ>S&n+cM_nBGWo z1BQE3V9BN<Bp^;VJBy!d zlkb*p1YHjoBg!4RLgT;ZGKSSG)pbrPkB$lzOH0pp83iTZ<53#$RpoXn`2|@0W@QI~ z_aSAmG{BBX*tMTvEYF;|kD1ud?CY4gNiRP9=cMWm`5nj^@r;7+^}FKcEt&zYfC1nT zbYOOqe6pwSKH}}TqBK~nq8=0|1jA4XOq#^ zvMg3{ua|l_KLe$xZ7tl*{WbvB>Hh?hrzHAvcy005w&q8ze@-mEC+wcF0D7}KobZ*( z=kLrnSM<+ou{x1k{l5k*!B>|<#N*qzl0&=;No*CrBQlkl{{Y~&Q9WEm;pDtRpl?Dk zTo>IEt3+JIv^ZfA#q$nO<>@vo!;e`B$tg}Cxq_RdN1+t^YC-V1m~W%NR$H8*r35;# zBUYGB21u1wH&sw;Y?*AcI}i?A@>_xQr~>K$4n(N1e=g>^JS@T`{V9(~G+sP#HJ2cV z5dZIW(6u=I%K2X-MPR)j=Q3EAO%{`TFSNB#ITN2#r#9>&1QUlBF1Nd#-N=5r{@agK zR2c95@LEa*)){<{UshqOAi!X1*Gsa!_Ea9fr!8DO1ooO2yH3(=hf)0#?-T-`jehgo zk`%&w1s&Z~pr86eZOYf0{|+j08BqLtzFUl}+p4BQ5B&U}nUB;($;)+mFLO^otMgYg zy4bLySlD4?D*sza2U*RJim6ngw;k@hl78WMJ?F1_krkl?e@{1h`AT)2V?64uM$c*F zX@x&n0#e|B3%5t7SVGLO^wZqqux`75F8GJ2veXt_F`y2%mb_4a6v9U+` zHl8x;djQY4(bG(42$2qX7_#hdI^FC(WY8;YKEc(J3k3Ae?xg35+w|t2Xeb~uj)k3f zH?{|cC##G~)PA-N21o5i{7YU;puZes8$OCH?5lqJYfenHi23Qp@-j4}_!-7(<T*+AR?@K+(;!%*~N>O}bd-KEdBn%xCA+;Ak zK&9^z^}MB=d3qILJU(vdL`|huS6tr>MhKSpX#4)Sx5D|nSoIVLU8=M5cj{$#e}A#7 zod2$Hy!z#rWdGWA$?v`sxI+kqYy`z0A?9E))m9SfmQMFYiNp z0>cWG+Oa>_ckr$;f7#EN{k-szaDIhuuDz^C;lkx#r&p4l5;zwJq#vwk|47e-?t6lN zrWBt=<0_y*^f=R5fjfUOu=dTE&kz5EFBMpA^#uQVI8Ius z-&zNRcp(iAXnB>QuTaW=!>l-gChdkE6mmTM=*(Keie5Qw`PNBdd;SR!{Y9W)7}Ps_ z!2fK+|4?PLX32Bfs^{l)QgTYMU&sCJKzuJ_-`&)gT6*C*5lMYdxVo=PHXXzv1mvQ5vx~2W~CYR}!aU)|jI#s=8HM z{E_u(Y2Q3IyNt@)WJkG8>NDc4_h4@-wi;ePu6_MQ`@IcK#$%&31LgR1x&3giY!r`L z?)cotI7vhr4Nr(1UO}*}QCp{1_Y5h-#-yQ#9(E0@= zDG2J-o?oXj_XSa^s>L8ez4i)P_tmC1z=)nU1mbTopbUjZu|$P&4{zgQfxMt|MtNs$ z&q;{f(;L}GomQ-J(>`~vo6&7^+ATIWNj{}~>&BzEuM1rV&gWM}~;=rU0LbC%;` zrN*Ql#SJZqUW!O|jEnN-GRs*%JORPj3S9f0X>uNONkCGV_cb$seB5_-9r&!e^FY3* zfC{te0g}Jzykn4*E_b`W}1=%z2NEcxk^|&X#5D z5@ghWqF7S?w+gNNVY5h%n2HiGcf99c@u1{pVNT*_@6f-$KR;)hrcNuzc>uko;t3*J zJ*?&O430%mVp^W8{-$D2I@t(Kb=0R`_~tzBW2(vu8EGck{dPUfA$2s2c5e-u1--$YiEyDKKDC+KSfNokyA84A3EnmO%lLRBaC z*tOE^u(lz7cP}jKCRX3lbm!`x(0)og(s4viD^J{Y3m4on!Tcc#s8pQJ` zRzNAO!~Mm#N6;k&*LbS24{^H``)+B4GcfzGE&E9uEqRCf!R~^y(t}FqC)gQb2ugOr1+;fj zi;X*d)Let*LL1SDZO`xF1t-M?NkKvkrSukTlbeyH*nh$XsB}KLzFp4g1G7!Mw4G4v zeJt9DZ(95`X^b`J6L!(|r}kE|1bRdEtd}R>7Qpqo*R_#cENULgYn$%w57WY046?xx>O*#@;?OrPznvAqsa##G@ zsvR3Hum6%`USt@RVG!)ojr`aL{`9~dLqI)k!j1+~;jo{8O4h&o*x0zoq4`BNKRFJu zJVdx_@s0;r5R|`j|KKd%6evzWL|!T*4V$1l^wg6FkRO^H)~!>)H`)Sgv=E98w`nCKU$d=gki)6EN~!Ll%n3E2PQ-?G zY*h*}1ksf<$J^HQuglwk-wHBx;!W`Tt2OyQ$@{t4f;ix%P76F2k^;PU@-LRdUj4RT z8wyxacw7nAf{xNZLsqkBJw0~>iIVtX+<&y!!oez)%uIAVx)6e-m|<4Ej5wXO|LJ2y znW^<25LXZ&v9)8S%$VD4=Qzv zlWxSKyczb`b)wwGN9=ZayoP+>C>+CFaah)R$p`OpkY6b`2MBN>@lD7GQR2rWg!V^R zTz8AU1bd(##=ZQJwRhsyf&g9PqUFbnRxUNbs-^(kjB_jpsilWXG%f_T~60{iVhg+kz z1>F=WdCpT5AK{4>f_!;(*7pb1|4gC^V7G7Lkd+d~&b}=sa5=!I%G~QfIh+Dx@-4(~ zr6hJGL4Ar-Wbm|f_q;?Orrv!(PM0>irc3QiuLz!CB(@T(!ALnNiRp7^J z!0pPNFKom*`4%#oP3sr&XNk0nJ?J_*fCQSYl> z8S1O&q>cY`(ld&62#k?ZoX_u6$gZ6y>~fb!+_Ulf^vRW#=|3F$T^zapokh>258<;v zQu*iS^W|Lf>G^iMcn+X{ZDy8d{5Q5j_g+@s7Z}I~Yhqm0Z26Y%3sbd4(;8UERBy7O zC`60Ubxqr6yDVE_FZ~4N)N9Ao=G2$pb(5>-np--ax4c_2t1v$JVW%l}!tmXx8jN=$ z-r{)p6XxFCfXL)q@>5%ochh!6R4C@*t@I)L7@zSE?_?z%Uf<~0{*FMOa#G*>}ene5teh3m8=o}6%(JDSS$tDvXs8t{dr zjcob2Rp*+!5A~ndmzEPJpQ!(+=YFzZ8QC$wrFep$Ma6$VD)?k-IYCo_5H-sNen$nv z!MD1avCl1ln((>z&rro@)-G}Dwi7PA%v&dmUpzfE>FnI!uUYQUYf1KbRef;8ut3K7 zs@txWSiaYu`wi!@Y_%^%)w=QLL$0TuYQmIc?@vZgi7UlCaQg)6r1y_>y!20e?$q^L zzWx5yO$$BaHWsOpF`4jlK4KB(}co?Alh0?Go&pda#8* zVmka*$@6#;W2SAjb!I+=D|fy3l12b3^3!Sk6hT-d$I zB~Roly!U+B1=NKVgZ5b#Ndm8Xls5Pw^^S)(uWbGQaKIn)HhL9a?)4tl?=n0T4Tfl0 zFdAj2^A{u_tW`1DgZq!!Iq+eVCnjPhE9~r)cyWb@61Ltv%e35ULq}d4$XTTyTIiI1 zwsrCmo_-+|qtxJ_(k}`#j}4>0DXWSv3Bs7Jt-||MQB;sTr{JocM=bJRPKRNKbhAJW ze-pbg_l!Z-K`ZwYYLTUn+SXJ0k!8d3{r z(n@W#%DqCreAK?$huM4=|l@IR!v z@fo_Dj%}j&Ft=rYm(4KpC+)&f!sm;0(3>7J{0UL)7*Zyeqw||*MtE?n1gGcb+=@GL zyP|{Osc83GrZ>n(cn6vI#~iu*TcIIS$~|%ZpIAGxHll%B#Ph$-i5(`SZrcNl^$@j; zt#$qgoqb!o$08hS{BZj5n`A_fX4=$>d0EIL%^&l`&KQ*adA2v`G4*u|!T16Nncjj7 z1DGgG=mj-C&&j?offvhv;;@R14$(}2^Zt%hyPwO&j^-*_|IxgjFEUITl%e=_ zqJ@c@9u}YO^oM)NzJaTN$4>vyms5LS=>gJ;#Kc(r{(hY4dV#sRDZ9cntxw0GLTfN& zT!>sVw_Pa;c2@67JVI7a!akZbXySNLqp14wgM`*(?*R`7MpTVI&&x#;y#cnbJTsNw ze+dv^XFhA7)`~#de8{N;``%(XeqMW&@%07DG+SGjf|5dntM%V~{F?h|SZSfg%vJBc zN%&|CSzClbu;~dKSvjXF)8cqSRd{Q=-YtAe!Ajxy`6?CaLxNt zhH^NAL-*kJVvhsxGEzc7HeP_wMeTpMO2}0B8T9t(MXeys8ZnQ} zyF~L)3D8^gt**d`kL&IDC2|#eLbWo<2N?~0Utjlz>`f;zOc(Z^UoLVx;m3Es<(|(a zq1knjaJ~mJ+tYQ7u-`-p*GsgdFE;{-ul|EinUY4amc>H>0tRU@9il+x~`!R@|p zgq^<^=vIE7`wi5~*knQ0j2z55=s&QVKE98`!@#Fcjuk(cC=d_4t9Y^YD)$0oq}g}r zwZBJKKday#-|H^t#nz1bR|VqlPlnFZ_WpG}UX6!+7+mK7p`IPU1xo6>@A2Dw_lA}) zGVGe`W>kL7P6LH7A6V_{PI==A41vI7Xi~oHmQQ$o%j>p)T&X2=_!^KIN-g044rb`x zpIj+19jH~C{mP}$G;J-Z#akFyx?<+fZNZFUGkNL8;2oNX$HfD}_of{(3)u39)+--N z`+!=sE<|`k|2g`0rs=H@)Gu^o^E6>clYeV$jzk;+7_qx--1a{`wi;>ZEPK7-%NMc4 z4$r6Znvr~57wUv8%tie(oz(T*N2g^vZ%!;)ZLdbOEgG4KB?{hp$Yj^Q5^`K;eTnNP zC?>24Rs_-iW4Qnse8BlO(__4aA{-gd119?@XaH%A~VUT^Tm8Lj1gFX8j2 z&A}7;B>pRK?m6x#$7tnDfdjHv7}Sd%!QWp}S_ajjRW$=jY~rtf_yT67Gqy{{Q(hV! zi3H%gmX|wt+Er@hJFFyQCEFW{`VCPUiwC{Q9_{OADJL?`-l@0f#ag+;qx88Q6R4h6 zJA_(9A_1<9jok_F<(2^ zH=K~8pVKBwI(z{X-R3xau;J=_&iRG_F<^TAYLZ7N5-3MSUeU|3%=6p_$G4n)j|h}c zuU>G<5N|li-6btEZFGGx&@689#VquC9Rc_i<43pucsFdy<-zv^-cYcOXjSZQa7xjm z;+p^45k;uaZOKj|noA*y%}J5DFS#C$kygHd6YL~VZ4#+b*e|>Q`pnXr49FYHz}TLf z9fciZeOy#rLQVERHDcFMRldq0H@Y4(OIt(&7850$P}$}@dkTE=%q6nA(#mzbh+yGk zB80&ySKLI6)pvr+PeHn0Fs-EzdC;aVO%GfH#n%@2IKA<{G_cl$y8qlc@Kxc%m*4n(&i(awk0s=Wh9{D0nMNYg6;{M)kQ#=_`%sd$P8}(|(89PUKB3D0cCsO~=3j9S zFcFkU=|cH0Ne@Tx3GB$n=O|yqjzl6F`sVC7Z08e`gM}2?`EA>&@<~ga_DA{R0*+AK zl!BW2hl?&GO!*MC?~SRx2!LyoM{>QPTG{98h=e&v#<$ewS5b2C#XU`v+6r8RGla|T z)j%w!mK(0Iz4ebHx_cs+B3Uex%7DQqBorr7+YU;J(c1Te;Caknnd1&wjk}4s>d02% zh!SC1`Qgtk`plX+<18701NhSHM(ymINl}sdp!a{;e6Bi7(MkF;wur<*CW&WxtR?({y!9HWvRb^I5#2coYHxLd4 z%VFm7de9@ro}23u!AME24y+bDOkGRZV=gK+kEtmfoGneeC&kR-$s$XZmYZx1Qrbnz zEmW+?PBm_NNj2nPKam~!>$>pVcokOyk=YWzk{0@No~*S1_p@m=wkZ~KDYm)eReFT? zeHP~ox%<`!#aWJ?#c}Xhq6QUTEPQ_j-Ox%Pq!zV&qS|rk=j;Y>h{J5B%nm3zY2bF|9RyBC>o0XNB0E5i_M|?Kt zXu9I_hw50RKvpJ()uTm!#$T+K*`PtqrQqXe+GRB3;o$&jtY&+F11PE{~FD1K*EW#d5>E z-y5EUpx7i)jcbCc=@LDWHy>$7VxPH?BcFSCiK5iL{DKdP8sQq`JsKHHQb)#Nk1#j{`% zR>r?=+(IG;zwPS4Ko4%&wM}0RMEfMCz_<}w8DuJdH>7MKXN%5U!w$hB2 z@E>R+RNQb}SU{DBVb!VSqYXLHTdFi3uL{bj*cL`Ilv33b+TV?|gwbRlo(~O{h=DO( z1)v;B+ktvG9xnuVuZJ*zS$K>lVn=R#o@GNpRYbzXTN;{ z>CGV|y;cld@Rdi-XLZyRF_derKR;2~zRI;rMG1=#H1iCIA*~i_+&3j|zeHTPct~vf zdixThD}(@4)QHZ&aD(E034k7)O!L#N810Y>I`M^787#f}T}v$mXNrF1nO0M{D|Yal zO(iAC_JZ|Q!&evOBs9C>%%3<6qaC04UVa$$7GT(n`N28ze4stwCH+mkdmr*7puOwf z?dGvDjGJjzKoSuA#4kDQY+jrGKH*PPo2U3dacoPjM{4ymGYJhNfEWMvm=-ge1d$dLgWBAfNVxNM?+-!SpN4cdS~`${QS&o31v4e zT1UAhemrvpokR>axuo6Da%QZ;H9 zXHEbcL&gGcw6fzEqotx?w_|cwAag%2WjiUdWFq;X`Bs3TUw}p7sWwo$DVIHNa5iO# z%DrX|3A<9N3T|x;0IoulJ?$!+MlGfN z@wp~D1F`JQB5F|j+6L57#vgBM7fH<&G=^*Ok#CxrY>$m}&~0c894X}-7sn6f@Me9N z?9Lf~tfIdOjj5yL8A{O&{c|gT*5LYzK-AM?MlbC3Hod69S&NK~#&}a!YC*Oc-%C}| zNL7@?ykN3T67_9*t&OHaLA#;%bF!CeECXOIDz`{8MRQM>;v$a)^#!UxPCX;><{$@3nkW6ld zeGGN{U@NZjxx^kfjGS;JAHgY?{u_UomD#Cog|Oj1Qi+PXHEAm7S@a6Lk@p9_(Ja41 zmD=Q(t|2Gty^_SINh83as6$HA8)$J`x{xN7BlADqRF-DXp>^oF>2u&efc;{=HzxV} zEZccvOuKR_@WF(LmF#w#0?_~}-C-kEOv)Nh^ zRY%C+`eF0F&hliAPrePn>fMTTq)y6X!aDGD1c=h<50Vqqn!Fc`SDnsA=%?(ly@pPN z)gkQUGk5)!(uoH;eBC5y6J{VY=@T|H6G~o{c7Tu6VtCfaHA{-oP}qJk*z|$kOXYH( z>3xYLt>YB$>Yiny{mtpJ7=$#f=G)|%yf z1vG&uj_n14zBx`js#y`ez1MApT~*-oH}?f1zPPFLtjq7|?}nE3&}vh-1es@s1uT+o zgPE~V<&vO`WGkxq-g7v(Z}$5MsMoIB?y(G)hf3JmXGRTTo}A@R$po@qjt*N~mq3F- z-Z%4TIv942;rw#|xy*!hnnjLlqnAkQjxs?yS@ZJnHQw%p0Y0?fm#V0{#V`&|K%}$PP3JP|A5RM%X`jC*m0n1t`hZYM8;CakC~O z-`8!`n!dPEnj@==Ta2t~<6E(xrRI)RIhTM)y8W0H)k%4`uYyGy72uOq^vsm&eHmRc zmZ-|=jkiOiwaF1iOUb)GUW+|5qa_V&7oU8fcP;Lr3Q}NZh~M!a;^oA)iSh^~r=DKa zlfR~^rV{MCU1VwB8Fl5_e0v#}&6~RJ|1i+*%?SOi=#yy-b-KO~gkfb4p%+cQY9}TX zU>zf=gpFrX_Ww9EES5;byESGeOPALDBhY6#VQ6hd-%uv~K6|^*aT(QGx;9}sM4Xfc zD1Z7p1v6XsD_vntYqs?y)@S^OH57|C0sf~M;QR%^+yFq$z_-*R=(mtTNBC;E+mh$l znl5fKy_5~TtG@#M-7>)Xu0K8D&d!alKLuRu4r|`ud=CfQplcd_r6TpX#I6@JpA%_i zPo*wz-Cw{~7?;$KK`NocjOprU&xy6x7`~!2{$a@dkimP&o!5 zmz?_7arjd+bswZBg0{DJ0Eft%wtJ+~=HU1(ESqLwAAAYIhZe}_(ksWITuQw(ffaS% zfAd&FT>rLc=U}CFd<82Vof+H=#@MGSreu;u99n;e#9hw9a{2)_d8V*;dm`}yxo%K3 zxs=z$F_8_;yC5D<>fNb&)gk*Xzk80g<3~G1T9p3AvHpWe6XW`g28T8LM2xJEea&ff zeEN%#i(@2D>*L)VTbks_jo~D~^vRA z-rqdh^gxeemJc!EV;k+Ft!wq^2tmx>vr|oozAMGXHt+LUA~TfDnS{=;>@Jxy9C7@o zu;ZiDH`@Oc)*s!M+diFzF@5t;#*PxVlDMEswbCBH$aHB2`IMVh{JQDg1iY!t1#{Gf z6Tpm^dGIzaY9z%QwD9ijJBbMUI~5VNx!m=(lLv44BH>Lwk|FHjD%L?ZZL39QPxt3+FA8zJ3uHvPymWV5`RfVmJ7!3jb7xt>m&$(D4U_ z06;wId%Fc6guo3*VS`NT|5jipNCce@u&5-(Adbaw3E>Zht-lV&80eXfntE67ke}@5 z{h)-JY^1_UU~%(Pw#~SE#2L$|OgM6f^fSEc{te=J#~ydu0Wh6>_PGY+Qe(`kNMDqK z7026%he!gCCY#D=VX;u^>$4v_t$pbKdqV=c-Bir9;BTXkv>O{qWTH) z(JyJ9l1~N*5=7skaG?}myWNM6Hy_dGC_0Ay5Sa{L22TGZtFhy&Nc_=ZcPL4f#LFxB znlHv8;1Yk;5*n?`2`w)ngrwv$ud;tu)WMBF*ftDdpN#J>-LXv?H=UTEd?fK3Cbmn7 zO4G9jmhky%ho`W@=H=eRs1cbFZ(v$JHoW_Z-Lc~9)aZ1dJXhiZp@{_Ova?R)ER6$b{ zAu*2AcL1fEBR=rl>aoMkr%R+1ea3IbFGC^;_>~JdzC-VlqO>M$)hK6Dcgp5=(m!#} zDKhmo5#kDt%{;jv-wYg=JU-WVmH zV5ZH(W|saZD$W2c#(IQ%${@^Um)7*z*r1n}-Ysw5fVND)c^H?_DL!8ey>o$xntxK> zSEU)igCE3CE2z?k5O8O`?rFL`)8sD}HRh*qB;kUsJt+ zt$^b19AOo#Ux7>bZs@;k)TMII09?(K;5RAPX-aBs=y;B@?TYN))dP?JbhxX?akH(1 zI*aI!2*c)&wmm?nkRJM(BHzo*U&Vr`OenVj3)yclQ!ID$3uHyZ_)UwM-vGv!6ErX3 zd1|U{EK~1+;Fm@cC*+bh9T^Pgvu`FDac#$N2+VfoqcRZA@~e@Kra_n|_Mo<;pLW>? zH6I?9@rQXWTQzu-1SK;WEye9X>kPkW-|$~$Yd_~q9q^Hn8%o_8Xg;ArTZlm!Ruw9} zG<@Dc7}V?z%fO)|`}}=Cev%ydfDz@R29)D22SPB)(OZyl!(`f8I-z@~NBx&5`iR(Z}Cea1K^JEHk$ouqww zg4^@bF3%K8qMDSA(nE?!{ilz8oTl<)Bg@*i;UPoijTW~ovms_f0948tlF8nST**?U z5K`u{BFj4j5qOJmiCK6s-SeS{IIiew)XMDpv$LgNyG|=VU^mL#fGs?JvH6Ix{|2`X zqWfB&(O-A=;ghBbv}=$2oIs0nlJHl{2~|18^aM32%eqG|I>~98e@Se%y+W=PdMum! zMysJM=$1avIip2Rs)zx*_dT1G^|YI`;{ z6=G~rrxt^RXv=;@6Vqg}k_-o~4(0F?WT4^Hnw5eLt~Ft`oD`N^w6<}uHlFBPFU(_F zSVCqH)8&Ns!TttN@GdG9CV9$eW{!pwGSTi*YH9T2o#A-qO-h5~z9s)xMOFKzM|;Ki zaSf?W=;*3%k3CWYrj2-Dze^%uBQ-3W61Z0#WJmKCyF>Bdbceqj zL1X+&xc2^WW~GE>|4fkI(Sx`lw0XlzLsvwve4$bN3^nFQN);9_-{ewg z@!WJJs6upoyiPB}m0-zK0w%3fi#pM`@bRd4aY#yAe^<4Rb-`PsdzqN?4hK(vR!*g8 zloBKOsZ?P0A;{#xpvdv0&WhYQzS+#=&3u|Q5*an}F*5oGMSYnBAtqzPRBig(Q z-%h>qStOrT;|L(JhFf3cBld4rqY*s!c@mG*u)(v1l0eNg8<6*ufpVh8>*;Z1nrFVf z>kZF-3{+7G#%E!s(^d_A~U`F4RwH$}%vt zJL=7N@@>+s#P*d2!xtK& zGo88|S~fp6drhFPrK)1(CFxlWt0-&`HXD!#9qn)!jaeWvNigFN+?S&a z;10m|Z}x8HaQ6{pc+uc9B-Hduf)T?itkk+}q_G3S2XOfT*tXj3wKbhIm0kY!^Ge_VfM|@ z?VXSm<=AXa-7i3UjL^G+@Idm2dLHS(78<%aI^JkD?XYS3m9A_(NJ?KU9qupk6b1~q zW&8W2Lav23&oCi;Z=wsvQdG+*oU!UPmb92bXr5V;maW$JWEDJ?LxW-h_w4Qp-6v(G z$n2}*V0X0JAxba8XauW98&I#h%lReCFa!PyU1w_VI$mnZP0=s0h(56e@$}1HU6;v-I&{zl+U4Z?{61I{8`#fSLXevXy)Mp`tnLNNGVRe36VTl@0sY9z zumr@cQ1>idc9WKDbCwj}!?gu+vGEAH>EQdJ$;Yk*6ZR@robTVd12;QnJCVu76}Ub{QH5 z`gC^em@135 zZ!riM94hpZhjI#r5e@Gk)Q%)Iq9%WzPSyNiaP%Im=05MSkr&AQxHdU;Vo~P$J>$6< zLmxD4MRtDxF!zUr#QP6*toYaYmvW5Lyr8oM#HG*}i~{?^)l`t}UJ5FhlLh4UMp%}t zj-S&8Idn``Di6Zv!PB%gemI?k#tt*Q6$i$65aN;zL>Kh9UFKJe%}jQEyBQkeJ^WXZ z$HdV9eU1_(jfObXUv3R38!=X;Bi(pL0?j3jzpYLFUL;>dSYvE={6*ySy%KqpX8r7t zM`IG#=&oD%chBv;e(`Se1qFZcKm8h{p-e!-#{aW6^8X2x0U#%Es5hVU;jiP4*P@`Z8Xms+^_K6>eSO4|5l*4=bh_)iA{`t6Yk?Hp z$xsNNbP9iNQJ)@Y>74$&<(7t66$gL%wx52aX3rvW+?!s|v2nQg6SU;}ZVX+?RWv{` zc7pK`D#ghAAaZr z^y0oFS$(dY%jVzUUufl@dV4dtk$d5Dx1Y=(3RyV})68?Rm!PI?DtFo2u3Iu$-lywUuQmr>x(7G9;SlNt z6Fd_~J^vf=L;q6rV|MV9X5Gyt?uuM*wQp8sA;Ua5KRC>tt2vYK`JKR<4>wUU9+5R6 z8YY|o3YCE}`8Thu7ICZv5M>AeEgMrI-i%5KRm&i_e*U`B>BsKXCjk7J?sdGGF=`#3 z>80@azBFi`cyn*%qcL0pqJLI5=dv1VcsOoSinhwHP%&vy?NcM*^8g@5D;ntfJ+_nj z=@Ac6pIi4z%#X@}W8O^o?&jU}C#spWCco7BZLj$Ts}KOENoa_b*STnCRG{j5B*%$m zB7`3ciJ=%}a+Cly$0EUR)y^J)<&gz-mtV4CANgTkQzVi$hL zlUC4{d)8YG?-0Z>#+ouMH*QK)*8YPImv^BppERj9n4Du0g|kg=AJ(G5KS2%BQ81g7 zx{K0(+V=EuR^*_<9}9Za07S14n$!8J`5|jnJRxcss(N3i1(0!~|E9?NHTbQ_dnIoj zcIn5*?S+s%R)^jIS7nA~n<;|u-kes8Wt5*mS}7LBAg$(O4GO39arF;mpfI45ZBUwBd(#9 zkr?$GZ(7?E$cf3|M9X9~8;U-d!CvdTu{cI=a=r}R<3uo!z_GfC%&C0RX`O2|)-C}2 zr{26%oxiRj%Ifzi70zNR7?LvkS-c8<*DYo|2pHLzg&T;d8j4%RQlYX=8j5*+0g?`jXeDpHab=@t>zY4~1|&1SGf$klO+3u0$b_0O2x{&xUqOVvoGN^oK5x9?)65BU2aVfoKf zAcU3g$6R_0ZlhnM8{z_Pt{UgI7vRWzP|T<&;?Uiz-lq&5t_Hv`$bd=R>p`pB`b<*Y z1D*`~v?Hkh{?P@l8T>8_m-7Jl0BGs1v5LC{DlE_Ugf;31ec~Cgy-G2XZU+x`ujQi-o2RLWPT64|$+cxYK)2W_MVM7Zy zAPV;cg}Sw7GX*DuXwOH3wsyH(mE@U^;qp_OQ4!)bERc-=n%r;+;48MFLd z5Y1+plc+ZXiSSDzHdx@kI1p!PnM1a<{n0avRXzqJ;T5|^RQ_Z`{E!VMC!_}KO3rkhhQ9z0#ax+!;Yq*>Xfml!DJ=&wKYUMw%*RWH6w^?i zmF|sB|2RZ_yxT8&$%FoZOwf|UQ8|k#p;eWu8Uw9mkA-BZGiq`FU&ORf*#B4+NKe1` z?ZZ8HogSiTUnBfVYjFZ!&m9gxptJ(l3F!3G2Zi^ZV1MlhNJ6m-hR_LFO@Pm=7WaG3 zy@ouXVGQG(u0<-8@=+%)v}knNpjZPN)y^S2Q% z@(Bwd#ux`mgS4!op%z5w?G<9D8NbvT zathgg8AJM9K?V%fy@GWKVInu%Lb5*f<`00fbPk$<6%~u)t{6!{v2~$dD5^F*cu_0x z3#4#617~}6s-F5i9`44LZVp-wW(X#>I*lPhemP@DU+Wj`XFkh=ykQI_pkfw{uMX?3n0En3t4V`8V(Jj*wi8oAn}^RrT=INLToX| zTlgYTmEYsI8NuwR(vTRMCgM6sc=e+q&}{;k9LfJ z6vBRpYcOCi&2a<9!*h0cigZj8VaP<#<|8vv1inf%>@f2?-VWh@na=M}9T0on=(Q5c zaLH+OmTF_7b#a)S2#PFejrJ&h{ySwCEu->{AT$aX`s6d=o=C%pzqwtr!8!sU;fa@^N@6N|AKRZ-_Y03$-!X+FOIj7i(| zmD4#9iXaV&uHFdZzKBts%~oUd?rM+lUo9k+(k}BEMH#jx(#vR&lx~y-Pjg#{b0mCe zle^`AVOy)`3S#VIQ1j=r37bl;{MzjD6#8Hg7Ye3wAX^J)P2T?kvl#l=&?d!B=a*m` zDUz11gRuRee-Tb}ooNev4;(6&{IM!`r142)c5HvnGlwUbeVod&nNc&b#HihoM%i~ob;cKC)8KBQX z7=L30gyWkgFl}*HL!|0lE}(UkXHvtzs3n)g4WH5I zGN~p5XSMBZ#a^WH;)>`5>+xiN&6H|Ope5m_N8ovGs(Lw7I5bnf2Q1o$;bD1|_S6x4 zX50D(B6K^1Q4ZE11*feATG1UGI^6v9^1$n}7AVu_p;w;qbJO{}v)Q{p^Y0_Yh|U;j z^wOTK?E**!tLok}B=rKxI}moy4n|442lE{~v%*+m<(bb&g?3`+$C7U5M%8H1dfFYc5s@z7bOgW!Q-Cq+l|!CI1J!~ z{+Hst59LzG`BwGca25qz*c~9;3@&W+6~vg;kR#rQ~qRSQ;{-K@!X;1)LurKc7TG5}MybLpXdMcP#VIc}|M-!=O3D9} zpvOvZhTJ(xn;!&CxBe#$nTh;QZNL5hEb0HRG927$ptJ_HSfbdsF!@*6J#WFMaWS^y z*#Nm2TA2sH2r%I{@9jSSd-6lr)UUw0$@T;p=CL<6^ah3u#XPFd(zN?76rb@mi_gvd3Z4}S04!iw+8KLufj=mdI-q&Q^Q=l zfVF*cDuCmT=p|rl2vxP8eGk6av4ILmo-glJm4@8Rfu*!P2<+p>k_Sl0Bg>$Eexptl ztSl#&KWWyv1gdFX+o@|(ifl&30rJ0jS(d|K&RIa7`IZQw=w-;M@Kf$T1cQpgK4=q0 z?0;}nfc*)QE0G;{w+vo5zs9I$au-2i=Kt}DIgD+Cypm^^iE;F4fm^KE+nn!Mk{AQP z^|oei>n`MT&p^`zaXN7Q0>C|i*QXNCIZxYwHT|v6LBkgj=yOUy;DUT>^|z0ivADG5 zeeS;rFUzEsOFL315xD$OaTAyV=-f7GU)EoT0!B`O=tGP%`*)QboO_3-u?@MDrGac z6xF+rvSPcx4~-&e(JlA{><@w7KmFsAL$oZhSNvj?xYgL1j&Qk659pb|QT!UMUh%Ai zvU@us)@s%J_e|=%AUW!#h@hYfhCMP;y2Hw^Yzto8V_uzq^G=!Cr3PwnQ0#)l&JaPX zhMBO8*V#UQjKMb9^2c!m={in=XR{%G0ewT?>&+vp&9*GL;-U&RwALL|bh{XFzTKi%HYSDl?2r=}10oMd4#qp@aAZAi z1%9JoEsg{1U2NP~auKGDrHI#X^aEf{0vsDHPwFl+U9oi~Tw0F(Vz>=BxNcaJYuG)L zqMP!wT|_U5ex;`y5SO81J47&Q78=EN10T*(xOw$RvkCWGUQ>l6wS}!=Rz4d1%IHem zXom`J8xp*qAh{DI4)`}O{SISoVwgapWw-2Nse0$<)cZ?qh9xCLCX5op1kL9NVFGz1 zEfjKtplIbQVKB&UY3*MT^F5nKsPsOVk?2j|`=hLiJ9d>2edMv4D6)X+X##Kwr7Xgb z-yM$24ojU5bs)`T((Pq){z(gh!Mi9AV3wf&qZ0=V9@fgJhIi_@RQq)XZGvqE^xp*~ z!;W5%Yr0IYCV}en9H;sPg4NIy4AudN9K61*3OXc25_Gj@6L9-ip!NBed0=%cCni&* zr9jcG4f_~xjTux(Y-Q_{&weocH#Vo|+?eq-(l`(rO67>9QUmvv^k)OzMlAHemhNPOz#>v8{=nZFTmIG)j$cV2w^Irsg0G8SEEH_^Fe4RQZqF zXWAPO^;A_7mFL%%esp={D=;dY~7x zw_xUGZqtv=3r{6gG88=%xqH8rz)Rg86*r_%4M%T&VbHFvYT;kOOr_WUC12D>9HGV5 zZ6f4e$)?PMy;L)4}nWMp1L*c}n&}gSw=L=#{+FclHhRMg~ZX z=NQcLkR%?pzk6ixyreav+MwL#No^R0@jfx1yS1KWS!8s~a+hQ_xogX7i)5LhtTLFx z)HFK@C%t3>8!xwsTyF5kTlBJl1MLJhhI*7db2)8{si9BR2w%337)Zdei1a*~X$7}G z86Rq~=$8SId~`(n$sQS8uhvmR9tY*C*PHbPrrzvHztWW^R~Q8P2jBr3v}0rkn_z@n zMAbK0dB6^^mdTT*PNm80KG}yF`GrJBK!Tcefoh<3=Y@sTtcx4!Apfjd|Hb?q#;^u4 z;gHQMCkV}=#mZvLjC@!$?7PCJLRvKJ>XAzPq;1sm0Lc4Rno!srn+D}yma+qjU%Ch8%5J7MqC}! zYjWhx9flroX-_qCJuk7tB%e0;`!as(4QF7YYSAIQ8P{{Cm9zG&7aTvBCf?_yn8rSh zM^d@UZ%7}gqQ9eFEhEXa&5r25p(FS}%0ed;k| z3gmH?T;^IqbCg2;vgtR5>pzkp$6)!^>BaBwLx7Rga_|CE+HxC)o+VdTnh(&3a~zqr zE4D-7gUB=@zvJ1sGx+vj0odd#{8NjOl37p>OZs2#fjOhN^S0&VZ&vo#bwi*3fnwun zx%2vT9h#-i8=l0Q*Tt z1vSzxKh2TtUh5O?kIn)tqx#Ou8#%Gr9C;pEl7Yc*zuPpMJm1eCwb;S!v|S&~x6y#y z5*;vwydN#ZwAu=-)D)o0&OH@m26p21j zRsoY~&V3o~aA?UV=!h$~y)i8wGBU~o30KNCh}Nv=Zk~4TjbK{5e%nUSH(J{KJFCm- zTGIci%Ek;WQ!Sgjs8d`xQ3o3@lUoi z)Hpxmr&ZXPF-qyOgat*LH;m%SZW)M-egvcJ3d@xz-q@}wC-n+Syu#6_YVKge{NK#u z(#R{JK$=3cSrYcWA!$!NS2r4R_rR@Z^c+Z1&lP+AH`_(bkgD{J(x57jQ=WrmFD7*0 z*8=Mla=|XVN1FC`0B6aVVzIQ6tbS$G|7(CwH3>H^tZP-7bSS8q2@7gL#9?a;M`p{o zSnu4DpY&;HM4a1%6g&CZ&}jKj9Li}D3rQaNm4g!aO8otdUx!!7&QvcPMGN5$g9L1P1!vxW(?@<;k^+H}rA83O7mHB=8jd(*^;O2OJ z0P?32y=7Fxg2EC$8m7svC*!}&HkJN8;RPxemBc$p;?9c_38my@cbCB+Li5#g;lZHa zE*IEMVq|4$VR&X|K}A_d;w_gm|Syk8s)?~sYa8ZO5xb$a#BV@ukF&f zAtbr8jdK2xSI%$Edga()C@e+?zW@ZCEaXw$2#=jQ^5q;E~;Z{_x7 zlK_yq0xz12wv%7RL}9F9a3tt39@#s3&0?*RcPn82*&GOxMd^Q<4U4|zL zI!Fv_^N0l@fTZ~|5sIZvml74gP~VdxU}L-)q~Vc4liSni)vPzf)_#vPVsJ<~h4xD# zwB;(nHWGH8MMrfdYd>NL;8fgr3GeGuKRw%eK-(u#PZpO4tszh^A9gn<47c{SuCSnS zZj9KW8;5DJSZ%l&wBn=vMlbgCvvnfLC{Q~}&}Fcop+p#17B7rHBhGHG;JKaN%c~Mh zZf6QXUDiHlz4%^d(UG{cwn7BDGH4-Er0)W%Uvb1+1=Sg&Z$&d{c}D z8S$&cYE3fqa!e++q&Mwp+#?XmsyUJ|9$sp_$w6zm;k7yP_V^e%eN0j@xr$gXs4YXn zs^_<%USIQ(;ULA7Li00qc|EU02nr4l-QEC}IzX>AhM$NKa|O*Jl;aUYIgLMKLWh#( zPz!cwJ^J>WXq=HdqVJNDVBE|KNs@6n74bKwDwE-s-6JUvQJ{Mrvcua<-TQz>IHHoR zQ%z3h>DsWOSF9p~)m6gT&4gg((qfj%%fa1+W4)4x3P?;?s{_L20_fv?9XfFB<`-52 zUP&v;c{4AJg~E6U9hJpM=(dZ6EpIEh*o^+NoD*s*kd@mcrU+KRJ-+&2Be(NygSaPf z7S(MX`;CN`SgN-Y`=Sjj-2IyCNa`w)&Q?UIlh*I+@tXk;4G-C83{tS zrARY%*lHKc5GiyS2(WS}Nui8Y#@h431q)?YNVqsIQ>qj7%Jh}KIyoB-SSHFA=$}Z_ z6P*3n`4ny|d;@rr&RLUEfTw2Iu#PKZc-YOkMHB z)qCCxYfI}2`wFTqp#B^|CH?kfcgDHa(%Id97P51cVm)z6Ti% zSKQ#!7MXDbv9B-MDcPDy_?vLZ^;Eu%Z$MNf;fKt0Zz|8doZlON}nSeZB8A^!!BvX zn=@qy3U!aj;XVi7x`!b1L_v3YXntk|aK^;|GrugAIJJ!->)JA36ZGj$db=w1L62qAaJMpY3`Z?SeO3c<} z#4{w}rU+!kRVr1TOake}h>n%9$gfUB|8zI$z5bA>8(ZCg_FnPp+rvi`<{4ikW-d<4 zjB*{#BUeY7lIQ$z(}+DaH6LqPSk!9$E`zR;CRz1RZ%t(v3^P_9liDASn6Iw_2b}Fbs<8A!h^roHY4p?| z)(e-UQ{!z>yJWaNTl@WudEn(WJ(rKwhr7+cDZ;Rlj2JNIw&oy#l42r9&{_@T%$jqP zV3J}u%mkf?`b=N>3sQoM>gc7r!D*2EtE{?!liNRN1Xa2pNgJ3id;TPP+#$PwVc60d zm!m)OAq*lBxckHBa0ed@?S2-fKgoXbSs$G%x9bNi2oStB>$9-_)jqGRjAJA(|E-=9 zZ=={@ahyfs<{w=BJl2*X;MXr9ttOR^slHhN2;zSA{lYwct|G9g%2h_eV-GfTJ!uiN zzG#0G{gYh}Cxw#y!!6?J#Dbk%MQz(3_AdkGey`K^Ay9o2 z!Yjqdf5#pioT;1o$Ef|GSrN!>)$_pM5OxtIk zt@kKmu@PDK<_WnuxYIs@5eOiXD&ioPmbN|SW$OO)nsV=Xup&Ke{r+m%oco?ti5ZZS z%6|e?;DF1xlv7D>>?8f}H=pcTDY&f->NoN{axHp!iE4qa7kdRT(}yQtfX3T(Jw+Q?c*k*cFAS%#T_W>#XT;sOoNf7>M|-JH1UAL=|83};l5nIqnJ!ay5^Bpd|=JPO$_wMjR;wZR9ZE&F;nbvTQWUmaroBF%&cI98w|$y8@lpCgSX_3FcZ z{T6a(8CU@bkmoN<6~2QY*tf{Yx}WS{%kzdkmo~rHCH|Oy4T(u{UHFVOLJ9SM4CL;7 z>yp`DGS(yU^tFhH{hOx98gdQSn_hJNjcNz>0L1r)KLtzehAX>1{_tTd7I#0_?1~rA ztB?0&P;9)|vX}j`d`cvBR@eMlN{JB3idI2x_jzICvDKJ*G1h28KVg6r34eq$OaA1m z%!a)}zP)l;FW=gKnpCOntjV~EjGr7J#;Whyexz+VLw~NQ#r*)Fg7k0Nt*!vjcW>h+ z&iQNMcAl^U*+*Pq-f$&#ij-6^%O5qGGyVEuJ2p}RcT9(wjZ*Th>RIozZ^Iv%_pKh} z7_DuG$JBCEtFAt@gEISz-ns(ji|+8x(B~{n{;r$7vVBTi2IT<6>m}xWThAtNOeGSK z7>$cr6W*v#jv3weVj%)%a5MB85lc9E^6RnR;|c2**f<;2w`WmO-T^3!7;7iP6+3Mg zIvo9Nipj;q-WTnDcBsg{f9E!*a^zSvAyxW%BSDTB%;f7`V*se{{@$ef+9Pjm@i}L$ z5e0j4x~NB^oDrP~dOE_jCXs;O(Q+RdH z$)QA9Lu8=(Y(S+Nso>U&ypv-x5p_Ai)fA zCcfbXzR{;0sf*v`_9vTbn*nCzlm3!WylxMKCX=3b1v&Ii$p{=1CQ)x2 zt*ySC!8$&DW^P#Ip{CfENP-cfI_~1Ymk#Fb_F9dx3(JLAK;%7wCta=nL&A?WM?;JzP$MVhg(eXeEpkW+?g@H{Nv8PIG6MWqr@+6s1P6Oqk>$ZRk z!wVAuUn&uFKot{SqT6Hl`Jn8ceabQ=w26P-r$9G~47hcLqT!)xc|32(-=pNF2w)ji zpa~P<%YO#P6!PZ2AowKZ!40~dcb+#h&@?($wN>sO1ZbRTWIqSrniyAP$`9(LKdp087deBZ0=EN;JLT2 z*wb57$sP+oSE(Yzi#b}1;wnjMCvFl`o_nO6GaSXzK6qRET3V~!*>#Z(bMA6xUb_D& zPUwgJcX2Wrgbd1-aRcssJ`zl1*-@Dfe47y{H~{~=$j|FIv$m%{^@k+DPp$>r8;9f{ zF`jdN&Ca68s8sbmppcDDG6HtTgEN-p8Yiw`50}AV*4r6BP+wt@$sY&D=~Ss_^!ZP< z%SMkJd)9}EW>8mN-|H_L?_{x~orw7?qKJn{vSaRZ8mv`2)QxAKTq$c0_Xfcx!SrU$ zrvS9At8Ia2-GB0oU&mlG_Z>7qlM4bsJrbQ^%UPN_{3Y8Jlvg1p6e0nb9l+*rKJ*MF zrP@$TW>a~ihpX4euMCi)IzK-5D50gMFzI%-`Sa;^Jz!KkDCeGZ1LPGaJl{I}%||jm z{t@!&u9#^FjE1t!FIuI*2k;56j9sq=N&gSI@DlV|xkghYaYIHtS8^8lT8ccYc6k|_ z2^1(`Tyy(=b1ynjm{im<(e$E_*Jb(XZnM#4vkBwmGj#hsV0Y1{S@>O-K?0;*#%9*@ zb!3x_u;z}E$c3JYp6-gidi+xIn62?WUG7my>UKPQe7JM_@+2~-wEh(I@a&OpLTK}y zkjtp^hvjJAr+3gY@QJj>$G>|x(YV6f7X3pe`xP*2Ul^3P)|O&)^|H&H1;Km=6Wl`1 zkq#`p$^N-Q)W|WBhs=mKiP>8mr&lF;BFF?C;$k>VdRN0DVqQMd{W#*Y^W1~IgJ!$j zc)Dn(F$VTNJqnXX%UL@~%f*n-e|t^GeB2=@@F971G#I2~|1jB=Y%Uid+?0I}rd=jE8u<85ybA-X zpbXz`Oc;>0DqHm(O~8-$dsK)My$Cu(FWS!bSk=@|g;AWx0M7lWgd>Im9rZO{co0&^ z_imSi$7eC_kE=}A#Egq@pn6Y*S1HLj78E~wA&`_9f4cT;|Lz+(b$Zyj;ZZV7yhxWx zqX1^OPXUg?ZLUei`oH%T@WwZX^JO?MVbQ>%a@W|`C(X$50=Tc(_RFX`)y&M#@0(y- zyN${g_u@q`P@Th>(GfuuG1c)5mZ83TbnXn?z7R!E4xd4Ces9S2Xit%LR=cR|c)bYv zdE?*YG=|(31}@K~R?u(US2VfY&8)%VcbJ{Ny6^|iAZUMRi(Po3U$?uA*SdY2r2|pq z2z#Y#y#o_^a*Pq$iHw!MmhZa}eJ|-zwiVM!_hu$s_iK$)BYZ^k?vK~pNvZpgD&k0j zjP%F9v%c#2!t%xyKT>cPz(NOuYh^Z`qJvGSO;WK5%lw^Uk*y&?#|HEpDmZ9mTdHx? zSof{E;EP7iUb5_Cz``jZRh%hEZ|R0Wrg`IzrRCIz4rieAz->phU;TmxidVZoVfK6a zT9N?j;HwC~zj&5b_=LuQC>gT7^Mg95iR)e8l-0j2t|b-dClX~3Xo60Q4Fr%(`q}Fr zzP|@)cazp_FE$AF@47zqO2Z3%Mg$ zQq;sWDQVloyu&HAM^^9^GmPM-(r+-X&|SY(3)krE4>Gfx`c>$T2dx?3e0rc_j{L#x zltt!Uw~Tqfz_1U!=YqpMj)N5oT}NUF4lF2WbawU>5W)oY2XOy_;v~B7IZYREW^Rk~ z1s8JGs}F(JV8GPSlQ8rN)miBqql{D#lWQt&`1y<$F+ALip}#^hS)ZMoI5yv_zd^vm zx7q1{5!cP{eXAj)e$fy>!K((kwgZ?&s^I*$KH$Jblk}76CvP^StDUzh8U(~W`L~Fx zx0K1T=rV6f4SWIreG{3hVnoMdO32X{ zWt<&NmoZu5QF~B?!W4(ukDuoyGQ(#Q>h?!;5$PentJyCY>5B& zodb@H9eP2HGCGcANxoRBnq8#mgyQCKO6Xu`zubUQwWV6qb^0L_Zznj-y31^>v-)W`N z>ge(-mAD^?UKOpg*WKR&M~gqeJtRTrvj+TftF6D}Am7?$-``!IIq7pZ1oS1sz&`Kx zyI26^c5w2@OV`#Kf5bj|?YQLaf|QGst){9{T3B9=@@W@zb zfY3naU--X0U`Ib-#bMQ{oHlA=YXGf|t1th5(g#1Nv*p{)RP*&E>L0F! zWBbbLs>~ED0~oLOx7;pzYVUxV?Zsq{U~;WdE%l z>>Iw^|1_THs~Dc5|NiImMA&~nYBK+C8$>4}{hzylb~@KhZSB^QkqyxF=07RF>ac3V zr4A`p>rn@AG|+dhetgpbo`O4h@w#4{J@w+qFI#+Y-fHZJ_iwTfw{O7pWCs?$j7|~p z*P&x(CdR1B$LHE-R%@$Rg_?>_P?WUd4g&uDCb! zLib#@Mx{g4HKUA;9vmE#!;c9ek(05--raH$H1EJp)$YEfz)XE3nch z(tFI@o#whW&{*q%o}C(2W>^nFuX1rGRPvN=q6?8lX6 zJ4m9B!SMy282z~kt_ll(Rb8G<;I9a{raWw49NsMw^CBm77!VZBytgu?nc53!JU=aIqeRJ$?x| z5#>wujI!_V{Vy;9HrDQ3Q>&_~mfz`)|E^$TV=$4aHF_)*2~1WIR$Lm_ zJ2`4w-NCm>L$RoqE=r?IvpQ&ym>i;^681BI`2JKuKv=u>0IunH>z4EkFNv9hvI3_hj9Exm2&@{z#VT_A=o-FUEMAr2Z@B6e{Mht0k zeC5rdK{gU>Rz-5I@y|6B@?CO%82W|of5@IyiGD@ela@JYf>WZ#6HCs};Im_H0$n+% zPNVjY);?Z?yK*D`wMSuJ5UH?VWIQVWm|O&JO;H#yV~eQFF$SQxrNy3Cr!7xFq!uX? z!%iWIj?cF!7YW4mA|WzS4&`vP9jmm%fb2i>66Yolx(gK<*nLXMwE`lH0#zk zb6L@$%A9plwxaA}dvXHBSg6m?fLMV8)zZ^Z-KR8`C}wnyBXrEDaiSoVWV1#$>-Ng6 z`%Zg2Sn?6TZ%I>!r`52EC=dp#)oU{wacQ`18Ff-#siMb^mpEMG;LkIZjrNh`z3Jx3 ztfgR&cV1DC!{pJE6Kzv|ij9FxT;6P8a+|86WL03$HtH;<;TA0N2UnS>Q9CMRyp{9P zOjh#DXHv>6lXZ^9G0~dzKYNdIG!O(%a1tR4-YI^sX~faGfJaN}udOF@@{n(!W=0#*ea*$k zd^Ru_8K?7!Z7hhR)WH?l?;t!XS|TUBJd#gr%<3`w)oW0pL0d~2BHQ7$(43~F!xs{) zv6zldKaV?soLpz5@ZJ#**>3)e9VYXhwOV}KoX*>3b6?2&#w{G}e z%Yz0lr$Q+7a?!u$QaQFNLk0P4r%#sJh*$fkiv3$xi?tX6SoE8a@wI)<=L|T-=Q-1N z{gv+<%su4T4BOF}HcGuwwCC88iLg?r?&#TWJr;CFiDRP7bl$K$uQ|_BN{GizoEXhX z&mhyQHy$F3^&|7Q{~$8-*4ukc6oGP|t)Ntpf-&T77&G2+Gxw1$=<>?-D^;#X&;o-> znXm}ButKql?e69ODPdfC)fCa54gmC=4j#5q;3ZAI=Cw!^Q8{J~uKT%~P@Tno))RFhPXFsi2>u(RWY*u=^R}*wY4AVUXMFbO+17`9WajY&@-%#)Fqd#X|Z}EKs z!gX4BG>n+8#C(|o>HJJ7ArkcFy!F6wce^*`CK7U11_6Azsf@nw<6674BKc=yX4Y1d znrN&n+`he~_LaI_wWt~{j_+Br2gtbXZ&0X1f=^c4DExb?Mi8Q2(LVK1+bF!cGTQk9 zx?hfvm-l<*90z%BeGw*evOuL(qc77WbPPMfi_pG7R3(nE>weg6yUzV+_AWzA3Ewmn z2KQws^ynQ>hET967*v+$ikm)(Voem|v~a7I1D7r1-?65y!9aH~|2-aA3YKFjPjWbTM8Pvvm5 z%OHyrQ*rwJ3XO{|DYkrWM)CrhaWOis`#gLY0SNBf50|dYaU_T{*kfTrRfNfK3R=^* zpPv!&ei;e!LlLt5r+K}UO~%5altf=?#Y9w<$4nCmrKd^JTT=>$KT_8^cdcTuwula2j&+Bw~2kT%!Gb9NLFJ^4kWr91GFh zvOm*$C~voOzU077@5TONcxH1d-5;r3V5`((_e#Rd_d1y;K496;=(FM=p*PU1!>zPQ zg)yLgvF%Eo%;BwbNG33hRk4WYU==shuhVNRtC~!d-!557fD&`1&4`r6X;|=kNF>AD zU(~;!kis2(-5t?di@4RyS!z@-b(B2r)Gz_d2VFY!-)NnAY5d6bpl}u4!wCIQ|xd%-5#b{Z|%Has_&_Ee~3=pL3!^~{^0}N`1B&rKb$i&{^3z(0gq3JhyHMd>jN5a{Rih z!m5{4%TT3U>JuCi@=0D0Bw~I-^1*r2(kv@}7PlP_vj?x3ISFIWR~_`g`RW-1QATjJEgh8@+K$3Z~rLQG$ukRj$FQ5>4i-|CVghK(` zq0%oYVu!hJEup!y9A zxKL?wZfdWQ;$qnwOnR+$-2I^gI_^dIcNO&Ka;Y#}vWfaSzzY)lA3W4XgVDJ+agr1+Q@S}zw2(2c zA-=;?YDksXc_KoY0-mktaw++0K11DlhdUEE2xm(AGa*&`IhUnE-DOI6D7=qjtTziw zxj4z+hR0}F!+mWMbGl4J_uzEm&<Wk?K5L zxR^rVwlRhJ&Qvo7!5JzN%Ba-ZQau$zP z^{$3Vf6Sw9-SI#2HF;Pk*6o^nFu##_d2R;Awa?b3%{b|pU)k2@pKc-8cK}`LbcV#F z|6-e!#9Za*JYx{}IvdA937d#(QC~*q3wd3bs% zJEZv*F#hb;sAW}IAw)mtYy!p>3KfWwpFwhRlu?p%!sY}|5&ryor;K_?EE`wokR}pU zTI?x0f@;ZatQ~|ly%lY6UF;bh3eVWGR{GsTZ7o2Y1{&p+&!i9zS+s>z5_1!jJ%gvI zP3TXhc*Rt&D-|&|Jhe#i+QK2(iklo3Y{_~Y86WGAV}r|$Czu&+WZi%&yGX)m$-Sc0 ze6UDf$N!>h{25OYuZlc;0Eq% zz)qsa8RYg?9=2b1;rx)Af2GTs$%q3zoZF_)!Cg*X-L_&98xnPx#GIwZGa5!q4c|VJ z{5-t8+4iW9sJs0toZn7TR;9Cg@cef_*RF~|RHysc`iYl2m?_}`h0*~r9|IeysNv0< z5E1ZCQrvlyfacCHhP7a=Av288py)pQwFs9+Ow%t^Hn`vWA1W;VPr(C>3SHL!LKC_j z;(=%t^IPYfLrGONzt4Rl3WNC1$~CTLRiG0a5d(wqdaJ*a{V^Bd)_;jgcn`cP7uSyq zc{!O^zuz!`TUxQ`qpy44-ma8#xl30>v4ahEV1|Zw-h;OSKo?mwg|mD{T#*c z$otJrHpMlj5}DiS@BPca4NC*EiiKyaZJ_cOmke>`d{3LaRwltLCuaYSlc5hkqxLPEe&a8y8lrcNCP*bh z6j!xB&j!m``FMk~1+0TVS?um#^9BDbe8iz6q6LC~0Uv%CFD0o5#h!);6Ruu8uOUYOX( zfr#j1mBU3M&^S9ya3~aplj$kbaiLm{AdEG>7_#*#TFnTbS-=Tze?&0DN2l-cd z`#&AWJFml8c6{%;xaTUr!~6n>eS~ggq$BD1!etr|nguIl%z1)Y%if!tXL114x?b6y zT##-?JE)wNw1H=aO~$K@fGa=0*iPB4iI&{sl+ueR#2?wPrsv)%uDz!IYCKM8tveWn z6i6i+D=*gXaJdG9?9pI<#DyewC}=yJ*TcA9{+SACL~R0=55(8P`}8-mIMvs;f5?>% zVYEvii9hwa9*=51artZT8h>qQ7>QG)ood{x!%V8F&$Csn>JU$_{6NIxLJ8Y&;S_*mKauW z_-XdK;YdR9x^fN7Q)!542IQ}C>NFIu5?Qik)4tE|=GtQxZIFUpShw-Icxu&b+8p32 znfDie>_DJkf9YOz1c!IKKd+e5AL0TK0)nv*pI^m3b*B$zZdE?>^B1QyrMgtwAQ%rR zt8gA6EARIyd{Wt8@0rkO-3|Za!{%+mB)dFp|*bzrjqjA@V&n{zN z@W_#mgcwZ?o`8-!u2R3;5^#T0*tZDZs~kMvQ-rTAmV--qe8P{e?eAN}hO3$s4>Ks- zeIIyrT-8(N4wtKuFC66*aZ{7wyoAiEZQQ^I!!mpd=J>LsMnyq4Oi)j;Hx88u@;q9w zxj*Ve%Q#9{v!7^weeUb(B#Ga+*$Genwfd{n8BM^uKJYSES?|^&CG>TTmcE<+vl-=q zb$XE(uX&0TR5YH3GyrD4(ze_Nj~nPFWZ~7iL|)Y%(jE2hNL+7op6=4^P0?eRO#D<5 zRy>J!xOlL{V|dfDJB{y%`hAvE`wlVQQ3ui#TvSkD*1J6o1dJ)+LXl!rKc=Ewrec}n z1Yl9;bp?yTyiF#gI1+TLmt5je$Cj|&_F#?rzmPa&q>f`2Getl~R37(46w3#jl$L2Y^R@l3NMUGv<$8-YP8qz3k zewI{uqM@HD)^RV*vz)uasq@7`pg1*t9RDyZ( zKe(*CUup)R*JAzG+pF$n!dzoP4-b^NV8HeA-6i2`tx2uM{#9zO`l~wq3?U^?NX!&? zy$ti!yRT3b8(?TT`x0m==^?I;^)%HDf4d}T6rRbnFWZC|<^HT!z%9)3>)`RxbinMB zGCo(z{U^#n`(3N!mmZg`KJjQ9CtlJd+N>(C3Sd_ROmV~SS>Ovg3(B_9+K^=Jr`$-w zU60v9r`D6ZU$DrL>~LnvdaiPeLWMMFt9TDxnS6IU z-a4uZuI=_VNa^lwq(Qp78U_83mnoxMoBM2ZOQ`a%8hWcJ=F!nTIhZZ|pzc8`XRj$?AxP zKddIuw>Y0^D+ZkbE9&D*~3~0h^bwYpB))bCHNXnUZKJo^>l0^a*$!bIZKq6Shq5&DIlCVbA>W^_Gp9V`}0)mE5U0tduz^U z05s6cPM^~Z_(n#`0a@OXsVscfb7ZdNNOV(1@F1Pr^-{1ojN3nht1h#{Oa~}K1j)%G z@RPXAYFVm-_XzN3>^CzXxA&-Wsd4z%CLbIDf?CBu}GGn1LcUVOQ}< zc9m}qO}3WT%la#+u-ol(+aI!i^gqtF5D$lOP9^&{=vF08?naaF8EpGqYO#o->C%fx z?d{9FRZ%}{p!cnuc92n*kj^MD*ks+w7s$*g)=_XvY|Svyhz9CfBD(3X>P_P1Cr3>3 zo8>6OB=rXg#O6v%U78~}hz)*_jec<>hCkln-eiBPJeRWb1%AkLDN=bL#|HvZNpHm7 z(n>lju@G>+y*MC+jf0a2lLB&}{BKH$c7%(i&fzNVIXX-6%EFKJKNQJ+yM>{Wg&M2) znVgyl({^TZ>^G)t#Gx zdjT?k=!#4l6=4G)lNSMxae22>C31cJ7xdA9YjmqlpMVk!Q&i@SF$ykGCnAsDsjhKAolZQp+1^j9 z*<{eHb@LV$wguAcUN8X0ey=(OYZQ+Igq&%t9w1Jl}s2#_?g4Cc%Y|X?;fJbMCQV6s&72*sPSc6JOKLH#PgywFbGJgPtfJMYPBJTf^nbAy>|kXd>L>CaB1Uh zywA_rmHFY>vR7PxaEM>#Z~$uK?K3Kw*zm$*$2WE|U_55IN=FxU3cZ1i`%?2y`}|xX zcB3yInYF3j~w7l;dd#vuT}o*tA|(mQcXA%>}SkOf38HDqz*^JNE@TtvWhtFciQ;%&LtuzjMEvwgdF5mJFU+9;0!beO1Kh z(HM{oPG^9_i-YFamqo>kJUhGp8;iy_r%l3Ul(cP6tDKd!clMs4$M=cqfIZ%wq*|iF zAlfXZ@i!m#fFa62M~H%gShE*9b?>K7>KcT@7JpVOHu_7PUe;%INNoXl4Ea~gU1ce z)8~nNZU6IT0Uz@d5s=d8c-8%|MnPX~`W;}ty%g5bgNP5BB2@a#?2@in+s6tGnpdF5 z3QG+72(wMhtcDERRHjt;rtY0CAFEicR=O7kBaI2dsNx>($}@;~?C0@1$VQu2q2A|z zWW;9R&tfA;WKaNEfdy!IWi{1&v-VBL!+nu=%wI{v?FhH^fCmCr#~}jDSS4a!7YC`B z78fS~w$oJ5V@N~O4jU&vo5Uy!im_2x%k;0AT^<8!cN=uYY5`^#zzT*mzqgJT+2)@p z@MYe$$fTk*IK&yJ5fGA5rpl+dIIWV-k#8M&+GPb7d0f54gg~P1dmCo}c=13EpUXp) zPA9-lWdvk;$2I}i#WTtb@ZLDdUYut?0AyIhlj8z8=30+=QOURDK!jBm?dt|gYN_f9siM!+?_ipSK3>p0UX5_iYh|5Yjj zpoN<^s8z-UoDO+AN6!Yu!;nKfcfGg%@CrfIn|QpGywI9>ezO)z zs9oR_6;_Fi-L|J%DK&5`Lv;FKS+y!`2i{_oh0X?-2Q4ZJxb4rFU1foUpiEY9vrF{?NJ@f1E;w#;=k`KCqhLH; zC|eMmk~R1F|DZgWKmqnMg|qpQ)ZI4>a>`AAxC5RPtbI1DksqrO{mcmPbjs=VzJ0cB zW`{y1!t3>UG(+GOR|B4EK==D2;)IW34xpsw%iX8i0gNJ`qo7qNy$swJ-VeobK|UeD zC6}4NgoHynxxdop)8+OL?DG!5KA}9;{LZItaezzg^o4e?4t@Zbl(QWVFW7c|>V#ZT zZm=f8zY<^aFSVP!1@yHn_L)s|H3|_A@EZw$`6hU0pxL8lWQHC`CNf`P_IA8u*w#qx z3G4|5`WT)|1E5x&JZIUBOifJzO=3G^`@7w+1fsITmVHTz#Iag5suv!Mk8(B&d2=P_ zw*pQ@Yk?UMB$C1FTn)J63@jP(Y?knf^?xl! z@OK5Riz7o>@X=+wns@OAZR%4PjjSl(mZ7E*LQql){7srg0jAL00)W@u|GqyKj5dL* z1g;V$`W;8g&td9afU4WLB12ZX#{u{mCD-1((^_{QsJdZAH;pbdCICU2n8E8@r(?A% z3i`f5w-+KdGYGP^YQK%IQORIc7(Ow8!!gGW(PzEAlBbI491;R8rhIn-77JfNS7xZn z;xFp##tMNum^!=`7W+j4Q$tL=d-ekoZg|lH80XjVgi}w<7{ z9t>PkBH6R|v?bhIF|t&~FKcnqZ{R6n&o>G!M#qD8>@ww?cgB_{G=t+oe{$)nIIU*2 zBf#hpyb%14Cw>`+)&1pOe+Xg_ZHa>o^mP4P5Cpioa9W`*aK2~0ZgtypiTKhJ+>*MR z4O_~U{0e-K=li6tKx7-gYKq+Wp;Dnwg7@iHy#(HaVXGIS46)0e)Nk%x=o@lHusnBV zi!0hz?&)hV!3Yfjml>}x(w%nKxh$U5TjYo7LS1*Frb)W*AfC(IZi3!rY$^1ea<+dk zVE#a0Vs=rYnz{8)%2$Te!Bh(2;8FyOc%g$%I?2Sf_qNJ?aSZZYLR=#Nu^DUyo^d?P zBILF^y_|T5L@tMJ^X-9r;K&{S&tF@d*GN5pTh?rste*Y!{;DA3$YkI>X82_ro1tL7iMCFw2ky$w8$Q z%?jfnfr#7TCwP4hCKU^K{OJ;-@k#;RyUYFMRRVg>v}!KrKj#F6sv(~d5FeTO3h<9e*>A{uy7xJ>@V4{c) zgheP9W&m^;a{wb%JPL^w2~CqN{siuM>U0-5xatvo4M)F1@4QSf38-AA1nwes0;HpC zX*NsPv5rp%Ivd$Ucd>+%LI6aH_3@MP_N&i5$+D~iOv|5Y3?*H$hoJy2qi6zcjY)Ic@bmmztA0Ux@&Ok{z=Z+4CT$t~d~_<71q!tsOcjnm3bop z>y5&Ft+-xo#Ig%Hx1B(G4?^G4xiz>FW;u?eV{}Ezty&bmL;9eKie=lCSIDdJKDcNZ zS3&jxT$o1AL4}~fOoAnIKhK$zk#g(a$C*x+gM$rRJ0JYlqO$ zn@Df`RAA@(%{77CKVohkmxDf}&S$ZQs_|)3CKkMnv~}2k9$1j0s6Az>4|fP&4I@Y} zW-MM0n|()WUk<5r1N`{mIP-DBuK(28ZRX-g$4VA)W2&Q#s-cmj(tdv}tvW)77M3>w z_u2SQWMt$(yzp|mFvH&SKY8TKGS4=b!RJC?>rG@ULw3J`){^8It1uZt+dQ%jA z{C=K*HB5bxQ{zzgKX3Z$A#7P4x%A56?FmW(5$ePa`8JB-hZ9B_Oc$as7yc*j?m}S_RQjW{MI86uL&h#U%{FYy&KA)VzIHiiu zATix=0A>PHVmb4%jcBbDnlWIR!I-iq8LKt_^mmD!OgTzW(WQvpw^LBkfS1+_l@?TM z;AZ)OKuJeRJ>bjh02eXYHJ9|9XUNEQTI(F`%1L|Jh)Eth57M~X9;5S%jAIqKGA@Trzkc7FI`OCsX)Da)Mq$9#P6 z;`bJYyvTBw|n+AErq5qsDCWKYS!%-0ne`!F%ahcgwvVm?6;r!GqQv}zKzPp~$_i+rz#@cwrLc@i;E73?}(!BwIUQlyN% z1v==B{5s|lf#k;0;Vd{-E zq|~>EEiXYmvInGv(`N;2@%X}1X?VzfAaQwun#4paT<>>fREsv7_#OTq(}LZFuk&Zl zumB1?zSD{Hui_dvas?A(6zC#3K&#$0tq=m^SRDQPxK1 zC79objYf2t%Pb=E1S{Bc-48ilL6kwL2@algV{pC+6S##2W{c0o1eyt3l1oQM@^1H# zLmZJ``YUZyl7$5K__3W4P@@X6?h!J2>OFJmUOLhCLN5gJq4`h29oDdDvRo<81`RFt z6YOW~Xpy?RefxY!=IV`T^OPwC5xwkWzMcCtoPSLRAVoTVC@K8qIe51al9)zlil$b+R?Hvo>^nqioZoYV?)NAT z2~diV2|tQpd(gim>D_2t7u(Jk_z|Ct-0#clcZUttNvuNu884^k!z5oGp3{|MtBCZW zN{9{zRnt?6K&LhY6$zUq6z!9CDHfT*Pa|oVBab|}5&R-L((dQEyHP| zf`m&c_Nsgc<2?8Kr94<|KxLT;qfmNxn(PU)h2LJJ(_|`_=vb<7>xOtugju2}2IJ$0 z9onO#Tg#OZU}Qid0x3Q`l&}{$7IR*)%EA;Kesc`Nx}pO+a#Qc?A@en8|2_s zS{*zuSvL@tw`s2LY{~M*^>ZKYi;^5p|EUw@KeR*U-lhs)FB7W3y`s=8ibcflhYMRx z_JY4U&T=ngFs3*!K4T*kAJsziC0of(rGfFurn`qJWwb2Z)~%^UE8R4~!K5dnb5iP> zM>)^(L5Sz~0IvRlYQ+LLxVNN{iCc^n!F%z6lNj%^7ZNU^{#H;VicCm6R%{z2o?Uc! zu;#DL$d3}va(39TkYBPy>c!^5DU4n)cLIIR9~v=f<8RSnzIC!|W`QZc^Iz4|q7?VZ z&lozM4eo8o4`?@e8w|v!sYK8Yzt*Z?B>u?b%Xr3a#b)GPwivup$wr2SQ>>yRKWXvi zd4pPR28q&ySc)SPViRF2*)UBJE(6owjCg;>GYUo$&@kss20jnbq!E>Gq{i5~Ch2>Y zw7Mi98=H8amUH;vN_Yr4pu{C5>1$VMQhN{aK(HpE+c=%t{YS}YrjQFCX8-UJUe=;E z$oQE^dmtOd2;N;ayxEYk*rOX(Vk_NRaz&m89Fkp=-%bUQ+eb^cE6Cx-0B<2|4%;go z31?3d6ALqIcL7?@AaA)NtHU&iW~39g&4%kVl*V`v3#e^_L=dvfZ% z5?zBF4LU$zn^O|PirYB%atU5ooMkKWFjyRA5^KJ)!)ic{_vnA zJKKY<@V;1@LAB!-!^@otyNs#=Q6go{`DfE15+6c9hvYR(0m5flStXWH!ghx$q}0i>jS9)=$VhH4r_U~Ex2UMgRQ;D-HI(btg={oO4OBc}2K_tF z3JbTBIU}&ON#)Inm!o7vMI2DoDbBX6jsnrqNI!|?ck0TB^nLf0^Z&{J@Jy|;RkAwr z#!}^VvX=kIvuKyNzOzBJ#Ej>SVg(esYRajNpu@#nN@6YEz&?;~@_9Ok?;_5v&v$_K zTNyWYbSLI#Y-S;g!Lc5%2N+2&hJ+4|-$q39iTVA1X40Y6{fD7j{85kw5NA6T#i(<6>wNJ#yo@<`GlA^4)ulmQmC~ zk~#TNB^=7;brq+S9`t#uMlhN51!S*@tnS|6qYgYWVH~&roPa^)GY+nQnYmwf|4(M_ z|7s}wcUMwqY6P_YNQmF%R9#@dss~lTu<+$7>7T>L_pOru>RU+gcmDr=*QpRF<;}OJ z{~dgfIFU_+EeKv1dp3#3FOzT*)(eawc2;CF;eY>tKUB$PhWP!y|NNmx>x>Njk5;xA z=)TvRc*4o)zdx81(jHpkjt!&#xP3|GxaW!IU)Ff7)p0bHo>^3^s4`8}G&#npUi7%~ zGBhV8d5<9;&M$Rt?>o6gGl|FD%74CjtD6jTK<)8tJN3u{8kp~K)l`sd&%YnAauXF` zbj$15K6Icz_IPte#}93GIuL);vfFA}{=G6FV`sTCsx5^o0}x?i)Jp9y*L3Gi(E_C*qUSGcE6KdooxgF4dJD&(ta!+UX^=>YB&YOvgAzMaJK1 z?L0p0?u;Ck%=ruo7~u>iw~csy&QmwsqE~OB`_y{n&aN9CE6YH*avQKZ7=(Xh#hfb` zYIk-0qeZ7QTyj!zP&%0RagoTV^NEyCP|}`o1XdkH2$iZ z|9kYzVTJVSp#Hm9X=+x~qWifH;fGxRn1`)vayz+XX|X@0D<+H#QhzURD2?72e4Dd7 z`O(DK`XDDPP2t*=j{fEK=MGyL<+A$hbG6GU`LDmc_wBMb3!9d1VCcW2AI;uK3F8 zzg+hhLzg?mwqH-1@9JgaX>JSR=mw;9giV>WcXV91w=*74`G-Oy%F#*lzRkLO43+l= zVOP$7u#^-PgdCmG?dJiDb+sx!os&t^HkARtIbvl?fCQw{WhTU!CJq`g_3&`XV`5+_ zb*D}TMpNAv$$AwLTLc%jS5Ee^+x4=hvA&%jsC+f6EF7=%;5>F3XG%c0U^)Z*h~@92 z_i2dW?dp5tc7(2A`~&qgy+s!9f-{@OV|J$Z+K9|EZYL z{BrinJu39dIkFU}7q7lm3nQYxt|L&%$#;dY2F#*X2HY4l4PdBPw7+7Oxj$=rpCDO> znxr6kj@I-lw#$$rl4bj~etC+esj#-~P@U&q3r{~s zCz>bcmOuOwA=G_rVrG}OPWFH_WF`*kmh2$7xm+0yr?FqP!S}x}xYZ8ffw-itlEv3h z3`7W;@{nOQdkn;vh;6&r2;$W4b*FNs8PxgbLicO0>BWtxf1{&moVaDW2Dp zOi-QrUNS!dJ~lGexSdCMRAw|T(5(Rrm5Q87)7?VDs@wr6jB3$jcoa2U_N)*JbOD0l#g@4DGdzGvnqnMslz%@WvfNt^I56ZP zwYDD3D(_vxu|~edT+U6^1d5x_SWk$xk7ruqbq}#9xhXz}Y?&ibmp2@`4m(=7j=Q`G*`Ecc3pINq-0 zQ_->3{p(w3@gE=L9zKlsEA;-8Wx`hQ^1qk6|A!X*f4;?&=mln}0AmXnBUSN`Dd=tq z3~78ov0A4y^1t2UX?puLYGYOS9xmW|kmvCOrv^xtA`|idI`X7sr{{OBK0uX0!-3VH z+4s-P9?JMsWwAhTg=}EvDy!raN2Pmk(7n2Ic zF$}t{bxSFORC=8}w?csHfuMj<5&_Rc=N%9%{s)Vb9z-~-`raCVY>|v#fU(>jIJ*bF zExW~Bq{j-q4hA5YKi5j%S(0?44o9_>0(tzvs7T^e1Pjo@$Y88RJ#=R=Jejj38m$W>LlOAX*gH9Zi zVfA`^QV}CNz1(f=Zr=BwoG?%wntWj`Lk=B zCJ^~3EO)-q4T;jSjcf}NMe0>Q zG>S;DMq8NfNYJRkRbw-1i`drmKig(bR@f5T4whf_J*ojn)*bCxV&M8j*$yY!8!Qq` z4u_>$skHDPaeg~JtSxRw61#kU+Zn))q}lu%5>GiJkt&o8ZN7-f<)habxw?cmQvLQC z_6$Sv6Pew06U&ptza<(Xx*J6F0|j#>@f56TFtKeE@zKTq@D6tD->N;p0>Y4^?PqFn zuwjWJp_o`$K*PSWuLx@N7cT@UD-s}GjH)?cjjmhrhc8K93s0<~WxEGS%O&vHjpd($ zG$4U(ss*YbQs4&;c)aKj*Iy5*ldjKz)sjen{?=R{1K|>Y$Y2+rfg5Ki1_DzYh%sa% z7=gEfXXV=-PHSMh_!_6T10DIn)?mGy>;2B}hp*|p{ubPcEH{`Lxl zD@OI~WNbZrcx)(sN?{RQ|M_hZu;sJNTt~BJ!d@)XJM#!-s$jSn5R8FVBW4ENr4GR3 zwenaq!WTy(k_btLA=~v7w%#DCZ0i7Tf-yj0h`D75dFBF9M7`%w=$4!t^e&))8dVVG ze&1{Tiw6IUkKh#!vy#NXM{3acXJo%<$pnsa2~9$ZD$^}O7*X+sHecu~&9dr&PW7$1 zLyxIYkk0`7D)mMrz=vf1_X9W_zIWy_dYgL+puqLKMk96v2L};Xlzxi?7>8pO`EJ2; zU;0ke+y#VgWLN>nj|DtkPk$Iq5wk#8=d0u1cNULg@ofG#8j*{sxg0E z0a-0w7q16Gu|f0;-u|y51G?%`CO2_aS?(Z_>+SufGgYL=Ji4L{}&qSQ+^dlOSr)0n;8BerkEipL`{RUFXCkV zl)nU$G^Rb$OMfq1{0$E8Ujf_s3}h8{&D~xeMtf2g27w74V|rD*ToI3zq(YD|{Rxu_OT`a(ai&#a*Z?5*3nFP@ z@ADF%T))Tdm11c*|;OgVS`cDUlfTIc6mL(<+ zcYPq9q<97#Z&5xV_hG3??+A!_J{JT|(9_RApLhF9kiUz*9gJ|177BVrdJVB*P|$f) z)B{mnD;)tHz_emsL9()Y7a9!)y4e4u9Kzf71`g&4`TU}9B^hDhgxi~H8wb%~B`6d? zSia8Hq}k;2zcU9I&kURICPX2XC0vFp-%|w}6btZsAptG{B->3iK~(g7>yCcKLcZ$0 zYwIm20F(|mv{6Dk6DLN%`43jscd)+>#$TWT86VGIxB2}R@H^zl_4xuSYqiY>uUUQT z3%BD_XN~TdESJI^b7c<`j9{9%23P{n>!k2ygrcBenLkgnUuh;`3|*AX1`^;b=D`Pl zFzUzyhA#2j0+@rs{UP9BaQg30$7-9idiAX`@r1073*=Ux-@i>@wizY8?s^ATW3Zo? zieoyEw&r-y9D5_#2eP_eYocxx01#n(rx>7i-M(3mYoQ>COw@oa8wuT{9f;@7r{EX? z(7uE?#Yn?@D5IAw*&hvw5d94F!h@9>R+=*!{kBVh$N{vV*B3ah!QikoYe&#*$CO~E z%&J#$^%Te*0YNjc(3notK#U&t>=&v|hj*dcYLhI*{}f+t(2oLXwSb|6@oi=<9c7Cg zkAQ-7jlWOJ-KLE%Z4EkCt z0CM(%!9EW=sNVnr@H6`Qv`OMg1q?xy?*ws2Z&uq0NIO7L@(Ti?x8bukydHN2piZh- z9PWg1*I|^+ln^zZVu1*jukp%vEI?uB;$rv+LTxU0XIZ&s1Kyeg6p3O1#Igwne3`Z~ zzX8?n;y~oOKlV#5o_{2`UP`2pmktvI0ox4BqeUr~^}v9!JlNz}jtaNySMbv$@0P49 zgGJCg%8_0KkLe>QU9?j4m{uCz#?C%{>|y{5vJp_4plH6W-YO?A0OzYh>bHFm&Ok8+ zNW=sU08J4$E(7Vfn?>zFzz9$nM=>fO5XAE?FxcYt&yrQPPlBf$di96abKn1h6apP` z4T?fwtM?$Yaw3m=|Er*IEP!6C6gVgweL#STTbipEhIF86B8+K1uR1s+;{w2E@Uo+s zL?-eQTy9TX+p>5-=IW-wsB(sBV!PMi>68B`131F+gJ-HtwTOjv`%05CLdx92$1eAH zAbrBH7&&0LB8=R5Ij|z(!Xwb)5)k}sa@O(vUVKVxj?y8NUB ziPxV@0Momh>sy$9p1BQ}EhL>OZ6E}yTAHe34&_=(Q|olgP1idtvU{$Gzl-{nsYZq7 zEdh7lO6wpr1ulu9zZ?K{&s0EQYbB7_r z+5rGGJ&xvOvOx6Wu7(ah*`jD$#yFTCCJ0jvK`G1WVB$SoX;U!T<)9TK{Td7?8R_ z?$*P1dbQRQ&IS_~X6X9du@4n1v#9F%%!Kj^mKcbs0M%93t*sK z#l~+N^#(I*rWn$*;pE7rOP2wrCo!BhM+JgICT|a_?o-rby?kn=wAQu!((4yJieBIr zT}B_bX>B_S{>Yq`~eC_^cl9@obC zE69qYE+~RqqGw*WjjYJ%e2R3-BUi=_C7tLTTlR6fhf%D;3!22hMo`I7K^T;>1f~|X zkgyWm*|lmL)Z(v+L8SU@jNV~$I-}tF5}}3qGOFVz$$Kuv-SLF)9~-?d_|@K@$}kgh z(X@d8l&lWMJnZ1HoE&s(v*j?QiI?YSm2B@oRAt!Og2!%mH-eTbGX-ziwo$Si9CaXu zOl%tY_tFmOZ*chW(K>rnH@S8tsk8myEXa8shG~{#S>2Ufl9=(ieAZ-5s^wq#Ph@Xx z?m>DJmn6zvACp};Po9*EDI5yn{hbXeKY|V^zZ);Go#9gA(@~zJ%ElSGB4$dgnM?FQ z$b|a-kh|>Sa*D=+`18PyJ@RsxbW0Cn0srp$UQYZ6(Sp}!Yy2nMrowkrpul8*f*v37 zdf)Nd*_J3+1doIZbZR)o;T17Czy`pm*=+2Q11CsJCL8XGOoJ$&lSePvW*~E~Z{q?e zmR>!-$C7bYaV6)MK)e|~jq((J#GmHP?T7#N@{97EHb)?7;v_ZR1zWve1 zX*A(^`E&8wO=Q)Dp9hUn%ILwJ;`X^H)rl`=#gxH)Hc-SG?o+#CMpHTD$brvPvH5ZX0dUEg zPKZF*?I&P}aVAGPgqg@=yD${`%{DZR~~OidsQYRI0Ozw1|rNTCP?cJmhs}Fc*T;Yh*F;M!FF^blujTi?;=2H=+>}< z*tv!z2Bb!Qe0s9tG3iY3Nhprm8W0cu7I)V-tpY+-6gl(W%CmW6x0qNOY%0_=lPP@W zH#ySc9*S|1oe`?cgwn>+SkmSNIj$!>ZbjUrm-p{f4kQ$5YVOKumNOMcnn{yZ~AUOWe1|N35$4{^O&r*-Kx(WPLI9Ry2+L z9&NDSmKzlH3thmJHKNV*2&aYqT@|H=lo~oLjwbqR#+3WEdDqMqon#2T?5R-pT)P)@ z4X4#uMw(DI-|ccHVm6P3F0X@bp3np4O+q+BO%l|})=O05_6)*mzFT7PT3h0+Q<$J& zFA)8@(GO{=+QfYZksr}oWs=^vfw-&!qH2aaxWS`2#*^aYmJ(&;Q@fE zYrFK|;4s2H@-?4VLq}GU%)i3RHa4(A$hR`dLk3)Rzs73qIs3MqT`4pZy~syAX4#e! zUY0SlVGy@wFncC0wR482ZmvsZuA&DL%@Lln6~1eAqtVTM>DHal8Rqu9i(aVF-;5eJ zOmZ@I_f-vfY`tp6NpS7{{{Djd7tFB-{ak)5Y~-L9=xlkdL|i+>YYFH}D!=5NWfOx> zg1x~^BxL1zvBRZyE&=@B^ijugT?eNoQJ2rg2MU zPgN7vLwKFOG#Y5IN);Rc)ESNuL+qDFs}5j0JV* z9zq6;(iHJ<9K)8D+&WIoN0dTDdM5e2`uBGVGOCFaxo1LJ-tc%T+%|Xt3~}h1ruY+I z=p`Q4Zzfg!1$wRB_!(*=yeFR*b-kF1FNyk8MToik0?Hm=9w9}D@x{WiU2JhQnwl$V zjrs`As3j#Z>y!oYr`a>M%U$PRaaf8WnKr^N*o83*QWHfxl9Z$w2&$fa%Rwx$pLgt+ z7eyv#Eb`;h$L^9=?mZs5m+I1)Zjk~xw#xmW1~$+N zyQB7Z933ay@OR7gR9AX!3Ay?HjBo3_55kCFN`wVGC^7K0-{-zhbr3tXwb%~~-eR0h z=2`eVV@DhPG?u8!EAsS|p)U@yyn6qxBJb^iyrH`?U51i!yJ#%sG*janrwJ#G$+p|8 zMAoAdE5q?TsSN$b1lOmu2Vt-6-un9l`bKa;iit09nH4VPBve_6fnIH3JimrC6B15cCpg|3H(2S^WH z@jj|)Sbc1*Qz^#N?*JQz-jM2!-xIV-f1(vK>MJX(HavF57rsupE}a77RhbqS@ovj{ z7u=ivYJD^4C^b)G)c+&}gM)|O{*;&)nHs-RKV2;{zOMiCgpkuCFCPwlv#7?fMV^{kzEax)w%j_^tO0zUT2k3HwG1{3Yink^6P{ zUDYwbnQ7i{U-T@-zleMYWO2EoZVLA zl?Dwqz3C`6dv90nkB3w2@12&=`-uV`Cz|NuJ`Nz~!-U6ttfe<>(lu}`HOx<`es6ZB zO#-g^->r^18oscPq-OcUra?YexqwlDemCJDpinZUjPfPSOT1TWUA~ejbjtla_LHdI z!O(}JY_j;O)MK{UF5eQRbB+G=fsvc-`yeD}4~fUe zRwLqZtb4!x_h$|3W49F>+4GaZYmHIe`eF~dGqpcojsie1QVJW{i&6Mfu=`GAo>R-P zrMj^|dsI3;TaY;|RNKU72cVeHYufsG7< zPEh9Ip-aM~J$WV?#^W@SJ+gLS&{r?N9;*rSw~HJEEfa&ryW6+mxbnT;^JxIplUYpk zf@yNT!Eo{Km%e^uGx}aBKVY`FaxXq{nMSk^#(hgAzKEM_@#l1&GxC3{`_rNqe&`f0 z40>GHXyI!>AvnQ^yq#2>dF=^_K|otYiT=Hn-|(Z>{zwI(4_j26j6r+@v1|Z3X|?K% zsQodvx~2w9PlloCw1NsAzyJ#+EjCttu%IzQ$WpWWm+Ibygjkhu7PfG~14$-g+$NeE zsVt9f-;_3WJU?0$0UKB*NYYtCZ|jKFJd(k~9MMthz_juZX0bz5j0-#21*Rt@3|1&I zNgwp$>ymrDKa+u4no6!Jw(}C`y`^|!t@F*(yTBNd5LMxEv%*+fVlM_+I+X zhuHnjS!=t2X_3Ny_6oRI-Y-yAW}~0%$Hxi)ALIM34zBp?ZP4ZjF}+jJx90Bo!teL< zie~sxwJgYqLW+&}LqwE$pCN*=_qDzZ4Q}_SA*h43)L%Bx-3N6$5yDw%dZ1?vY@_ug z?A5Z5S#96JtzXFRCgy{NB~Yh6B{{G~x+xBFXi*DsAELj}y%dkGqMFTRUfTBUkdn%&;Mb8I4k{6-EUNTT*vbFQ zl3&yL_b7QQv8R7Mdh9G%i+{et3->=?K<~7z(B>s)IQsZ4B35AYWCj(G)$5I9zfO|w z;ZSp#I7%^~%!@Y%G4nMJJ=S&c`1pex4+&jmz-$ox^%nuct zSz4x;v~Pd&E5(Zo5df#W#0!1*D~I~Gu{Sfbo}I?@s?_+~0xsuX*1xES4PPAm&ZVjz z7zX8SLNY}s5mG7fqXIwQ#=c)A6Te8|&G`#k#mV+gCa&j?VBA`ZS51Eimk z4~#b6y^frw4wz~(H<2+B4yp%!A#U3RxFYru_~7)jC+W~0bnF}UbJ(b;rrF5usE6hB zxCMq5_&zCNq9C93kqA;Ex#yv&l_t#R^$q79(2n}?K9$hC1t=UkE101QhL%9hV^#lI zch?d*ooQ&@dhHyhTD|;vH1F*Hoa<17P8-^G@c0cp+Gi4d6W+K9=Ohhv^-$O?8!J%c zfwOjPI#&TyeB+5{R4KeMqE)V<#sdk7b2ZfiVI?5PQZ%89g37qD?k^8UXIBuYEX4f2 zZs0?F36DZ2VvEk2_iRrxiSnDhPk_iHDe*}$W&~{FpjJfedwqi%52}$@D)4ScD6d%! zn@_>&m>JM&Op`E`8T|URswv}MSheqT_4d7Q2uT}b%ln`- zG`ijqntB|#(+RQ-Sl$wxEOSuYPnek*&kXYdjP z2)!Q8w51Zde|70r46d?h(t(^tn<=|Lg)>3j?n+GeR%5Y%8 zCOd+4jEG0|ZpYFZN&@NB2e+G6vB~c?4tfRVasa2KbPrDXPhOY%7pCDr1~B2d zsuRp&2^JC|C&;JHYkyrNe12ttPU{xKg;Q3F$Km0Uwp`%8K82a8LYX(F5ao zWQj(G!|f)yTR3b3I4q1I0yb;>A}6o(^|xso4NB?lq)$7KF04v@Vo zg?TV&^dgYT%ky*+2EOto{#i9*I)V3_zrYEk&T1$gzH2YQ?DK)sR;(>BIE+lh`4!)$ zbN?%#`@gt1M;GjkGR4l!xc#rtH+A~}uA!cuumBJm}aLtIQZ>JBM}KM#z8+0(8)3 zidA2>P36|$4QUtt|*l_jIX>) z=XC7CoGDQ))OH#`(EVnAB%eMT zb8>LlkoT1)jupm&2E7odv3yeP;DO_W4R`io&M_>!yGNYQ|3S#(U}bKF^;tUNz7U)6 zL+yJAc_4|fW;@RhtG<4cARJ?)CU74U^l!D$>-eU&=-ik=^?Wb`!i?8Dt%jsVJMF9E zvry@JHEgptYsW)f)OE3;1;m$Bh+EwIr(-QHFJs@C|XUscwG?-D^|B zrhV1fVBsi4EWVR6x%02R?+BEL5C&iaZHgoo2g2ECdd)M~iKPY&o^&uni7dqJ{0I?| zzz*vg)B+rB%Zg6y5NlGzDv}K9&mL&|R*>-)G1qjJc>piS>PI_0a9~bg4UU*ey3$Hx z*Y4wM4pAO=1;baJg7+8~SsHQG8~fZew^yT}0%STqi_G1iHH*55)icquEr@mF-?nfg z*ur@gN|(<@n^E*c!x7$3Ex~g{ ztdPD;g@lK1+t86_;H%*>QuWT05z+ls%16cs&UlF*s*sn(mhFV7D0(i+-CDKj_M&W& zphm_86Z^*VAhcdmJcJ6yBZ2JTQwHX@?yuLTm4p|WBjLfcy4@OPSa}4y#m+VLKUvez z9*PhiT_XFt8#Bz<&p306O5l_tLJ7$j zpqYrD#+o>?)t#2K5bRh3ju#g9k+a68N13lS%|S@3g7e%f7MW1_lGGFgCg)MGn5IMU z4%n%ult*k39)AmwL*X^m3WZ0Js;5_4WhOAheQ{sme}u|FE%Suz@~tOR;)`*H929xFPP?m^AQcooK( z1g;G163lC&0_I?>-xF2tQ#P!%n{xl%N2<1+oIe8LrwY^Livp)M#}Fnl6N*P59B6NB zKbK(UOXqVjkWs*iuu0Y|@z$;TA*ZBx*l~*<;_aYKmf&HFU0CcVeWCl%l^!m z8R1>ZU9A!J)QAFpc0j@O%{4Ot`mAbBp>*-#oLdpEBQvKr`KWc!{*$0+n{fHHEU@wH zCot>qHkv3T&smDk7G0wrgAvmd<@CS!>VcElxKYEwWP?uCLofE$N`^*sJN-tGT|*&; zG^DRg7AC=X+-}=Pkf9Xawb`UT^cR@ zPt9h!*89Vt-bUvY4$IE0vfiv;rXibS?@E(NMt&llIpA0GzlG5Vjuk5j zT0DUci%TI{7DNj?44O8Y;Q6a*SS@EK%zplQA&ZnUH!$NM(Hqob_*NCKDY_I#g;2e{(-um4voahoq?~k#in{fVA0>g8&nR!KPX_HEXYKj~!Q6Wr| z?sh9@^<-eg5TR8qUwGMH*pqcQiS5_E2~r|0csLk%i^+ zZsN?z<{EP||C3F%HEvNb^^3Z$f4h*qy~-u%I&z(oI$LMelet-sOo%1pJJx4KOgsep z*1MIvzn?lF1nISLm-}P%D?l0e-Arv~W0Snn5p7m(CRFnFRol9+>0J8^BQpW*F=E7?E)dxv4>9k3h^88{B;Nhijsq1f3u*Op>)fgHi_Td3F8_ zZhf?R+4N5wno*0yH|A~~UXKMv8Vto5Wf%17k_~f#2{j`zlRzVF_DOHNyBm(hHIf1A zSAPFzXGPxt5BFi6&3skRUd_E?LjCI3-wngq42}fnrA~X#(N|;3oI19py>|LeX%LTEfv_Q%oCY_ z-MIhyqHtsu%bw?NzoZ=!FD#TX4ib`r$N_5T61u6;IlC+2cW}?;{Pp>xgbsGFWtU+5 zbnCpxf-nOwB`GH-l0P5OMF{(QFyxuud1-(1wT9*RioXRknCIq}zT@VKoFI(~FCh5A>{lJ5@ znzO=84fBeY7h@08$!03Xtl|z3Q3Y1-cjxO;^%601x2clmByD2{qEM>$9#I@?74=@kw9x&D-9;^&Pe)$~qahGA@j>jRv_9QL% zZLuWMz=S+Vk0WNb-sUy3?a|R-z*wKly&~77;^470`fMz4G5q4?XRGFqmyc9Jg!0|W zUG4U$in8u*S9}~9HP8jFZ*sL+FsTJ08u1eGt8rH5X$()PMLnvFnABITWMKF<5h)tz zmNFF+tTF0!x@b{kRdspjx$QOJ$PXJd}b)@SRHoQLpR@ zpK|9vJ6ZGUZGL((xpZ(?5fLmF$c-bG4Bm@2@&N;ZrXA1^&D5;ZgAg#AMRsTs?W9*e zfC8)Maw1c@>0_F<%Kgl7tkS#GKHuDtJ?tO$kKpsC@8j5qr(jX;Z!~)2U^DN0oz9_; z$Urue2A@|^%g~fO6PfW(p$geQEqQ`eIR>@5>N_zyc2`jGBRPx1kOpJf5==K~-y@6H z16O-SM%`CUUO-X~+a$A{xBSr^Ll&978995B=8Q*Ari{)}rGaqL%gF;djeOGZ<#F8VfUWt`brXK*d(aU%r)a@wX z(>J*9)%5MG1j4%Ey%Z*7u*QAqyW72ZpL+>okRDlV*{S(qlj9s!ccdG^Z^8kmFaCTBgWCwcD;arXwG<`mz*T zOMoL)XqjSrM>`hCq`~oK1E%Rf5W{qOytkMeG%_hZ1kOqVn)Ps-Uw^53OTnRfy1jh8 zy_<`fZjQCl{6HFiJy5SPXBtFpEIu)&TF-xU_Qa|O8i)YN@uw9HC%OLOA+2wxt}gQd z)fpcR^v`e0_`>6`rZ;WLd8r%+ybPS?yN!r7naTq7(Q0@^MyVTzUMN$oH6O?D=RheHQ;+Cc^)h3iR(I>Hkh9lJt7)F;G!=G!GxAzVq_{ z>nQgsLTa(i%V)4kh@j(qKJV~v2ZX|NG+=gs9VeLh-EO`PgQ0${8*DAX zggX9qUisJgEzmxE%5RCm$=HBq?3O$;5_^3G9iHCUyawa#pt|Ah$(7Kmv7qw3ZWUw& zW{L5vmZ%gU|Ev~*#p12x>vnI>ngEM#xlk2i7b2YJ6?)(_mFD|x+8Gu;K9$GL(e&0M zW^@8-JV#ntB5f;&pCw?eRAmU>n|{=?dV16b21VvqKZom2#>HIbz<#Q?GzHQ6d!^a% zx-tx`byu$s0(XX|yHL=5eiQpL9JoJy>IC$NiuWX$1S7+D&yb&k|8J0-N%Tv}Ex~c2Xh|qb`**ygFY3fgupv&O|4s#SUaaO} zEUPBD_Y7iWMeo=3V(_j)yQM>~UY-|ySn@x|!>1BphUD3*1YB#Xsj)7EW-%!3I021+ zgIz214u}GbGN36)Cdh52ix~}+h`haUeVoM;Fg6e0)?e*2@*-!D-8B(3Ed4T2;sw@$ zpJJ7UpDzn%fat)^Zoad#lCqjC#qnfV)q?An{rwfSt{wOPp>zK03NPf(1g&-f2yVk0 z4XMEEOYc4-EuiCo#E*hWi>YWH=0-z`ye52?GO2h81;bJ9UM5bxLwCuqu z(M33N&lu$GT}Q)^_P||Mm$MB+78x;ROw&QeTo5f4RTj7h+x7DkIwHoQ9f5+ksgI5g zdowe_Bf;hJQOS~@-mF-?g~8`H+ylsZ=GzAi!8kI`)5&BsCDk!6wkMp7#tfCgV_`b0 z0eG^O<3NnLS8O^?*E7YPZ^5_+{wf79uR8SA9>^R&eFBtNim&ide0nmwMQ`BGfIA@2 z@87GsEi|uv%I{3c{c^ZIKD*^Z(8bW#Kl9lu zaifke9GAfSqR`KF!#)&S=;yow0LV6dGVDQhARZEE4~?$?#SlEtP0WC7!RwI>R1Dz4 zghs{(9<7FK%6guPF=otyR)g36A%Gqq&+TsY=_VY-hSN$03Ig7s4okm)<`8`xXtk17 z20wu{2M$_7krlJs9{_i;;QaRQYH=LoFBdX|J`Uii!_oM5o7d>!uWw|X(h*Q_UH3sM zB!D6VoEP0hM@d0TwDm%u`hiZ4DxgA5^c<}9tF(%r7}PE$1|@X^OCO1I8>li$c(?de zGIkevH=r5YtnqxsMN?P`h_!T`S4l`Wj%bYBU*$-*!7}M+4P?bkOtd=OR|NP}avad_ z$0X$&F?-*K$w+;@xzbFrG=PPuFHtQfze;7}@1~-a zu>6*JEF7aX@DRXYZN9sn;4C_^?l(N4At6?$q|nGg&_(`L7_)uaqv^fnlOkvqN7UKW zT3`6$1Tp`7a!-ahAqi(y)beMN4Qn_sJHeyvN#xHE+TaH&gwzv{5$Z)4(tU|ssPOwZT$N(J}!lYYjN z4r+tQyS~zO4BhN^#A)jbQ;8@dHqTs*KIt(BLY5-N z?MYIOF2yA4(XSHeDRA$mUtIeFGpPhlF_@@8JrZ49qRXTc?0+O(qwEQ$kGk*RfdS07 zSTDEbDir@B#t8tR%Q$?W5C!eA_RJ=mt6sZh`}-!1M{c0bsqt_LUZtDA{*#5vAERhT zpER^+I5d15SNTCDy_7fVC}Y$%->VQV%qUA7;ikMd!Xc!aEa!#w_shB8j;4I6f4p&w zFs{6pSRp;5y8rb~J;@A*L@Zrz=BC_sPXSUgy|QH@1Kvvkmnn>^$aqC=d6x2OB56=zoYG3k7-W?ksFRb|aJ z>LjaWQr>~XW#TL&u*vNz_$i0?O}nXf;{+t;zITHa*H(uTIz&71Y7#=@)6bIYb>MzY zDr7>uMy!f?$24n+vLWN%u+9f%Efk&+CxVSFq4B#Ar+9Q!#UhRz6e)AuMQ(mS^Kicu z@%zTs+~l&yF5uvK5?;_1T3xO!33vvENn?-MRz~r1?92qruMMJt>jcLfJJq zk&Ubz-Z=_KauezmoNrG@lW=!wgf8U*O~l|67{*3GKl%h zEU1cyckq(sy1iij&mZLq6j`PoUGtWZ2#yVMkvd|53YQx0N%7&Y9LWVHg*qL?0R8Bt z56o@%V&C}TarNkVP0|S8L}zi3_Lv=;-*d-Ig1O+2ReGIygjjiK1b^wH-#{tq?NBVK zmNhd8*p-6AaYECNCiKg~&A;TZ9VAy_eRik6RAfrN&PwP8v%%`zrX%|VrYLI7dYgMe z)L`lQt^1-PPm_{^-jfH4vpUtD&0mxSf6GZ-@|_lvFDMClcBetlxa&lo9vz?r7F+ga8g|GP9VVESM8I1Zg|S zF$Hv^tK*g4_E5ScP>L{_M{q18#E@F}njZt5MUSPcFg6Q?Xy2?g@m=wd%%+XZX?A9U zvH%egEYyED1Ba7>8XyqD$m`~|T|lBhkBocr5fBfFMqJ2Kc>^DKVa1(C7j2txhruUS zzO(N0bRV0w*+CCdDR@R6$h!0M!7bgj_({KR^9k<0-Qf)ygaW715ru^F8^=V#2$h$l(e@Ow~B5RJ;E zUPBvYA8RdtZ`#jlAMW)~FgQw47g#sMe9|Y9r16o}uEAv_b)BzTVSqWhRW>!l%QG2i zd<)|I?ai8Xj--jzd@bf^*SSM%#sGmHg`Y$1H>+jx!qN&Z)bxO^SM2q%wr+X}3nva* z!UO&WT)b)BrxfW#v_0U!TcW_jW$E8(7&T3pF{5NB-*9I2>$s7LVmZD%sDU;*XGVPN zlLpqusR(&uzO2WEJNwQ1suyBQp9z|+>HRX2&qpixP1PPdR+jLG@iTC$J|X2P#ndO% zQv84`g!wY2Kx6*$curQG^adIw&zj&8g*=u;DXEA}B!h(h6f4&=*D;BaSC>BQojB zNGy_!1WMZM8o|gv+!mno{vSoP|4DYq6IpdBuqWH`&KE_}`R^1CXK^dG4(v_8n~M$y@n0)h1D)J7VO>w7;(4)|{2{cqGQArKwv5Kcv${_|yynaFHw zvxlP)@LJ%@q`Up&0(^M3GT;ZnPsg0D!7?)<1oP?gUN=#bAO9$~y*&>+?tXhD&E8e~ zIQhjV4|=`Jiw)w}EZHkN@#bl6=ReA2JK=t9UyxE*j_K($ip1E{jL|cy|L{fIQlE3_ z_G?ev8SUHa<78=;roF_!+P0VNKAWFpb$TNleb%mp$ZzR7qH0(Gxi_!kFQ&Jq8G98= zoco=%T%8xswt(lzvK8v~@$sHyZGY5jddS{)76)?9+#%(g$zSFp&t_JxE5h{qCh`2! zok=$}5TB|h|C$@#mMG?GS+|JIo=p{3(Ej)LVl7%F>uPCCbobS5I6~FKj^o+Tol5p( zK@UFjoccOE^Dy40yJk7Cm8Lk9v*{)`Jh71+BK6>6JiV_ z9ZgCZ8f&?lE=#G^*X8W^o1h(7^k>2ae9)->`k;>nnEBvs zR$Y9fk1H46WPbbxw~{IP#3t9cj40}pmEq-y)`ET9qWHbZF3u(V2mHc@#GMtH>n^#L z%H&J}xQ91(JhyKDVY&a^4-%L&jo4nOTc^`&+_cn{uaNWUH^WsvGJGoycT9#~z`tAh zzx=!T*Dt7DgJ)PuJ!*|~=CogHWs2DllIB{lgFV?SM{o-f9OXE=~E89e_isv z>(fn>i?AD5c93{vrR z{*G2iV0zms4l6B$mjAOxs3gfO(!ghQV6*?+@Wrb1_ZK-S=0DIVAWp#dfteip->K0f zZc;{=q&JfzEScxO?*8j6d`SDRrEXX7g?}WOBEtUzar!Se;D0V$|AwUgU%sI>67dD& zyd6MxlFd4G4#y`S4Qt!L5DcV{dp#zbU+Gp;EJX~Yw9M`5Cvr3wTm2rftL90(P2Y2R z`jjgO;1^Opx9h<8oqP3je{@w50H~$`r;dMS9YFx+z`2_OxK~$*i=7!B2QbNfQZIVx zvRDYTkv85f0^^5211wtd-a1O&(Mdpr3j*Bo@l65u)z=Lm5g5;lb>3p|UMZn~Kk^pf zv5yQteF(BdyM=8^0p@Z7cu$8*?d-di;CReoHRG!^VEowH+XFFwd!^l{@wg_L9qymb zsC%M{?he!&uxA);BN5vv@dEC&v59*b$i+X{zTF&2Au8@Gz`K?tohfNcU=H8~ez&L- z)VIkAC@TO(NWNrXSJ6uBS!s+`1B@Q@iw8kZI7J+0hgdz}!y}qos zDK<@4D6sv7T?6e#SYKAub^f(-RR8luGkyuR=of6b0>qYYi`L$MskX0t+6$x;N^#aR zE1+BfjjiA@v8s8!6CUmFxwiI?QTOy15zxo)KD+^B%O(M}csjX&_=^S?GF!>lSaHjF)Cp|t=1)EX zMpZQ|-a<2Om6Qooi+rdxYjnLHa7g|%iIg*Hun)=1PxGu1n+arnx#t z>M?wGPJH_Q7nDx7eWgb_0A&Lk;zER0JwH7zcBC$O=r^~;m~)_+H|23L2;|#};z|F- zAlRbGn(g22^Glou*azhzC&~V=pa(IzEf!egVRNiW7T-Q9zx^L?O5~$zfWKDtr+iTC zhq%809yH)-IxeO&A`tFFl2&gvB(T^3G{ROYpJoh156s)u&_I;PCyb~}VQjvB4#C3& zkyEPkU4j-8#L59RSDIaNCEvwp}iPE;%1{C8~h~E zVvKQh9;&j5n(Hg-ke42aCQ?#gr|y512FaXc zg`#-A=qZ9~x*h zrRFmK1rOz^glAoeV7`1I$0%^I1K6IXR$e1SK`{~U3u8b(i^Z*?yE-gO%%yE;M6>^X z?1Ciw*1X{w)Xls908G8hHuZx}&1`{e%m^_zfT<}OiaE;*->%0p(oHZ@S~2S#9TM}6 z&Q1XEV|6Ip_~;v$-R>1=aUNRoO0#yxLdH#`S5VA+m3>x!d6bHnhct;Cg#-e&-#?sT z)$y9BiV!Fj+BYR%C+a-^fycyB;k>>{#X`(?{+k38s$_YPl=np?t^jqwkvpSc8IW1x zS!CkhwDv4M0H4nqTP>2?kuT?zfgMA$;)B$QgEugyp(rfW+wT1AsJ%d$RAu5}?Md?* z3+ywQ{`fhkn9{1{a4~$4`z8I@bIPJp{e$K4gC)MOZX;3GdmtQV7n4&Jca%Hq36($0 zd^oS7MYDZk1#&0kAq3GTvl2x#>j8m32H%VTe!~^@t03n-OO!h7oHB`;NAZ-Q%tMJK z{DGLr;m71|lrT*#V}CW&b2?1vmygF4ejkiIj;f>JF+0$Di*!%3-9lm{&oY8(S#1n} zTFn&8Gztk8vz|M6JL$FZ4k(!bGwNe*=kw)aK^~*8%jn>)0#Aj!=%TUz+Srq#{zp3m z{FQ%x1zCV!S&xAaGbLF{Kn|oQn$yr$eoS^-s_O|>G9N@_$Px_E*_XpMQBV$UxLkioQ@`toxA zS7dt7->zDJZ9tYHdxABey&njlxv>SyU2pBdBe1MAy|ah2Gg?lpyfisV2HZ}YIqCo| ztJJ#H)R2gLoAVt!#F&v3OeaSLSF|iXg@rYOJfXlmcYx)yho0Ap9Rhq$C4@E!stPbe z<+^U}p4lw5dN3Ru!O^+!JZe0yGzw~RrkuWJJ6e2NTE_={=P+5Ld=!>~XvwoJcVMnK zQ&C~r6H`5CXzHt7UuediLk_4Vj1y?f1~Bl~JsJYXy-OaZ^60E_u88#!z$?c@{!5C91})+U=S z%ykQv{2l@@U0ptxzEoI^#FHa%zNssCIt675U-Zh@ROpr`jYzp{zF5=&B%$?Jt&%^& zZ+1@>rNBZ3HX-lya=)PB(+Dp%v{Y4?wXbbfu7St430Xa__u?k-r;_Oey}tpXkLf=5 zMp+1+4ZiC$TTQT&EAmI^+cQb|}Y_7WBEPVyE#y0Bq`majr z+u;Uj&WTUjcZ6kM6G=Ehedv1NMp+-yTC7K{ja@_B1qkSnZ%_ZS288585jzO5x!van z)PVh3W!xADGD>>PXhWJgPNakkCeP9Kc2-EXC&UjVJ=MK|lV(A58_wl_fdgo8a+>F5 z5E0{$y!%wjdSZx6N3a6Btd`tNamyc&8K(^7syHkte`e(CHFo=eC~^#oBq$8Tq*K`n zD0jo0?atJZYI^Yh+#uUDfWCx==oI@N-d0c8ZUwvZz^Y^gJ|kF+`sNiP5(>%E|1_(- zr;B_`$ctR5`<&c%!ULQw)F{P?IH1uj>^#4$ z#%K`va9})BOE2+(tOuA8?WDv~=#G8LB(Cszh5fBCoXVXLU+J6U$9W|8U$ptx@tI6tYVzp$Jqv&#_y|pqB`_T3-*-X=^QZ_~C?C zK164ozyY3xo97`&ayB>&i_fp>VzD}k)H7Ri@;d~F9WHugV*d3CI_Armif_ldX{*U3 znn^fiBiGV+3WE{D#=zlWzlgLBfj^7)NT4T2{fME)dwy}3c8Srs-HT%OEKZ}0dyzJ0 z>}tQ^Ew-*qUmFhPpSYLvzOlVe_F5Ah80^-Z^k)2Sm8j6!zf8YC7wQAjmB-y^Lz6N_ z_<9;}ffHUHkGII)j+w8(0{NpO5SM?yX4CWEZOLrfh0=XKTzs}({&ebrkDHa1peXVD z(XFrE0Z9iLd<&np9ni5%LZZ|V6g*Ns-P@z2jg?!S^z0gt*ah7M%vZg;UXkkY{Oj!b zL6ba+M95-lshJ4@`?Gw31z!NHG!#@gv$BE+`*pHJ(5;~%p&}L5-GkK2yFLdc{z(k? z$XG7}RH8WpSD*F`$bf(tkdbk9k>RV+Q#( zqU;Cw{Wy|Y+UXUKLGDG81km&Q(0=cbDY@q_U%#90zYkMMl@IpW;jpktL=fc`)v*j% zJgzO!wG(%{9FgK_a!C#i++0-c$@2}0Q?oB5CZRQojxStasD5hIr4*YH0BGB^if}pP zIV-%JeV{G&?M=1WHj0@hJfnInW>t^1q>>O8p;^?eYAHoHBKHZ`Sef+1QqeyChd#`U zimP^sJD?a>;@t=yxwYc-*r_iddio&3DI?_l$u7c{fIqP1>*7kFfnEn|QIJgQeZ>_e z{hcf3_mrDJ4mOb!5x2=l=24Cbw}f!SWJ>x_{qjg5TE8aiX~_nUS6WtF#tk zWxp?FZdn(s^YG)1&X@4h*2~68Sc>|=TFGC0SMROlDi8O?mi=Dmm<^K9>e$f8>{Z3g z+MkB3+`lxr&At$;BwlzBLL;A_=%=S31}LP2U?{$7Qt!fO#U6HS0`DFmU+r{BmPijV znUnQRO1Rzd6gFZD-6<*PY}d5|N~8Q1qK%Gh!z53tzhD1EhXaiHp=-EbCnqLLo|j${ zH`Q+&8TprsyjJ5eKPfQ)NH#&weC+&!jF=e9mzU&mFFopkmi5nR9-I1 zTKbLRG~&@WFfhGTvp$9iZ^pW*tF^*4VAjdK=4uqo7KBYjWMPUL$d`th+6>e>Q%tie z{Pfn)hHY>ln>U_D4-H2U%qv*A-0Q)E;0J1oat5yNhJ#1i6_a*JGlLydY*)}u-|^?S zEmSyC4=V&FlEb`Yb|RWK*QA&UoroUyF`SV4gGhGRbHA*~Zf8C#85dRcT?b{Hi(I&& zMn6PLgz^uujhAHN{2)-pe$0kXx3Q)qCqMH0o|IQ)8i4?)Si}B`pd(wfcfIQBM5&~W zu1WYhSy4~cWJ8eZHm@xt8$@lk2VY^e59}|D?c8j%QRk4|?<9xxyAY|w3Gq%Pf)UqDKBJ?hFx}ws|sO*)t(ty)*%Km1> zcz%;`uI5a(4OE}6`@M<-kHpYsh~(p%!B8~_6fQ4968B8jap_|OrFhxiv78i;HsV#{({iX{cWST~eZJ0oIuB$K4&HA#0zFYjOiN2s%dW`8 zX@&;p2a>_UAL5eSR@xLqr-?KWyB=6_47k==_JZahWNoJ_=KV>J?*{+%Nb(AY!g^KI z>*QIfKf-9b$?lP@F%cGz)+xD^F!pg@0*61btoha9B+dK6*O$Wr5k;{Golxj0bLW#t zrW7pf!m2`W^jnk&b>f3s{v4fWY&NKsxcq(-1emPi_I4-&`~(FGD7k3P^n-r| z%(~u>>@36DGr=kFHH-UxSp>AhJv`bz{F4?ILUuDVGr7^f?0j)dn%YNJB=mbt zA3DZ&DWk9rS`L%5xNlX7vl=B=I(lY3($+oGB33a9-}K=aAs!Aol=-p6MUp-Iyr03Q zL)I{WT*TiL*;YWfC?GM*M3d;(0=K#5oc~EnlGVAS1UoZ77}3Hu&ho*@m91FKZF@>G z{DeYmu8KTcl476jjS)DajrOVO3{JW<^-rS4mv2HI9Oe7vB3<<&Ls14C9Aa-b6{Xq8 z1!~C=`0V@OIbpVX+pnCOWZb z(shpu;Hgch3=IZ)u{I;oY}{1G-otD+)RH)t;-_uw`v3HFd()qdzGXS|Q?ncUOeRDL z4VPBJZ?#Q#w7?STOfech>6ou4|$|a_jE+C9j5R)CgA(!1#v&f4U8~v18TsX z#6ZsKQ-DMozqew=)PrPOkIi-;FA8c>d&S4wS0Z-vNxN%aD)CeaKGZ-yvrUQFda((8 z@U{-xBiC>1!}##gV>$YyxaTLmf;A*~BMhY{$>|kmA)3cQqP#>4)8)p^k@l!U`@1! zN7t~;=UyAMdf-R)U8D*I(vR4+Fmtb7=_F_kuz|tVHr)Gz_4C=X0$ggAVgm8Or-F9{ zSu^ICP}9nxTSBwval&XxaZfR!?fpbtYAH#f?!}DqHYQ10oyt@TN)lEm0R&+mJ_ylmbi&grJwYFi~X#O^sOKHg$szX0-5q@cVfsFs81r(Q}hU=mTZUcv|&y>(cfzJ z)3ilcrhMb}xAx@Ewuv#8RQ{wAD=?Ceja~dTNz($aBIk-k<;X-c4(?-RDwMhW11(mR zJA*OyA7xcIUM9cvcceBmD`oWi0J~_7O-+W)HARASTt9 z)7I>lu|bH{6gSK&nY%L5miyeR=@+!`Kp-@-hyUnmpq&Jy@$y-Aw2euJ(7WD20OQx~ zi-hZTDN)~tUH2C{-S#g>P{V=Zu*L%BWuWqbus}CR@OB^)*Q|#lCX3>g-+P7EVLx+P z3+D3so+Tw>0?CO*xHEwfxOBvwADfUKIQ;aK!Vk(+WFFq<<6H+I(4jU|`vMe=MIapm zHcNc&Y4iT7C(sIF_nXfFzQhfVXL^a%n_|}PI(xrom!Y#)zLa93GxEkx8P!r2W8+d1 zBnGN%FDtI9TopOk-FnXsj0kzQgsO`D0ut%Za0E83oHhuahvQ?eG`!BPjvoA(m?vLG z_{wFG5xplu^X1eENN{nh1xipn?CDO4-$kBztfV|GAu&vLID_LYfbD~iIZy%;1X~Q* z+zu*#0JWy9beJjRMkHR(lFlwWk>OHtUyuxvJp5>6uXldF23cy#te6U-ERLxHHD`%b z#_ehYa$;r_RGm_PX&YjtX^1lNGiz{Oi<0UgXg7!!j`!lmE#^lbR){|p3AG0a+Rf39*A<5%W>ukMmQ_6vqv`8W<<+a?h{5OuucFXB?TSn`A>&I}!Q;?gQpQO%`Nx`rm zqK#5m`x@bC6U_-XNclTo{la0(QYJI>9rXQi1c&4N#|zNggB(O#Zx>1!cjmn$9}caS}qzNJsD7#tSEsH~u{hz(^|Hxu7$-XG6%e{x?$ zh=B2)ciW%==c*%YcFjrQrareyW$PgbVa?&G5h8>Y(@&$8 zw*d~0tFKq!W5FEmOLyQ6JW9w*#*`jj$h_1s2zQ(61{O=stVoy`Kkv6af8m&HWxPE{ zFTl%`GmtQUv*Xus2at0Ff~6eVl87>h?tREZx65mewj-FRb4RqtRe2SNFwmTi38xzMK);o=xR@!XT~Rl*^hIGcZLWX51;z^oA( z&V|kmn-P(wTMh6wh~`NFX;ZU*^}2cAT$nq6PJztEqIwU|8kDc!0GNC=chw zN1;S)41ya6TUuYe1jZu~4Ak!)_iHbfY6y8u0sjsQuDc<-d_(H|T5#P5Nw z1?VYPLcSvnSpQ_v5kOx3-bYgO|831o@VDh-gdi=fyOyjq@LE0ntyH$$2bsc6@%Li_ z^W0(z+>c?Lv8q2~Q-L<(Jcr%6Hz$Q zRSK}=yc(F+$9|;C2d6d>#|u+sU}uuTDg@reLSHd1V?}Dj1@3P*KzYA2jEMZ%I|51g z^UAwKZ|pHL-jKHyFX{|)TvM1(v|v`E(ibYBnZh{X1ucTnf@D1GFdj_uHLL>)`&4vz zAu8{n6ukqq@KZV|qE8_KSTa5O3Y5O& zuIR2ykN-%Fq4TD@I4xA6h#!k+@Yt#a9?-j%NSu8TcooLBp`H6R&AeXJzj=S_D7q9# z0+W};C?1i=w2M8LR>Zl7nX3x6hrS0vi;phsho^LHhKB)emcm0?AR&dej8q#LLBlVR zN88_Zt6!DyAZjT1XR<@}4hL%7*>ryb56iv&mPYV!D|lhaxGYdY2Ew zQs@-if*xKRq4pUMFtZg9ZP{-lHLb9js2i+#Ju<}1>j`EbUM4tXKdc;X@L9Evv3_$D z;#(Fu$r_f-k5=Dm@g;d4YnEby3jGD$!}Oc==~1b<@X16Co=mh4a-ATz;V8(hYHAaT z#zGHqXzu99gd0hLmXFd*ZCx&Pu@yV~f zb7lD^%&j(@DXPGCEf&nvA)mlvbFC9>W?`XIY~=Zn-z_EIZ7b5rW(IX(Yyge=sX=_9 z4mInpv;PmBq&V`uUDr+rPaftJJsX&rby%iA!ZY3EzhLpht$a8As9ST2eE#pd^BKwE zwXXsw$rh%8WY0Ow#KC@8nqVLol$yK$b95FJt(ElPgl+6AkN7g|HyYI>X*#Pj&h5lV%0sD`8BPi6! zRA^0O9n`I`^@E9lGuxYYzGSg8JJ+WW^vguXW_WogTDdJ2)m28>W@qS)xeoxxQ2AyNCEE$3^1XP;JE1=x8LS%o@WCizTyDrZ*?Br zG#SCbm(bVvf>;*kb6xJ(G8sA;^bqHfzBT9r;i?ne&#Rz>1UCZoW8`1Ru>Yi?+A{v7 zUk70L20%=2-z_sI=k^~OdYt`k1_4~EpC?pZ!OzwCh9%_EZ&)J`HbMfsi(tp80iy_k zv|MG^Nmz9n`LKbe68LiqLk=l$6aGVOI11VM?9E?9>XDgblxg6|68f~trTl=U`~ndG z#OniBL15^wgANjBKT&}eS7l{8&=-;-$IlF*D-As3dDFnSl6%F?@W%(jJYCW@2^zGv zuD$!_MVGG`4y}f|v7oph#|g?{>^jZ?>U}VVf8R6&yh^+1EPG@tusdFhdFGr6c7{YT zuJ^}@?}rz22M`e!UxP9Q)0GiMKVY*?kjhOK+yZvpvs@+(>upiT-vt~7F8?7=u>v~s zv6g0tX3ovtzN5m0rhvlXbRR!gIpBjp_58GazgK9ZWYJ8iARt*7j^dFkwa8}lGF)-< z)S-*GvM%o)rdy-Y|6JgnCT?S0XwzDb?P*^A72DIs*bh>)C;5*#NrPMg;^C39!ITSk zHEMxhBkrTITK=(*yV5&-kVuXMtl0&P$YJ*s2S~ZK+LiAiKwz{%_dQY!iegLRSO%!n z(4Y*l0{&VIhN6rX`J1FtZ3dP;3L|$a3XOniymHQ14+ZfY(9812gbByswCWEoQxf50 zOKeSM*C!-W+~)(NIiStME|Y*!6^BZ2=Iogy{e{M;}Yawh@0+l|J}8D$xJ*cccarolWwDxT3ndIJn4VZWO}MY~^UY*=V^yrCX1; zd}adOTG;j3!)6xu5X2_+IUp~JiE=FOjqjIleE69Qbvd4NJW~HgTn0+L^1W}BN=Nkjch>OG8OYB+Gv54a0(CQ#Nd2vre_+AC+cr6@~MG#VkfJNZLk z>yfK**A{T>zt*_Dk#>7QPfsi3xqq;HFu}rGs@^e+S&Yz_(6K!jqH6GdYGbBZeFi1g!tBlXB@^(hzP#+J5 zTAMXUdqs*{b}g!;#%5S+kige&h%jr1?qC>a#|DN88mu0Nise3;B;tVBimUU$ehc!N<_S#s11BPqn# z=8e)Le#xTh^3HwIiRvV|iJ!AdMPzxwpj!wiLw#QS`Ce;&jfN=i?~gjZZq6HoxOLrl z93(t@U!Hq}N|#voKr0!mdCQ{9GtJ5P{FZZ50D8gqQmh`o3-=HuM4%s!RuloOhP7c_ zIMIyJ`TMsz4QHtc(7-6vNYe;fb_~f6MWK;Gqtb{n(y&p>z&z5`8t#BUrk9!i;RyF* z)Hm*R+`6q`_>q5t`z|684`a74s^N2kKEtiCLt0OU6hD1Zr0v~1)nW^|j%*kGRmg&x z&>Aj_(2CE~e$FwifS)>ax?eIU$>6=hAk|);3w4CLxm85s`<{aoZe-lJGRA$8NbdAv zgCwmvUp(l|=cIXp4rOK88~~5WhPaYggoXFKGJb=K8k5CkC|fpWf)*I3YY7WUA`pTg z1$^+WURt@2n+=Jue3}MUT$?na8d1X-0J@&le=ebI7KHNCD^(fP4h^fQ-U{S{RyzhK zU}`Zvvv{(LuZ#)DDi>hQ{TrSg{t~^4IoU360PBv}og~vUl%J(SiQF<05mjZ&sKa?c zI>B#EI8!(o;83k|ou#u1e85_%9;OLNY?yUJLU%u3&#M6^-^pa#s@6;b^IfoXf|>w4 z_}Zbn!lmS8^s4sxCkPRY+4ID8Do4>OL=EQ~km@@sj8pZ+}=Mhumuj0q1O3&%iaA4CUD z7blO1eh4*RF)1Q1)3{HCiE^(}v_#xy0+7+(Kne*Dsd&gJHVY&V4yM9MkZ&9JUnwcJ zSwRX-ibM9bxum=b*&go4RbUdDXB`4BNym?GqVz|2r9m{1iKuvbun$5>(htNRqjN>Wt7+AdJr!w;=1-`{79^%we@`RD1FOB2m}xB3g(x9J$+nGTHlzKbOen_;b%P+snV67KXy%tX zWIpesM#@jnYZ4g7=7oi2AZK05J+sNRu%5dm{m_vaPmaE$4Ne;$aB)CX^Ax?pxJcuJ zwt|kD=lUpTEG$#EI*cYxBmVkz*BjMR2Q8tkGz=njh2#{V1CaF1m?7kF@C1rg$+PTo zmAM4FpE5o7#~TqOcp_l@)Xr#v@~py8-l>w*(OWtc=}gt0W!Nkjmv~olVuS%t5%0Ie zg}10X(kMU)G#AF)*Ui5b3~jZsB4>$bG0>3+U{)IY_cpvzC4!e23yb3Qvb_lYP07{p zz179!$rnHS$YX}z(<*iiR`Wj+p)gaU4~}Ij!r0A~#>+ZNf*bmQ)Z}CCBK^zkxofHS zyIy??TStme?7zd>b=R?|Z0{@l#d&g#OEzpWErVE8J<8pUUeF*W-YS9g@*^-Da0ZgF zG`)T1+dPAfk5;%%uVlA|QU=b;qM7dSVgt>~M*l~w`rkL}ee}VI6Qj5n0IsD0yqDGU zZ3J!Nq&ncvqUL%aAlqqJyL8k}KL(mXZ=j{|XrMC#wA~;83g*^*hY&KP31qX{z}L(d z-v;qMJAo}w__|5L5ehofKvTvg2=AV}&07V9bRb)P3_q-A2I{pNFIcEDE-UqxU;Q`A z-a4qt@a-0s?vM}=kZzQ{0i`$HAdN^!N=SEYK)OR3rMp8Klukjqq(M@e4bpIKfA4u` zzWHX(yyyJ6XC48ceaCgJwXU_8PGx~-$`;xQAS?Vlp%*+K{s6N=CfGeF)>=Qz+Wu$< z?uNF%T7G_Q-?cO2m;~_M2jGkQWE+fezBIhw3Y@Da)jIH}?9Vvs0*L1)IPK-BM_huW1?Z;M-zP5CduLsdPl=(v(5Xwz z*=tE8yPEY~H~YrPt~b;gexv)WT>twkb}v~lvJAZCCVm68*4FF9&UC-$POjtYo9*_7 z_`$i^z-cjs&#wENGNyC7a-o{SzKbeB2v78j>u>b@u$7+2`}9zsUR`yv73x=I zFl4!0+6^ql-kwo(ee?nHmrm?240((!r9UJf|4bz3zFt^$;X|OI zF-UfzSz{|31y3SC$+;z_)KP(rZKV%4v3J9P$xSG*Kpg~{w^VwUyS#a&iRrWGOUxBD8^gd`)xz8@ovcLK4~ypF04&qzmL5tGU@St@S%ai?@G6 z=j1-x6YgxF7jh}NR|`D_Y0b%j(1gVIx-%MRhbX>o8!J(y{Q==DnXPXTWX?6TeCj4y$azFx z^B6Cmc#V{C3^g%_RP)EQTN_f{XGyQLPqczOkK$rW3!ku)5{m#=)vSNU_p#8xlR-u3= zyFUcyZ`alRil}It-$Uoh@->;WN-hm~Pn-3XYqrnFC82HJO<-{Z?OMWJj%mL?2w$ z*d2|(b>7bqYCyb3+YL{qjs@X3I81AF^TCllM{kPNBU$7AICx%Cmv&g0)OlYV@lf>7 z0`kg=agzS%`X?9!V2tV6%Rw0q)jC?qYH0Cxfk`eUn}edwjvM2M>pTM(|tx@ zLJbT;62dwTp{s|7kWK@P+0Lb|h-B>Z%!(8D%17AZ*!5R@UPUUIk|qyN}e532FBB|e~!1yd)dnIrc5#9 zjEUPtXurcu?lpBybuqqe_OMpjEVq4}l?<+MY)*GSF2$?Qxb1c`A+_uFqqC$5;b4RS z;@2f#@FtsrC>wefI5!aWN42fNl3c`&h?rLQ;XV)}?d#U2#K6a0veG=42y#)!KV8y8 z0EY3Gp`&T)nVv^9e#rGkL~0L)?mkvf-O~`ivb@{+KvKI>2tW3Jn8Adw|I4MZtSq?v|9(IWZ8Gv9N2Bdw>| ztMMZ9I1nz|Ruyml>VdP?s*ZDmzz-=9ILM|+bC*CFJs_vqaDvm6CEWWqaj;(bbK_mb z7P_RaL@5uA)T!S+;-!S8r(r)_$%#U7UOm+R`h@JQUj1%QDj=^SUcr3Mf4V@jW~O`S zO?@CLI)eN5>(X~M{Ny<3>^AwSh0o`qBy7RE5Y8?`C{2NN@H%a^OH0o7M>)B!xR60e zqLO|6mPo#O>+&o)+SdLt^wj-e#sVa8>i9L2kmRE^e(Q&>uF~sq3`{-$iNsY_Y($awxV+`H%Vv@B_ z*m&Jy{Mdv<76N@rDHkb?_&^hI1qr*I2HtLtst{+*WUAD8)379`<1saI1!@hnrQg_< zSS5y~yN4;*CNRcND&gc1Ff4(StJBEKgCV|!AmZ*3&;LqD#H9WhuAobNIKC`Xj69$1 z3bJ`}NX6G|UbwppC53O_Oln!ruwZ;6E|}sj;upb`d`u{6Q+n_?8)K0{*YL~2uHANa z4nsIDwvwJ)f@X9Kbt%8#R0VSLH#s6RnC~aqvJ!Ep{2U=Q>S$_aR;iY+mi**$k$&oL zx6jJlSn);*Kb%v(%=;`?c1K1*c6uz=$MhL>>{qI(6|CpmkLD>|Ymzj!GQCk>*;r~8 z4E9Y0V;yL3K8d-vi(+D4pVL!qeDFm}mhxn6i&~j(Sbh`W-|Dt;-C3lL?|6OZa553y z#Gg(o^Eg2RmqMEsim2Zs|9P8OoBCQw3u3Xg)WZX-IoJLDDV#lx(Hs_4=w?E^@yUo{ z5UIQ9J&}kXABqQwiI^~RbxW;+-J2?d{#)aenxa(FCja)^7Q6+>P76jb8<`gBX5uId z|5jj*e0YKP{?cp49&FPub>q0`m~?8?yyZ&)sB`!V2)H#c54#{&#%)~G4rn;)l%Qig zoP}mhegvb{J+htI z-EbW}bMntssxK484){B4bJGU21$z!LQedGHsVoO`&7r8eUwTT7AbZcE_xyx|NREPLte98Y;7X5eOWMwWJQT*I~S>im;o98FHveN`m}mF<`XlR z`)HPM2}yJ@Q!T|?-G;=O&Y^t!9bc!otK+#bI$yd?bc+Nfsc)!RD$tm#Dc~`Wn@>B+ zC5@aNVN`{A5b++8|M(l`mNzGP%~OA+#OQY*${e$dME=);d;on8rJy?RbA4Uaz2SD1kT6`fXrT$Ly3j`a*Pj%IeKs@{OOqSnxRvVTUFY{#~3H!xEyCF;wJCv18SpAqux4y z60e#-U2z`wwLx}!>)l{{Q7^%(-h2=g_tv83?J??f5S9`1Ss?Db7vA=?h`l5_w=B6! za4!Q>az;nJ(!%3s4c#)5Y3W@`8iYzRu)_naMVHEHs8KR)UdSs4eBp<1{OO+Jab7zh zKn%hiq{&3U8=TvDfBo}XiEQPFJTHn-g}ow+zdtn zF%5e!F1s>~i|!~Cf=?sK$b+Q>*^ttn`n)^UDH)ofnJJo<{rCotJiz9M zVL)g04q*}AHc>$MXpT3{KU2ve|OU?lY<+ zxe=xJ00zow&6bl0R2TXjqAu*W5^{;hitnR>TW=a7j_gHtryWc5I1ov~!pM@4SMoE& z>hmNPaqFvt)~+7bsiqua}_2rRGv2auovK?VL?aedTwq&Nh!s?+Lj0boww5Q)%Ao;%6 zfjS1cFQGGpWyCic=O{Iv1b4<29;cYW{-ynqXHxuEh;tYx`F~RX=)V5%Y`=j3Xx6_6 z=yCr0fm?xLK8NGuWgpYa={MFO0LYm}7z|D{SnRlh^hwK@KB zPPxscPXxO_1wxIB#Vee{qieh`ixI)2ANOYMqn`2@gJZi>n3y3vsR}r>Q|K<=PnGZl zhQve}+}J|6tr$N&Bz$Zr8cm&Sd@!oe#fqU4dEKm=unFR>x@DrK`?vlp%T4^MO;H+v~k5POY>~TqW5NwJvSM7)hPbliDQRx7U zl;7=1_S*g5!<=n=ijUkM{HI>e+Zg^E&n%&0E3Gk%?Z5N;U*=;aQ-LpCr zseiE41=$`*pslX862Plod-rr&*stI>qs?2)13?*p#TxeG?$0jYsu~K40?XDG z{c1T1rK=GGZz8UUCsJSj8g#2+eOwBpd}_1;oLu1`YccAR-WPT&hj6_JrZkVUoox`J zIr6#I2*g5yCMr+Oh|{Dxl^4%~L%Sqe*XaEg4M;E5uVHuFYoHE}=;K-nA36U8W7Yqr z578Sa*BOj3ySe*hs)Sh`dxwFaA>{Y?nvUsgvQ)Xq7bOHJ*UUhR6#ivDvwhK-l{<_S z%X*O!Ls!IZvs9;u=Im{qS#Uzp>x(~>zhO26{;vyqH8O=%17`5%>OA!vLN4mEUE|HE z=XtO6(6lPGQ)Y0V^Zs!-n0Mua5~-R4m3t}*(@9!kXWXk3`cwjx`BGbpiYBfOc*zq$P>^uyxrq=jN)B~`omS(AK}4mX=&i8;uYw(sdRZoN1VWrZ5G z#Ta-Ebj70}5y#3i-S3&(+ATH>z8y7u>IW1s)w(VhFls^fe(K%Dda@@P-neWWKm|PX z=1yB=#Q~H+Mc~c`v{=V=o#hfz*Ke+6+rn~BN0+~cqGR8*FrGtZS`1RW@Vf`^{WID}Af!6lQ4W(O;QXyS+WEhuYR@W||7bb;>y) z5BVv#4X)wjq)W2e0!QkEWun*NCWo6&F^tN?o*h9SDBN zA4Po=eR5l%A3nYg(^S|S>Nq%fC@XwX|labA#HzS!sv7G@|kiE=y2l{YP`7FFw z(M8j*GL9u2H28z9!_q#Y%XL6}kGgR|9S5vtxS*5zXavT3OV5=#N!GPWbulDSXmF{7 zsq(^Ku1S!;j*KuSi%SoGK0})qlkart0UR&b}4M#l= z9{1^=hwCjF(cjz$9X^pTA}=9Cc;2^3kh94lQ!*+>e+jVaE)1)#m%&Oi`UqLnO`SrV ze`E-j1~QtE?|JHAKy)fz*N%%0@_xR2RpdJyO);C}>|+752s*V;m{Y3Am=3w4f(}q`Ug7q^jtd8QFkH!Nb)!-;BamEbjM%2Prcm9&8pYb^>`@Qq_Q zSQ=RhKJwDW&um|1B>G?xh#vjL+gHdW#TB;#o$N134_uc>w>|OZUY3IL(wlzbiP_Fm zY7q_$I1H6puQ9Cb(a)YEvXfP$TRe;GVc?mPD-_zg*%qQn7=~sIbIjnG+z6Y#=Jw=7K)q6`^t)GL+Xt}Ae3I!xx9yvW zyj+5M&CE=|Q8pTDO9ZGJrO+B}rMUKmI#TO0t@=0(?|g9yZj89NbcxZGm%L3REFtn` z)Do2BPctOgKWwC`l!sddlI1+HU4IG^(zbV7mGv}>|C))(ITAD*d#w^pMMk>~hc*@| zLxi)E3T$oYwYnwbA@5&@+li~aAb3%LH)=(XY&O4vP!mdPXN0#Iv|hAOe{dkNWZnj= z>$|GHCvMqx)y{z(dl$tqQz-~LYS@37oPkrH-Mq+&8G_RbXGe~Vf}KcXhG$88Vtoxx zRpG&+o7>qW($*_f94iUKJ*Wwd<9#7fd1o%7S@F&hkZ%?D<>nLgO9O!fsARc1^+HQT zvXB9|F0XKE`+8co%}NcWNI%y%`N!KM-G>gf+biZ$1xyNWWF$(v<;JIws#2N*uybd} zm13?`xo>|G@;jcAyv!|Yb?r6MzPd1D0{w-S#rUXyV5nTVSBya@xK?;2Bk)Z7`PbK!#ey9m3_fW%^QP?9Fv-Lt>4~D;D~k%%F5;-Vljuw@bhZ4tMQl|n;SjF(aBQ13$IR_OK6{=Yg3kC{8U6Yfn*%ovCspnMEV|hVr6iz zK?7^8`wIC!!vuO70i>NyWhu+0Yc_fLi|G$)2b&5M!0(=R_LW~+Zo zn>lDHPV4dXusVxtYHFfIj4$#EPD$rkf48qlQHD)@4iWOW^u8c^@-28J)+4NwiIr!5 zWds66sGv8KZ> zr6uHI{^knAo5KWoQnJ-A%&2{(%>_j(xVG}bcN3zhS!oU&BSsuHcA!w2Q(9bu*X}~Z zJTw|Qx^cO?u59|JQ$})3pu1AU6~@OL{VBMH0wqM3IQj-H-bmabi~LAIPeE+9pF#OL z{cbbGugpm1>VvYfhT)Bal1gv-s1TTDYEDb>?W2)+Hia!QokNb>;@{g)Kf4m&KO9KUF7>$8-m@u3DN?>|Pw4Ps7pXFvp~%xx4hPB2U#fn{U&kz*5odpGY^#Pm zask3e>P$awi#jAlxP)&jzQ*4;TK~;J{8BK!fBVRtj=SCE%E{pY8;e4iS&}7nyWP0V zyJ162n^9Hxv^cHq0NtWMYy{oVfr-1xyv0kdx}C1#Y1g!b-S@~(EmJC*5mRUh83N8P ze76}MwyMRrrSSf$M>A&>B+*>!>8rKCVQ*N&rxTj>cbC|%V+G(Lypf`zSGe-4&2u

    #A7v!# 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 DDv7PB literal 0 HcmV?d00001 diff --git a/src/test/resources/visual-baselines/cv-v2-layered/blue_banner-page-1.png b/src/test/resources/visual-baselines/cv-v2-layered/blue_banner-page-1.png new file mode 100644 index 0000000000000000000000000000000000000000..be4ceda8b26b5a6873e29172f1d3c2522fb011d0 GIT binary patch literal 10016 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 E4|t%wYybcN literal 0 HcmV?d00001