From 877f8034c7136110178739dbdf2ece09d05b2906 Mon Sep 17 00:00:00 2001 From: Rokas Puzonas Date: Mon, 10 Mar 2025 01:01:13 +0200 Subject: [PATCH] rework UI --- .gitignore | 3 +- build.zig | 8 + build.zig.zon | 21 +- src/app.zig | 1387 +++------- src/assets.zig | 98 +- src/assets/fonts/roboto/Roboto-Bold.ttf | Bin 0 -> 167336 bytes src/assets/fonts/roboto/Roboto-BoldItalic.ttf | Bin 0 -> 171508 bytes src/assets/fonts/roboto/Roboto-Italic.ttf | Bin 0 -> 170504 bytes src/assets/fonts/roboto/Roboto-Thin.ttf | Bin 0 -> 168488 bytes src/assets/fonts/roboto/Roboto-ThinItalic.ttf | Bin 0 -> 172860 bytes src/font-face.zig | 1 - src/grayscale.fs | 19 - src/main.zig | 66 +- src/{profiler.zig => my-profiler.zig} | 14 +- src/ui.zig | 2287 ++++++++--------- 15 files changed, 1635 insertions(+), 2269 deletions(-) create mode 100644 src/assets/fonts/roboto/Roboto-Bold.ttf create mode 100644 src/assets/fonts/roboto/Roboto-BoldItalic.ttf create mode 100644 src/assets/fonts/roboto/Roboto-Italic.ttf create mode 100644 src/assets/fonts/roboto/Roboto-Thin.ttf create mode 100644 src/assets/fonts/roboto/Roboto-ThinItalic.ttf delete mode 100644 src/grayscale.fs rename src/{profiler.zig => my-profiler.zig} (91%) diff --git a/.gitignore b/.gitignore index c6f34c7..750b8f2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .zig-cache zig-out -.vscode \ No newline at end of file +.vscode +profile.json diff --git a/build.zig b/build.zig index 55cf12e..15b9400 100644 --- a/build.zig +++ b/build.zig @@ -90,6 +90,11 @@ pub fn build(b: *std.Build) !void { .optimize = optimize, }); + const profiler_dep = b.dependency("profiler.zig", .{ + .target = target, + .optimize = optimize, + }); + const stb_image_lib = buildStbImage(b); const cute_aseprite_lib = buildCuteAseprite(b, raylib_dep); @@ -114,6 +119,9 @@ pub fn build(b: *std.Build) !void { exe.root_module.addImport("known-folders", known_folders); exe.root_module.addImport("ini", ini); + // TODO: Add flag to disable in release + exe.root_module.addImport("profiler", profiler_dep.module("profiler")); + const external_compiler_support_dir = try std.process.getEnvVarOwned(b.allocator, "NIEXTCCOMPILERSUPP"); exe.addSystemIncludePath(.{ .cwd_relative = try std.fs.path.join(b.allocator, &.{ external_compiler_support_dir, "include" }) }); diff --git a/build.zig.zon b/build.zig.zon index 17f1508..ee8bfab 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -2,19 +2,16 @@ .name = "Baigiamasis projektas", .version = "0.1.0", - .dependencies = .{ - .@"raylib-zig" = .{ - .url = "https://github.com/Not-Nik/raylib-zig/archive/43d15b05c2b97cab30103fa2b46cff26e91619ec.tar.gz", - .hash = "12204a223b19043e17b79300413d02f60fc8004c0d9629b8d8072831e352a78bf212" + .dependencies = .{ .@"raylib-zig" = .{ .url = "https://github.com/Not-Nik/raylib-zig/archive/43d15b05c2b97cab30103fa2b46cff26e91619ec.tar.gz", .hash = "12204a223b19043e17b79300413d02f60fc8004c0d9629b8d8072831e352a78bf212" }, .@"known-folders" = .{ + .url = "git+https://github.com/ziglibs/known-folders.git#1cceeb70e77dec941a4178160ff6c8d05a74de6f", + .hash = "12205f5e7505c96573f6fc5144592ec38942fb0a326d692f9cddc0c7dd38f9028f29", + }, .ini = .{ + .url = "https://github.com/ziglibs/ini/archive/e18d36665905c1e7ba0c1ce3e8780076b33e3002.tar.gz", + .hash = "1220b0979ea9891fa4aeb85748fc42bc4b24039d9c99a4d65d893fb1c83e921efad8", + }, .@"profiler.zig" = .{ + .url = "git+https://github.com/lassade/profiler.zig.git#d066d066c36c4eebd494babf15c1cdbd2d512b12", + .hash = "122097461acc2064f5f89b85d76d2a02232579864b17604617a333789c892f2d262f", }, - .@"known-folders" = .{ - .url = "git+https://github.com/ziglibs/known-folders.git#1cceeb70e77dec941a4178160ff6c8d05a74de6f", - .hash = "12205f5e7505c96573f6fc5144592ec38942fb0a326d692f9cddc0c7dd38f9028f29", - }, - .@"ini" = .{ - .url = "https://github.com/ziglibs/ini/archive/e18d36665905c1e7ba0c1ce3e8780076b33e3002.tar.gz", - .hash = "1220b0979ea9891fa4aeb85748fc42bc4b24039d9c99a4d65d893fb1c83e921efad8", - } }, .paths = .{ diff --git a/src/app.zig b/src/app.zig index 5927741..8880d10 100644 --- a/src/app.zig +++ b/src/app.zig @@ -1,26 +1,24 @@ const std = @import("std"); -const rl = @import("raylib"); -const srcery = @import("./srcery.zig"); const UI = @import("./ui.zig"); const Platform = @import("./platform.zig"); -const Assets = @import("./assets.zig"); -const Graph = @import("./graph.zig"); +const rl = @import("raylib"); +const srcery = @import("./srcery.zig"); const NIDaq = @import("ni-daq/root.zig"); -const rect_utils = @import("./rect-utils.zig"); +const Graph = @import("./graph.zig"); const TaskPool = @import("ni-daq/task-pool.zig"); const utils = @import("./utils.zig"); +const P = @import("profiler"); -const remap = utils.remap; -const lerpColor = utils.lerpColor; const log = std.log.scoped(.app); -const assert = std.debug.assert; const clamp = std.math.clamp; - -const App = @This(); +const assert = std.debug.assert; +const remap = utils.remap; const max_channels = 64; const max_files = 32; +const App = @This(); + const FileChannel = struct { path: []u8, samples: []f64, @@ -92,41 +90,23 @@ const ChannelView = struct { }; allocator: std.mem.Allocator, - ui: UI, +should_close: bool = false, +ni_daq_api: ?NIDaq.Api = null, +ni_daq: ?NIDaq = null, +task_pool: TaskPool, channel_views: std.BoundedArray(ChannelView, max_channels) = .{}, loaded_files: [max_channels]?FileChannel = .{ null } ** max_channels, device_channels: [max_channels]?DeviceChannel = .{ null } ** max_channels, -ni_daq_api: ?NIDaq.Api = null, -ni_daq: ?NIDaq = null, -task_pool: TaskPool, +started_collecting: bool = false, -shown_window: enum { - channels, - add_from_device -} = .channels, - -shown_modal: ?union(enum) { - no_library_error, - library_version_error: std.SemanticVersion, - library_version_warning: std.SemanticVersion -} = null, - -device_filter: NIDaq.BoundedDeviceName = .{}, -channel_type_filter: ?NIDaq.ChannelType = null, -selected_channels: std.BoundedArray([:0]u8, max_channels) = .{}, - -last_hot_channel: ?[:0]const u8 = null, -show_device_filter_dropdown: bool = false, -show_channel_type_filter_dropdown: bool = false, - -should_close: bool = false, - -graph_start_sample: ?struct { - value: f64, - axis: UI.Axis - } = null, +graph_controls: struct { + graph_start_sample: ?struct { + value: f64, + axis: UI.Axis + } = null, +} = .{}, pub fn init(self: *App, allocator: std.mem.Allocator) !void { self.* = App{ @@ -134,8 +114,7 @@ pub fn init(self: *App, allocator: std.mem.Allocator) !void { .ui = UI.init(allocator), .task_pool = undefined }; - errdefer if (self.ni_daq_api != null) self.ni_daq_api.?.deinit(); - errdefer if (self.ni_daq != null) self.ni_daq.?.deinit(allocator); + errdefer self.deinit(); if (NIDaq.Api.init()) |ni_daq_api| { self.ni_daq_api = ni_daq_api; @@ -153,7 +132,8 @@ pub fn init(self: *App, allocator: std.mem.Allocator) !void { const installed_version = try ni_daq.version(); if (installed_version.order(NIDaq.Api.min_version) == .lt) { - self.shown_modal = .{ .library_version_warning = installed_version }; + // TODO: + // self.shown_modal = .{ .library_version_warning = installed_version }; } } else |e| { @@ -161,14 +141,16 @@ pub fn init(self: *App, allocator: std.mem.Allocator) !void { switch (e) { error.LibraryNotFound => { - self.shown_modal = .no_library_error; + // TODO: + // self.shown_modal = .no_library_error; }, error.SymbolNotFound => { - if (NIDaq.Api.version()) |version| { - self.shown_modal = .{ .library_version_error = version }; - } else |_| { - self.shown_modal = .no_library_error; - } + // TODO: + // if (NIDaq.Api.version()) |version| { + // self.shown_modal = .{ .library_version_error = version }; + // } else |_| { + // self.shown_modal = .no_library_error; + // } } } } @@ -196,17 +178,22 @@ pub fn deinit(self: *App) void { } } - for (self.selected_channels.constSlice()) |channel| { - self.allocator.free(channel); - } - self.selected_channels.len = 0; - self.ui.deinit(); self.task_pool.deinit(); + if (self.ni_daq_api) |*ni_daq_api| ni_daq_api.deinit(); if (self.ni_daq) |*ni_daq| ni_daq.deinit(self.allocator); } +fn findFreeSlot(T: type, slice: []const ?T) ?usize { + for (0.., slice) |i, loaded_file| { + if (loaded_file == null) { + return i; + } + } + return null; +} + fn readSamplesFromFile(allocator: std.mem.Allocator, file: std.fs.File) ![]f64 { try file.seekTo(0); const byte_count = try file.getEndPos(); @@ -230,15 +217,6 @@ fn readSamplesFromFile(allocator: std.mem.Allocator, file: std.fs.File) ![]f64 { return samples; } -fn findFreeSlot(T: type, slice: []const ?T) ?usize { - for (0.., slice) |i, loaded_file| { - if (loaded_file == null) { - return i; - } - } - return null; -} - pub fn appendChannelFromFile(self: *App, path: []const u8) !void { const path_dupe = try self.allocator.dupe(u8, path); errdefer self.allocator.free(path_dupe); @@ -285,7 +263,6 @@ pub fn appendChannelFromFile(self: *App, path: []const u8) !void { .source = .{ .file = loaded_file_index } }); errdefer _ = self.channel_views.pop(); - } pub fn appendChannelFromDevice(self: *App, channel_name: []const u8) !void { @@ -355,176 +332,139 @@ fn getChannelSource(self: *App, channel_view: *ChannelView) ?ChannelView.SourceO return null; } -fn findChannelIndexByName(haystack: []const [:0]const u8, needle: [:0]const u8) ?usize { - for (0.., haystack) |i, item| { - if (std.mem.eql(u8, item, needle)) { - return i; - } - } - return null; +pub fn button(self: *App, label: []const u8) *UI.Box { + return self.ui.createBox(.{ + .key = self.ui.keyFromString(label), + .size_x = UI.Sizing.initFixed(.text), + .size_y = UI.Sizing.initFixed(.text), + .flags = &.{ .draw_hot, .draw_active, .clickable }, + .padding = UI.Padding{ + .bottom = self.ui.rem(0.5), + .top = self.ui.rem(0.5), + .left = self.ui.rem(1), + .right = self.ui.rem(1) + }, + .hot_cursor = .mouse_cursor_pointing_hand, + .text = label + }); } -// ------------------------------- GUI -------------------------------------------- // +pub fn beginScrollbar(self: *App, key: UI.Key) *UI.Box { + const wrapper = self.ui.createBox(.{ + .key = key, + .layout_direction = .left_to_right, + .size_x = UI.Sizing.initGrowFull(), + .size_y = UI.Sizing.initGrowFull() + }); + wrapper.beginChildren(); -const Row = struct { - name: []const u8, - value: []const u8 -}; + const content_area = self.ui.createBox(.{ + .key = self.ui.keyFromString("Scrollable content area"), + .flags = &.{ .scrollable, .clip_view }, + .size_x = UI.Sizing.initGrowFull(), + .size_y = UI.Sizing.initFitChildren(), + }); + content_area.beginChildren(); -fn showLabelRows(self: *App, rows: []const Row) void { - { - const name_column = self.ui.newBoxFromString("Names"); - name_column.layout_axis = .Y; - name_column.size.y = UI.Size.childrenSum(1); - name_column.size.x = UI.Size.childrenSum(1); - self.ui.pushParent(name_column); - defer self.ui.popParent(); + const content_size = content_area.persistent.size.y; + const visible_percent = clamp(wrapper.persistent.size.y / content_size, 0, 1); + const sroll_offset = content_area.persistent.sroll_offset; + content_area.view_offset.y = sroll_offset * (1 - visible_percent) * content_size; - for (rows) |row| { - _ = self.ui.label(.text, row.name); - } - } - - { - const value_column = self.ui.newBoxFromString("Values"); - value_column.layout_axis = .Y; - value_column.size.y = UI.Size.childrenSum(1); - value_column.size.x = UI.Size.percent(1, 0); - self.ui.pushParent(value_column); - defer self.ui.popParent(); - - for (rows) |row| { - const label = self.ui.label(.text, row.value); - label.flags.insert(.text_wrapping); - } - } + return content_area; } -fn showChannelViewSlider(self: *App, view_rect: *Graph.ViewOptions, sample_count: f32) void { - const min_visible_samples = 1; // sample_count*0.02; +pub fn endScrollbar(self: *App) void { + const content_area = self.ui.parentBox().?; + content_area.endChildren(); - const minimap_box = self.ui.newBoxFromString("Minimap"); - minimap_box.background = rl.Color.dark_purple; - minimap_box.layout_axis = .X; - minimap_box.size.x = UI.Size.percent(1, 0); - minimap_box.size.y = UI.Size.pixels(32, 1); - self.ui.pushParent(minimap_box); - defer self.ui.popParent(); + const wrapper = self.ui.parentBox().?; - const minimap_rect = minimap_box.computedRect(); + const visible_percent = clamp(wrapper.persistent.size.y / content_area.persistent.size.y, 0, 1); - const middle_box = self.ui.clickableBox("Middle knob"); { - middle_box.flags.insert(.draggable); - middle_box.background = rl.Color.black.alpha(0.5); - middle_box.size.y = UI.Size.pixels(32, 1); + const scrollbar_area = self.ui.createBox(.{ + .key = self.ui.keyFromString("Scrollbar area"), + .background = srcery.hard_black, + .flags = &.{ .scrollable }, + .size_x = .{ .fixed = .{ .pixels = 24 } }, + .size_y = UI.Sizing.initGrowFull() + }); + scrollbar_area.beginChildren(); + defer scrollbar_area.endChildren(); + + const draggable = self.ui.createBox(.{ + .key = self.ui.keyFromString("Scrollbar button"), + .background = srcery.black, + .flags = &.{ .draw_hot, .draw_active, .clickable, .draggable }, + .borders = UI.Borders.all(.{ .size = 4, .color = srcery.xgray3 }), + .size_x = UI.Sizing.initFixed(.{ .parent_percent = 1 }), + .size_y = UI.Sizing.initFixed(.{ .parent_percent = visible_percent }), + .hot_cursor = .mouse_cursor_pointing_hand + }); + + const sroll_offset = &content_area.persistent.sroll_offset; + const scrollbar_height = scrollbar_area.persistent.size.y; + const max_offset = scrollbar_height * (1 - visible_percent); + draggable.setFloatY(content_area.persistent.position.y + sroll_offset.* * max_offset); + + const draggable_signal = self.ui.signal(draggable); + if (draggable_signal.dragged()) { + sroll_offset.* += draggable_signal.drag.y / max_offset; + } + + const scroll_speed = 16; + const scrollbar_signal = self.ui.signal(scrollbar_area); + if (scrollbar_signal.scrolled()) { + sroll_offset.* -= scrollbar_signal.scroll.y / max_offset * scroll_speed; + } + + const content_area_signal = self.ui.signal(content_area); + if (content_area_signal.scrolled()) { + sroll_offset.* -= content_area_signal.scroll.y / max_offset * scroll_speed; + } + + sroll_offset.* = std.math.clamp(sroll_offset.*, 0, 1); } - const left_knob_box = self.ui.clickableBox("Left knob"); - { - left_knob_box.active_cursor = .mouse_cursor_resize_ew; - left_knob_box.flags.insert(.draggable); - left_knob_box.background = rl.Color.black.alpha(0.5); - left_knob_box.size.x = UI.Size.pixels(8, 1); - left_knob_box.size.y = UI.Size.pixels(32, 1); - } - const right_knob_box = self.ui.clickableBox("Right knob"); - { - right_knob_box.active_cursor = .mouse_cursor_resize_ew; - right_knob_box.flags.insert(.draggable); - right_knob_box.background = rl.Color.black.alpha(0.5); - right_knob_box.size.x = UI.Size.pixels(8, 1); - right_knob_box.size.y = UI.Size.pixels(32, 1); - } - - const left_knob_size = left_knob_box.persistent.size.x; - const right_knob_size = right_knob_box.persistent.size.x; - - const left_signal = self.ui.signalFromBox(left_knob_box); - if (left_signal.dragged()) { - view_rect.from += remap( - f32, - 0, minimap_rect.width, - 0, sample_count, - left_signal.drag.x - ); - - view_rect.from = clamp(view_rect.from, 0, view_rect.to-min_visible_samples); - } - - const right_signal = self.ui.signalFromBox(right_knob_box); - if (right_signal.dragged()) { - view_rect.to += remap( - f32, - 0, minimap_rect.width, - 0, sample_count, - right_signal.drag.x - ); - - view_rect.to = clamp(view_rect.to, view_rect.from + min_visible_samples, sample_count); - } - - const middle_signal = self.ui.signalFromBox(middle_box); - if (middle_signal.dragged()) { - var samples_moved = middle_signal.drag.x / minimap_rect.width * sample_count; - - samples_moved = clamp(samples_moved, -view_rect.from, sample_count - view_rect.to); - - view_rect.from += samples_moved; - view_rect.to += samples_moved; - } - - left_knob_box.setFixedX(remap(f32, - 0, sample_count, - 0, minimap_rect.width - left_knob_size - right_knob_size, - view_rect.from - )); - - right_knob_box.setFixedX(remap(f32, - 0, sample_count, - left_knob_size, minimap_rect.width - right_knob_size, - view_rect.to - )); - - middle_box.setFixedX(remap(f32, - 0, sample_count, - left_knob_size, minimap_rect.width - right_knob_size, - view_rect.from - )); - middle_box.setFixedWidth(remap(f32, - 0, sample_count, - 0, minimap_rect.width - right_knob_size - left_knob_size, - view_rect.to - view_rect.from - )); + wrapper.endChildren(); } fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { + const zone2 = P.begin(@src(), "showChannelViewGraph"); + defer zone2.end(); + + var ui = &self.ui; + const source = self.getChannelSource(channel_view) orelse return; const samples = source.samples(); source.lockSamples(); defer source.unlockSamples(); - var channel_rect_opts: *Graph.ViewOptions = &channel_view.view_rect; + const channel_rect_opts: *Graph.ViewOptions = &channel_view.view_rect; - const graph_box = self.ui.newBoxFromString("Graph"); - graph_box.flags.insert(.clickable); - graph_box.flags.insert(.draggable); - graph_box.background = srcery.black; - graph_box.size.x = UI.Size.percent(1, 0); - graph_box.size.y = UI.Size.pixels(channel_view.height, 1); - self.ui.pushParent(graph_box); - defer self.ui.popParent(); + const graph_box = ui.createBox(.{ + .key = ui.keyFromString("Graph"), + .size_x = UI.Sizing.initGrowFull(), + .size_y = UI.Sizing.initGrowFull(), + .background = srcery.black, + .flags = &.{ .clickable, .draggable }, + }); + graph_box.beginChildren(); + defer graph_box.endChildren(); - const graph_rect = graph_box.computedRect(); + const graph_rect = graph_box.rect(); - const signal = self.ui.signalFromBox(graph_box); + const signal = self.ui.signal(graph_box); var axis = UI.Axis.X; var zooming: bool = false; var start_sample: ?f64 = null; var stop_sample: ?f64 = null; + var controls = &self.graph_controls; + if (signal.hot) { if (signal.shift_modifier) { axis = UI.Axis.Y; @@ -532,11 +472,12 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { axis = UI.Axis.X; } - if (self.graph_start_sample) |graph_start_sample| { + if (controls.graph_start_sample) |graph_start_sample| { axis = graph_start_sample.axis; zooming = true; } + // TODO: Don't use relative mouse movement, after a lock of sliding the point where you grabbed by drifts var mouse_sample: f64 = undefined; if (axis == .X) { const mouse_sample_index = channel_rect_opts.mapSampleXToIndex(0, graph_rect.width, signal.relative_mouse.x); @@ -549,13 +490,13 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { start_sample = mouse_sample; if (signal.flags.contains(.right_pressed)) { - self.graph_start_sample = .{ + controls.graph_start_sample = .{ .value = mouse_sample, .axis = axis }; } - if (self.graph_start_sample) |graph_start_sample| { + if (controls.graph_start_sample) |graph_start_sample| { start_sample = graph_start_sample.value; stop_sample = mouse_sample; zooming = true; @@ -570,7 +511,7 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { } if (signal.flags.contains(.right_released)) { - self.graph_start_sample = null; + controls.graph_start_sample = null; if (start_sample != null and stop_sample != null) { const lower_sample: f64 = @min(start_sample.?, stop_sample.?); @@ -599,14 +540,15 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { if (start_sample != null and stop_sample != null) { - const fill = self.ui.newBox(UI.Key.initNil()); - fill.background = srcery.green.alpha(0.5); + const fill = ui.createBox(.{ + .background = srcery.green.alpha(0.5), + }); if (axis == .X) { const start_x = channel_rect_opts.mapSampleIndexToX(graph_rect.x, graph_rect.width, start_sample.?); const stop_x = channel_rect_opts.mapSampleIndexToX(graph_rect.x, graph_rect.width, stop_sample.?); - fill.setFixedRect(.{ + fill.setFloatRect(.{ .x = @floatCast(@min(start_x, stop_x)), .y = graph_rect.y, .width = @floatCast(@abs(start_x - stop_x)), @@ -616,7 +558,7 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { const start_y = channel_rect_opts.mapSampleValueToY(graph_rect.y, graph_rect.height, start_sample.?); const stop_y = channel_rect_opts.mapSampleValueToY(graph_rect.y, graph_rect.height, stop_sample.?); - fill.setFixedRect(.{ + fill.setFloatRect(.{ .x = graph_rect.x, .y = @floatCast(@min(start_y, stop_y)), .width = graph_rect.width, @@ -626,13 +568,14 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { } if (start_sample) |sample| { - const marker = self.ui.newBox(UI.Key.initNil()); - marker.background = srcery.green; + const marker = ui.createBox(.{ + .background = srcery.green, + }); if (axis == .X) { const value = samples[@intFromFloat(sample)]; - marker.setFmtText(.text, "{d:0.2} | {d:0.6}", .{sample, value}); - marker.setFixedRect(UI.Rect{ + marker.setFmtText("{d:0.2} | {d:0.6}", .{sample, value}); + marker.setFloatRect(UI.Rect{ .x = @floatCast(channel_rect_opts.mapSampleIndexToX(graph_rect.x, graph_rect.width, sample)), .y = graph_rect.y, .width = 1, @@ -640,8 +583,8 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { }); } else if (axis == .Y) { - marker.setFmtText(.text, "{d:0.2}", .{sample}); - marker.setFixedRect(UI.Rect{ + marker.setFmtText("{d:0.2}", .{sample}); + marker.setFloatRect(UI.Rect{ .x = graph_rect.x, .y = @floatCast(channel_rect_opts.mapSampleValueToY(graph_rect.y, graph_rect.height, sample)), .width = graph_rect.width, @@ -651,19 +594,20 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { } if (stop_sample) |sample| { - const marker = self.ui.newBox(UI.Key.initNil()); - marker.background = srcery.green; + const marker = ui.createBox(.{ + .background = srcery.green, + }); - marker.setFmtText(.text, "{d:0.2}", .{sample}); + marker.setFmtText("{d:0.2}", .{sample}); if (axis == .X) { - marker.setFixedRect(.{ + marker.setFloatRect(.{ .x = @floatCast(channel_rect_opts.mapSampleIndexToX(graph_rect.x, graph_rect.width, sample)), .y = graph_rect.y, .width = 1, .height = graph_rect.height }); } else if (axis == .Y) { - marker.setFixedRect(.{ + marker.setFloatRect(.{ .x = graph_rect.x, .y = @floatCast(channel_rect_opts.mapSampleValueToY(graph_rect.y, graph_rect.height, sample)), .width = graph_rect.width, @@ -706,150 +650,85 @@ fn showChannelViewGraph(self: *App, channel_view: *ChannelView) !void { if (channel_view.view_cache.texture) |texture| { graph_box.texture = texture.texture; } - } fn showChannelView(self: *App, channel_view: *ChannelView) !void { - const source = self.getChannelSource(channel_view) orelse return; + const zone2 = P.begin(@src(), "showChannelView"); + defer zone2.end(); - var channel_rect_opts: *Graph.ViewOptions = &channel_view.view_rect; + // const source = self.getChannelSource(channel_view) orelse return; + var ui = &self.ui; - const channel_box = self.ui.newBoxFromPtr(channel_view); - channel_box.background = rl.Color.blue; - channel_box.layout_axis = .Y; - channel_box.size.x = UI.Size.percent(1, 0); - channel_box.size.y = UI.Size.pixels(channel_view.height, 1); - self.ui.pushParent(channel_box); - defer self.ui.popParent(); + const channel_rect_opts: *Graph.ViewOptions = &channel_view.view_rect; + + const channel_view_box = ui.createBox(.{ + .key = UI.Key.initPtr(channel_view), + .layout_direction = .top_to_bottom, + .size_x = .{ .fixed = .{ .parent_percent = 1 } }, + .size_y = .{ .fixed = .{ .pixels = channel_view.height } } + }); + channel_view_box.beginChildren(); + defer channel_view_box.endChildren(); + + const ruler_size = UI.Sizing.initFixed(.{ .pixels = 32 }); + + var y_markers: *UI.Box = undefined; + var x_markers: *UI.Box = undefined; { - const tools_box = self.ui.newBoxFromString("Graph tools"); - tools_box.background = rl.Color.gray; - tools_box.layout_axis = .X; - tools_box.size.x = UI.Size.percent(1, 0); - tools_box.size.y = UI.Size.pixels(32, 1); - self.ui.pushParent(tools_box); - defer self.ui.popParent(); + const container = ui.createBox(.{ + .layout_direction = .left_to_right, + .size_x = .{ .fixed = .{ .parent_percent = 1 } }, + .size_y = UI.Sizing.initGrowFull(), + }); + container.beginChildren(); + defer container.endChildren(); - { - const reset_view_button = self.ui.button(.text, "Reset view"); - reset_view_button.size.y = UI.Size.percent(1, 0); - - if (self.ui.signalFromBox(reset_view_button).clicked()) { - channel_rect_opts.from = channel_view.default_from; - channel_rect_opts.to = channel_view.default_to; - channel_rect_opts.min_value = channel_view.default_min_value; - channel_rect_opts.max_value = channel_view.default_max_value; - } - } - - if (source == .device) { - const device_channel = source.device; - - if (self.ni_daq) |*ni_daq| { - const record_button = self.ui.button(.text, "Record"); - record_button.size.y = UI.Size.percent(1, 0); - - if (device_channel.active_task != null) { - record_button.setText(.text, "Stop"); - } - - const signal = self.ui.signalFromBox(record_button); - if (signal.clicked()) { - if (device_channel.active_task) |task| { - try task.stop(); - device_channel.active_task = null; - } else { - const channel_name = device_channel.name.buffer[0..device_channel.name.len :0]; - device_channel.active_task = try self.task_pool.launchAIVoltageChannel( - ni_daq, - &device_channel.mutex, - &device_channel.samples, - .{ - .continous = .{ .sample_rate = device_channel.max_sample_rate } - }, - .{ - .min_value = channel_view.default_min_value, - .max_value = channel_view.default_max_value, - .units = device_channel.units, - .channel = channel_name - } - ); - - channel_view.follow = true; - } - } - } - - { - const follow_button = self.ui.button(.text, "Follow"); - follow_button.size.y = UI.Size.percent(1, 0); - if (channel_view.follow) { - follow_button.setText(.text, "Unfollow"); - } - - const signal = self.ui.signalFromBox(follow_button); - if (signal.clicked()) { - channel_view.follow = !channel_view.follow; - } - - } - } - } - - // const channel_box = self.ui.newBox(UI.Key.initNil()); - // channel_box.layout_axis = .Y; - // channel_box.size.x = UI.Size.percent(1, 0); - // channel_box.size.y = UI.Size.childrenSum(1); - // self.ui.pushParent(channel_box); - // defer self.ui.popParent(); - - var y_axis_markers: *UI.Box = undefined; - var x_axis_markers: *UI.Box = undefined; - - { - const y_axis_container = self.ui.newBox(UI.Key.initNil()); - y_axis_container.layout_axis = .X; - y_axis_container.size.x = UI.Size.percent(1, 0); - y_axis_container.size.y = UI.Size.percent(1, 0); - self.ui.pushParent(y_axis_container); - defer self.ui.popParent(); - - y_axis_markers = self.ui.newBoxFromString("Y axis markers"); - y_axis_markers.background = rl.Color.blue; - y_axis_markers.size.x = UI.Size.pixels(64, 1); - y_axis_markers.size.y = UI.Size.percent(1, 0); + y_markers = ui.createBox(.{ + .key = ui.keyFromString("Y markers"), + .size_x = ruler_size, + .size_y = .{ .fixed = .{ .parent_percent = 1 } }, + .background = srcery.hard_black, + .flags = &.{ .clickable }, + .hot_cursor = .mouse_cursor_pointing_hand + }); try self.showChannelViewGraph(channel_view); } - { - const horizontal_container = self.ui.newBox(UI.Key.initNil()); - horizontal_container.layout_axis = .X; - horizontal_container.size.x = UI.Size.childrenSum(0); - horizontal_container.size.y = UI.Size.childrenSum(1); - self.ui.pushParent(horizontal_container); - defer self.ui.popParent(); + const container = ui.createBox(.{ + .layout_direction = .left_to_right, + .size_x = .{ .fixed = .{ .parent_percent = 1 } }, + .size_y = .fit_children, + }); + container.beginChildren(); + defer container.endChildren(); - const fullscreen_button = self.ui.newBoxFromString("Fullscreen"); - fullscreen_button.background = rl.Color.red; - fullscreen_button.size.x = UI.Size.pixels(y_axis_markers.computedRect().width, 1); - fullscreen_button.size.y = UI.Size.pixels(32, 1); + _ = ui.createBox(.{ + .size_y = ruler_size, + .size_x = ruler_size, + .background = srcery.hard_black + }); - x_axis_markers = self.ui.newBoxFromString("X axis markers"); - x_axis_markers.background = rl.Color.pink; - x_axis_markers.size.x = UI.Size.percent(1, 0); - x_axis_markers.size.y = UI.Size.pixels(32, 1); - self.ui.pushParent(x_axis_markers); - defer self.ui.popParent(); + x_markers = ui.createBox(.{ + .key = ui.keyFromString("X markers"), + .size_y = ruler_size, + .size_x = UI.Sizing.initShrinkFull(), + .background = srcery.hard_black, + .flags = &.{ .clickable }, + .hot_cursor = .mouse_cursor_pointing_hand + }); } { - self.ui.pushParent(y_axis_markers); - defer self.ui.popParent(); + const zone = P.begin(@src(), "Y markers"); + defer zone.end(); - const y_axis_rect = y_axis_markers.computedRect(); + y_markers.beginChildren(); + defer y_markers.endChildren(); + + const y_axis_rect = y_markers.rect(); const min_gap_between_markers = 8; @@ -860,9 +739,10 @@ fn showChannelView(self: *App, channel_view: *ChannelView) !void { var marker = utils.roundNearestUp(f64, @max(channel_rect_opts.min_value, channel_view.default_min_value), axis_marker_size); while (marker < @min(channel_rect_opts.max_value, channel_view.default_max_value)) : (marker += axis_marker_size) { - const marker_box = self.ui.newBox(UI.Key.initNil()); - marker_box.background = rl.Color.yellow; - marker_box.setFixedRect(.{ + const marker_box = ui.createBox(.{ + .background = rl.Color.yellow, + }); + marker_box.setFloatRect(.{ .width = y_axis_rect.width/5, .height = 1, .x = y_axis_rect.x + y_axis_rect.width/5*4, @@ -873,39 +753,26 @@ fn showChannelView(self: *App, channel_view: *ChannelView) !void { marker )) }); - - const label_box = self.ui.newBox(UI.Key.initNil()); - label_box.setFmtText(.text, "{d:.03}", .{marker}); - label_box.size.x = UI.Size.text(0, 1); - label_box.size.y = UI.Size.text(0, 1); - label_box.flags.insert(.text_left_align); - label_box.setFixedRect(.{ - .width = y_axis_rect.width, - .height = 1, - .x = y_axis_rect.x, - .y = @floatCast(remap( - f64, - channel_rect_opts.max_value, channel_rect_opts.min_value, - y_axis_rect.y, y_axis_rect.y + y_axis_rect.height, - marker - )) - }); } } { - self.ui.pushParent(x_axis_markers); - defer self.ui.popParent(); + const zone = P.begin(@src(), "X markers"); + defer zone.end(); - const y_axis_rect = x_axis_markers.computedRect(); + x_markers.beginChildren(); + defer x_markers.endChildren(); + + const y_axis_rect = x_markers.rect(); const axis_marker_size = 100000; var marker = utils.roundNearestUp(f64, @max(channel_rect_opts.from, channel_view.default_from), axis_marker_size); while (marker < @min(channel_rect_opts.to, channel_view.default_to)) : (marker += axis_marker_size) { - const marker_box = self.ui.newBox(UI.Key.initNil()); - marker_box.background = rl.Color.yellow; - marker_box.setFixedRect(.{ + const marker_box = ui.createBox(.{ + .background = srcery.yellow + }); + marker_box.setFloatRect(.{ .width = 1, .height = y_axis_rect.height/2, .x = @floatCast(remap( @@ -920,697 +787,153 @@ fn showChannelView(self: *App, channel_view: *ChannelView) !void { } } -fn showChannelsWindow(self: *App) !void { - if (rl.isKeyPressed(rl.KeyboardKey.key_escape)) { - self.should_close = true; - } +pub fn showWindowChannels(self: *App) !void { + const zone = P.begin(@src(), "showWindowChannels"); + defer zone.end(); - const scroll_area = self.ui.pushScrollbar(self.ui.newKeyFromString("Channels")); - defer self.ui.popScrollbar(); - scroll_area.layout_axis = .Y; - scroll_area.layout_gap = 16; - - for (self.channel_views.slice()) |*channel_view| { - try self.showChannelView(channel_view); - } + var ui = &self.ui; + const root = ui.parentBox().?; + root.layout_direction = .top_to_bottom; { - const prompt_box = self.ui.newBoxFromString("Add prompt"); - prompt_box.size.x = UI.Size.percent(1, 0); - prompt_box.size.y = UI.Size.pixels(200, 1); - self.ui.pushParent(prompt_box); - defer self.ui.popParent(); - - const center_box = self.ui.pushCenterBox(); - defer self.ui.popCenterBox(); - center_box.layout_axis = .X; - center_box.layout_gap = 32; - - const from_file_button = self.ui.button(.text, "Add from file"); - from_file_button.borders.all(.{ .size = 2, .color = srcery.green }); - if (self.ui.signalFromBox(from_file_button).clicked()) { - std.debug.print("{}\n", .{std.fs.max_path_bytes}); - if (Platform.openFilePicker(self.allocator)) |filename| { - defer self.allocator.free(filename); - - // TODO: Handle error - self.appendChannelFromFile(filename) catch @panic("Failed to append channel from file"); - } else |err| { - // TODO: Show error message to user; - log.err("Failed to pick file: {}", .{ err }); - } - } - - const from_device_button = self.ui.button(.text, "Add from device"); - from_device_button.borders.all(.{ .size = 2, .color = srcery.green }); - if (self.ui.signalFromBox(from_device_button).clicked()) { - self.shown_window = .add_from_device; - } - } -} - -fn showChannelInfoPanel(self: *App, hot_channel: ?[:0]const u8) !void { - const ni_daq = &(self.ni_daq orelse return); - - var device_buff: NIDaq.BoundedDeviceName = .{}; - var hot_device: ?[:0]const u8 = null; - if (hot_channel) |channel| { - if (NIDaq.getDeviceNameFromChannel(channel)) |device| { - device_buff.appendSliceAssumeCapacity(device); - device_buff.buffer[device_buff.len] = 0; - hot_device = device_buff.buffer[0..device_buff.len :0]; - } - } - - const info_box = self.ui.newBoxFromString("Info box"); - info_box.layout_axis = .Y; - info_box.size.y = UI.Size.percent(1, 0); - info_box.size.x = UI.Size.percent(1, 0); - self.ui.pushParent(info_box); - defer self.ui.popParent(); - - if (hot_channel) |channel| { - _ = self.ui.label(.text, "Channel properties"); - - const channel_info = self.ui.newBoxFromString("Channel info"); - channel_info.layout_axis = .X; - channel_info.size.y = UI.Size.childrenSum(1); - channel_info.size.x = UI.Size.percent(1, 0); - self.ui.pushParent(channel_info); - defer self.ui.popParent(); - - var rows: std.BoundedArray(Row, 16) = .{}; - - rows.appendAssumeCapacity(Row{ - .name = "Name", - .value = channel + const toolbar = ui.createBox(.{ + .background = srcery.black, + .layout_direction = .left_to_right, + .size_x = .{ .fixed = .{ .parent_percent = 1 } }, + .size_y = .{ .fixed = .{ .font_size = 2 } } }); + toolbar.beginChildren(); + defer toolbar.endChildren(); - var channel_type_name: []const u8 = "unknown"; - if (NIDaq.getChannelType(channel)) |channel_type| { - channel_type_name = channel_type.name(); - // rows.appendAssumeCapacity(Row{ - // .name = "Type", - // .value = channel_type_name - // }); - } + var start_all = self.button("Start/Stop button"); + start_all.borders = UI.Borders.all(.{ .size = 4, .color = srcery.red }); + start_all.background = srcery.black; + start_all.size.y = UI.Sizing.initFixed(.{ .parent_percent = 1 }); + start_all.padding.top = 0; + start_all.padding.bottom = 0; + if (ui.signal(start_all).clicked()) { + self.started_collecting = !self.started_collecting; - rows.appendAssumeCapacity(Row{ - .name = "Type", - .value = channel_type_name - }); - self.showLabelRows(rows.constSlice()); - } + if (self.ni_daq) |*ni_daq| { + for (self.channel_views.slice()) |*channel_view| { + const source = self.getChannelSource(channel_view) orelse continue; - self.ui.spacer(.{ .y = UI.Size.pixels(16, 0) }); - - if (hot_device) |device| { - _ = self.ui.label(.text, "Device properties"); - - const device_info = self.ui.newBoxFromString("Device info"); - device_info.layout_axis = .X; - device_info.size.y = UI.Size.childrenSum(1); - device_info.size.x = UI.Size.percent(1, 0); - self.ui.pushParent(device_info); - defer self.ui.popParent(); - - var rows: std.BoundedArray(Row, 16) = .{}; - - if (ni_daq.listDeviceAIMeasurementTypes(device)) |measurement_types| { - rows.appendAssumeCapacity(Row{ - .name = "Measurement types", - .value = try std.fmt.allocPrint(device_info.allocator, "{} types", .{measurement_types.len}) - }); - } else |e| { - log.err("ni_daq.listDeviceAIMeasurementTypes(): {}", .{ e }); - } - - self.showLabelRows(rows.constSlice()); - } -} - -fn showAddFromDeviceWindow(self: *App) !void { - if (rl.isKeyPressed(rl.KeyboardKey.key_escape)) { - self.shown_window = .channels; - return; - } - - const ni_daq = &(self.ni_daq orelse return); - - const device_names = try ni_daq.listDeviceNames(); - - const window = self.ui.newBoxFromString("Device window"); - window.size.x = UI.Size.percent(1, 0); - window.size.y = UI.Size.percent(1, 0); - window.layout_axis = .X; - self.ui.pushParent(window); - defer self.ui.popParent(); - - { - const filters_box = self.ui.newBoxFromString("Filters box"); - filters_box.size.x = UI.Size.percent(0.5, 0); - filters_box.size.y = UI.Size.percent(1, 0); - filters_box.layout_axis = .Y; - self.ui.pushParent(filters_box); - defer self.ui.popParent(); - - const device_name_filter = self.ui.clickableBox("Device name filter"); - const channel_type_filter = self.ui.clickableBox("Channel type filter"); - - if (self.show_device_filter_dropdown) { - const dropdown = self.ui.clickableBox("Device name dropdown"); - dropdown.size.x = UI.Size.percent(1, 1); - dropdown.size.y = UI.Size.childrenSum(1); - dropdown.layout_axis = .Y; - dropdown.background = srcery.xgray2; - self.ui.pushParent(dropdown); - defer self.ui.popParent(); - - dropdown.setFixedPosition( - device_name_filter.persistent.position.add(.{ .x = 0, .y = device_name_filter.persistent.size.y }) - ); - - { - const device_box = self.ui.button(.text, "All"); - device_box.size.x = UI.Size.percent(1, 1); - device_box.size.y = UI.Size.text(0.5, 1); - device_box.flags.insert(.text_left_align); - - if (self.ui.signalFromBox(device_box).clicked()) { - self.device_filter.len = 0; - self.show_device_filter_dropdown = false; - } - } - - for (device_names) |device_name| { - const device_box = self.ui.button(.text, device_name); - device_box.size.x = UI.Size.percent(1, 1); - device_box.size.y = UI.Size.text(0.5, 1); - device_box.flags.insert(.text_left_align); - - const signal = self.ui.signalFromBox(device_box); - if (signal.clicked()) { - self.device_filter = try NIDaq.BoundedDeviceName.fromSlice(device_name); - self.show_device_filter_dropdown = false; - } - } - } - - if (self.show_channel_type_filter_dropdown) { - const dropdown = self.ui.clickableBox("Channel type dropdown"); - dropdown.size.x = UI.Size.percent(1, 1); - dropdown.size.y = UI.Size.childrenSum(1); - dropdown.layout_axis = .Y; - dropdown.background = srcery.xgray2; - self.ui.pushParent(dropdown); - defer self.ui.popParent(); - - dropdown.setFixedPosition( - channel_type_filter.persistent.position.add(.{ .x = 0, .y = channel_type_filter.persistent.size.y }) - ); - - { - const device_box = self.ui.button(.text, "All"); - device_box.size.x = UI.Size.percent(1, 1); - device_box.size.y = UI.Size.text(0.5, 1); - device_box.flags.insert(.text_left_align); - - if (self.ui.signalFromBox(device_box).clicked()) { - self.channel_type_filter = null; - self.show_channel_type_filter_dropdown = false; - } - } - - for (&[_]NIDaq.ChannelType{ NIDaq.ChannelType.analog_input, NIDaq.ChannelType.analog_output }) |channel_type| { - const device_box = self.ui.button(.text, channel_type.name()); - device_box.size.x = UI.Size.percent(1, 1); - device_box.size.y = UI.Size.text(0.5, 1); - device_box.flags.insert(.text_left_align); - - if (self.ui.signalFromBox(device_box).clicked()) { - self.channel_type_filter = channel_type; - self.show_channel_type_filter_dropdown = false; - } - } - } - - { - device_name_filter.size.x = UI.Size.percent(1, 1); - device_name_filter.size.y = UI.Size.pixels(24, 1); - device_name_filter.layout_axis = .X; - self.ui.pushParent(device_name_filter); - defer self.ui.popParent(); - - { - self.ui.pushVerticalAlign(); - defer self.ui.popVerticalAlign(); - _ = self.ui.textureBox(Assets.dropdown_arrow, 1); - } - - if (self.device_filter.len > 0) { - _ = self.ui.label(.text, self.device_filter.constSlice()); - } else { - _ = self.ui.label(.text, "All"); - } - - if (self.ui.signalFromBox(device_name_filter).clicked()) { - self.show_device_filter_dropdown = !self.show_device_filter_dropdown; - } - - self.ui.spacer(.{ .x = UI.Size.percent(1, 0) }); - } - - { - channel_type_filter.size.x = UI.Size.percent(1, 1); - channel_type_filter.size.y = UI.Size.pixels(24, 1); - channel_type_filter.layout_axis = .X; - self.ui.pushParent(channel_type_filter); - defer self.ui.popParent(); - - { - self.ui.pushVerticalAlign(); - defer self.ui.popVerticalAlign(); - _ = self.ui.textureBox(Assets.dropdown_arrow, 1); - } - - if (self.channel_type_filter) |channeL_type| { - _ = self.ui.label(.text, channeL_type.name()); - } else { - _ = self.ui.label(.text, "All"); - } - - if (self.ui.signalFromBox(channel_type_filter).clicked()) { - self.show_channel_type_filter_dropdown = !self.show_channel_type_filter_dropdown; - } - } - } - - var hot_channel: ?[:0]const u8 = self.last_hot_channel; - { - const channels_box = self.ui.pushScrollbar(self.ui.newKeyFromString("Channels list")); - defer self.ui.popScrollbar(); - const channels_box_container = self.ui.getParentOf(channels_box).?; - channels_box.layout_axis = .Y; - //channels_box.size.x = UI.Size.childrenSum(1); - channels_box_container.size.x = UI.Size.percent(1, 0); - - var devices: []const [:0]const u8 = &.{}; - if (self.device_filter.len > 0) { - devices = &.{ - self.device_filter.buffer[0..self.device_filter.len :0] - }; - } else { - devices = try ni_daq.listDeviceNames(); - } - - for (devices) |device| { - var ai_voltage_physical_channels: []const [:0]const u8 = &.{}; - if (try ni_daq.checkDeviceAIMeasurementType(device, .Voltage)) { - ai_voltage_physical_channels = try ni_daq.listDeviceAIPhysicalChannels(device); - } - - var ao_physical_channels: []const [:0]const u8 = &.{}; - if (try ni_daq.checkDeviceAOOutputType(device, .Voltage)) { - ao_physical_channels = try ni_daq.listDeviceAOPhysicalChannels(device); - } - - inline for (.{ ai_voltage_physical_channels, ao_physical_channels }) |channels| { - for (channels) |channel| { - const selected_channels_slice = self.selected_channels.constSlice(); - - if (self.channel_type_filter) |channel_type_filter| { - if (NIDaq.getChannelType(channel) != channel_type_filter) { - continue; - } - } - - const channel_box = self.ui.button(.text, channel); - - if (findChannelIndexByName(selected_channels_slice, channel) != null) { - channel_box.background = srcery.xgray3; - } - - const signal = self.ui.signalFromBox(channel_box); - if (signal.clicked()) { - if (findChannelIndexByName(selected_channels_slice, channel)) |index| { - self.allocator.free(self.selected_channels.swapRemove(index)); + if (source == .device) { + const device_channel = source.device; + if (device_channel.active_task) |task| { + try task.stop(); + device_channel.active_task = null; } else { - self.selected_channels.appendAssumeCapacity(try self.allocator.dupeZ(u8, channel)); - } - } + const channel_name = device_channel.name.buffer[0..device_channel.name.len :0]; + device_channel.active_task = try self.task_pool.launchAIVoltageChannel( + ni_daq, + &device_channel.mutex, + &device_channel.samples, + .{ + .continous = .{ .sample_rate = device_channel.max_sample_rate } + }, + .{ + .min_value = channel_view.default_min_value, + .max_value = channel_view.default_max_value, + .units = device_channel.units, + .channel = channel_name + } + ); - if (signal.hot) { - hot_channel = channel; + channel_view.follow = true; + } } } } } + if (self.started_collecting) { + start_all.setText("Stop"); + } else { + start_all.setText("Start"); + } + } + + if (self.started_collecting) { + for (self.channel_views.slice()) |*_channel_view| { + const channel_view: *ChannelView = _channel_view; + const source = self.getChannelSource(channel_view) orelse continue; + + if (source == .device) { + source.lockSamples(); + defer source.unlockSamples(); + + const sample_rate = source.device.active_task.?.sampling.continous.sample_rate; + const sample_count: f32 = @floatFromInt(source.samples().len); + + channel_view.view_rect.from = 0; + if (sample_count > channel_view.view_rect.to) { + channel_view.view_rect.to = sample_count + @as(f32, @floatCast(sample_rate)) * 10; + } + channel_view.view_cache.invalidate(); + } + } } { - const left_panel = self.ui.newBox(UI.Key.initNil()); - left_panel.layout_axis = .Y; - left_panel.size.y = UI.Size.percent(1, 0); - left_panel.size.x = UI.Size.percent(1, 0); - self.ui.pushParent(left_panel); - defer self.ui.popParent(); + // TODO: + // const scroll_area = self.beginScrollbar(ui.keyFromString("Channels")); + // defer self.endScrollbar(); + // scroll_area.layout_direction = .top_to_bottom; - try self.showChannelInfoPanel(hot_channel); + for (self.channel_views.slice()) |*channel_view| { + try self.showChannelView(channel_view); + } - const add_button = self.ui.button(.text, "Add"); - if (self.ui.signalFromBox(add_button).clicked()) { - for (self.selected_channels.constSlice()) |channel_name| { - try self.appendChannelFromDevice(channel_name); + // TODO: + if (false) { + const add_channel_view = ui.createBox(.{ + .size_x = UI.Sizing.initFixed(.{ .parent_percent = 1 }), + .size_y = UI.Sizing.initFixed(.{ .pixels = 200 }), + .align_x = .center, + .align_y = .center, + .layout_gap = 32 + }); + add_channel_view.beginChildren(); + defer add_channel_view.endChildren(); + + const add_from_file = self.button("Add from file"); + add_from_file.borders = UI.Borders.all(.{ .size = 2, .color = srcery.green }); + if (ui.signal(add_from_file).clicked()) { + if (Platform.openFilePicker(self.allocator)) |filename| { + defer self.allocator.free(filename); + + // TODO: Handle error + self.appendChannelFromFile(filename) catch @panic("Failed to append channel from file"); + } else |err| { + // TODO: Show error message to user; + log.err("Failed to pick file: {}", .{ err }); + } } - self.shown_window = .channels; - for (self.selected_channels.constSlice()) |channel| { - self.allocator.free(channel); + const add_from_device = self.button("Add from device"); + add_from_device.borders = UI.Borders.all(.{ .size = 2, .color = srcery.green }); + if (ui.signal(add_from_device).clicked()) { + } - self.selected_channels.len = 0; - } } - - if (hot_channel != null) { - self.last_hot_channel = hot_channel; - } -} - -fn showToolbar(self: *App) void { - const toolbar = self.ui.newBoxFromString("Toolbar"); - toolbar.background = srcery.black; - toolbar.layout_axis = .X; - toolbar.size = .{ - .x = UI.Size.percent(1, 0), - .y = UI.Size.pixels(32, 1), - }; - toolbar.borders.bottom = .{ - .size = 4, - .color = srcery.hard_black - }; - self.ui.pushParent(toolbar); - defer self.ui.popParent(); - - self.ui.pushStyle(); - defer self.ui.popStyle(); - - self.ui.style.borders.all(.{ - .size = 4, - .color = srcery.hard_black - }); - self.ui.style.background = srcery.xgray2; - - { - const box = self.ui.button(.text, "Start all"); - box.size.y = UI.Size.percent(1, 1); - - const signal = self.ui.signalFromBox(box); - if (signal.clicked()) { - - } - } - - self.ui.spacer(.{ .x = UI.Size.percent(1, 0) }); - - { - const box = self.ui.button(.text, "Help"); - box.size.y = UI.Size.percent(1, 1); - - const signal = self.ui.signalFromBox(box); - if (signal.clicked()) { - - } - } -} - -fn showModalNoLibraryError(self: *App) void { - const modal = self.ui.getParent().?; - - modal.layout_axis = .Y; - modal.size = .{ - .x = UI.Size.pixels(400, 1), - .y = UI.Size.pixels(320, 1), - }; - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); - - const text = self.ui.newBoxFromString("Text"); - text.flags.insert(.text_wrapping); - text.size.x = UI.Size.text(2, 0); - text.size.y = UI.Size.text(1, 1); - text.appendText("PALA, PALA! Aš neradau būtinos bibliotekos ant kompiuterio. Programa vis dar veiks, bet "); - text.appendText("dauguma funkcijų bus paslėptos. Susirask iternete \"NI MAX\" ir instaliuok. Štai nuorada "); - text.appendText("į gidą."); - - { - self.ui.pushHorizontalAlign(); - defer self.ui.popHorizontalAlign(); - - const link = self.ui.newBoxFromString("Link"); - link.flags.insert(.clickable); - link.hot_cursor = .mouse_cursor_pointing_hand; - link.flags.insert(.text_underline); - link.size.x = UI.Size.text(1, 1); - link.size.y = UI.Size.text(1, 1); - link.setText( - .text, - "Nuorada į gidą" - ); - link.text.?.color = srcery.blue; - - const signal = self.ui.signalFromBox(link); - if (signal.clicked()) { - rl.openURL("https://knowledge.ni.com/KnowledgeArticleDetails?id=kA03q000000YGQwCAO&l=en-LT"); - } - if (self.ui.isBoxHot(link)) { - link.text.?.color = srcery.bright_blue; - } - } - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); - - { - self.ui.pushHorizontalAlign(); - defer self.ui.popHorizontalAlign(); - - const btn = self.ui.button(.text, "Supratau"); - btn.background = srcery.green; - if (self.ui.signalFromBox(btn).clicked()) { - self.shown_modal = null; - } - } - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); -} - -fn showModalLibraryVersionError(self: *App) void { - assert(self.shown_modal.? == .library_version_error); - - const installed_version = self.shown_modal.?.library_version_error; - const modal = self.ui.getParent().?; - - modal.layout_axis = .Y; - modal.size = .{ - .x = UI.Size.pixels(400, 1), - .y = UI.Size.pixels(320, 1), - }; - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); - - { - const text = self.ui.newBox(UI.Key.initNil()); - text.flags.insert(.text_wrapping); - text.flags.insert(.text_left_align); - text.size.x = UI.Size.text(2, 0); - text.size.y = UI.Size.text(1, 1); - text.appendText("Ooo ne! Reikalinga biblioteka surasta, bet nesurastos reikalingos funkcijos. "); - text.appendText("Susitikrink, kad turi pakankamai naują versiją NI MAX instaliuota."); - } - - { - const text = self.ui.newBox(UI.Key.initNil()); - text.size.x = UI.Size.text(2, 0); - text.size.y = UI.Size.text(1, 1); - text.setFmtText(.text, "Instaliuota versija: {}", .{installed_version}); - } - - { - const text = self.ui.newBox(UI.Key.initNil()); - text.size.x = UI.Size.text(2, 0); - text.size.y = UI.Size.text(1, 1); - text.setFmtText(.text, "Rekomenduotina versija: {}", .{NIDaq.Api.min_version}); - } - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); - - { - self.ui.pushHorizontalAlign(); - defer self.ui.popHorizontalAlign(); - - const btn = self.ui.button(.text, "Supratau"); - btn.background = srcery.green; - if (self.ui.signalFromBox(btn).clicked()) { - self.shown_modal = null; - } - } - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); -} - -fn showModalLibraryVersionWarning(self: *App) void { - assert(self.shown_modal.? == .library_version_warning); - - const installed_version = self.shown_modal.?.library_version_warning; - const modal = self.ui.getParent().?; - - modal.layout_axis = .Y; - modal.size = .{ - .x = UI.Size.pixels(400, 1), - .y = UI.Size.pixels(320, 1), - }; - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); - - { - const text = self.ui.newBox(UI.Key.initNil()); - text.flags.insert(.text_wrapping); - text.flags.insert(.text_left_align); - text.size.x = UI.Size.text(2, 0); - text.size.y = UI.Size.text(1, 1); - text.appendText("Instaliuota NI MAX versija žemesnė negu rekomenduotina versija. "); - text.appendText("Daug kas turėtų veikti, bet negaliu garantuoti kad viskas veiks. "); - text.appendText("Jeigu susidursi su problemomis kur programa sustoja veikti pabandyk atsinaujinti "); - text.appendText("NI MAX."); - } - - { - const text = self.ui.newBox(UI.Key.initNil()); - text.size.x = UI.Size.text(2, 0); - text.size.y = UI.Size.text(1, 1); - text.setFmtText(.text, "Instaliuota versija: {}", .{installed_version}); - } - - { - const text = self.ui.newBox(UI.Key.initNil()); - text.size.x = UI.Size.text(2, 0); - text.size.y = UI.Size.text(1, 1); - text.setFmtText(.text, "Rekomenduotina versija: {}", .{NIDaq.Api.min_version}); - } - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); - - { - self.ui.pushHorizontalAlign(); - defer self.ui.popHorizontalAlign(); - - const btn = self.ui.button(.text, "Supratau"); - btn.background = srcery.green; - if (self.ui.signalFromBox(btn).clicked()) { - self.shown_modal = null; - } - } - - self.ui.spacer(.{ .y = UI.Size.percent(1, 0) }); -} - -fn showModal(self: *App) void { - assert(self.shown_modal != null); - - switch (self.shown_modal.?) { - .no_library_error => self.showModalNoLibraryError(), - .library_version_error => self.showModalLibraryVersionError(), - .library_version_warning => self.showModalLibraryVersionWarning() - } -} - -fn updateUI(self: *App) !void { - self.ui.begin(); - defer self.ui.end(); - - const root_box = self.ui.getParent().?; - root_box.layout_axis = .Y; - - var maybe_modal_overlay: ?*UI.Box = null; - - if (self.shown_modal != null) { - const modal_overlay = self.ui.newBoxNoAppend(self.ui.newKeyFromString("Modal overlay")); - maybe_modal_overlay = modal_overlay; - modal_overlay.flags.insert(.clickable); - modal_overlay.flags.insert(.scrollable); - modal_overlay.background = rl.Color.black.alpha(0.5); - modal_overlay.setFixedPosition(.{ .x = 0, .y = 0 }); - modal_overlay.size = .{ - .x = UI.Size.percent(1, 0), - .y = UI.Size.percent(1, 0), - }; - - self.ui.pushParent(modal_overlay); - defer self.ui.popParent(); - - const modal = self.ui.pushCenterBox(); - defer self.ui.popCenterBox(); - modal.background = srcery.hard_black; - - self.showModal(); - - _ = self.ui.signalFromBox(modal_overlay); - } - - self.showToolbar(); - - if (self.shown_window == .channels) { - try self.showChannelsWindow(); - } else if (self.shown_window == .add_from_device) { - try self.showAddFromDeviceWindow(); - } - - if (maybe_modal_overlay) |box| { - self.ui.appendBox(box); - } } pub fn tick(self: *App) !void { - for (self.channel_views.slice()) |*_view| { - const view: *ChannelView = _view; - const source = self.getChannelSource(view) orelse continue; - if (source == .device) { - if (view.follow) { - source.lockSamples(); - defer source.unlockSamples(); - - const sample_count: f32 = @floatFromInt(source.samples().len); - const view_size = view.view_rect.to - view.view_rect.from; - view.view_rect.from = sample_count - view_size; - view.view_rect.to = sample_count; - } - - } + if (rl.isKeyPressed(.key_escape)) { + self.should_close = true; } rl.clearBackground(srcery.black); - if (rl.isKeyPressed(rl.KeyboardKey.key_f3)) { - Platform.toggleConsoleWindow(); + var ui = &self.ui; + { + ui.begin(); + defer ui.end(); + + try self.showWindowChannels(); } - if (rl.isFileDropped()) { - const file_list = rl.loadDroppedFiles(); - defer rl.unloadDroppedFiles(file_list); - - for (file_list.paths[0..file_list.count]) |path| { - const path_len = std.mem.indexOfSentinel(u8, 0, path); - try self.appendChannelFromFile(path[0..path_len]); - } - } - - // On the first frame or when the window resizes, render the UI twice. - // So that on the second pass widgets that depend on sizes from other widgets have "settled" - if (self.ui.frame_index == 0 or rl.isWindowResized()) { - try self.updateUI(); - } - - try self.updateUI(); - self.ui.draw(); + ui.draw(); } \ No newline at end of file diff --git a/src/assets.zig b/src/assets.zig index cddbeea..f84829b 100644 --- a/src/assets.zig +++ b/src/assets.zig @@ -5,15 +5,38 @@ const FontFace = @import("./font-face.zig"); const Aseprite = @import("cute_aseprite"); const assert = std.debug.assert; +const log = std.log.scoped(.assets); -pub const FontId = enum { - text +pub const FontVariant = enum { + regular, + regular_italic, + bold, + bold_italic, + thin, + thin_italic }; -var loaded_fonts: std.BoundedArray(rl.Font, 32) = .{}; +pub const FontId = struct { + variant: FontVariant, + size: f32, -const FontArray = std.EnumArray(FontId, FontFace); -var fonts: FontArray = FontArray.initUndefined(); + pub fn eql(self: FontId, other: FontId) bool { + return self.variant == other.variant and self.size == other.size; + } +}; + +const LoadedFont = struct { + id: FontId, + font: rl.Font, + generation: u64, +}; + +const FontTTFArray = std.EnumArray(FontVariant, []const u8); +var font_ttfs: FontTTFArray = undefined; + +const LoadedFontsArray = std.BoundedArray(LoadedFont, std.meta.fields(FontVariant).len * 8); +var current_font_generation: u64 = 0; +var loaded_fonts: LoadedFontsArray = .{ }; pub var grab_texture: struct { normal: rl.Texture2D, @@ -24,16 +47,47 @@ pub var grab_texture: struct { pub var dropdown_arrow: rl.Texture2D = undefined; pub fn font(font_id: FontId) FontFace { - return fonts.get(font_id); + var found_font: ?LoadedFont = null; + for (loaded_fonts.slice()) |*loaded_font| { + if (font_id.eql(loaded_font.id)) { + loaded_font.generation = current_font_generation; + found_font = loaded_font.*; + } + } + + if (found_font == null) { + const raylib_font = loadFont( + font_ttfs.get(font_id.variant), + @intFromFloat(@round(font_id.size)) + ) catch rl.getFontDefault(); + + found_font = LoadedFont{ + .id = font_id, + .font = raylib_font, + .generation = current_font_generation + }; + + loaded_fonts.append(found_font.?) catch { + log.warn("Failed to append font, font cache is full", .{}); + }; + } + + return FontFace{ + .line_height = 1.2, + .font = found_font.?.font, + }; } pub fn init(allocator: std.mem.Allocator) !void { - const roboto_regular = @embedFile("./assets/fonts/roboto/Roboto-Regular.ttf"); + font_ttfs = FontTTFArray.init(.{ + .regular = @embedFile("./assets/fonts/roboto/Roboto-Regular.ttf"), + .regular_italic = @embedFile("./assets/fonts/roboto/Roboto-Italic.ttf"), - const default_font = try loadFont(roboto_regular, 16); + .bold = @embedFile("./assets/fonts/roboto/Roboto-Bold.ttf"), + .bold_italic = @embedFile("./assets/fonts/roboto/Roboto-BoldItalic.ttf"), - fonts = FontArray.init(.{ - .text = FontFace{ .font = default_font, .line_height = 1.2 } + .thin = @embedFile("./assets/fonts/roboto/Roboto-Thin.ttf"), + .thin_italic = @embedFile("./assets/fonts/roboto/Roboto-ThinItalic.ttf") }); { @@ -86,22 +140,36 @@ fn loadFont(ttf_data: []const u8, font_size: u32) !rl.Font { codepoints.appendAssumeCapacity(codepoint); } - const loaded_font = rl.loadFontFromMemory(".ttf", ttf_data, @intCast(font_size), codepoints.slice()); - if (!loaded_font.isReady()) { + const raylib_font = rl.loadFontFromMemory(".ttf", ttf_data, @intCast(font_size), codepoints.slice()); + if (!raylib_font.isReady()) { return error.LoadFontFromMemory; } - loaded_fonts.appendAssumeCapacity(loaded_font); + return raylib_font; +} - return loaded_font; +pub fn deinitUnusedFonts() void { + var i: usize = 0; + while (i < loaded_fonts.len) { + const loaded_font = loaded_fonts.buffer[i]; + if (loaded_font.generation < current_font_generation) { + loaded_font.font.unload(); + _ = loaded_fonts.swapRemove(i); + } else { + i += 1; + } + } + + current_font_generation += 1; } pub fn deinit(allocator: std.mem.Allocator) void { _ = allocator; for (loaded_fonts.slice()) |loaded_font| { - loaded_font.unload(); + loaded_font.font.unload(); } + loaded_fonts.len = 0; grab_texture.active.unload(); grab_texture.hot.unload(); diff --git a/src/assets/fonts/roboto/Roboto-Bold.ttf b/src/assets/fonts/roboto/Roboto-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e64db796d1fc0d6f05566dc394fc8640804fcf06 GIT binary patch literal 167336 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

h@1%y)=IK&oxvR~$>Ot<+@7QME(<8>#rq-*| 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ⅆ?hh}6mZ2taXW{BkprwLQLvV*ifLZzGco8#y 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

    %D<49DNZ3Vm!soW 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 TG$5ZE>3uOE+F%)ll literal 0 HcmV?d00001 diff --git a/src/assets/fonts/roboto/Roboto-Italic.ttf b/src/assets/fonts/roboto/Roboto-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..65498ee374c89a7c0fb9b1b12d92fcf750fc65cb GIT binary patch literal 170504 zcmcG11z=Q1_wO0mjRGNfuuaec2|3?P-n3oYj+dMLHlCP22Z%z zM7)^5;D}!X@hv0z4IfZv zXMmZ=DIRs$6gYCsSfd{WAiS#z4;(!p@bKDRs1HYdStDY^fiE`<$^|!>a?(P|Po2r6 z-tfzbn8dxvjCVm~qyUDh{ND3J3a4Rj-HBZCzpU|gm`f{XVt-|ghul@JyoBf0JNtI@ z$yFzn3OVZtCvCa?l;Z~L5b?6cn;S?w1_iqS?7wofil)$9nn>4CdK>Cav#Bretjg=q zA(~Go5iRfAzLb}*B#ZDSH(87F$sfqW6hwK=1t}lfK)KCFDW~~1>SF&1Ig%|zP06&v zR0Y&1Znwo18mNkO6ipNf0<|Mc4|rNs(xz?OHdQq--k9kv(Lkpa906>#3X`=^q6Lo# zaxWi5eT;@@|np7^VTuzH7^sH4vxtzZl)UKwNa=CPBT)ni;#dUn&meq?Y zKey=tZS3*fZ||JjzmD?Dk=MiB#jIR8>r^gNB)4+qYFFQm3+>G9<^;4YjlUjJu+h$T z`PkTFpcD zDp)LyhcpUeeSL#?g&5)kf}mTOOPnt zu50_QK~owP4yxCvTVZc+OXHxU?YagXZB*F1TQ}bza|VvURZ&!9>r^4gT+TPh*`7nk zu0iz*2T`}Vb5(vFyO!_{nlg88;kl@RxgERiuZQuo|2}7$ z)2ZuzDkB~Sb}JlI0?1nC?DGKK(*0B|b5sbbH)o%Px_8}CmKqh_Pi4i!M%{eTL%140 z)DNR6r*2e=>cY1%^@jN+9!68~Fq)2s(JVZSzQe<49xa8r485MwIy{Uv(Kd`gJMb_% zKnGzS!Ncen9!4kdFglHg(Rn?(_c z&tvu&W-?2LnaWaOzGiQUVSEP8TyWsbowyTB7w!f#H_r_-KQ9Q=3u8FrWzh~8hd40j zz8o#Y{dpCbeRzMEU-A1eW5qmT;s*hmiw$BY%w6Iz%p)QU<~;!#ib(MQ<|AQ+`9vha zOp%j`$#3PiFsI4sFlS1%rko>@oBTmXBhkIeV zTaXtUpYE1f+$Ji`+NJxO;a@%7?L_q`E#2(`{2r&f-6$`Grn}v#GzF!*b5Kv}lR{NauP-j2**9TU^V0Xw!rE1y%^;0c4n#RKnKum}ikTX17TqOoW&V|Wj zHgO@O2`|!=@zXET*=#bK5yQ+8%h`+{BACtaHgUWBPMunN;i*fB+JIywB1 zkCT(x#l;CuWDFB%x;O!6g{(yJh>1v2mFc8hs$@hpIXkI8fRowPMTMII&Q8uwh-ohy zp*jz#{LCgN6y{=fK_X2Pg_3gGK_|19qMXvj$wehs2nv&n$whDuVqt9O-0TEefEpl* zNk}tyMk}BloRC80r4mUORUP}Q$pu7`CQt-6NM&*&7Z)T}l(PTqHH4{ts4z&T2qab2 z@usQgtjM9Lg&%NMbphrQ1**2S*A%f`R9mT^!U$o~tTI8PQ+iqUP=QnkR6!`s3GJ5g zQ&m%3lko!vx)D%u_}WwILKXKYPscAKg>vXzGJL=|$TG{5CI3ucl}7(i9tU=yIEb$q z3-Rsoln0*7pMKBGL$QD+o}!$+Q8VHy5~%z$JTe`cI{H;3fVB8!24{6S+Q6);4&;Ct z2eT^TsP3S8JksY6XVmTpZIO|`G?y$VnDpd|!i+gn;S9@xlLvn2Yc6S|qM z8%$lrtW{RcZ0G*0G|uMMC1x>HHM3=rEq2xrMMyk$L=>Z;cK`>?S$0|=TYCakSp;dK zIPz2Rbe%N!ASyTreyX||6jRxAO)P|~F$DQ&>cf>$gf0c8!^0`PXMtjBhyke4Ca;<` zwJptoYPiIU6W&#f9P|yX!OXu65??S~rZ{>^Z&@yu8*)Gy=Fe)ddaNVs!v?W$*tcu} z`;q;|f|!lHVg@hFKjz)|A%2>l<#%~9L^~l|L@rT6%oX2@AH{DXNbDD9#U*i7gvwH~ zqHHYN%FpFU`K6pC=gHOb54l4gkjLdYc}d=sQ8LxUOdh5@#aOXVi_I*SSS-2Ni{h;< zE*3XSZc9E(F^i9-jK$wl#Zt>s$I{3$*7B`oon^CSt7V7ffaS2a$vcmCes3S|(%ydF zy?wZk*(aBer;nFUF`x22&3yX$3@CN(2~RumO1?FWH_*!+6tI8-zkvdO(osmcA&^~d zkXAjICnTY=tP-mU$+Hvd3whE`fi-M9DDaZK<^|I!5DW_30tG080y98?`C_s7UF;AC z#5r*V6d+kz`pYJ=o$N0I51r*qCIh2h8J<=(VI|~H@Kmi5{Fi_w% zC;&z<(u^2(%Q((17{|aHM*s%^djPutI{`s}&48^&e#6Nyy?y@H%AVl8BGKCcZyT`^ zZ*IN0`R44KU2itM+4yGdn^kY-BHy>h8%5wZu5jOb{r2@MqSwgzHFA8t5%AmVH87V0 z76IlV7S@G~QgHVsioGAZHnwBzH!%-lC&zvrH9Bfc)JUSJVNqX14T9l6;L>4{E!o2MTnIK)XM^`;2x0?OFPv2yMCE5SWo4K9x?^yGP}Q~ z<8yR63!s7W<5+p(V*yhD-vbr`)&M~HfByKofBGTr5<9#v?7#YP{w<%vr}AlhI-fyP z`6Rx8FXW5(k9;xmokr97Pkbr=nJ?qZX$H;YEBH$O3tz>5<*T7l&gPr>7QU5l5+9L3{__$^QcWbNN@$G{5JQ=?5OoV|Xl&;}7^ltS2p?g*=fb@noLDQ+XPHMvLf2 z{+z$yFZnC}n!lmNv_!az9Ku877M>yx|C)cpXYw_|Rk(?qA{YAUb}@^B#B4D~dj7@9B?{reE z7aQmlG_qjy{4;cx&OyVyAT}x;SHy^IbXELG*Ti;=WILd-U8frq3au?x?53My58V=b z#Xh<%_Co`{L*eM@f6-lWP#hA6#oy5Dj*4T@j3dNxaRT~{mEtKuoTMihV{PITB~lV4 zQ;G9Ip)_%po?)zr6X&6HUchjA5o70N5yB)hF*C-H2jVJoQrfeeDjteQtN<&> z3NbJ7SXf1Zh?i4X1?J2ASViWqbVZC^m6aY1P4X$L23`7NRzuE^Glfkg$_a9!ND|2y ziD%1iSu56Bel5QdDI!&*VSN6Ib!J^ySIIDHL1GI6=W7kb?Zf-r?R=eGDZ|lCq zeY^XE9CdT_&+%7|#GGAnZp@V@*VtTEj{+V&J-+vd%v~+_z}#zcpU!>H)9mT%+1zum zr!7yl#B-)o`Q zt-@Y~I~87Acz+RDq-BxGMWTwfD|)n8sbWovB@{1PJk-+C(#0|!^GtK^@4c`3l=1n+ z=THfc5_L-SDzUW0*^&iHmMHm2$u1>FmAp}^PN}a-%hG*H-zc-GtXJ8gWo;jI`6#+v z({i7e+lA$V2IZHPe_mm>Zv)@4zW4pw_#Ln4S8-OwSpR(f-}rC!zv>@W$*Iyul?GJ$ zwNgyw0+oAIo>+Nl<<*t1RuNT7RjFTPewC$F{;p!JI> z<9Qz+snMv$>6%4q4y*Z~R^eJ>YCW#qsP@J>u5|+I?E6G~GU1bJbz9aA{nYo!q_kDJzNx}{m=W{aDf zn-6Qgr1|3(eOlaVnWyEjmit=qR{dHnYIUUbfYz&8$F(WbW@MWSZOgU&s;#x%sCHM| zw{L%_L#+2t1c;l6G9e$jVh-@p6b=(qjz5}()oyxZqz`X+VaPq)&gFYU#a!}gfl|!lysW+t6kTpXd3`rhh z4DB{_>(FOkO!&e!tktm1!}bh2KD_ww*~1qPUp;)w@Vz4{jQDXx+DOyLLL*C!tTb}^ z$R~kwM>&uBYSg3A9Y>!X^U0V!W2=o_GS)h--nbRxy~dXwUwQn%|L}|$KYsj_@pH!? z9Un3N&4eNo>P%=hq0@v}6HZU`o!DVw?};NOF8y-Ymvg>c|K+|fFMO5%t96r_P70lL zfAWQ|%YGg7O|Nf`e%t8VwNvs>$Ko$k<(sIA2I#s=~t&enNecK zwiziihtJ$T^YF~`v*fJYvuez0KdaZQW3vm-4w_SE&XMnyez$a9fq7%+ot*dd`-b1| z{Gsj-!+y9qzt;T83rq{TFPOF9;lk1jyDwb5FnLkwMg12oSoHSCjz8{PEEe}){M+K> zC54ytS+aD=uAlf%Lx0-1^rNLeFMaiM>7RT4d}En;*=NhXTXt^wr_0x_$hl(liu)^j zti17y?=M4sIlaoVYU!^(>wqKvEuCsdL>SJs8npSK6ShM>#r{5;8by+)T?cU$( z{l0FU%etZK3#>1(e*F3q8wzgdx8d%_mK%3$D!u9CAFcneZ4THRx~0&TNn66Vx^Dex z>x*q3+lFmB@aLC*rfwg){Xh@}H3*s;bZbYo9b0!K?R4MSYUi21-2VFPuVcHa?&`Da z(r)kF)pj@E-DCI2-BWij+r4#<$DYZ1F7K_pclq8^`wH(Hzwf~QV*8u!-@52u=p$xl!IcJkq=_NNA)`u5b)Q`=6R zI(6$*%qd&2Q*fbR|KNtf-Ghe(PY+%iye;@-aA!(-EhWPQN|lddB-ql{3xH^gJ{A%=9xW&g?vM;!N0?__O?Mp0lOTesZ?$*#T!K zo}GL4m$QGJJ$p9tY|^>D=RMB*oUeMm$@wnlhn$~u{)h9wp5J}`*!gScW6q~taK7Mm zp~8i=7b{| zBu_}GkQyN^Lwbdb44D)%JLK1pT_M3Cw?ZC=yt?9aCC`;oS3bVd=1Rbo@mJm2g6T;TDl6qFhA%h~^RPBf3TO zix?9zDPnrWJV?DOBYuzA67g5W!H5$PHzMvv#6~uZY#G@xa$w}wkuxKIh+Gr7De_3< zjmY>Y5#<$CDXMu?zo>~(3!;9GS{=0|>Uh+-sHmvt_vL+$`(^Iez5m($VfV-0pL~DG z{jK-+-9LFhM_k?y2pGG^G(d6m~}CGV~)g}jtPrNh^5#(v87_G$2O1c5j!S!UhMC&yJN4! zCd8)3vA7&@#p5c)HIM5XH!*HO+{U=S<3i&S9ymYnc~I>^vj;sMjCe5h!IB3X9~^ja zxa${y&hJ0SodMuhl3t|^Kj|IZ4Xa941bvN$n8<-NA(_ccogs`@X_Q)a~>^u zwBgadMad&AK!fZ#A>n@u~xCRu=ceMvre?mur9Q& zweGT>x8AqDi1&yu6JIy}v-mIKC&W*WUl6}Cep~#J_$%@E_k`dlRi1qHPjb!V zmdRa``zMb~o|HU0d2#aUZay8{%%Hx!@RGykM)ho4hs$XjL)VirnQro0Z#Q5)a2AxX(Fv~T8Xq;Y35e?IN`{O2p4Z+O1*`QOjaJr8|;|M`>WFJG8ncw%v4DOPaP ze=H4}5`eoQ{d7>?rCQk0+01v)aDLcWAU>xrWFWO-3ylTbj|%a8 zR84$hEI|ChfER!QfT{o!U^E~QunJHgu!LEuJp0pFDPH5f6~YQqEwPK%J8^1c@-nu| z2&!!=Kx0kbR9lV#bi#W_`qK0x)#jzCx$Ho$@&Wv@GHwn*82n9rX@Y#J?UBH}mRwI| z@n8EPC%R*(Bi%MX5)KPdm6%?7>TkOX#TyCjQV)WqSTPZ z8PDVe<1X+EGnb&x#WXqreW;u4OjFGzsUP&KXWT{)Wko859j=~$5&TQKAx9dq;s#CP z9<-jN8E4>sPb{LN(5G^tJ@=b)(Jpfy`W3ibb82bKkiJwF^s~q{R6}m0V&={)t4Wjn^ zPouf1H)#JQH85d6Mc$tLd5bhk#xCG`;L^}E-PoaMXtEe5fwQ}5G4P&fgqfDp zXQsh43uho)ZF*fo1^ThO#DoBy-U;g}WR_WB3m=Q+77?id*!l{Db;}hT*b0 zwLy3bnV)9M#x%$@jp~C2ZOtQSpqx$ZWqBH8_Mw5MJM^2WF->&tW?XO{Mh(r~X&2hC zfqX($O_9btr+mg%@M9_XH8jmJ&dJBL*z80-OnZ=Dce>=%g&H``2b~h=JM&TS(L<_^ z{KlGJg4bUe55fOUKu3Sk5_I2h{9t+o9(qOIawb)jwE?q?Gp6(8FK56FKj^r9O`EBe z{2lKNXp*@d_;eiVd51ciJrJ)xpgL7G_krEYIHLGk)z!S(IAPw8G=X?WKIU*5X*N?^ z`6>CC-%@kab*dou8V6)WW34%Yx|<##%|rZ&9bC)KJ*Kf1`}8=32&jv`-`XE8@meb&NH><^Vcq>W?z-V7&O7 zDmtyAT4;xoPOqtf`7D(*oug55AN2v9ugko~NwYy)O`lK~(+avIzotp1wsaExdl~E^ zW>=aEnmQrxY8WScO<`!uYoPr?;0HcJ`_;yNa78DKTR55Hulj+UPj%#c--Gu;g{(rzQw_S~{CR+gN&xF?*Vs(Qflr`q8|e7ML5--*P;)HVsFc|AhYZ zC2f(LsXpSj=4Qi74xvhFE)lOm-$GPKBvXCfh$dn#3&gk+jqztJ#?7wa$+70mc92(L zk0wwD^m}V;ajvGuP~#Em@CBf#cu8LX$^rs0-nWF^LcBDd!Ojo+4eUe84?G_(^CACF zj6EhB{UqDcS26(o*n@^+9>^`LP*M3C-WzMXg*;6~P4|%hTD*S(`;d{wqN$wnmp@V~ ztZ5ZRIyDEF#RAl272ew#LCB+pvc*K>8s@R0;*N2{)C@fK67&wmxYvP(q1>iUd5n|b z!J?*4D1Rr?HlX4rC*wQQ1I(>uflmn9;bY8O8^DJy)YasQI31|Fxf~TWPe(eUcBYFu zPI1|vEao-{A7Mm*wlB@z$fF<9##1pJLY#) zp2E8*=G)6u%;^d8T4dY>onHZLpmTmeF+fFt8=$(FL5ulj<|eKpZb@T>+=RKu7h|Ur zH4<+zjuwagl1j-z2uFP}mKT-7jP>j}y%s;R+!#a3i91+3j36Jh+a(c67ZnY~4=lI% zo_V5-g@FEm?*NMcYXRQ?{xJ2UsiyBSUX6wA_RPp72ZA>Tg5L%j`_=dZ=nNZ({UHwmkF~}_a~@-b zh(Z3p87Z2Nz)Q%Jlze9TlyWPOBj^()6Y<4HijuQF2#~$B+@)l%bWn0vR=^mlWiBOm zWdq1tO6GEamba8l^&wDlma0z{P%=hV06*E~DbmPl8Y6OsCLu50@+;2$4W-eYAZQa$)%`^ z1#@jpISAvS0yV~>?|%?5J_w8>SwW4pSwZ&~HAcM)Y7EZ`YK+fXmKuAq0>-1PjC^n8GMLCp;gaP;SY;Hl;n2dH@_D=4}+AZs16xbZCx; zVdrmvD?F4ghp|GBDZoXA2_=7{ zUuYdrjZx48mHe&ZIC%M8+risfe^z?6C-ge#K@4)1!b$0mj&aI?s{;?MyFlM?$k5Kd z)Yv6I`Z9D0CI4&u)%dCU5A+&E3#Dr){Xn@L`8sSzAJXlH`e^wS`k2zm9O*Lh2F(;L z6z#O_7(>$KdWU>(f}Wyu38mBMKKzcY^c%<@lg!X-wC(|&+JVpiFWXVS|E;ZPr{*8n zIWaybzB_*Y>vxC#``_$$$IWzo*`YUo$ae77KWyB9P<*ZRz;ybnKBM?ILx)j1-$N>| zp$B=0mPVYZF#513{OtVHOZ5xY4|QMdWZYDG0_2zMYdc>-pPo;jK~7l$d$P$fCpzXO zwVtE;R{C6u@g#z!LWfP~C&%1lN~eKbV6;)|KT7`5>pzNL)H;x|)8|vw&-L8su=N~i zBxUp`N7Enj>k4YjS8hE|C>bB)xAIfq zmrX#K1WzsHiv- zC2&3;*Eq-xr;>9}PTb$|pxoq%yGMB`ALS>k4ZJ6|>;EXWI`RDBym8AZ0}~T4`L}VM z{zF{o;~Hp7&n~aaf@mg#c4BAn_=)CP1i@N&`W{JJTqo^|3ErEW{iI&Is~&a?SWZ^f?!sq z%`mIcI+)ezSC}8uvau@Fj~Z)x3qij^4Lr1&OPe{hnM0fI+QfPt;wV00>dqKUd%X*3 zw^^GIwc)Q$!ZEZfR25Lq1-8_--OaR*(5-GyTTsWxsV2ndh^tcLjD0TY*2Hy*>rfGl zvm&#^XwgiR;e& z;oxbugyEzRJEhJ&A%{}H+>tjUGn(eT-WKP9JMxa?%s<1*j0+#Y2fUj*@4ye;w`zz1gHrZAO@fk}4!mt>6r z{1FE^v_T#%k;ee?0*1&J_;Zv2N@;9ev**IQXTh=u@azRl+h$^;aRWZcL#F3~LkMWk zK&3rNC&5SXk$fcl1kSs+@2;cGtO3>6g$NfFlu*$f#)#T*QC6V_T(%z-eo=h+87n`JMUTOgCEnEhaGligrukBJpk z#Ow)ki|h__lk5v~o9qfRd(2l`(&lXIQVRa6o=e#UrJ#!3g$MPHB@B?^t_zpEUxR2(<(%S>JWRbC*a;J zPbq(lRTXfr$bx>0G;$sMwu*c@T=n5CJP76{tUIdQcfkAu08Yh9zsfZiE`{O#n7ur# z=qo=r1tFC8~t$9+diflvMUMNU(~MpaxfC zfaVkI{;9IE=eq)aTlp%Oo1rPHe3j28Ssdmzz7nP*-!sZbl+r#~d1owqHe=--X~k`r zo3O*A(k_RY$vf9{NU#dQ?qz1K$Kl>APbz;%3so^QmL(s1D`PhXxQV3 za+$3AT+{PEd`~y2qcATWiQFt_k|FgIZz zTBZ9QrkyJk?h6IKUQZgXHdYOzWAVD|<& zY5r4v)LxPrx8CJH#U)$$G?<&E1?Cq1EzC`_7|d;a3QU!6ZYrgBa?0Z_p$YSBRm@)1 zadR#weS*8Wd8skx`uvzdTSLZai#fX(WWF94>wDqOZaJEYr-Ht%>#J|;`jNV=TakXi z9e;@d%vQ_>Z z&nDUmbV{-^pqHA{)y$q=Hx^D-K8jc2m3bxHq%F(hSS*WS(d<5pVv#HYv*}$H&hD@< zcAMQ|H(4mV!LGAw>?#l7V}w5+$H$6_ESitz6L<&QkG+OFzE*i%-jJazUfyI0>9BM9vLo1h>;>tjDkKgMvN8X za5Hkem>|9s6UA3zl9(*M7T<_(A-zl$)5Q!i(?lkQnW#4{WL$R`|9bZ?@6D%r}UHeluBvzjGogA zNMf&W^WzQfgBV~%90kEmb$#j{r$hW%Rh*r#!D_KOtO09;Q|v8RYu24l#=V3rHzN2N z{u^J*f9LD?dcJ{gO8;5FY_z>8o$AB z^4t6lZdFC_DBPZigC_Zy$MYwUE0b_YlE~zeJ3H=)3W#PjNYBuw_jq`bH!|zRf{jI_4rbd zxs~?%5oV(DnCpBYM^(h!R*5P@pRJ0StvYU(*PxnI3$tb&J!=l2L6{e(M#fnfU?h1zSaDIOK?hY#zvdhY9zWu8AAsrnn7l*Cvv1?>UFegZo0$k~Dfnmp)S90D8PP_J!wpF+`%k@R_!%)qZ1!OFX5fsU{b$4)H;jaI z_hW=Sa)iJgWvqaiYQX>9pMleXMv5|Zj7!E-<6C2`j-^&439Hs*U|+;IXq+@oYkYvc z@rMpOYb?^e_^Pr}nr;9Bj1~`<~y2 zadA*JYoe^R%k(!6XS)Bb%T9TF?95!j7g_0-^lx%AlHV80_!nvIDeWa@E%%-L)S7kr z&-lr>>2SZ_&dzIDTmAj<-}N=(z_pLS)tZlu2ga>;V|@7CI11kS-4Sja0X1*Iylt#C z_8RAncw-It*wffz1RFR>h5ZcuLrLguiWY`1;3;H&GA^Wtt$9Cn9cBE}HXa*K($mJj zCv+A1^I~I_@td*3SYYfou#_4szy%L< zPI{aJ7exJ+v}i#+Mqz9=t^%(7r}#$ne+vCjn4O-PRQ*uA|L&hYKI!(+{0)wK&rj_b zrT>hX4p(+Ny$37a9j`}}^uB5Y+v6#^>Cw-T&)K(!jN9+zQ6u~Ne|pP0YJE7KaYTg~ z*Rg{_Mv^hfIQKTe$gSS&KO+pMm4gsA%J|g4spWLv_70b_jYWV{fOz8s%sIxTY@tZ) z_!&PrTpzaoH*NR+k;l%77^4y}??xyt#ZPhF`45$z*>=Xs55;l#W86FIaDT`)aOT_o zbBs;Kbv=4r#n`gjxQg*k&+5Qwmm}u8wo%;SW8j9shkpO_(fdO=0hjm43h@2Xf$O^| z-{sQm;cruoZ4RIG@$0CAa*iC0Gb)CC9C5_`H@4CFzsE8f8HbH3Fk2dRjS47bG}1V! zy;-A-F)MTQ!51=3DmUZDw_h2mZz9Iq&++cAeE-M4|G_xwkbSb2kvVo5yNrWbLo(gQ z4PbW|Gw=!})fnqlKh!@@JuhNx{pSz;d$=P%<2$6%b2s8~S^?SE43`@owFmA2Kb4cv ztB(?TRaNX**T9OSC)QY+Vi&bJo+6OUTVa2*efqj%XRKd$$5R3;E4{G>ITueET8gJE zG^}0F(GKJB#fr)?Xld%(e-*WcmsdJbXMBwS>p{@ax>8qscc3?QV>8%X>dEG_1=JrafVXG>Rs`?TK&%c% z(IBi2B;Zby!3-LPRXLnV!78FZ1!DD~3XQ@JYhxOXUDjr}cLPn2#zEKnnkGQsTaOd_ zoB4KH&3EyWv>v+KW!yo4zD7r(v4ztKXl?iCBs8~3ItA_RJ_SR6i>1@h;U3T#=y8we zEOa?5or6A?K)y~sZeRx}3~M%w?%+!?0$+^CiJgGE(Ca*KL&_6(DI%cX z<)ujIc=;&`dR{@g4_(iTqM`2&EVgH@n)tOVA9Hn5Ud1=`F? z3Fw5ZwEAujD+?X)FsqEOSe#_lur73g)y68&HP!%{;0@LY+Tcyr7#d+XYa${<3~Pb! zR>ZM(>RS}7J+#DEtfP1<4161cNy++2H|fp>NDt}321!p@kPVi_WD_%EmdO^f z3tNuwK=ff7@r9tz*(Mnv1K1z<$5+`steo6p5m+_3%ObHx@{mPg zmE;$_F!xKH`Y{zqB2Ae<-=yX}ACE zEV#R2B}|eZ5F~T}CLV)2P!`_FoZ4 z)DPPB7%H7A-H}d3&sx$4lV=2|*x7N(2+HPAJ8P=#GC43?@c*-y42c&xDw!nnd0)v2 zAN%8qkxM=9TE0^L-4vLfC2aa%u?I`1) zc8Py_rTaMgni>mK4|YJ-1Rl^`-UZbo9pH*uybtmtjyvk6M)O=5pmNTnW)8G}=JP)8 zaRyJ>A0-p2r$BlNhri0v@q3@2BP`Rl$FjfUvvm5g^S`4EWtT)rI2WsbjuB7o*Q=lX zJ?kuGuamnTf$eAG6m8XLjg{W?5#0oL_VL@^GCt|~A)@}-^WvazZt#T~neDTj3&ukA z<`@?Q@>NuJfTFeoNXjnMY7**+Gk6l&H`^MQl^R6Ga2*~eeIkDXWS z9HR12^&-qPE*W4Sqt$%u$m`$Qj`BWi+i`I4=lkuS9?(2}iiH9n@C6RZ-VYAA5<~3v{v9&;FKaIwQDvO6fxB3Wl^~2)|t*Ro@`Qs@FeG13%NI{d$7)d*N|`7T6oOD?QLj>wye<;12NWPCOhtZhrx{U3j?G3|+KlD79wj zq%}i})(JhK5#B?+WAH#j!DG>yp_kSS^J>k|No$71p&7n~#9-iY()wX>tsfTG`XPsY zSP*BH3$a2t@$Us)(FMAqA7WNy70CxX^8WaecokL!|Ba+7t4evXpI43Cv<~T}bx1d8 zj|~yp2s&h5tv530jXja77wZN8-q0cQLWi75h1e`Mi@e!v_8r`Fp;dZotzO&BXU@c#+*y1U<-wlfTr%OSi#WTCJ;Y@=H@qC@(%f;fU=2L|EWuvH+{gF9y`S&bCtVM~jSpJEeTW}IDTi^!t^jr< z|AzYrKLYnreiZIw{21KF`Ej^U@Dp&Kgx<@b_XY#2)BH5bJ%f9mCVb)aEZpb#Ik?aB z^Kf6_7vR3gFT#C^UxNEGv}I?UT(}K9l~(MkwPH7|6&KW6aY3yW7t~sDL7ZhsLQH(F z2B!KFq{PnWbCmvqzd#*d@|SSG;;-O-&0oX)23oYxT68|GMd#C6bUv*`tKCtI1zL;F zskLZVtwpxt`IAbY9+pH>51=Ju7Z1wSc9{+(CYCaT4?pC5wv=^w~1}Y?N5BW z#Rq4Vcap2x??s-w#ctf>+ath5*!kUya`%aSh_hepNBqO-|DE6nN<1pSE#jCshH{VN zKDsB)i=4pM0Z!tMmoruef>Fw8ahjZPdgKfhzzLGGDE*u`M|p9Q1l)qtBp1jFD+pKN ze@$GY!fG7>Ce{&P-p091cbqN>L+Bk5j&Ba&!&We(L=A z_bc3EG-I9OE%G#kLC#pMz&#Lr@lxRX2l(L@gqy@#8@^PDllyA@0;VT!sX1W>JP+>G z=aqTMMdrhurBX7#%nx?~Spe>WxS{WYH4dB-l*MsY)hsR20=GBLu$rZh^ntsCECF{( zSrYD25_dUdY23Z!vWzSPcUjz_;_@T;5!~fuIk?Nq@^Dv>72x)jzHs|VKe#K(ig5em zJ0@IKl9k}DEGxrZMOJ~ks;mlkHCYYr>NpK)k{{ztuCuIxQ<5fGQ`UsL7S2tYWNn<@ zb(VEx9k@S{pTJ#L)`k01`6=A>WIed+%ldFPz@18yY$zMT-AFcqTYX)^8S6MLK&zHG zvn*sQoIYi;wQLP{8`%c#w)irI!1s^a!QCD=wT0|}d*V!Xl$fDpC)o+^&*W!tcb1*u z?jpOuja4C-SQWyVYOD&u48-|ecR30tz+L2Moa=R$V{kIuMUItY;U0(Y>A0vhBb@G@ zBqxy%zF0b$y!8LjkaDV=N)|ayPJ=(zk8nd{mYjuD%j7bgs9i2`+EcEOSZ9?h*goi8UrFD0j=< z@ZT%NHXZiK^5Akc~`@}cIcaLun%%T1v zHNq-9tWd6I-Wp*w^OmnruG~k>%5EsT#y6zw(o$P1&MI-h=ZyDp@2%b&yw?=lfUjK- zEaqQyL*cQ7+Z1l&g^~;XS)f&=d-=yJ9P(FCW;OS`(+an#=3cl>o*#IAL7=@wV2Cmm)HIwE~8zVDVNLZntAwdDLm5;>wD%3b(0HuIlkh0hx7Dv;(&7 zYPzbvR3l73P??vgegA}RvqN4R)RE*w> ziq(5jaa!J1rwJd?LoIJV((?9WEpJ=(E>yghpI>PC`K6YhUupUIwU(dXX!-fAmW>U_ z#-*?r0vVV|CH*p!+HJy@$g$hRJd~`<^6A~CfT-fgO_cbn>{Z>zJqkVyBldV0^PsoryHq0S;>Kj|!Xo;v8Ar_OrksjJ?3 z>ZW&|y6c^%-g@ULK<_*aP;wv}1PSmJ8?5)AM(h2jv3mb$qTYY{O7A~S()&--^#0Qp zz5ldT?>`;Tdrk-Sp3^bC=X6}}Ih~YKvFCJ3LS|s6mCS%WB(>*sR_{4o(tA#q^`6re zz2|gQ?>XJjdrqNx&*`?_a|+XYPIvU4(|x_?6pa}_n8m1>ojt;wex5znJ5TX?=P5z& zJU!7nPfzvElTGhDVJ^qcle(Lb%95cg-!M{HsPRNh!G67j>omJ#B(Yc{iC4mDCWbe4 zLnqYO3zrS=p*Z!Fhg~ybkuni)R{R%;M=S;K9A6;w0C*a)Jg@Ocw89rrCc>U#B#NnU zPcvd=2;d$d3Xp0%k}q*KN#*t=9gjrhmW14rkXsUROG0i>kXsURdxG4O6rRZK337Xa z+@2t}C&=vya!W#PPZWk2h03OnHWu6suuw;13Ux6S;zocQD`-q%$Bc!1i!p_71#AQS z3D^#J0eA&?V@weyW1(;YxB%P$IRNY6zZnn=xM(bt?#2}90cZ(m4QLB!4?ubHGe8$W zAHW*GHb{@#0XqPH0~c2^8=>T8gt8fcnSj}VIe_nsP<$aRRD=T}5C?ni_%EM5LH%B^ z4+GSR$|rbFGLo4Dco`|Is$pY|0PXSK8+M?P%y$_ne7BJzN&q$h&H~QiTas5{hXJgB zWI&o>lM;{@-{8s*CkV7IquMI++{aF4?r(KKfqT=_Y3Sl09#P^ zoS;TtP{RY%uz?abhEhNY4^Y5{+S^e3IMm()HAc%qg7-peeTBHtY{BhrfW~-hY6MX; zKyyF~__c)H5ghax?Cyxw3$O(4<$!~L!+8H2_Gx1aox$0}vv6O)$&&;{1L2=5EKAD}=cBj!u_1oS&W=KH@-jXNjW&~-*PXw zD`9M?VjSTs@IAhjfL{Qs0KWoO1J(e3GlKY9!0&){fc1baMkxAzDEfXV`hF<-ekkq( zyJ2n2jqgR8{eXjj!-#tXa13w)a0+l506OvWfQx|3fGdD&fE$3DfEUQ`72pkea0#rJ zR5p$X;3=vCssXA4J_ghP)HD)ALqH=yV?Yx?Q$Q=M`?N-Q8$eq?JNUH+bO3Y&bO-bR z^aS(*3!fM~>xLzor*@vsvC$#8>X#Vde;@0u|H2e=!dGN<~^8SK2! zY4ZaL0*b<~IJnmvPy$d2PzLZ3pgh1AP!UiGPz6v8@G;WV1k?t60{9eAAJ7oc7|;@B zv<9>Vv<`#m04Lyo3UD6Z zn7xc|x`ikW8SZ+_X*TpO8+w-wJaI+2E zYy&sjz|A&rvklyA12@~i%{Fke4cu%4H(SBYR&cWw+-e24TEVSWaH|#EY6Z7i!JSrc zrxo031$SD(omOzC72IhBcUr-nR&b{k+-U^|+Q5NUaGw>NX9MS1!Fe`to#HMVI1B%0 z24J9N7=Q!Z4J)|G25z!~gA_;Dz!5fZgbf^F14r1v5jJpy4IE(uM_9oTR&azB9AO1V zSiuoiaD){cVFO3lz!5fZgcTg2IKT!Duz~|@-~bz1-HH~rqJ^z!U3K%&4Ee|nW7Q16 zOu%fw9Kd(zUv~iEfC$8K)nj=Y&K83!=ru;mS{T8a0a^giOEGpQVC+tS4wYb>Maw_I zs)`x1mK&fua_9v(3`oPQ?t&7$0JQ+a0W&bq&IHT`%mI7{32B#+idjAtvwSLM`BcpE zshHtYF~cj&l7LwfFiXO0pNiQ&6|;OQX8Bai@~N2RQ!&e@VwO+EET4*5J{5XZd&n0Z z0G$9z?l=ZJ9*_WBmE2*2I}wl!NCBh*(h&9>_DjGkz+2-f!zq4d0=S?i7D$Wb;Z|}= zb=b84bpUk%N^a>0`!hfnKu>^@VTR+oyqf_@0F=Yi0MCr4Vh!LF;50zVGZ$cA0Ym{F z037m+v+-2A0*U}81C{}H1NH*Hf>ZyHewhXP2=Xk667EwS+%UQd`#S7U*tc2Eb6VWiUwA(z$zM8-3L~&z$#W_m1H~y zMvs9}EHH`&MzO#s8W_a_qsPD~78u2{VH&GgVD%VuivecQz$_Y=MT2fJpj!;+76ZD) z0Ml5|&Vg+-u#E)`V?aZNbu6%s&4zU#YB3rx7BB%{rkw>FcS&d{RvmJoCUH~?PzTb} zC$M+IZx`Sy+}Gh33i~$JD8k^r3%Cba2U-Wk!T*7hp|K;Hg!pMVnf$_d2x%)9PMGFm zg&=8Ff!t9Ob}i!pb^~*w=5eekYTFF)n!|1ZyA^8Q4q@$)rWfqb5hnmJ5bj~Hha>Gs zxC1E{?)~TDQvg!|(*V-}GXOII%Z)hf#^u5;TrPe9`$0L4I8ZPS6vRnQKuN$X_|Jnq zANC5^D>0w1f(>~Edoa1s_Ho!-$q8!4VaFqvcnmuUfVl}f7rC%wkqi40IkE5HhW!RN z>@&E@LZG%6zR_L`VHSW7pd_F)pe&#qpaQ@T;18$_s0s));?OE_Xq7m$N}T)>`Fw?Z zX2HE2;YVN}2b=_*J;7IhVmH^5tVSd_eH%T6H2MZ#(qjhxBbgD2(eD!TGww2faC;5B z*8{Y`JcqA{vp&XQHUx2pVZXW>6~^dT1G;A|v|SwlMt!t(A~-k|ZJh}2O#%0&f_szE z#))Xh6mV|}+A$H_n}Rk>{6FlycXU+MyZAl(oHH}&nPk!+fe-=-f)F5(ARQDH6a)*3 zNEbwk^xmuV-a7&+*2z$%tAG@d05&uzD3VA*9js)|{670kCYkZ;z4y27djELWdfx?4 z_Vlx#UiP#1L3)2fa__;byYT8R68syyx{F@@1|M!i`#aG74z#}m?QcW-+tB?sG{24X z-h<}1(KV_4caYwD(EB#Dz6Y&uBfI2XLEH8uMkEUrnUka=OoP2f%<4(r&ynlhmU-I~C9$zGX zxWwZtSeI)&zk%e-eBv+YDf5URBsQEep0OOSB{Eh3l7ST9Azo|2*oyHn&lM#7GLn7; zUR;J3SCDj@k$=1ZZ+gO$mpwlq={C`i?+oDiYm$mQCpS@Ac?y(A0klPF4NT&-$-op~ zDliS04$J^%^8O-VF|Y&xS7jNn+Vdk?VM8lyXoXEVz-xzqBfuv>E^r?B68IYU6Zjh_ z_7uRy%W&~BT)Yeye}s!asx^6iChM!E3jHyS(-%ul-H_6^g`%1Cc;E&lNQ3GMZ#VlWb^`4NbD4Nj5aeh9=q2BpaG! zLz8T1k_}C=X;=~MNuV9j9(Wpf7U&4P0K5pi1at+u1A{$3B27OcO+O+{m(jc{Xx?R{ z>PIxsrfuXidx68e_6cwlIcQd5C-c#nyGT?%{`?NobIq`i-|-st6QriVu#4Qw1ACZ@ zgyf?;ck$JCO6=el=+IsK^qmr0DD7YYx^x#meFuriM896q@%$7zb&=Pu19t)HIr#BA=+s?m6L-+7o9NX|^y(%Qm(<9I8u?Ho zzr+qn8oIQ zb&DA57BSW>Vys)lSht9=ZZXqC% z1U)w~gLCX+w|GtwAD#lA^Vo(jODy08A~o)J13U}72v>=m!1WrqUL$Hd2fpXQ_q<^p ze<0@c+J`TR=FSnxaX(4MJAezg2mA*74sHHq{2RCr=*)(ld_;2Rpw}-*$CuFT8Z`Tv zi0+(WW$Qu1EFM3EU2o_)N@RDA$nKnBc^~1uR=h6linJ-u@cMJW^T11hw8&lgOizAS z()?wpFo4ewBs!k%IYqpCig@=F@$M<&-BU={1){=p@Z}nOxkhw&j_B|l(cw9w!*lTI zJbXG2pU$h5Js04W^r9D#z6(g-g%V4Cfhh7EJj9EVF@MZwrA0r+Yo7rpdHoc;{G7+< z05k^aya11{5mTQcranbXeTs;ayK4g1IdPUbr1w}@5^kDxIIdCqAefSuSs z2JaZl7{?gTn7}A)ND}W4=9K;+JRiz9jBz;Q2*y#K^M<~U=QA^TZ587#U=MJZ_deky z=ui3FQO0BN-d8icYt#(8;uB@v@Fx1|trbdLmbxpmhq4-B8osR>P#q|%7v2T?f7T17 zPTmER|F&MJo#eXV$mCrUS2C_%&#)rKmDMyfyc$s5(0-}y-d{b*XCwI54Zd}QZ{0v5 z-@z8$V9qy~^9{avgKys8n>XOn4ZeAU`P|@oH&~zgogIURsEdUW@r99*7m$$`kdYTq z6Qd@{_zb(FpJObmi4~Yu^L#(xt%=<*9p~F8czzN%#rOWe-l;$W(XXt7RpfDHpe2BH zCR;BcTQ8vA6-K=)jCxlX^{z1LU19%^*Sj|3>9}_S8Giv8e*qbPf$}a9_eoCeMSXMuA7QHAmq@D1=6zi}UMd#?Y#u#Qzg72$eG z9qT%kgaRrF*Qq2Fl+>^a)Up~@7&WXgYFN~BdEZ;VDxk_xVAQWX_!9vrK$zz`m4*T; z4cGrsw<@6OP@p{oGy<9c&43ob!vIkaRfp?T9j;S#xK7pKI#q}3+H=73Kqubs40Hjy z@w^A4e;sNa&o}Yt_q>Z;F2bf3vAgaueBM;G!<%K-c~I*@NVN?vq=@g(pE)>s890+oT5KzE=A(BG4Ww|wL+A9>41-tv*ReB>=3dCR9Vln)>C;bA`2pnQ0hPcE z58+cc;Zrx6$Tv)#hQB6Eh4oCzl0Lefq@4dnJCgXO-cY%{UJ`a2c zeDB$WkJ*He*@Ry?hEF+$wLONJ7XCybAOO1_FbCA-q2f7y)eM`KOG> zz-K%dQ_%(fS*4T}%1%TBFM9HzKpwK-tyZq(HCeGd$ZMZK1t}NkSZM|G6g#O;^O?^L zIq_CA%X{+v%Sz^Svbq_->%c5vw&y$K=Rd2L4kE4`zzOUCc6#!lW*&0&zp7xug%~&E>&~TX5nQGI$#qybVY4jH={$#_xddJ>S8V@8HUJ zMy0Zl*L>AV7mxibmaZ&NHf)TY1e_z5JBdj={5ia5@i7&qLGm(DXdwMHlg+%UBh9mhm}W>%^Y$7s(sD z0Lys38d%F~`xy`N+9C9Ste$w%g%lK;K1E-s9U}?sT;(%R3H|sPNw|b0d|^66eEJ3Z z*^Bu6ZQu^z0`3970e|rMKNt-vA8ZWT|v_F zuwZ#uuskeS9u_PQ3zmlk%fo`@VZrjSV0l=uJSKr)c(xq=kt5s$i%#7o}Q8D87YW4S`}F5^+&KgRoVmF6=>=#F$=K|1q@ zQC-BSE^NmYq?FEA9$(}2e8xha7xDNG;Nr0d$q;}71W};~0lX_Ud3ZclYKTMQfCM8R zbs@ERNNpZgHcx8=Gy$3cEr5rCR=|J1`jUqQ&cg!dm8`zxA=Q_V>PtxVC8YWiQhf=j zzJyd?LaMJI)mM<}D^zS<#JMh{I}gwJHMZ;$5}t?k&Lj495&OEZZC8-=E7a171MzZ4 z@O(#!9?82s6**(3qN%FqjL8Y?1U@7B4ELN7Gd&f>9AE*k&{I*FFDgu>&%0Lw$4X6fG2Ob1!0kwg;Ks{hJb7{cL zu9C-{Co8|e46ic7tEQty9rir4yh>hmp8V-N`O$f1c$FDmWrkOo;Z~(qne)hehkB_hbDjl^-n{2LS@#8If0bP4yejjVpLi^Dmfv{(Cy)Q8#;TG} zRAj6KP{ReIt6+2$jIM&wRWP~=Mpwb;Di~b_qpL>VB6Aj*ugLs_S}@&M=~#^#KqgQh zmQu2G4(rtJm4W>CNd1zb?T z1qEDCzy$?dP{0KRTwotg9nS^!F0gljy$kGJVDAEZ7udVN-Uaq9uy=vI3+!EB?*e-l z*t@{q1@|J2*0(%$OyTINB_Aan@fxQdtU10A5dl%Tdz}^M+F0gljy$kGJ zVDAEZ7udVN-Uaq9uy=vI3+!EB?*e-l*t@{q1@|J2*qHnLGXP~LGXP#-G z`><)eKEX6aKVX{asbQM!c>><|z_TpGvqYLc)eB6=ISb`8{TKB3QPb!84bvIjZTdpL zXu9ZmnhLVnbe(fB3O%h&H+0=}%VS5^`-P!ahrz?7}9yh#dUa;n-mSjbeZ}AORQx z3&; zbdb(q91Q3!uJ;`XMnT7Ip6~D74Qw1Zvc)0TpPb!gbyyl_ZH!Mi}1Te_}wB+0V043KsEq( z@vBAn)gt_A5q`A@zgmP}Eh2ji77vtdbM z$nBz`OGi+2dY*aIBR5NVQ>_4jy|H}#k zG%J8+1<Ke>+Y z2*{Bgr8%+{`rbzV?jV0IUcH0-xv&$zVjnITnt2n=yoqMsL^E%qnK#kQn`q`uH1j5! zc@xdNiDuqJGjF1qH_^G!;+Tr25aIyI z&j`<1gQsoKijLH^USO2G9LT!bc%q0YXQh&pi9ku3w4K#SX@GhkHF?5u=$9cxebs#Izx#5a!u!X{5Ab@<*0Ac=R~#KK~$GZCEGzI z+d(DUK~$GZRF_LcmrFF4OC*;|)!IQ6mrM2e22ortQCKdO<6NS!Tx}G6OfwnjU!yvF zgUav?XxISH))2h0Ib8V?SN@7Cf5nw$=fPK8`73s*MzA|If)kG-n8hV#@fEZ9idlT6 zR>GE5=Cvw7T~?R*j9L$<4`cz^0DF+twm>`JDPS(2T?4EKKIS*DnJP9@l{WJtufYdq ze~H;&V)mDq{Uv7q6|=v@?7w36SDF1)O?sBotYV)Bt`p-2;WZ+VfQ@kdHzMaB;Px+Y z_iZ?O3QqitZg=)<6<>RvMUw77`#aFyh5U9#WA;)JImO9r*Evb^ch5&~+6kx6!|4-n zS8`U$^HsR{Io$jlE}n*qw@M`T8oyM)3@)5bsz zV4EinzZ*xi-_cY{|C6|%GyRz>T~m0lLOfU@9;~pWQ>+jPzeYxWos7JIsG|U@U5M2# zBqP60me7$bp(7rykZ7a;FIR|{D7ZR-$;Qb2meynh@ zcey2FE5`1OJ%IkeOivs!K^!qb95F$hD8#qi@EoDH@`y6Y(~-=hBbi4>GLMdA9v#U% zIw~`OHJ%@owZJ-HJ+J}T2y6m2W6RzEwg7Z{;aLlbA^x)~%|U%R2XF#AfSq`kUBGUB ze-FR2m+>RUeT@4V5Aqvy*C=%0;GGNc&V_jALcDV!-nkI(T!?or#5)(_oeS~Kg?Q&e z^j-dd=PM*$lHG5GM2pe` z77{TQ5HS{znRQfu<}=rLt&rz*{t-zO5;+!-sdZHU;=R8a?=yPnIud{acsu0^iN6Yo zFbjw<3y3hK$1EhP>!>Areju~!sHHGgW=v(Q!dR6tjWM0E8sh_u)fsCrKFC;;u@++n zV{OJdjCC0^8S63DXUygrbWst}6cW)C644YA(G(KV6l!!<5fA=%U3rB>JB36$g~W!k zE3c4B!F4JH*Qpd-r&4fT>kkYB1_49BX&5j97{zYe)yx5T#LE{FR~Aw&khSzeqNPIZ zFz>VOp|S3vo%S5j&I8x+n8coVw9Z7DU*qwt*peSjMDV6PJUfa`(FMTz>}53hGJBoK z22CwkMeBhTXp1#fL=@{l^!ng6Q(47*fl6p+zOjbi+>0gph_zF%2R&hQB3;Ac{ElU6 z=-G(9=zzT#hrKw(Z(YLD+{JE;z;2x47oWn~%wtYxuvzj>TXw3?3G~ayu-i$V;}FOB z1~JNN_E%S8k8)+kD!^P|4X_@#!0TTD-vAeRejSOs%iht!z))Z~FcbI$${Yob^SeUs zkKkVe{Ooz)YtOg%gm3W)-{J$l#Rq(g5BL@v{w?JQM-;v zwP%W~tn93~*cgi?P1M=C{gD2YXjr>e5%mg}fsFp|HaxsK3`oFKn_MOgW7m%YmF`IxMRd%XYzwJLBvahV6Y4J;a!<0 zl_jc5c_q4Ljk(}$`Z<_p@^FY~KAeWVvmY$Xk=d&}d zadFnvES_4d77lrcvsx@xYif2{T6U%-E{mB`6K+-cY}-&wVB6NzV4o5P$d|H2pk z)-e7yK*k$nI2vY@siBWfsn99akPn*_L~BM)lvYL>lPxE~?`f*dk(BF5%5bFGa%%d$ zo@C3ZSN0S#K@G@}4lSUSYLJ6R2Ce?P_sr=cUI`zwFvt?QYr>c%L6-1651U&xf24P4 zu(jpGt@?y2-;ZCwtGgzTUdrHXYJRxoqrHqbAA32}?dqit>195yZJ*M1<~y45-o)mM z-q)ve=%y&WJG6VUkD~PH;Qm{CcjCkIKh%_WraUtD1AR*S9`fa(~)QLmuO${8_C$ z&$L+MQ`05w&2ia+7cFsiOMHAb#wsnfvgNVJvqNh<9u)TN*4G_D!JjYvt8@J3#5L?YphRo8GD{a-`;_Zs#rwv%3<~`dxuTFQO-#B7T^z0Kyecjgj%C(WER zpCg}~+;)k1j=oa-D7AW^UR_PF3?NpqITd>hG%z`|3`aQD)}9q@%8s`vN_2LhLwe0u9q&2rFCM&0LWu+_W*>Ta)5KT!<-K%@nC5h*U)l$r-GX}41t*K#3 z>w9`z{i}AvgrYRM_LX>l-{5w-Ti?F72Pc!5`YYYkIoRb0>dS@@Xb6F3C|Yhghbbe$ z5zH8zk-!zJW}7jLRpZTetIAgD$$H@zv0S2wACtZpduAz<3WqAKaEdhrDyK*rth^)UB{i1+)a!}QKNQ^G4!T_8PFUX)At#s|K^Zw(na7jAZGt{(x?%4u!F`7(mCuQ- zqF;Jq;rx}a%d>6Eao^xbx_LPn$AmA-5oPm`lgLgH_w=fX;(H~TlZsd+xhrD1Gf$8y z)u{%D7(A9yf*C@Y(Uu%j*~M$u!MjE%Y4x(U)@iOZ@7}cOdC|0I6RlCt7IM~}Y3dTg zo7}X89I2moQh>nYu7Pj-JlESDSCB}V-vE{4HKtY;-hf@+2Y&1d$}!KmD(cW(!M?1 zkSn#mes5QVFdv!se&rgBhiANBHAZvaZ1cE_lL+dXwLc1GqvxtK#yqTB%@+&w zABMNq|FBwee}aC05rsW#=43DO1w+CN!ud?OZ{ki4Nt6g`898d%gq?~iUnPu6wVSi6 zW-2f3{#u`qtRz*^KA+|IlwapOJgD>;@kvLgT0XIqJ5g{a>Yo=0aG6T3Q;jMouNh^_ z2`;-PPw~3W_;NB(lmQ$EdP_SbeWtakQbIT)x!uJ*;*@edw?~H$?la9{-w{6d=NY@c zij4aFCH+C=@O&kt$M%J<&DFHc^Tf=vgH-Lp+eg0aqCYI{Mm_Sr6lPt`G}RgOK=smD zM=iMM*=Z^tA*X4|aGo`ZE>4c|8RF!=$X%S>Ok$`b!j@z8n|*}M5hA0ToN8q+ zI%BHI*cAKhsE{kIbV}KKNPK+VQv9;282DLaoM6$UFO2s(Lhw%)n?_IH6&^mg|Im%m zJEBC?!9C|9g6ECz)icPZ=bzmFL(neE=%JI}2@9P%Wv*IR%pEm+hN8?KE_Pl~v`f2Q zd8a|O_lF;2WB278F?hD7t(h`v2D_IPVgr*_0lf&p3bpwc;WkW?^h+XGlW2&H9Hk5a z8Nv%0`8k6up}g%3H$DYkGK7=ngkv*OFj<|BCVtvzcO&=sShdpeVwZ4Ctss6~sed4z z9;N0NKcswK9nQ!O?taXrf~mhVv0^g6=bey%Gs4FiU!=`-1Ekd|!sYykN6MGY&uO+w zH|hwtIihm;n-f#^o|hvy3%fLZS@Ch0aT8Qe&y17NSc%kq|B>=_qWk#Z*Cy}!B-*YQ zocrKw%XaJ7zLP(+MT{NUdPoEAuXo{HeP|0s(OtQhb#^G`?HN5?(GIP7ouHw1O=vur zRpdX-PR>9{Gxc^Rq*s$uN|3R!7e7M}efSw-=#8)Zjib|QG6d0@0Z#H!PP`u~$YG_j zr;y*8YSFA&@fDR4oYF8mDI(1hsl@oOOH=pTQcvht+s)cNY-`)F7`^b+8@Z7|DXqAF zSwsDJk9TTWmAXA!j(I;Sq%^I_`Vi#c7xHD;DkA$FJ@XBg7o{U}gA=4|jNa zO?zQJwD!dn&%?*{$kaUeXradZpH|1}se!cOek$sSwdJIjeHPLZwU;U=alJI^QgMm&y^%e#WA}TkRSTXy zvTNs{Nd2c%2lFCB*UV`5L{NmV9RA>Qy&!D#(D9ClurY%sI(mk_+GFsV@X-D}2Cmhb z4E*q+tX=&-{#Da{`f$SjhFM#?esopSzAJVNS*aycXlvD!-g7i%>F~ZY6>i9j zoGtU{njP9CVB7jSqYc~Uh_*S(mCz&c7IZQgu(*p?^4!e@Oy{e$B{ zYEnymoPM^Zt?DM+4tDaXu~e9}-tD|a zo3=p5Z8IEqtVw1aOhzWWJ`-xq!nhjQhQ+G#Mpm3P2B}CBEyBAG=rF++*0FP+X;C}v zzvaCBQAE`Ku|4Del!cKdqH#t>Be8mzqx)ln#MMLDmZJ#OH=i7F_-M7<9{RjmU z(I}%9r%UbgqvfD>Y^PDYPJt}9}QaUG-BR#`W+Z*%wB1eO(r2&vy+o&If z8G|E?kCO2#Wod0~TTXeur|Gtw%6?BVWDWhEhS_pjlsz@#J|n%#&WeT*@v0@(g0rz_ zDQJhLsFrB-16QA#Rz<0w#wpnGaawe2jA9XdteIlxQ;Jplu+zZsSqp~`4hvb8H+Ale z86oB#OLvD_`{i%Hq|f{D2Z;RoT66vv?{;QTw>hw@iFpwQz7%#7+@CPt|n2y#DJh{pw<&Jw4)i z@s?q^-+TtcdSiZ8|eNQYIKXN+fLQNgoZ-AMyx-bo= zi|j8ll4MhRXRLvpm&`^ulXB zxajy)B^{BARJ_5bwz#^!|L50F4Yp{ZQ5j;8u%5YX-5>sQ%0YM4IE!WB{8gXT6S+U> ze_GT@w-!I$ZnSt@j5BLGYoB!!6tjM*c;yRwFKXs>@1vuVPhY{O5LQZCIV0lYC6|br zmH&=EIpJlqmGt*>PPOYu`fJfv{7#BpjjwCUCZ$SChw5XULJW=%c~I}CpDB0zqc27J zgQ=mBj%ASAsekrKYyA^_hB^BFTp@z4?VYmrLwSs)F~1z<7s{!0hKv}p>LYJyEF7v? z?2JrF zmP50Yrx*g&s45AMl)>m|8B4{d%E&=ct=1T68)a2O8`oO@b;rW5#|B$l?-o&x(|4lw zg)W+Oz+KI*zOm%O_{RF)B*k>(l|hO+`PQmYVuh%-PSt+BFlQO3Z(h}J&3p3LH;Q?n zcx+t>pUtBTK6m^VK8K)2AwH)2e1stmJ_*1-P@AEe;@lW4hB`BXMHheG8#%Kqr(~*> zQ?#)MMz|jualn0GpmKcRK^Wc5>~JqoxILNRWGt2rnTbl)V_f22O_cG2nL^v|-p^-Q zU&9)-;ZY&|i0J*QqLXGgH`= z4N1jsx(}{L6}@_B*~6m8m%dQdl0q6v(Kl z!`w3?EtZyV3}1iptKWmQ%xS$HBEqs_*~|;CN2``qix2+wKunA}`LDHO#LJ>$$Kjf$ zU-|7-{eXVG>sEE;v5T6vN46Vzj5gwi$_);jk3+0 ztiPo+bRWk>-8z2m_6F9p#;rE0G=n@LX3fZYt3m4|Z)TTdWBJWHzewaQ(l@_S^^Xj& z$I=v3@t;`Lcx$>PwUpo$DX-y2RU>yb=q(AJou$sbI9G4eW_Io{i>1Ye!JEFApF7l| zhJ-bJ)w*hlL3FL@>pl10uO9p4xgjo_nD)oIiQFKeT*tARI`xlr&pz{<-a(mg;_DK+ z4?EFUwbG0)b z+VR=B_1&w(mFr^l79%JiYj+t#l%)ngjBqo*o{otPx1uGXeXd-FDniNWy8>hn7R@lmPix7hrR zD^glQdFjV*=#8%IzoIuv(ps6L|GsIC-oWp^f-R}U@6ylWj4WAek#+t6Dn>)aXrGY# z%xz9Y0C`j+md(cTdZSmnxzgK}^#i{wyzp|=+aJ9ZHD}(cbBS-89mVNC>n=?l_u~Tf zyW*;=Kh!Ka?6G7fTfwjgGqIQ&I8D|dxaH+%Kn*g$`;{6|laN6Xs2W*IrqWb->Pxrn zP5t6AA+!(wmi|+4KC#K#!oak|qXd|i08<@MMmH$o^C*V88y-cK^5jGvOfl|Px>$?y@eW8<)pW@7lq?&I%H)T-;X-yOO~eC&8nbrqZ5JgHv#yS-NP z<>B{#mh+_V*JQ52qfk@-e<45sUwo`E9HbEo$fgK(_PhFL&`Bu z{{2MtxH~LK{jU7_^=q`z8(8`Bc=Qv>7RzKbt%|X%NnQINxrX0T4Tz8`TT?`eGUp@x z{=Ni#v8X2on+yILy~?^58XfjbQ#OEsihq+GBvQAGNC0)B0*;&<-YObxF+2Xcz_rJ6 z?PTNH)UNon$dJa#4-r{=4@fcWTsoUy`A`hjPwR^k_6zd?%j7>FUuBua)t^!>s*zkB z-3-vFGSSbaSH{RFxRhC13yBY{A7T2v9I<))mJQlRdL`u>_XEssisx1CYbvw;Bri97 z3g}NDsxFXMxnDdpQ60N-rIeFg?K`Cg>&q&YV^DHN3ekm5?v(Yotn`_f_rgPF7Z?e7^ehTj`LrhETgm32sJ^* zz|K%(AZnm6;a^&C+CzRpThV zrB|lF7N_j8s>|P6xFaY;l>6miSV*^ST^8DQ2T%Qc;PwNNFPJ%NTz~NSwGGl|zq>mu zxKo9shbSlK%y{o((Xq!6Md{W~bX(d%(T;6#7qrdJikhc9-YdOg`&dhTTCp+n7R z_9yglCM8z_HAhKAA{UtvFvCUrNa9mHob1dS~_pPbP|?W6cA6x zZD-2m8ln@g3$&^{q-*52m<6ZC9qm^2EfKnF;M9HVJ}?XG2WsE`+edV0ysh8Hrz^QX*2I2C697?9((%Wb6ck=r7~D~h0HL< zK4g61y}!gcwJ7N=oH52A*ERjTIr)WTi`PqgYvr-BP9b?ml`l>d^jMehZsd$p{a)Yy zLWJ4As9@eZpKn)&_L#q)dZA_=IaL|aP4s!YtE$ZYZFSvszq5pww_Ws`rm5e4Qoi{k zBW6jSu)jwe0Z*dHCHpuvV+BphXnACm613!r!3G~1z8K1Q$LC<27EKn7oT0`bdE!@Z zkv#ERUNbr^U`4#NAcj!QJWc!gaHF_|8x-p{ac`NXzU~62R&+{VM(^UOd<}3$ zd+U0BYZ?YCdz+Shwpw0LIe7n-*0g`R`dGwOzQ!ZwlGC6zr)QhQ4|Dwn;TmUw9byb@iqx~)x+bSFFGG%c-zAn8n(o$IEV(qA{ zZ!0_s!7IcHa{t8Mc>TWf)Cq8ZDZ{+i6P(lRrdR$)7=S#+%Yw z`rAb$F~Ba;^CKlOyQIF6o(;cHIg3$N@)Jtyvk42&j6Kl3%9}eY=+{4g?PSAOdTySw zqe9H|oZicy)|5T!tNq>>@m%BeOAkgV$vMJ2LDlArxqs>GUl!%%=Lan&jhWYdx~9JJ z>F7o=3)gGf7I9~pMf>xDlQYT28kXYRu0sk_%|%9)R-gq)~Tol?HDxR|NH ztqi92GdYS%eY~z$xB_P5OK7>W>|Y28=;=XVWF3pfReEc(vVPuqU}rjOGmW}7R=D4j zn5#6ZozYlp*tIEF^2F$mim$j*7^_T8y;m|A?!((KKX5;w=Yvk*_*_SPMvkp)tqE(d zTBNmyjdio__AKNzF4lrqOA{;3#B7^Uzoo5ettsWtCX0u>OGP!A#Qj#QHz`W=vS4M6 zwqGP=G*y%)wK5vhRts+`5yh2GB2+mg5cvxIfr5>isc!gI-}oakoDg65KEn+A!=g?gmucwD$9>GLe6;(migcRka+ zlo?CD-DJl95w)Q*k}V?h=ba*C7oQM#VUwkw;kQOR8-Sp(x(ONvfz3BT1FKVax+7=zLTJ>KOGT#_<+)+b#e75j>t3ts>9#qh{gw=P?)A!B;KxT@p8}b^XxJO*XuKP)XRP|2a+7 z#<_nte#bBdtVe&YrVVSxol(){hX!>73I8SfF#8yfGq*CWMuq4w0sP6 zDkh^>*J=y_aT4qch?9i$Ol$(cq=8Q~(W+6;^u|d_>pk65-qMSA_MH0Os@+!0qjL|P zHLHXAt{&O7<%-z{xZ~ZV*ZxjZxC5Q?(~mWxes2RvFpHxiNn^V z)K`}WuP^ps{U@%}BIVU<5jF4Tj(lmvopDBgllSTY2B!j+q=K|0Y6T-w4h^axiBI4a zStjW+jPVONot3;Fs_>86rN~MzZDTg-V6tyH9;J{vB0J||;xgm1l!K9T4%`f~{_)n< zGulq2-wRzIX%-Sbx%0kt7R%@pL*Bcr?Hb;@*CJ7MaINg84=voo?M_#S4s>?cuGzY4 zjdHcu4DG$*DOEYPR&;(%k)2K4n?YG-ZceP$!x`rns~H~DN7xwfjPX4wZRa8YGrD8{ z(YGdB2>lx%+1SBm3A;3>#uf+^J+p4MmF|GFY-5*%aMwCk?&uIzv9?Rej%e}lfB|8z z9WHmcmbtn9_d<8K@^S4#Rz@pp$@dqsu*;m~Idc^;OLj6EVN|xgyfI35zG)if(f1_4 z{rUQYWLOelB&$kUHY#m~Es~E?l`ke8UAx>qeAfuGYJT#OPx{T;b>Q9pH1T}>k+R?2 z^1LvQ+KD?Pa^_&6(FF7r~l`r48u^`vcMVJT-Ry#4k5+>tBhI5 zl7U>yxh^{G*X>IO>tmOWc)z8XyhNDPhWC%Fb&J2y8Ww-2rhz+WrJ2-w%r2DsDjSyw zm{x$+mMW?=QKhLf_jr^uv3Q4nt)r<%9ZlR8X+P-gM9{Gv`q@k3u*Y;$l;iP2Ajz0^Pn)3dSJ z+1b<{w}>ex+!JS>ull$xqvM3yE%qN2QR)Ntqjhc|7PZ2xJ=bkK_b?UgqBN5y>EoUEwJYpz>lPqdhA zOC!Ill$5Ejxc``l`YE?dtEJUz{{GnBhC}M#dN;T31FwVB&9nN3zTohxSfE|v{>SmA zhR!HseaGa8BqPdoAUtHGF#$d2yy)LFfiqwU4pLjNH5mNVv`8h3_!2{(NuP~&DdN+4 z6UQ}vyydJ1gVxzToj+(XA?XnHZ|)OHuqc?@7Uy8~3DD6LQO5eIo_gv2FVy@nOU6jb!6l6Xm`8Mdqh6 zxW8@9+Km(;Bh#lnp{mQAM%?$T(`u}Vdi5wEXZI;_z*ah|%|VkOe@Ve8aKz@)w<)_% zlgc<&Qbr;TGWLxbfrNKsS!}9|lL!$lapKn=>l5FLJ-4aWu8dKOBf=gWvu{+*T{WjI zeP?iwRmUTQI((`!tcRF+u;Q;p6%WiGBtp;6i2dnGrPIs%P1h_Q)79z=Xy6s>d^Tyb z&8Ns|UvozJbsPmO!x$Dp8srMpLU8640?X9YGX2WbY@eX`LPMV1GZ>!hjP-seI-tQ6 zZXAS169H@bHidiJKDFC6^O%N8UaXwBOpZ z_iJlxl|)ve^4gcHUs2buQy#eV#d`PWzgx6(IilZKP1`!<{(9m-?n`H$uiZiKYnoa( zYt+h+v#;@wPBED;&^I1s)W0kH1u0bbs+T>5EmA(M=~9QHvoU;9MziCkHBhYaR$=i4 z>qg0s+fVO5^x3TS12=Otfq`wwPfk@ofhfWMz5Hp3>}&~j*t8>ZrB%N z809(^TOG8G*p4{%-G=@%Qt>UKm8G_!GUjtyh0y?9+OBFYYhy$(bAtVz(pQJ5vWm%S zEhIuw?I?^CTdxCPHA4O)fTRvD|4~k_Cf0waC;u6zAFm)9@wdUjhxF5NqFx30SIa-4 zmRDA|YfsoVUOyySj^8$ct}t}=53Jxt!wMQZj!NvHZ{g8t7HSQ49HFOn>J-6qcF%cx z_w?QRT{XV=SM`MQJHK#AkI*)okF!41%rvUB6k3@utumBw##&{WSE^dWGM+k>*oN{| zkVIZV-Y-UV)~alzGqr3vnSS3$%&aB9@n38N#W$4f>c}n=hbl6N%?7fv5gGsOq48SP zbQ#jdX{Z4SwAL*8!Ykns`sE)k-VNPlX*TtRXO_Jb9M)eiY=1W<;(V|0pqZn_%|Cl3 zY-iB)@vrZR4DBu=9~0qv%$m32BA%!#lolVvg?1Yy_8jj1%JvUFSF~%NiRUJ^5=vID zR&57$N*h+R_mzHc4tPJKwxa!VeBugC8S!d|fzKunx7N#8`Erv7I+UxowDn-_A8z_i zyQy}d#uJK7uPAqv<)~$K8z~XNhVhD(#?!Ew-frKjeviNN>+jtx8fMgPOs{XPCgx6< zRHLI8TUxVLQy$mOFzl*o>Pdgv4LTs?{?&%2nO>t>3l`S$33E12vW@g2+u(zmu`^Ol zR+TQ!kXqT2F(DZ{O(C`rUWhQZQs+eZ$unt3xw5CuL}Mw{kxdp}wolao!_&&1miQ$Z z1sKfpS|}q6iI2-R$Fa|=N_2V}drCCLnk5_CXjHUtV|Ll;tF?;Qw|w!Yh>)1G>lduG zEVQ(GvD>5yLa{#e$UCX-n&`u!{i5xjm^hE=3s9Fz~Kdb+xXg`Vxht3GatXl;o8?WpK1s}-LrJJfb?v;w{Ay}Xo-gP3trIn-)0Mld`j#+#@}HJ-D? z6NgTexh7|HuzX{@BbsfC5VK<0Te1|L57wY86ejT*^IxZNk6z9z7om@-Pp3nZ02b*6;LklvA!;Y`(xLU<|?n`%o%VjHHU%C{P3n)XjC&HFjCIEPLBnohg$#gf3h5_#l(D2+uXejBzgMg^|%-e7rT42oPJ7 z9xrt@Ej@LlA#@*##HDfZ*Ys^icIX95r-w~BGjYFYv(Fwe<@Cgl^xX%=!TNJ%2r+lL zRehvG+h7r@sLC7*ty|XGk1SjGc<*s&MNMbDX-? zyp1TXoKw+c++l1bHAR*dG2oSSIn&+4;+6U4xP?;63)F+kw>DJMp>*fON}s|2-%+Hs}cQ*2l%*540b1sz{f z)+*P`hq2@By%HPHMrIVlVyV@~m(jr?H*Ut4hgUySJ0E6iHIcFXn=YeGMmJbJDs=%yXi$|xL>s=ptKoK^)ObpeWlIPa+Rz#_`*Y3qw?$i z;Igv*jE|GaQMM($aymJZ*g$d{vSd$>xw{X%VITCy>+L)36q?r1z3AD7dsNGMHRb;C zVRMux^y=pCz;hfZ9yjNp2UVP=Fv$|H2pW|SA7hP4^STHUOcGBpUZc#EeT z_JM#{3GR@L?6+d4XzB+mv^Q;GeQVXqt}wIDP<4Q%_hVs}8FJ2?o2CpR!nKfz2)~{) zBe@Eog%onX&Dv!$TDn;qA7y2;wkTTDH!nfF9LrBX*WmRbSe_%w`|3D$kjOJY>U%LW z=*tD1)+A%STps4(=eN<3gtDiw-6#!6v6mrF;3*wS+xeR*@}FC=Kn@q42zk8iQ-dRe zgW5d)^xz0H_Z(RL*qbLc?Zk>l-#(!~-hG&&4(;2a&p<^P{xW_!(zHtL$Q|s`#L{pY z$ECtm^D7njzJEED)V~p=C zGhL%AOn$euvPxLRF}edwzhe~f!QJ@I2EH>7`yzjTp8SqdNi7F!tV*(Ji?Y^tok~PS zm5lF@Rb0@=D!)@pko)PdRAkT%2#?972P2k{vqqh&- z{Bq}E!+H)^lp$TkTcxaN&Is_k$^hL6oHqKAt0|ZZI z!jjUyTBI||=-4AQ_79O9XoKIL7rJnL`(*qUv}ON=zb}g}>HSM#Zw%H8;NamdW~G`V8^3cuKS%syjuyX}Uvq3>EEly75(0CC^s#I&&fCA*51O=<5vg zRux#^u9QntgX4i*FL?u;m(RvIlfn%blx7T$G~>7ce3#!Upo9LZbXh_PJY&dA>49T} zXjWle3A;=S1ma`#&Qpj?lVu^g=+jw(GWzG+y*Xn1%7gvPqRuGiPm{iwGHpd}osfu* zKW!YWcc=O7c-wWmiyy44KA?rV+qM~c*j+6yR%^eu;N5FI#DhZpsE4YJ-R3b3AG=+D zME|&DhVTq{MxEE!Y}SkJ9TAVUYgas{A)WPUB4VkGx*8B5_e8qn&b*hLHlq@O3Y6{= z@R=Y(x_l0Yof1YNf-b#~P(x`#h{*%QMy^`z(wRYb=JW-f=Gq)%* zbpFl7`mfo$-LG~dQ2it-V#-LfL;qfgpASqu)?etK@$6yu4`TJC(F-)Bi2K`U!)(T_ewDc7gxmh3M znx0L|1Aaqps#awfP6%~j*P-Z<`^IeiAUybuu;8pE4b_l>_nku<^&8TAZm2bTX%maN zL5qiiLZ0mK>a1Ap`I%qzQ#9wYZug$d9c3)Cvqn8ScWe0c z08L#rF!Gz6w1XO31=-PYucnCG5te*D*<61c8pvb(Z&jt+DrOjrm&RvyExm@^AM+ z=>4|gJF9y?OMS7X-w)F(S-0$I${rIe<2G#v) zrl*~8-W?!u-i|A({L(fX-Bdo|^p%*Mwg{tEMF{6_NhoMl^{14GCiRx9@7|sK@g>zv zL@_&FHR$GbN$Q52y5R}yuS`8~*&Z?Hhv{nuY5i_BI@`zjXx@r*4f7kkv*@Tja`NCw zyOYg!{h~g<^IQ7wGgM93PcCxJ(zHRlS1%hdv17gU4Q5Rp=+2&K)=qDqyI(bbk26=< zx4m7fr5)r^1U9s}_k5tTm1!xA;l6OrVJ&?`)iJvCNrLYY7J*Di)I*bu)+IH|_ehH< z&Pq{Fx(kdDuvyQh^Gkxko=ub&_KNJ1aImS?*lj9(+=N*@!f?aBS4}glI|wQhU+LUu`l8pYN|1fy?FF5>^qD??q*bvfRYaB}BvYKuZodAU z^1Pa?H>ms2ypze{T6?9&a&dO*@$8Q4^uJ~)O6qcPX8f5ZjcvHUOn3k3ot1qR6ivTj zZ_~>CWW1v0?I$!-JeSEcG{Py_Yue4P*E9)h@o)XV|5IPc|3%}kY<%-I{`$9t6vxav zJ$_$r+CrY$*>Bpe4ezUBpLuZKO@m)-vVJyQA$0vtQMK{z->sY6Cuy9$day~;XBV$i zv{mlE7MeL_UUtsrn~7*l<>_Ep=rnszXrZ#53O4ax?Fv{S_pJvTdgoi1bY{e}lQB~M zDHktW#T?}VRzo<&QnpSxqm4n<%gY&+Qi3MGE#)#kObt*?4$>jXV(CB@i=(sf@Z|WJ zoF|yc!a_V*nAA^;_Q#&Dw%MoboBN?%RfFsc&raOcqn_?b^d#;|+;jhy`r0d-Mj36l z9kp}!GltK%Xh)qH*)MGLcHj!j%2lh1pIQP{wg?x^w=?cZ@69r#S*}3ZsSynHy1;-M zL1`mZOps9&h{)6Os{%zH=k!@o(34h6ouTpzQM4Bu>Eeb_s5Nt^Mu; zyF0WO=L+1vh~Zy~GkT`hP|p&l+}GX4Uf0SPPKOa+b@9&8C^Y(Fcb}X(MVJwPP}GDg zL{ffrO$S^-1pUq;kx?;Ab?hGYuGWRfHJz$fvy98hE=l{v91)SAyLuSAWrxm5m_7WU z`qVSipK+gGugrg7`UA>FNxxJ?C=0C$H9g^-n~~i6JXC2aA-vJ|e>pdnUyPYBALGo^ zY^&@`^3G%NwuCKHc8^#QzkKp8wO`|DP2A;`4O!E&l^?i%eZ7^jm&{^DKY&tq(`aldy!i&-6Yu&Xxo{sMN>F5(zw=2}I6Oub7KmS}p(ORE4U z63~lgP|-KZazth2Wb7r%$@JzQVKJQa?ol)yXkdYOH=002aDZr?o(pc*^ViHW!2tf)@B!9KtmMnIef#~ zo9b#D+3*TytoL-8SnuA0(pr*_=Kq=i8LH!J@R3f?FT8g~d$XeGjDQ0NaG!p?ViH+@ zYeO^`&|a95Vzs6b;Mk*0$x3OO$)T5a8VhJtm9d~@Xz`a9Tdn%OM{Gt7(aF{3g8Gp6 zc!nhRdJb&3zv;<2=LU59uqY)X#2T_7T4)c{`CI%c*=OB=-UG`Z=J*n|T#sN{X z-2EWkkZh?hi9YyPgkR@b9_xBbxdE~^f z@dqD#_uh;H&)JAaYOc3x=3%{OeOg{I4;wh|<9O}q-rKT;ZVs}Bze20(@Lrcx4uP6A zwn_5=Q&h{KNiAAZ%IJ2{qAd7pxlNcwJ@=lbkBnHTn)CL@J-=|PX3pOwR;p`Oilq8= zp6ZNFWkUK8OL=n72mS1~&;IxVGr0=mr`~ddM3!uMw5G|u5o+e?xZ@i#dZj%0;PWG* z&S>wxdsK;A7^V#BbN^ZCAv<_}HCJbCxjb_JtoJGb4HCXY$!Ru4OO~56XzuXu@0aPk z-!>=73BQog$YG$im#*n)-i0!G;E7yFBylmzHR3qssSj@SDj%cfsb~wHRqePqBTH3w=!cH?I-&1< zXOsE2yCSty`zf;O?rE(*s%AjH3Z~)CXkTv>iH4E*`p6j2AQq4#8p15?6zQM;-bFC< z7gKx;Zl80a15;)MFjblT z_^Qm8Dr8sNSt0zG`tJSWxAvivOKe}L`obX}9#LYKhh6F=dG?CuS4*NL+c+n!bIXXt2_S?FF zZ=Dq_HmTa`kQtMOzPshCuddRE=-+HoR~-FTGm~%WlO8|(Gu4+2eHwUjcV5k-$sUlZ zzVmDXY>L4;X+{)d@rJFQ0ZU-?V)^wjOFaErV5EJJ=w(`rrZK1`6m;tTJXp|uYJ&&9_QH+y(TQ% zTIq==KGU}!)U*YEE|1kkmb?4B&6@e=lg(Oy|>UIp@-gtWFe6fs(_*b5m8Y@1;wtf1yLb8`9Cvv@8({_?|Z-B|NXsLcb83e zX3m+@&vUqj(K#JLHG*2$4sWLCYNE7E#+H|%JQLY(nG%9-X-5E9pp98?LAcqA(p6#d2vlN z$*vjHSY2*d5i0gv;bFX38qR&5q~k#pP3w?%uz0?1)lCo!hfHunv87l*BBev%uDu%% zJ7-?mx+zpE&Aphh$+4?p=dw~8Mc1yhEFQJFPe<=76c_V-c?r0*5o*UjmpkA# zqGs+nwvV^kK2Vg|^O{DmqHg!RzCe%1j!=j0e&TF+>x3t`kru0RCgfHV&jcg{?+fy4h z8O0UTtjT`GsUE%4p&w@KIpqgZI_zF6@3w-#SE~t3T4Vwuo?EmQWb`aC7KF!OfI|oh zPXVh9O-iy@YQxn{UpFo{n}m&!e+i@q4@h=`I$e?^e<{s1^C=s^j7FsbMT`!ANOUc` zOez+J_~ZCXX=zT#(ArK~J#PnL4@TeEsB}Ld1z^shJ&+<(qUF)eCYYf3+ZOpvshx5M z{th~%fd^@m;H3DJW=Yjma}R=pJd2`Cj#10+yVTDA@SN%E=sL^XmRDsAe ztxUQ##a|ATe?SM?6?g(beKuAM;SZ@X8gMY0y8;FBU;X4Njg+oDPr4JXG`M34a`lA*X3R(`Nz;sWOcTj@*u>D1Jen!Im}*PH0F_C%s{dv%$BhprP| zky9&I>xis_-@r2x2##MS!?kBG0bTQLtTf>RLh&?(M<3>r8Gar z{Z~;(;7Yc^+w-?Y*?4Xq3Yzm6&Pmj~B#^MCz_4ms?ghE|OC9=CiG)eXy?ZsLBw}ji z!Cms^L0;UGKaq|q-vA>GF)-vX;fq;8V{43+GmG$*5f6t52-JN$j9-WDB|z0gDIVW? zHC~I6#Fb|>O{nXm5CPLmA@)kr2H&soA&H}Ray$6RA4j5n3K(@rGTX3HPiN78FZBeT{*Z2Ka6E3 zo_1Eto$==iVA%ZyV3a1W#gz}k^pY>){7_!DY08C(Te zPeDYLgE^ae>L?Jq%`=y-jE8cCXhB#6HP|>+lsPDkC?DMd5tX2=IW?6oJGW*TyGrWy zYtR4-r>mR57Ls`6{b+;k3&*d1}WFdF88U?dy3a7TH)!mC2j$-gr zG-ufxT7sXVGo!IAQC%x9b@#k~)-4SdXgbJ4(vm#Htvon@Ke^DRvalxJf zJMqnu*aSds(*30NllMW|nzuR9<~BJIe{VR@j*3x*DZ!>pLKCbo0Sw-}H>yJge!vV! zjPMf!=vaVi=;K}7`qFzn*qbrv$z%74u)|;|!;lW>JWmZm?v~#S&Azotx38pH>W^>#~Y3$|UB|E2PF35ECFt?w7Q#()qk}JxcLb}o- z_w{XAv<+>!c)R;Ue$D_bP$uBpLyoP|c`zK|nC_+T!6dUs~-*V4q$bvrXpJdppeuKaz?&f=Bwu{`sNN9%SJ zXUeDC5eKdYN`B_syZ2r5FaE=d9THSTn-q>&SOytuU)?MQK`d>PhFGUa7i$0F&AdB- z@(Oo@Cq2-UZ;Vv<@XbMJbI-`cW3V1Ci8~vZ8d9?LdfAr?`&MRe{HOWZ7DXRL_AKn> zWAUAwzV9rxmU(|SE#toX1H12J8_CFMlKOxKx_@oabi~SVX%F846o&i>B8Z8I)|zxZ zq+%3`DBp2_Z6 ziZp7-o=NTMY+g|ifxgBc>XofSrRC*_yyKuOk*IIl{!L;O^R`U)@y-i2Qt2GIc-*4= z^e*(%FKmw74wQDFmVcNlQbi8|cE6)Ybgc0m3W1{$-OHRIYFP++#&ii%r0c{bg;S`% zkGQS6`T;Pmu!;BsMr)v85rr3`AW&>n3ghj|(=*>;vfP)|Qu4;19^qa? z=Z+dUSEj4R6u(iw4&A?S+zy2R)yuR1SyLPqyf>iB>E_uOnmz{^=uDll&n4hexdIP#Pe8XNkW!%D*- zMN}m*QSci$OB`~dnRK)~I5cf_$h=wICi&V{)z04=BE_=Xw-%r69w<3K-YvE3+SH=> z^{C!{;e}}1^ihj1%RgoAr8F(4G40T#Z`1I$?BS)*$LyXWFZpF{*l~AEK*Az-|3*z$ zypTYZ8*eXtU<>|+OO=Wx-$)PT_Nbbe?n>0*Gm5;4cF0=D$dyz^Eg()x4tLE-f*02$ zsZ$ax7rpX@<)YKLE?@C0E{BQVWmj483W5D+m`~tw@!h8h_CtISXCjUU9LXC;)MG=# z<%|u!J~KvS90VnlDjuSCY1Ur9Pe4n#p>83iEK|8bCWlnd-Y7p59Qn6(NxF zy31y`KX70Wkk#=6XpDIW!t&y!2&h5;Et8V4jbP~HG`WG3C0Dvy#&tz8ufANq zgRiy!m}Rr;)`sXj<3uU!`C=4l*w^^US_Yp=a{X z0Qze0!O=^2wu>WsynpfOVYy3cGJvEH7XOTE3rk``$wSOMdK+~Qk%;&Yca>2yUC87> z@!(ODc=&B3Oj5)Fv6kDs%{8JS(6V*w02=5mknkN=pSmJI)?(=QwgcehgAt z@l-K6$fr~Hww0w0udF6g!AUdqL5uEpYy%DVu~EO1OO90}Pu<^zNm6?6M}0!1SwC%> zKt9{?ompm&e`?#}b(W9bi~4oPw;@3m`P*NL<_uo3PVy(B{(fP}Bf<|LP(xHUP~ds$ z2;3sBJjX8JJmMhl0?EbPv3xE6mW_Z}uox=iqlmCJl5bWprCAHquK3qWevvLHKf;RX z=nB-V7?nx2FA)c-MXq@)URRm!3RDC3I6Qq`(8=wVnodWUGX<-$l!y3-RgP65(w3G= zG7Bm^2&wA`Hb+byZPohak+Uy;8{|Lk zQLn~vk}`Zidi_RL-=6!M|KapMbFA+W#c$85EAyu-*2Lj`(#H^zMUHJ5x%Gu|Ra>OA z+S83Gg1M8TO?9;5-s8RkS z*^He0oIR0pMJdNUHX^JY_0J9_G;1MUS=?XB$>zTBr$Dm#8<|%JbYT~lO&}xj8WSgM z4KDkH!=}jl%;gvjn-wUFmMAr>8)ejskcDb_Fl9g_ws($JJaE)T8CHs}uJ2 zl!%XG?zOpvg9a9mq|*AeuHEd#&|qMH+d1c7s>4exFO_Y3@Ji@s+Z4 z{ZPj4T$$c}9Vg#`EtP)2E@FZ6UB-jX&pi}PcxxN*Rs*1{lWS>Q1WPGfakXTWh92dE zl|u7ysje}XY7qvf(&>k<_#Uzh8$ADPq#R9Zb>HBtWb}QxVoM)OhiW(9bjU#)zd`Qi z&M`7-uB_ZWSC;)csBE1jEqAu;UAb+`hED&w#B!zbMq*kCtE3H3>tB=k)aqDM2UoN@ zRSy$rf;_Yk$FFTgD`4b;k?8h-%0*q;hDYYa5Ltx>2(&pCsiqW#7!y(QTK3awCy8e7 zULSpA2!L2=Ia28^tzF!0!pP+pBYYH}NrOi0>nY_(2Y>PXnSE>~LoU49>;?Ppq!MvY zTeVYGK0npF!Pte8H19ip7Z#WNDBE!tf=q2)QZPSkm7jzH()Qq$S*U~3v%gVlarQ_0 z)5aM;R!5q{l34ENK;6Ke}VzkwXJA*s(}yw6w=PtZG;10<`sRTuWDO z#CnF7Jd~cu4dCH6bU|Kt*JBXW;%;h-)9$8TfMNw$05~{Uf{_fN5^Un-vksCoN@>$_ z&s_`kEnkqR*w|IZjva80LVM4szI{hvR?Q?5mO6hXojDID;~3@hm^9a9$#bKfy6J4JJN^Y=n-) z;7=#_NK-xY&(P;cQqhQ;2-#2R7x&AC?9J>xce*2R(WvPGYe&zz)Hg7a9bv`Y@=4sq zpUjpigBk?e%96TY10bvSk`e6Af{|;&>CK^YC|&>8;y>7}PzJo<7!q6ZoCS6NS{oTFUeeu`QRZA;!W*CnWUs2GL37!HWM4dx#Paz2n!y%bP*X3yYi zOBs7V{Ev_1pOBwqEzADe^IO;aZl4v!cFFJJD=SmS9)xObn*gILw9&ljboyMD@X2Ba zt4rRAAukq_ubH!5>*+hnNZ?4*kdm*IVywFoeD2uFRi4i^20v7TG8cP`hk}de6w;ZA zF8>%&u^(LIDsSa8{IDB@?ku64tsFdbAUsS_b_50s<3-2Z1%-VR?4Ula+V-Ix+q~Z( zr2utuv`eS_cC|tRs=l7=8#LyNEhDo+W_~_&byG?CNUl43K6|pmclJUl0PPr!+3n&Fc?XtTGEglNs|&v<(GI1f z-d+KAr@5V)1aeh~7Pe%CWJ7roS|J0}e}G8Rrz0zHD-e^l@~V`IEgS-5EVj<~=}6=1 zP1O^^^G?MpjK)e6Q6df^0oQwItpPDf^X8nKcA~2-wIJ1E@f+T4@}{up3%3Gk;JX{v zYznU5A=Ukr@90_eQCHonk1rh`9Ps+B31by$QqgSEfwE(DYIjeUq;0DYCX$dV_RVj~ z@{K)gyI&ybH0M+T>Dg)}rNeu1*@4K*9pxf!X&aX*k{9Nyr(uX4i6%?!XuJ-SNkxe@ zme8mLoQM>ODw?=Ni*Q)6EqFTUo^;Zxq-yHaj!l{*mkn)}%0>)4J@~bV`nJT-)JAR7 z%Sl%9bVyGcwaJIR=C(W^pe`Dd8O~JG74V+iUY-!$PQk1ff9hdxy-|y7gqBLywah=51lgySb-48Y> zE9Jc0yNE41Ez|iKe_EvRcV}++W(>_{uHJpf^6xj#&Qt=)us@4iELe^hc!wO&ET`l* zWtxchrK`j;g!2roDPAoE1XX=~94T_iA;K6%9vLc0Z;yhYI(rm*7ZWmJAjq(oVQ+F` zLMlN)$=@?e_ua34_zOl^eD=HFrc<`Sr3+{5pH_IEjf#?6E5WEVm*}rIZvQN20h4Ue z8Y)$D_u{bs*u@lB1SNcyD;Puw5Tu__d(w5Is9+^6i-Pggz#inayVk)`T#9_ zKb?Bu*~ob9kMQfL8VkYjsd#=N4nio=j0#s&1b~L(a>|>;=&Nhv%;xrA9~dP`MVo*1^V+fGBx%vKGUlk2e03m4Qi_>-o8num-stn` zlCtdxw@BYbzuj-3TsW+tajpo}3c_?)Z4RGMd)h_w)`M_W;&pDRNz{b!WSAk|&+Dyq z$hllc0<}$d2-vqITK?rYqy;3XLjY`(==WefX98;R6;lC8p6Y zXW9iPE;vv*bQQgyPTH)v6l|M~`AP0~i20Wb*Z)+4-M6!mIQdTAO3dF9c``lZu8Kiz zdl%1GFN=5-_RO&7V0g_70b(J5|6scDh#%jXp@2suytD(*tZ>5xc6pF;fkz?xi%NTN zFpfeOr{Yz8dZCOIpN?xdLqiqmjsiv3-V-3J=G;#qeg z{kacmz5GIuZRSj=E}iV&PRPA8Z~jELy3=tONZXQivqvw+j)~|(-Gv=HO&s{0&oxnZ zssU?={TQe#&Vc($sN2+gul$-?1?UFmGwW(%OD`oZqNl3Gb0v$Jsq@x@pTF;Hd$yg` z>OUr9#T&B=AFv5gax2`&juol=!z~yDZ?#D6{E{S9ayL|`a5Q7t%4n?F4^yeMCJqBP z8We(7TP}8@$r!z>n=9sui^_dT9Q46?I3-?<+mt6Kcw0McgVg`mJ0GjMe62zhY+%|{@%-F=U2pa1F-40sJRP5jQOs|ZagG1I!9Uq)}dWRmr%Hl_t?aQ{1!E7_II1Z9o9q7&{KS`22 ziTRCZ2f?2u5Ji?rIO|Z;VwEus0V{(T7DlUf?B2EWT^U%wt8)-%hAVG}M7ASGe-jUS z0_DmW7OizcmAs3GaM}Ltq90Zr<>rwm`@mwoWLVnC*5yro-5k_lWP_(Pu`l zC0~Ds$sk=mrCIJ_{73So``kwzZNCcS~z9GJPh+5 zLkhm2%Dw#C6RRE>v*1bwmA^epCZW(OKB3+0N%IuK^SHqM5_j0g0Zmd9!>-K8>sfkPx|yZQ`@gXM@jPpL`#gqgkUS!U3>>6iGgE$$jQx@v1l6 zg=iJR5Si{z523H&5a+VDv6{i)GCSgVNMCrRpkYyl1bV4Rd0;{7$%2xf71ttdj!WX-d8zn6<>`KT>O~*{)c%Rv3^xDlk!!W)&Z}liC9%bjG-@G zl~{;&IzriMFEmCsCf7Nqn$2*O)0{O?z?DK5kvk9E4LhHh)*v~o*Ps^h_1N8OG+k=< zwAs3;l=@_u2h|xOS3(rIPswHFbHq8h4NwVIY_#yb_%vQW?m2k+&Hynhfc3*5LyC|R za|Kiuq6LwA@F+^az^wl0JmgRGVJWUbbT#B0Z7+_Gk^)cT;NWX`V5o3*<%P=}pN4ia z?tC~Mab`I|!u)2=s?wd1tnbI!gHN-&`^zO2R5iQ1J~Dc4=zxn)vcm6fYd2Af(NCQTVE5b;GC?KSqqz!;ujodKkv@MmKtDzLLijB}qB+}PY*I41Afryn}o z6}Gin!*Aw%F_W_+eL0QNA3h*&vN|nl@0Fxf3cPIs%qWwkjyMNsUM^V;7ev^>+Hwq6 zSW|+A2pQ@o#Gy#s#8H39)BEJ%{WA~915{-^v0$R0(7ZzX;%oT|SdLhM4Yd+{HqHNG z5t=jj&qeSSGH@yt5e;oMf=UkkiXN;QzN_Jr%KBA(!+Z&*WOA!uDJV7vPq|ev(1q|S zh`_^s0UoQsa8%lXc%ZpOy`s^xF~S(baWonR5Gv0x4EE4ALrLl<-vtG+kH2+){eX=p zUvj(PJnVw$um+A2^6>1nUzKq80k2&knOXpopW8Ehs-V*}#ucp2w}WM1F5>nLWY>Ys+35DeKyy#pN<}MAufZ+^Y)=F{r_jRi~nV%&s!vTc%rCIdmDA+9uzwf3eYZ2 zY2-?b)zjmWLNtmRTUWA`TP%1mSY$|E=!{214-m1&`En;Q7@aw>rJCQQR*|5L1ZqEt zRJW|mJo00j`+5|u=tHIKHLI@FI8%)@{B*^Q$rf|lyF16s{NQgZxw(HUdN!?KlW-~TYNa~DZ1aL>nOO20vx?dCiFU#51Jd@JHsc>-HxkSj>V z7C{6RxS{_vx(x@QMHY~d73EIoE7au}fGH~8g$-`-8R0U+JcT`n(OZhd^`+uKT26`{ z#4fU_?~}su!~B9ttslvIZg+uw;Y?B{oo&7!hP zU=zIjw3I+9n=Pr%L_o2r5f0FcuAG+F-Cv4kAHBEeQZKu#B$1@w#%(II!ME))cKTM6 zgPUg;L|Pd2*MA_8Ykm5S-CFBUr=q4a{T{B>1yRYYI+)d-CpGhlM-CMWkF-69>{ zklby-HY(kCD=Qzqu!I^^gb5L`;}|f}TGgnb-%=6-m>}Yi@(+-(PNkU`3@Y& zzW!|fTEEaAf5k`xvTnte?%{L0uH8?`U3QxE>D;QLw1IT#kZB>1G3W`G=3_6$T3s!^ z@AZxleb70j5EjA#mWHyjIR%Auvy@ZZAAbbC<4Sf(ZiJ_SrVvwCS8%9s^r0L06kQm0 z{I&|OTl)sD4W#??yu1w>#h?Eck9!y#M?`mo$0+P&06ucZkyahEq+D0JZ`a~3C(_&r zY56aac=F`}cD{M@^+Sq}l8wcES!L3QT_PW#5cn^4hVee8lD*Jpfmmy(X^qZj)K(_U z0PTe#tK&Ttz3dTN(^ML-XjOg2^W0}F;SZYkI8J|(|GW1H4E|E@Q7W9@Ils$fw&Yjx z;Ex*@=XA*LIDz#4hP5KWACV7PCH_O}Q4?!IF7O}s5AM6%8j8i#u|t?=k))v>7&iC6 z`i@COxk+$;Q9$H6j|csrDp#;t^oL6x^>1Dz??$#Ddd}IH^D^&8D|I5d2T6uZxB3j~ z**i1ng#GU$2QT{iUTWJyF;9MX^1%E7jA zd&SP|JZxhpiJs0PT{0+5@0vr%R_r(#cQg&O^?}tQNF%PKMoyv3wHF3*mimnr?j*W= z#DBo>UjI; z-olFO;+%rGN2|;G8jeeI8N@+qCMg%tdZPoDr_o*$HiZ?S{0Ansbg0B`B>XT*fN1ur7aXQn^9C8WO*n@)N7mJX^z3 zUB)pNR?nCV4BNmO5vRdp3f)B>e_fcrm{plolzF1?;h)kApsiB;RH{;Z8w>GJHx*C) zOv_d3iZ9a$DkPcqLQ?=@8G;Ffts*2Eu-nG?aQqCPn?7iNY3u{i-t_t0hmLdEe8~6{ zJA97u=Oy?Ie*?tl&yxACjPaT6L&xiblHMwH)is)y-P#J$+tKii#C(Za5~;ghCitn^)gzlxbZ3U z3CaU*u${Y3wkyLu7n5JKY8dZ;Fo_F`j9PIaGC_1te94Fey{eOKWG|7t+f2FCwsK(l;62^%hfwz zfcaPbK>~By_oXzHSWrgmPl$RKh5eG&f_oe<3o-Vli= zD6w%DnT_j2X6`E3wSLggD5r>tZ3ec5EWXXI9w6YBlAoE0{)0mp?Me00}$$>MF67zPkEQH?6WMb zFu#vy(LH+5wGhMf3MFT<_g+I`(IfA=-5g>Drw$z_o%gK0qst-?eISgyks!mR_`k*< zp10V4S?KfD$nQxl)S6$0)flVIOg9)X-uxcUNiWfXhy|f8!a;a6WU%pOG~&T9C8N11 z$sfu^lX3c3FH`}y7J(wk`&Zz3n{>7!((|c_wEm#1ki)+7uZx=>al$sjTE3%~~U3an%uj zu%Le>6kR%VRGn@pw=jr8?}oXW(P}STrr=QF;i0Y8H3vIFgej(^qe7;PUj9y`MF9rIink)@n1{rq$g7@Y`LJU4wn7(tv52sWV8xUi(nPelM_!vbSa`e0e(McG3`rIR zR8XS21UBf5{b})sR1vL5^a1mTO9~5G1D5vuP13(xC$ry^lk6|w?j1<^#(xgat(exfjGgv%qDVHqT)3D6gh zVIVNzP+SvB&#)g-Gf!_`rgE|fo@rax1mAP6Dl*crq7Wj} z*P-GTt6(GNBXA}q{2>_+dIt7PZ&J}kfZoU@ju_hnv{61^n*2HtgPUv%Z)Cjvo>Ph@ zRX;lTHa#@1|1?((k{QWn+Asxt!ay?kzyL`h6@H2&l+;kQfzU(d1BUF=Nf@RSRiTR9SipF>+VL3!c|Kfj)Rpv}^W^4gj$=Os8kuYU6$(HtN5 zyKEJqqk6UJt#JJSZ_?Zmd*@Xqvz}9BB5Z1nzy@>5>rZk~rInnxNRS8v0tWyB8nGsQ zK>;{fe-_V%3PpK|ZvR{~d39hfa=&GME4KTB*m_zY7So5TzFK_8%L4p*yi9XQHXB6b zqpP=^r@rpT5J6(6BYTUTmd=@uKv$FGso3-2R2oFEfxu$N;sSGs%2Ke(h#(PLi!g#! zQkf3{t^#e1#;ZePpek#&|6YgPm|-HemZ5DBrTdO<7%Kv8F}x| zu}gFjsKP)jUAqv5GT&HK_Qq=eqV0oU14J!!yFn$yf3pqc^J!)79qGL!X8O6TT|v`M zOp_(4d4oRlgQpiv^X=HN+mzsGVDSpM@5;1&i!79>?xi2Q6B84gbduyL8T1o(;*iNy znly@jf?Hm#q*!{x942o0L|3Rg4fd!nz(O6NPRbdt8`UgJEXSEAYN1m)(P?ywU zz1x=z%k&TE(H+7pmzXba&;3A_>un+}*cta+)`HUM!~0C;$m2Z2a~%C;l}*cB;UXWP z?y52fQd#3N5h>7KRKUMf&@wya@S+^QIpNc%rSXbTq!&-c&gh-{_s##9d9mc--y719 zNcW$C)ZA!p-|V+)ola(_zkC}-u7T#OlMCI2Qj^tx_c)};%>95DOg{R16Y0=!^aW8a zNxo!H%`ypp*r`(#arfX^NMfo2G_94;+wrD1U6Sa&Q%}es_~LO6@f!aMX4XzfK-BRQ zvPFrDXan51?IxglPBgZ4v{8hXY@hT0*laO2ir|v%7+$$b0O{kh*${b3wl(G-9%Gx0 ze@0z~%L?EqRZ!{+Xki}c4Ie<@>8_2-seZTJWBH)of^(GK7!XZFs;QtJYrDLrq|6)p z-=&Af_MZu`#-ov}ukF=Whh#?_u`PZ#bU>3%(n~-mo#c;p7~!`e&*qCzhn0oS}}ypbZSVSaXMrmRBg0E?6lPO0NiM zWL_rN1B+Z?;zL{v@spK2r;Mx)zkIP0nN40L7x({l>P3Fu8@_n!8+NJvS@&5? z;a%99_L6!$>7<=IImucnxy6UX$(uSLg4`A-?||*-@$C!-lh~O?hX3o%Om=~O32{V< z3+F4|sD&Jltg7rC6l`~?27Ilf80xg-ne46}FmmPffSOsbV%d%}T>hpyJjFD$^@ z39ZaY{26+L1Wc)^Riz$geN#brQeu&&fUz-mtJ?G_n5`&x++m?gln8%>99s^mP$T;PEfi z+9}Zl_a-{UA<-pk*itg??&owNbE#ZhhoKK4Z~-UtQU=w_(Zw3k_qP zNTCm*^Dv_QWkOnFN38&_*Bi8qM`!;QS2@wy5AEeeI1u307bpU{ob1#ks7ZzsSbBNE0 zPFubZ+nOLKtT-@8a*ssC z#0Kj$IKU>`q zH@+*qcv;%RRvg`9WTcjJ*E`F280q*3i8X-5RUYhAHsGsEdUmqXrP+Ht+*ERdwUT2k zOOV}9MZH;Wit2R;<56Q9(Hf@3LWHf%c?hPWuJ?_%HdZal1!9J-^~+^f%R10~qsyAO zY$+J*mSWFMEy_&=P+V$EDso%ZQc^juRWHh|&Jh;Xn&PB{G=)P7@!AH=w?WJY2pbk& zhLW11&LKof7|3s-(73goX zREDISJy>qV1zX^vH5($y*1VnU%Q4qCN~!aw4V>!3JHn+whsJ#{w#w0Qd_0cSICV_( zX?1h@%v!p6=G27>$&&VYaU`L$-)60(Y;#TA#2Tjkrrc`k=^405@QikPS{#{25cHMr zFybo|f8v*;cH^`}1=v7v)wiJzE?tP8BE0ALY0>-O=*HR}WT2(IiV2XZ!gK9mQ@&k?<2Y zt;*0>yT2q`+0)zQcLdopy9^zNL8T{GWc!8wwI`A^7Lc1bR64BtOO4x0B%3IE=Cyt` zCGOR>S;v(L8Lg+L=JcDntbgZ?W}Ihq>3No-tnoMo$C$9H7!wFFK}q7VtVdrN_|tnu z!IHYjge%MgIf3Et+}_tWo}x_HAimK*`z+uZ`c5TL--hwr#It|VhJ)K}KW~p`a zig?bFqZOBfT^|JdBSxD@X)x-&sT`f6#n>!vG0cFx4mSkkptE$%V7yZwqccQF6k7NY zE><@bCT9JlCUy$r3MXAsNO*K5=EmRYpic4A%y5aQyE z&TWhVju;rlY>IL)clAZ7rgUi6>H_YcyvFS)AcEUCdZ*VR)x?Owb<;Kkgkmu?15TQ? zblwdF0PvV_$@ySb3odsG^|3Y}Gh1&NkrL`VtcCm1{+}+B(UTWR zU;(WA2FOF$O)Xt0%E0lc3o)pCL!-KGA-owQ*9g%q7UBT1CZrCqxA{uQX1U5QLyk14 z6(8nkQ;+prT98L-_83m1e~w)1Gp_gwvBzb}l--!Ls@yxAO2t6%=|2-dnbUko>UC@5TrDgnS*A@7#2`e2o9xx#dW?`=d8QOAm~h zOr|BVFFu{Ni+#_IN#}{w@D(zoJp22D@q^ix7l)D|NyPHmHLg>emn@O1$_22RlT7W^ zJ&K#CsZs4@v5{P$XQEoxw@B{_@(t<`C3p}SIfMl6bc?+qqk{|wCd+dqC6rVK*9O== z-zYSqIWz=YrK!&R@SI&?G^*r^GvB#=d#Ds$d~@mMHZ4N)!^W+2Qp>Wie7VIqGA@yQ za>IF-eOhiL8J$St-VXbc#1;=vCSjM;S4R&b>6PDJ6Pi-DsOeBx3lgenzcz2SbcalD zj(E{Fb#I31WbfX>?A&3&-mHMk3lJr2kS+R1KN=Kt9SN?uFfoJ`(jKE{UCW-ER+O8ToYzG6W&?X}tD@Xi$+_){a@%of4)HBuyA#!5S{ke_ zbmy8SZ=-c-ObupfVv@s>lo%h!%?iL6K`uy`R*Ulnm`>xvxz3jzGcHaWxjSyj-Q9V< zQvbNAQ_lr|QlpnbX{R9JLJjA{Zomw>$P!X^96yuFR$8Y4vLdllYP2DGBcw&enErI)Drw(~DE5OUXlJpYj-S zqQ<6{rj06fgaNB@p4Y{62%h=0fgxFPbD#Sz_W9*|GVR!WvswBwpCq5ZA!k|G@9e9pgEFWx zHRH!0)2C5s$sCf>JSTv>J(oJ$N054)2BXG-23o$45vlT;C%n<*;>8Xr zG?<+a+Y`nE%NHIHI-uhzt0AzwY>qy#{B1_Y%$fW&M06Pns2uFTSJcxGMMD}tdgC96 zBIDM>dxH6=vs8FJB;GG49>wldYcQ|8ZsQe%la=7vc+&s0ZGjMqZ7ZKocYb#GT=VJY zw(NL*?78@Eh!kRH=bU?;JPdv8x~!~16#Dj#e~UsBzl@AIbD(L5um$pOz<-K@j1+j$ za2yTJrZ-##{e~)C=r^71l8cm?PThf+!1+)GJ;%Jou<1m^1`r(JkStEx>r9JzuGS%m z(PxRz=6inz7W%Eu99FO(tdhKP#&ouTj0R41!1_n$Nzyu0&;Rl9*2A(i`oU86TZg@u zWt2LZ+Ov7mSHM;)^XzIh68*2MHI4(0bHI+mP-Y&xOS(NFuOAtIkewqN z4v#-XCLNx5h_qt^505*DZz=v(-d9qj6r=JEX!IyzkxCg1UjmH~3svCGaqg-_{ep86 zmAIMYyOHD$aJl`Iu#)f1Ay^%7xr5Pn2d$T!r|3i=G6;y&p^n2*`X>HpBQc$nD;q&k zOPaeulPRMoHyk`hk)~1WfGS;|ywJv9*+42*tw6{a*cTz`G6^26kl9!8yR4=QdzQ@lPjliOc4->=c?8 zt~gswoee|L`lJrZyw@vy61NkT0Lj2#Z)tkT)ZaAQl-oEtw{3E6k7Ugu76uz+Se}oc z7sordvEb~+_PiFlHxV~#D=>Q6+VeW=-j6NH?IC1W4|`r;-TPIG;0x!~Eqw>egy#9B!&*OJJf3v*Bz0P-BpPs`)mt2NTo}c$RI1;9+tu1X49<`dWz@WBHT6j$NBqRqFFQF3BARyc8z4Kea4FSyL63A zv`*;7-|q5Kr2KoY!GsLyNruoN?E9WW$nfssskPfsG8pfsyZ`Djl&VkJm-sB@@6sVk znbPOX+7o}{*-vwtbwqafCHNRJ>a_#Gjp0BZDh~@3hCb>zz?kUZLs&9V^~4RaFk!(( zdK!Vmg@;=XquPlel_LpSgJ7mm0{)+-khBD+LM%#Bf+I-+LWI*{k=$1Tjtrii6L2_v z7CGWa(t_B9rU6)9^hU|LrFp1?iBDIDG^?hMIJ#O#UVr{)(c8m;=ciBm2 zmcxR4XTRK{f$!`-&B@WA?Dpr2R|aQyI8Pr^(yS7VaQ=YPL|&ic_7K9v!} z?y$cc(jT}+7L#4>TymDn2<~4A#lkgfz^Bz~@ZU;io8{)pW&GAJ>Tj8{OMc|PCG~#h zx47UFzXkoJ<`u_@yy9e+UCk>ZL!))+32RqV;3Ais@{HM3@O-S06EK-XYLS<`l%^Kl?AkzYYVpD8$W!GD$|JRyqNNtmeR#{0T2#Wb zE?z9&Rhn4D{!l_E{|xbQIZ*OTfBWZL5i)JhR9U!L1%%DvGjU+VDS7`CXASKfYhlS5WHv>J1~ee z=-0d3L|V^%RmmmtsLQiYPhZ_HE0sjH?=fqmOx#yu=JbVaQSuQ`{M^u7yzXqQtGpWT zDbFohb?pXcRv5mTN)wir7I^a31p3%{OxG1C{=-pI^vJ;|Z`S!L*qmAH3dRPMPnv~G z5JYhy%AxUi(K6qp6LIfH}aMxYVQp>AHNEEN8p_UMW|c(r?(9m0TlY0;hZ( zz0y9WRF~w->ruQ#5r$BLrX`UiGM2lOxKL3m?nsdrNbXMe&lFQvgQH5g`3abTbmHF; z4~OD}@+$OUvI*Hfaj6V}7q49ay6YHR@GGyXNRbAya5OfNZ|j^;>)S~K{M{GWXEL8_ z!0{p_4_+j?*7=UA{AH|FPo$a^b@gSTd0_OHBKj8>?I^-FWkjTZFg= zV!8Z8*nJ5l31a2`&sn*~UH`Uns;(S2{~25*+<%<`C=QSZrQqWy=@u^aXHhi~L`-;d@-d}K#l_YK~w{7;)T{2;1vDA{1k|QizV0t8)K7rh` z(9Y)SCjS0jmM!|W5=}p=@5_Ji_f5^&CS?RRoJgy9-j_<4ke}J2D<{$PtNOn5BK}Jd z8#gIP7@||n(_bqh9U2wIwbNdBIffJ4>+Qe-wjsL9bLltnpbwq9h&n+QmW`;dt6sy0 zBI^hHUF80FR~MpAN-K9Usqn>vE|u3*NgrQWe0FSl)iu>xkb_8qGg{5pB#k~;47gO3P#hg0ATGC1#o0)bjznn4DL4Lp|uTBOEhHS;bls7zg} zvp!1>>7mPVx%>%F>VQo-5jYy93d$la%o}(10ZWMlD9KX#@}KTk$k{tI6GtDO<(@_7 zxl`Q{SnWjc%L<%*plP0Z_F}b$i1_zEwm^Sd)(Op3W20zu-tF~0`08cR?FHOeF<+Ord*LqB2PP7buAq0c zJ2F_@on)3R^WLUJ(<9Fv86xfow5;U|d_Dl>%tF$MooPfd+!1jaS|ZZRd<5BWP=_Ep z1Yx1u36kXc3&UjxpX|X2gP#<#m|h(vB}Te8J~%VUU3U^v{!$}4KI_T1d>%4ZB;>rZ z9%~NJqIqI%8VL+)^Z9E-0fM?bpa!EKi`>L;BbaKuAB%jBCIdiZ@O~_Ej6W~IXZRcF z$KucUj!uk0bponp{%;#=PVRT6(UB}`*NILnMijXWCLd%M_gCAs_`PVxKC_I$9-XEP zSC9v7%c5!;L&VbCZ_2N@w;qy&i3~65JfZsa={%gczW5O_O{4Hm34@gN>Kt)LI5`wD z!c8m@UZu0^wYd|$6H%llX7+B0SLA*-*i=|DkK>8SV_0X7<*o=(wA^&cx0%W zs7gbYz+y(nJMRlfOXRaYuz%hvK`miUz=;4+3r;!Qatl(dq1ShB*|GBDd43jK8CBab)zRgB%gQa9QEA>U zn_nKVheVL}%3h`T-lguR?o(?2hNRwmLTY1V#we3QUJ0Qj@59NPNrM}`I(=!8 zuU-7K8Eo|az^v*mcY~)>Q#(nKch>Hx@g$=?Ckeoy0Ap1RPEuc-j+4|KmMffA;wPC< zNjphhG8O1U`bogLlMIG|f`h~am}Pf5)F&n`ocgqI&6NsHhxNv1+f8g?Pin!sC6Q- zoXn86D>tsz8L*=}A^ruw^t%4LBA?sYapB!MMcvcC3PhOiuV+E~BJr~BXUQ1wUs6Eu9t4jji1hQMqamTtW zaiwb_1KHyUniu)&67m2|Z!<+lqO^O{rs79hPa?G74V*GZO-eM~S5H$;5L$3Lv>@+Q zOf>!NIeom3Q@#w%Ul*S*1I%@chT{*B`|k#$wjGz*#KYk;;D>~BS89T z?7e_k`Z~vAiu3=^_m&5D$eVo47(ap8EcGFKJ=5w9(QAWt^m@lZgwNoc0Y(ZpR5BpM z4IB~$%Y`eYZqt{s=yUX(gd!z7Jze&7M%d9iRdd*lJ(kwgJy`< zT&*riNJ1$JRY23?TwXEa^ zCU=f^Y!2IF}|IeljZ3v2c#xI$83~2ZE?Borq<{;7AD^nSfxTC^FW zEMfHksR!-QASX|j-!9^rZVTjgOVlpJAk#fiC5T{X?Xr6JA1}B&Hy%aD@i*f!Sw_#? zIEHw8F6!-Y47%C{exHqX8a(XIPXXH&mBZo;5PAsPhtCq=$f z(4^^0S#L|UbJL!~hD+C#Z96FP&s~S&w$x_t3yBbB>hB8mc*uM*FBr~X@fsWy?=h$# zgB%>w%3Y*qtpJ_w0)O)2Iqr8LBT{N?CHw{hchnTx{|EQ#_wR&9u+P5tTMGw&_iOAA z@aZZ#&b=U<-TWSg)?M>vdj0Z+_X*E|RAoP$xH0kynH=iQ6V(2=_j*@J%1i=VwIz_wytu5kZ4 zksIIB0p-5kwfDD#jWL_Y%wDY!)d3`Lb3guVL_;~6Vxs9Dm$rz4zF2Y=@4tn3=Ziwu z{iePzy^J^~kH54O=z1Z%!%g2wqsa*^o-fGet>h!YTu#h@8xrn{;l}*{GL{?qt6{-& zQ&ZnZ01Md|iQ$@sgCc4jeB3u7#p7xIgfr~#GM6?~YaLyu!iu;l?zUsj0`Sc}ny&r3 z__dQXBs=I9ecL@7+r!G^SxdPxb`)arR3Zz`(WoMpt-TP@UoF6=?cq6Y%5&Ti;kx`+ zJ3^AxxTB3-$o(!S-V8gpu}a&R+Lc$t^%kB9Y7GG%@pRPwQ#53){e2q6@g#&7xmoW; zf^t1My&ytZT9=pP@+YP=`o?)$=HtCE z^IgbeRn{aWa)*M?)W*bP=x51v61)@PU$%(d+k5QCK@lNRkre7x{9B-mux1 zEL$ImsK{&<7W^Rp^6#?zE00lHO@Id^fRh!Ld<%mm-&I=fvE*AAEcvcPb8h$3YY&5hNVU%&3}OX9fV5AWE=`~f(NYig?)-u1+69k+7Dx@TRV~-qavgTxO>zrA8zk&?@@Ed*33L-7K0lp>=dA3v?E% zD^;*)_+d$je0B>Tt&yNDojkY>NOw~C0U3~f_Cec~+ZF0KX0zHRJY2`vE39C}g&_OP zDa88I`Rl(C?B)kTzj?1qC(^moVfMpDx=n0q>Nc65d^=QzH8qFB+DkFbcbRL|<|hyT zBHklyM4CnGz%wKggfpv!yu1zNW|@1kdcEli5pTJo#D93YNmnh-UDV`KE74QhDI5aT z3`Ch+QX1bs*j&_up*am>8n{WQejqh1ty}1dcjg@JJ1YOCEGy0G?!IcJ_5%TuWeIcd z`?>1!cQ@r(Br|=`c=eKkXvrce83TLFPcc&p0Mf;hJco98+9W=qaU02pG$rK+rIYkQ zAF-Y1B_;0+MmFU)tWTQF!N{QZLmD(5HCvKiYStLC>os()0U8-G>HezFGPI6XLV-{v zoQ+GVrUs9V4F|B2bc)v%DvL&qN`~q|S6n6jtGMYxItkc2UQ2pEUX^%*qiTGYIpllFk=b69p1srz(%e_JT~zigiO z%Z^o>tYp%wixs+^EL<>thD-p1KYPT1Z^p(<>s)JU%a>(k0dZa!l%785L$>2Qr3bcP z@54&IlutqmB$+&zBZjz!)>5NST>>{!&dfjjznjSZ@Rvci#b$Wy z1)xfZ%s~C7#evJQ< z3>`tIZX(O)PMISUgdpw|j@w_q$>EgROTx*@d+XZ`om{zPLgTFyGI?j}PIgs#6%>r) zyMyxa?oPABMEewHU=sh|?+)11Vb9&2R+rCx8}IHoHFuV|{Awmp8;7zlB8fHsO$;O( zKiRIB{kMdbFC5yh%F7kaLAE?{auezKQs?fHN}^8Fs#cv%B*db%dD1K7D7lhP22GX8W@j3NG)aVJv+ArVeH1e zLUxxumbXg&_kPKwhn^mci*M8#La8B%6+-D_w)28)zH|_K{iNifSpog{UNO}R>(L1z zjfVg2UUht$`^;V=Vm&g*i29)4YpLjwI7&q$=4P>>oi*H z&lJ5Un(-^Hp!UMs#>078^BwfDGnZem5I#`Zs7{PZc9lfI_3O_c&;I#YUWDP}PO2isV6|;`^!7Qv3 zfG@g`@4Dnq=Nw*V=^lv$?GFUiAFRvXX7ivg0;ZGGyJ;KAOezura`%0Uy$(Rjs|T?A z5hdTs^ALL~4-|DFl>W6XM(3Dwk4KklaFz9B2@zr95|o3pI4yXJ+Ix@5kct}R6mC<{ zR#%zB;+s^Jj3~agyv3|dxg~LEA(pl;8n(X&@jLEoS;SbVQhcLb$G=H5d70Ag%hBM^ zo_zYaR_eCPR2p{4)w|d657@8kvHEtvj9P}umKfA=i`5%yxJ4}~D5MuPF2zrjMIh3k zvke8fOllfmqFMB}qyZd>?}67;^DU6aZAMh1^q^T9d}-=pG`L7*Nu^r{M${cRYvF|m zf3xrOd9?BPiIXPoC`^~+m4B^`cuG*B(mb;v{UmSbixXFHzkD;Q&dcF$MQA9Yh6sXY zz&YtJ z-^VI8zkqCV5S5*c#*x+Z!Q`i(oqk3afJAZnG4;KhVcM z?#p$Xw*>&4aijYL%*M80Wcq&Rj-+G9UF^CW5(WY0 zHI;NBewS~gFd0#7fU5n<#`eRIDwVNrSB&}*Tva28mg?ESXi77~EktB7RrnH!E21t% zRQ1BN0D+tqdi`uspe=XXhWnv~fjijWTe5$h=o?CE_D@%=>xpguqC2lDXOyiAw`NSX z2WD?M5k<3B&7QPeqU)xU1s8`%bmZx2C4;K(>^tY;a4HQhm`p}3P-v4@v&T&%WV?uO zwa~}6XjeI2cz|!gzibU!CYnTii=tatc!0mjb!-HbKO)zf7PRr5iRPJk#vM@1pvyN3pM5%Hty;Hm>Qkohp z9$Chwp_{<}N97t+F+1>0VJZ`e5D<6DwDWMn5Jr^OKGhz;-$P2S@Qh0GH610aK0^$J#4#r`G^6Z;+t>FPI4OG?8hse5eyN;#9lpQ zHQZ`s=2)o7W%S`U^kJ$%s^RhSc=aaCZ!DzhD7PKMQw3d*Rj3 za18XerVvk@{=C>AO@JH8b=cIk`D@sWa5BGsL4C56C+88gA+NG!pvhx4KpubV{kLp_6hG(rUlgz{?N+3!I9w3n54#iyy!Gc=|F2P-cySBKL zut`!Vv_O?YThan`cW+PS^t5Dl{`*;bcCt5z_j~{E`ryjU?9sKJwbmo|V#zXEfbIiVRlY3NpTA$sfxUIe@nk}6#ZfOSVqV?JH z*gAa#JG@JBiHYn%(P-EqJc8GjUPBa1l;#Q|XQ8NN>#|r8h!97#xKmY=ld3g3qRtx7 zdjeN;AMZ1cdxzyt8C3J}sT2ESPc$j}jo)zG1z!mRu7PX-2GLcu48rpD|EJN`&jwqgCFr~ zyDB-^QCapU?Tg{)^geI>(in3uJy~aodgOrTX%j#obq(migI5-TLQu`{z_A zdHiFg&3laId|dCIJ+e8^?%S)|STsfL*|RI|vitHcyW_>|em&^f@jYqnhdcH_{uE)= zLL87Q8g~jDhEsk8spK<-zZr167RHQGA&=(*Le+-4&{et91Nt8CF3DrF+l@G}UOAh$?ujkB%sy(n zNa8u(*QErEsSLghc`a&Qr8>47+)3zV=9o+osihjwXDUFGirgA9ye(3ZLI#j&i?fgl zU|ifLmlPzY6$dBBC#NM#Sr@8WJ`2{A974W5CP@M7`{W<^We*AWo(ugYUCZxE}L>>u07`Z1RhDBaKdEM`db98pj zUU-=MMCupASr_(p`|a8MzSljRc&&o5kqAPS({4z(>f zcPuP~WN@k)j*E|=k$_T7f(hPk;uYo2o{#_m9EYSKECIbm3WLMr!+91kTR5YU15gm{ zlW<5sws}LqO+Y~jtlVbI&Tr66ue@_L-NlgJ26F|QW2K_{R7gNst&q0Ew1xCei;!AA$7?SxcIyk~JvEj7DNYSMwG0jFq zd>B0gtE3^(+1gSNdn=hx0(5*gj2=%iPo&Uw%B7$TPNcZCL=anQs_K4Wy2PD56B@bO zwx2XPVCvEwedbHqMP4>)Zs8DRb6Qc|mmYK|n7glCfamH<(i!iFN>SZiyTcgYv4$T+ zJs|IGMEgraPfTM>)&J4AGCuLeNvHe}Ctc=fTK1judr+quMR-Hb4V2M|6Zihudq@Kn zJ1-TP#`Tbm(3AyhwTx==wM2Dd+$O>1AoQPZ>xkP%;x@zQ4-k6HBX?(c%~3zYB?mPN z$_@4vlr4b%R`SB}Y>%-*Xgz5aMpX=G7?GmF40bXXrC8w!0%U{7aV1)U@$J~PcppZK z&tSB8TunT#E*{s!whp;aM|jf`-;MoauvSleOiTA8I8$q6d5Onnt+-RV{rSlog-a?O?(%BvH%}LSbn;@@ zH?cR>Be6?@pH{v*e%|}?qz)QyF|NZ|{pFJ^TmMCE$RhXxB|YSsH15uj?y(Q`s=J@x zt;ey?=?@R-8TMi6t>@{VzBkx)?`{Bdzs8?u?h~*vxg)-;RH3-CAaE346-cr9&67~h zJc3KC!LF2{kJ@8O7}=S2v)E1Y0AzqVfSpUerxYnUmZQ6F1CfNRrt%;5 zRljkh=<1CnMPpda&#KQXnjUlejNDjx{kr}%>sGJ!4uw-=oCh!SkGxm-pZvUc@T+e? zH)HT{|0u74j+Elqq{WLCD#kIksYd2u)l#BG)K2*`;ri=2Q;WN|hWpiWH!<#=K%k#sNsB1GN*E;8i<03@oGL3)so4N_fwlfN@y z)%4+c%Jey(|C~@5c{b);$GOk}V$YD!979LO%1ekdB3Wu4& z^I>LI4XK(?wO&=(XEGNCtMMvI8z!jraHkaj2_)8^oK{$nd_9?yVVWG0oRC~E8HTCV z9)Sq9Ha4khuQKC=grV3&YFLQ}AUU`p4la%#cp`+6B+g_M(Xv7|WGW3JqtczJPJsVT zHIb4M6@_98JSo*u6WR9cD;uv@x*mEX_IgeB)3MJ}e~!K63c3+{Z?}Gw&Gz@^h46*? z{v*@9&xG{j8I5=7Cn(8Gs<&&{u0PnKS-V(zUA~L`n_X_mhOu8c3gfY_cu$3PT4!h@ zfL?(djWTFz%jqvaA7}t;f!_#jfa)#6gh*HdoU??AlNF2Y5`|hqshN%y%3%&5dF^f3IW@8q%cs#SXm*xo->Z=E?W@tfanggYQ zZSz8TGnl{7s-Pl)!$QDgB{4f|6$zXi7|Mb4JS{9%7&Ao_g~day#VI22FOKwGBXlIy zqqO2mW(shb6esdcor(m%WTqVMioKzK^;DPXqx7<*vPybcA~5}{b(miw0*J)z$ZNl+ z1W8hl`})PxoO^h`saJD0;g9uuF#YQE{OMO`ct2BE#IKW}TLLkXSApMEM$ZPJ$lBz- z&}vOpsXW+=^j$O1UULLj27iO%ZS_x+Q497_iS{gvyl{b}q+;E$fvH|gG7x0oBU1S6 z6a8IrMU}%<_k^saMN4&w;gI)11L>pQ# zSUP!l8EXeQip56|j6Lhos;CKPoSY0Lm?=h4vJ`$!zgq7~y;m#WjJZ|$=3?f(`+aDb ze*ahfSTw5I{>(b;c_B1p^&M- zt`XEEsB@5%g*RRZt*~XmX)Z)tE}{DiuMUiW3w12dqgZRhic2i93f4}3)eK<10uu#j zN|-1}VYPx0{$#Ux(Mm6he-&_O#*8)oYT%hXNYSiMC{ z=fU_5C~T#)Yujlg%-nWuJB)REe;+O7X3KFi@?pR(YPTN#j{IEKv^xrlb?h>ZcWtK6 zlus>gxA8n)UebR3Iel5Lk+5BR^dw_-Z0|qGx+RI}HHc zIkJPmFDrn90}nrmwPcvTVA==>ORCstA}*JJIThKLsJtVnghmt~Q3U8gry5#;llNbK zGCVL?9z7*|%;aIwPp!zE?~*)aj#oncc%NQV7Hw4Jc2i>_)a^@q4hoOu1w4@_7QZUV z=U2zSqHoO2Zq%UvD1{HtVXmW76!k0Y93XhkUzC?%8HYl%uW5FfO2sxwHPy`;xTs-X z2++#Bu(>*`;%!xFYe8)Uj|1??36QWMXQhdl#; zOR^v&=H6%}38jDxeoEQ`^Xu$AU5O7sh(UmVXvxm}BLRNF_qzCX?b2gXD0ee;O`j=2 zx_m=l{z_r#4Yv4|i){ZUX_x%Mwt>e`R_*z%1D?34x6B>~Kz&3&b`6vPoiggd9(neI zb?_dpmgmt9_+Hv6p93EWKs@DCgO3QK+N4A|NI;BF_@D5K#v;gPP045o(W0rL;SxPT zC2K^VA+mTtD=?A3a@$!LK?Q--Ar+zkWI*f;P1FNp2EE;dd{2~{zR$N;Yl|1~$V*P-1< zmKYPVVVEXxs#S9NLgg+53w%)M^)L!9cq%Tn2;)uQ6_FLsQYZ-yJ=`H-!V?0Z65v** z1ZX4CQ%x$k^xTS)(Lq5Plh-YIZiHL$hBq6YfBNk=*6dB^?)0pznKIwY_}Z;36pbj> zJ=j`bFCHg57fZFIJpFqXKbh>VqOw1fnaVy#Dtp<{g|EW>cE=}BL7coQFNFmbVoXg4 zYpe)G$vL)`{h@{^#g0@S@7Tq+(`Ohm7w9t*?#<7b#R|k{^6?o}If~CDI_B|w@fl#! z;xn5nJ|omc^LL)Z*shAtBs=nbpNaB)rhUa{D#nI2>Wnp3{KXROg*`+7q)6sc!F<7j5eH78UFd5HA7?ey(7y%l$VU&@ z)llYgn|Xb@=6B@Vj%|CPpI_iXT|au|ZB^n`SknE;X9u|br)TFsU)3dTlXTv-L)}JW zv=I_dj^5p#NeA`2*AY@N|28`E%6IFBeZ?XUNDIHrpN=LQzkk)H-#qA6Rm*BA9dVwV z(7T1PidmK)C@>Hqc&(vK;E*CqlO@V+ihlNX`>6;;eyiM9e)`9w5;};??ce3M#0kwT zZ_HNiB!JYiHWP#Y<{?|yNe2xmRbnP%RO^XJJ-v@h*|86h!kzt=6jRGHOfaq?Cq z=gi!Tadk&5#}S*s++)~;W22NivNU5tzmuD)IMwc}dv1I&Dnfqc z(5uHJ`KzbTvd6)`Uq15U8A;yuU?b8LF0(!4UDx_v& zW`@*;!HV*Z|MFbk(Wp)3hB5o&UhuqhAY*7!z3NXVPkQnkM@)MVbH1tsoP3e9i2T5> zaOUf?2)T~*J9N|Wm4k`fC@MR1)ewG&LG2{<#-Gw4ao7@W3mO2agnd>;pewF_MwjTz}LL)Dl;{*8hxnmli$LGK@BX4+$v4zDi3M7hrtv=Tl z-~pJ=Dhx*tDH8bmXI+nVpRVhiJk6$;wqy2? z$l$a7aYwo=nAfM(U6Q_3onVq01Jtt%vKRtRlhx|I2&gCx$=9l&dRYmm$c@+3W zv}2et3o&qW79vL59Jo-P9yM^Q+<7Pk78bvgHaYeKj+knU)`0fGPZ2Ky9Q4rAX4!Lt z!#<1o^vR;5Ct{9=ReJaMluIM@B4tcu&hQx+DTcrJ#50`N4F9J(Xpc2f2dc5yEwvnb zjZq6RXpUM?*t|%9&YoaSp(ZYBnis+XFy~XQ+LJOO%mI1@P_MOEbV>iubE70mb7)(KRhd6_Q=_htO{))?6%xu;1joF6dO+?qz3BI) z&0kLn`mE9?261Sk6c6h`gbA2BZt|qU8=Oa0|EIb#I+A}e+(#MO^<_WFH?ixhp$f9l z7LqXgB$E`jpmTwUnRH3P+fvL66Gs+bAdWau3?b*%tSE#wfG!VV%1O4kU!0AH{X6h_ zi5(*>A>SU7(&eWN_fAp+SKBsI;oiAk=~{Y+iT$UCy)F(;Xw*vw&)#otbL{L}#t-JR z#HxJKga>^=p1H?f;L=zfNi)n*qwG6%Hlkp$ah1o7$8!t%31uT?8pq>^wm| zXE?MI2zSC?gx@eDl~l5Lj&?aloPjDMG{KjeB^0?MsE%X z+j_Xnt;~99%8ParYb$Xz~5m|OdpYGRD zc?$6)m7zs7cC7nv5&s&trMafOlo2apv=9lix4J@>mLStsg#YrtI&x zeni$x?jCV^*l>wwruJl!4Oi-yl*Ub)4G0KyHksSsEtQOH=9<*K&sa8C9#p%D|KHh} zIaRNP%Vpu$t4_)MyQl%H6aHMB@CcCA z*0@ILE!ON-ZtgApB{iN^nR)8eO#O>frNyU|ex00B*O}tq-;Hy{Kk0d<_C}L1roUCX z=%3PvzZV&I&_;)P?>pb|n;|UG1mKj_9St1?DQPHXsa1}XYLSx;#vW9{#1I3R({NU3 zk0RzXo{JFucxZe6l0sou8K{v?DhaxlQ5;w}_CQ2bas>Rb5hz_Bkt|0`*Gk)zwwHtB zs&*NAV#nsg{5Ee|t4ZUmA!)a6-Rdd>L6FrxrS(heOLzX&v}tte>Ml!mtzVqpuyw=X z&D#v^HsrLoo9sG>te7(7IPw`%Rb=@2dSeS<6*jbx9l{(2KfMrX@h0*T^qmt$(y@R2 zDqhecA`Mq+A`E#-%#-su+-{Ug6A4 zNoVu+j{h*4jgH{`8?VlVo>ryoSH4tAp$IrfCoM!&_&_X3d0wLvJjrSPNIAL;4Kk$S z+X-5>kVV+#CdQ5xgP5!q4Er_`0iOxWmIefR&aGX#G$6=xrlFj@vPw9U$E>L036Kl- z%zx^VEEnxrdb*I;&y%DVFJ>;5)K}4qfjcIZ{Vko54+Hm11}_y$BJ?D){;3&Dhc*em zQk|NEi$@5bvpVo#vp$p{Z4VJrNkCC0WF$s&hXN*0l~SR>I|PCNro&&JePGY|K>x+B z&c1j#%2iX}tiM}1q&Ay4yVr`^{;J|0(rwJnK=&y2<226ipPci;1Qc;Dd#k^GPcP=X z{n>2Zt4;fQ>4UNnPd$D7YKkJRUiOpp6lNER+=sf3dB*%ii7Rt{VzStOT5W$3mQp)S zyH*=@xIU@aOFJYU6lmLA5D2q8N_C)%eN zA~*w(2~J=X62N`p8B3Vq$q)xpB~x8G7W8J1eu_H(^_gei@DKW>Z3o5q&Benvy#6^^ zqj$OeCypGmtFzyjo`aXT{6_YAe3_J8FtWym!4vlPk+_!s!no>-yYG00D+qDvJD&4t z!~2cmd@`TZZTQ&!_%keYhpfsQAKLRKO-yjO03J$9;T#QCALa@n0&E`4Ui!`Z*sJ_$ z?}%7wv|Q=I*U}$*Xh)GZWu3eoJ1P;DqS#Slf1BT4?jOePwxDR58X)5RkY*#Rzm)l$Hy3tb&Djv{eV6xYTYc$CN#2w*W*N9d zm$L7r_dv1A4qw$e!MMyhnJEVV{B0C-28r6Rfc_K`&E)%qfVN^gIPsQU1#cUScu}-2 z1Ld5>>~K6NBgkNP&b=r3t}41ZJbTK7Lp}V0%B~)`t)2agN22kIV* z<$>7*9@6-s6USAPS&nYONmd&y2KeFGhVF98Tkk#WKV-4LPDApF@=LQ8w(;H z5>hw|NJ3gTkATlmZ{|^QlAv6uc}|4IcPxE6hWD5i7sv!wY!P~{*Ao(f8ZOYEVs(ailGTviD-s&o>cs# zelCvv5+|J*b^HkNj4t3APs&fgOPK^|nPBuC1lC}7thH@YlOV)&Eg5RG;xHH`7P%{UG9kF(&g%){!_QdCMxQnAyc-;hR7us zTC_Tjx;Sn{KC?4x$YK3~{wsegy-D^gSvhj@$4>Lt%F5BxSj7*4iUr|p`8&F6imwha z0V+b$n~Q0(RvYJ&xxpoD;J@atQq4s~GLu$K{MPv?-x*uFG+K)Au8)<5NA23RQp(x0 zjQBZFA$bgb+Ygwf!{=|H-?lL++d$0h1Y~9V`bpvp!{o+oDckn8_g;shuKM@ac~|&E z9Pl-sTKkfdN@mZ^}fFS3-%xV+nf9Yrg;m!*Vr?9N8X<|rWx-54pu|n1gvzhF$95(n!hSc zcJo5uW9Ee|gvCTLG!{%fpfuG@X_;DJ7@@vkZzw^V?ujDqhQ4vs)hUxrQe)ZrBfVKX z>w8&`IQ_V+qe9jRR;^E4X-?^?7DJ^W4`xU^T<+4z@45551Fl@IIsnxes1^v#)W`G1BAIkE*@PA(TG>)ioK;oA*VC*yNnyleSSwlj=qkdI6i-C5 zDcVwby8cs-qT6iCv$q4n^uJ%et`GWh&fx&}_^E%8j{y5fxpd&$k$Q3fAH-&k7&0Ek z@G#O2WtnnU`APV4lHp$zdrNrE&5@eB6%h?Kfr?Mg{d`{_%E8e<4%fD(D*!3hAa4K?mMnV)JIdx8ByMR&eVHL&EUp_!eEH&icYyxSn>uRTE<6613tFRM=N=!~$7+YwWL%5C^1(3o1o&VCHP$hx2`YQj$fgy5b{rRW-7f#vnCaCOM zGT;Y@+R1xCVSh*j zW|4YgUznTZ(UTx)OjuGfFPHp*&RkfKL;wYH|F*%{w$6{2(oM<4XRiZHmoh{92+_}UZ4iy9= z2IOJMZVn;&`bRwKms^F8P4s@X^7C%(3vXjkGo+0VX0UziK`HVrydUWEFfuVlDH)Fx zM?Fmu65SZ%BagfFkQ;*Ell~*mjP*v`F5I=t{62Xx9tD8ju0T?eAMt%QdYimNOtW0# zIb@3a(NuAV`8kQ)A~_3E`1yj?MYjuwZ)Gq1t6P6 z@aKIPM-b)}@ITSsWDeGFc>ES2iw1)wvxa~9^oGbEPo8_;uPET=kVT;&LZg_G-hpET=R4o1ra|jzExaKG1{SS z#mc#YpG^8#9`d}R3rF}(^F!r_!+x+##N#Y$e7DeaNxGq>F>T<&0p3dkLD0dx)8j?# zHyv7{*UKf$t6SO6avPlfc+`lD6KCI;msloq)0Ur+Ah)Q@1&2zgoiABxm}&9Go8r^# z26GBXZrI7hZXxW-8A2vyNK0?G`t{(JJ6WNKjcNAn#kXOkzQ6sogv#!Kl{v>I*3o~i z#9r9hd!WQOmmX-wB3XtiUq8?8`YAUr9U4A=jimJWd9!b~e-2vvJ34Dl3paS=ZrA(_ z;f4%oi*O@(X0hh5U4)(>(qI#HKhTl?6YIUwiv7)g*8}B^dvpr!a)gz6q+gU7h^v~W zC0Hs0*c72;fNm5XtI5g2yoC+~dlt7wi94%Zj!{^sO3u9m;o?grAE>?NDl1nc(#dKp zS0#kip{l;pyFP8=eV;br|MB_STWW1Npql!G^YLFgy%gYg_vzYO>pXD@PcO1)6l>3h zzV}h(Ys-BqMf3h0tBrql#p$rmzKFh&&&E!JQUMwud0ToHR#cp0idHE;q5PBxx3;;P z%-A3;P8CHm;t-!v5z70pq6S+ZQQRO>oN$Q1FONWI`0FjS!3w2dlGgM;!-gh8;Dto~ zhrTSiK_XufTY4bUe{6F2@yPw|sPE66IPEG9IX7ZqNFd^!|6p$nZNzu)WHnxz&gM=0 z;8#U{>nZlRQ`)m>I?XKxbNd84E6S0hIehi&iErC1k8&pN2p|cLC`=Lcjhrc|BoDGC zx8VivDf~pFsUQ?f{HMgTXW8Ia z^_<(0dYNAs3y#$PN-av&{~dwO7Px({_%iRwTY5Llc6XTl(MPj;&E_!D40-T6=Ak&! zHMGqsU!zB!5IPH%qhX!}N%NKz;2eBK>N38Im!Tx6^adVDBI1k-JA>3i)u%-~l24+_ zBgtGVd;rds2=<&x5WyP{KIf~BPj^+*7xISkM*Ys@f!lU!WARXbO<`m3dlN>x@5x{wEaIwA0af%>1xovKw^?euq2Z~*wKX` z>Tj;@c1}E z-%oI3MI*^dvILdVT4yGP;*YE_RF?IR<$rnC#q!zn#lzif!EV->Y%$XDR$+8bM{6{p zA_^uysu#sO9y?M7<9f5DtwIJ32=1KREut7Q)f(R z_=t#4OD!7EfljV~P9#E5JbbXeh_8t)-BO8dFO8O3Rrc=Fc~gD(o;~amD_XrrAAuc> zKx+ASj35j#L2-^;%_+EOfl~zF;nu7cE4(5mM>X|GEhJP_r9=WT+Bo?8iF6($6R0AR z$?6=j>+6&?goHVQekoUi(gH-W_LkV{>5MBLgjt5ApfR7+`PI*Y!}QxfL>EQh{wy?L z+kf`Q6nRmBIC|z2&q%I#{rg#mugKw^Kd+a-UY$BE)O&T^oAdl5UV6fqa`6pjofHt0b1906@sJ>sS)R3c9Va+>5AqB#T~GIpj2Ei=bzgM1R9 z0#K{Qw-e_c}ph=G9kghNK&eLe7;8285J1?IF2&-DKa(;y|j^jm&p6G_=bvS z#fCk1BLf%=7C*& z(@XbQ#u@Z#_|M(6+WH#@B#IxNT=s+fEmkKQ-CCS6I@(7Ks15d(jUkV5+`!<+G z#RO(eUsOD{5P;1d{q2Ub{KloLukc;UcT<;fse$)(%;PcSq-F~Jc8cct-}GDX|AJr< zFJ#4XAd7K6BGa@_B1vZ8#)dP%Dz}C-ww@?XuH(>7n%s>W|+X4($~rQPdC@y z7!Vqe!kT<~>Av4ZWy;*m&(~#_WA#3Ms^7eE54y4WSMJL4h6lR`0cWVE%J++>FO#Lq z&+bP2(GuD3A6V~YF9L-;iFKmtwevMUqk1hgi5MTt7CCa}J~TBi!6C~#IH9APg((w^ z5>lbuYf)+h79Xo?OF0BrwK$D@Y(q{4BZp-L=0V}UR67w>S&dvYrOs2Yy90IomY#85 zpE4uk*8X;pN!d#i!=~`RyI1Orjzb3n-J{3yx8-XGPQNDo;l1_UJ$CfybCXb^qswl6 zFv}Y|aDw7PRMaBDA!8k@HD>gHgr*e!C{4r0KTOk8Oy4|{NO>SOnTN=QXiYZCHdAb> zJsujGfEDhbG@}X{(Y^(X@j)>}0|E}rnX`7h(c^{PQ10nx~9_Z<8^`S9HO& z55b>2p0DGQ-i2ZAC*SayXBy@_fBb-nn6rU#{)9P4ItFV_UnPG!b2hEY)IG)Y%-qOF zoyGu>a08>qvdisf4-*hETy*kY)=yM6PTrQiS6>WoTGRxd@{>z1jx92dT?2`~dqv;R z#x$xaZ8*kMUrlKuQy;Z=bj6X)PK04ce}-Z(`)2zm-+N@dRZ6g zFa1*{KX>rl8-%@G1f0#e*K#=lqL(|LYsKhYTtn+>_;fqc>+E_t>9Icd>u#EI|F$uL^D=%9+4faFLmKuy3z8^PUFLOa_hvf_xO9BurBR8ivL+qq$9d7-3yL&$$W<;9*?<-~$bV}?c%8De5o3;?!HHFysph4`dZ@urZY46jP zfq6=s<*N5-IvJ44GNG>_!2Gcr%Xf>7J_0x({zH^ARd^CS7JG#>B#R3GBf&s?GFEtw zJo3ETg^;MTGG5uyHL}Ktyo9hEL9jo(cfNf`KFXa3FHPl@LAODuw%HG33U##CSQsHM zkI?8uu@_TaFvp}ZPG*JGd53{SffzwNIVm+WGP6M@X!CJ6Tl=2({g&Bzy&5(2G_5kM z&kr|w>J)yrbo8__4gGicu^j0TNwX^8bY#tubny4#q5rFNFb&!Z)~Xi%(6mwnH}gq{ zcTSFbqFL!=LpT)eCbnft2ZpXk4!JIVHw@Tdu!n-J3<}t+I~$8KO-e1uK@`Y?8!Xz& ze1tiv5|WJHhiVsvEUk2DbW#8O1JAq|-lV80>X@HiRxq}Zy-=U?x1U3SnEj3GZj+?? zyn&zu{0Ck^iSCF#s_U&r0-7Y6(h~PdgMWSiJ=lVRV!DCqMAFibm|`sy z9U};K^wk1FNE32EtN33ewJl!ekqZN_;D4>E-XK2VH`WSZGE!lpHt9{q=~1ueiS{IYPNS*19Fo$ONF@U=n?0)a+ayibbP69W9l z8+w-l{h3(ycekP$TV$R)z6=>iZ$p5eDUlhpAH9qBI-fW8@o_?iBVP&nheCX@8b@JE zP~A>PTSm)ynkh8NIncmZK-nCO^o2bwd|Tux!lyKIUYpa82Xii2oQA-!S(e7rG% z=b?dU-HM=q$kQi40Vy9m*cFX^?zjPy4E=*S5`d~zf+ZX8n61ecOUY(IlqaCTU_}WA z3#ZcjDwCmL@lIq}yc4-rc?hh*mTU;?J2va1+s*^u%4~%mo{+ z*3mn~va=|~kT+q;zNDgREcm6npT)Y8^w&Oq_Cr55f6jbKdgi&^?b=RWB+Dyiv#W2z zvVG&1p89|ES5^7$Me@m(eXslll$tt~Z`7F4sT>wWl21#t=`XguZqriAnS)Cu1R@U+ z{P4@Trn$&3<064VkF#uH2e5xFeo|ug$yTYZz+@zx0-`3vbW%G=6&K_%Y)5o4KeX!R zh|qTiLkJCgwKc1K*M~8_RN$21tKM1?AL-}6Xv)qv;zIb^Kl7Q+vE2TDGmk7##&n>J zH~7+ykImlze6eW7IC59tyG}YNGTY_Wh!qJ0ZL+lx{S(L*up+?cf z&@?L$qcOL@qOf;uHb*iOk*MhkNj2tCqZAKfAQIWap+i*n->~-M)&S<&xDLv#Evv7Bv{U zlQc`fl!YUl)0|Mm#9gkH$3wv+DQtz6fWrlljc?RSK!rSD7U_J<2ZM_Se-QirApTXX zx1_}fhW@wdU zT5f%NU;m@cr+ql)QA#!MrFYaLSwGT`9#*SK`o%#HpqQZ$$1)8dH3nXuSZ_1bY&y2> z2$t`-Q~g%Bz|GVX8b}3+c)+im3sE+r>Ov7gu=>N^-bMUCxi6Vx1p!%_uAChlG1HZ z(e3j*pMCii(@9@Ng{?bpkOGUDOn^Sp6pw-&i#4akr*4~xP5hb%%DxSa7Un`0ScCv( zBD~gC!qYlf;oe4!5*DAd0=sYemRzv4j#$X zMTV!+$FN?OG)*n3s(2Q*TwNR2N38>t%J5J@DyOO~ROdYwC8sTLr))-70} zM#!1XQLC;O3rj#D+f?}=+oQj^`AnA@%>PAHbl@yjkzYI0W~%;vaR6sa?qsiK5fhr% zEmD==-t^^SiwMtZ489`t4y)z}(LV-XE5<3FB2F<7aNjAmR+=#BYdgg@tja_(5R^&o zNGtQz+~O&5Jej8v<)_-CH1D73cdYruhXOVA{>aOS0^>2mHGyaAXBCQC33d$9+;%?I zqGqb(+L*Sb&fpnjswBByc`5AvQ)H~vtGT-JuRjMSz+5pr$3J4E9_ni=bXdcF65}xk zXJc(b=EeALz!A!1lo1I&<;zb)#&bNj+`y#kxUdQu}#=RG|ZCX3#p z0hdNRGp`(HO!vM4O)jnMU&=`6tZ|6aoU8>^uR(_n(f0|y({9^y}8p$ScmqTEbqKT4GV^(&;bN%7mhpIDh~-s#@q z->FYymU(~Mn}a>!rMCkEJiF$sIZ$U&)}}i(`N~kYXH_uU@MpfC`_&^XdrHVpXy3@! z{JM8lueK9rGTv!he>qgTaf)TP7&eaVi8kJa`6F)yG_sTrO~WL8oyuSmXi`}?CqLz46> zAMdz>`AH4J1H$*uTJdDfb-lD1Z4oG;4?m`isPX zMp}sRqP?3WW=MyY3@Lk#GK!UC@=v|@DoY9B`pj(we$G{&t}1#<(WZ}Gbv(c|ZN{27 zoa9CNq43MAXPg)$DMkASp+x!2af7lI_LL=3fiT_5u&bhsnplWYfc=Eq5Z`*)pfYox zT91kr;~>_UhvF^J4Pr<)h?y2cx&htgS}j5{5G_Fr6pLw#SV$!sOO2#lrNoSC++ht= zP!Ndu>4uwiy=#J(v$%D)>hd|EOG4~X3J25l-}Os}lxHs=dqtY5Joog`S0Dw-;5nzr zpH#<1Ek&F|gExpc>4#ShSck|5MWz+n7-f-$&C*)?$FnpvQR>O$EJy+zOm2?~a#}92 zfL4VZXg73nQD2DSW)OFR8pE*YP#F_pLrG9*lK{B3pqp;E!IM_GOzThKH7QPn5miJH zMP(XQ#51tPMNAd)lb5qC5&Aq(WNn1LI5o`|QPjR#=#j{Ma>#+mZGQ1zpEkmZ2G5V? zC+7_fWAj)}2Z}4IGOj)zhYg+A^!=~R*rJt)?r_AF{ffvU@*(fhB#RGORMIeMXYy4o z$zSO0NoiUDrcxM^l#qlP;Xx%A0xk3bMUk6gg~^jd-ccNpIW8@(Rb0xfnXqJVBSvw$vH=TT17i;#$XiTvNFb~rn?*Sx@Klb`v(bueOU z__l~mEm-i2L)TRuob&hNY+IzB>tUPG?rqU}E>+o81r;-Huz6GF-F=Vq_#N@G{@pwZ z=cjlN=W*;Nsv1cBy3c6UYt|wjS3QI_3vK~0;nw3jKh@wc7!QndtPEvX6AuMKJdc*&!x3L?=| zSn=eMApf8zUH#enMGTMIy7_Q`Gq_~erXwzA@ZHYNu3dXi4)S+)>)d;qTd!-0J$`nR z)K`9PQ|E)%W%Xle~A*4KtZcyZQ6Q>GjQWT zb{mD7GV0gQ8Z%FtJ#tRlT1#`5a-KK2L1ybla1a8SL6aKfut$izNnedM!4b?^n%ICA zVB}4b$FRhjC|;nJpnfc(`n5oRUsextC$TglcQPHhlkV|R)3NmTVKqI?Mvl|+}_Om{f_fC3j#K0C!x?mO3FpZ1< zW4(ZKi=1+&E5`J2?leE5H#>*0njTT8tbM`TlW#*FpX6|t{eiQT3@jr7k<3etRTgTz zNuP3cvZfzFHhHKo5?$D<=7^d+xA<_)f|}QBO1Z^LYHqH1xTb_cMdho8fotw>`utbvPj9S(?bHb#B zoX^qQ*3WF+ut8=UwytKQ=4rJWwV*wdQT7*~0}kVXzTMBDi6DbX6Jci%gu{aca0a*l z7DH&oM4*yf2)A5f)|D$RX__c>VoVOZL{3h{Mo*12Y7-b!WzTnieA0YXJ-=-6O1F%V z-+SSKtM?7+-NFwoDl_Y}zyzDI)~z??E;z~gh0W=2ea03KdqVEovPzY-#zWgS??&f$ z8>&f0i)xZ#ri+jC0WBEj?A&JU4aw{oT&Bd+=M)b3<(z-b0RG3J_c@~Ih z+ScyHJf9!p=lM0RWRY&`NNXKR2}NmWnb;Erawt#QFN>ILSVb`yI`+{Omly$Yq=rU8 z5J3=wg<`RJ-<$tlyl>27?FNtR*kNcNrDbAMr<|13Ud=83xa0V&_8rC!Y2Pb7HNGLu z6550G3*?^LF}mEpNMgZ;VwtwR=2k^2n>(#A-ks(~QT=Of=$=+DBcL8@ku@Mz7Qsh! zBmGB!z==|QueU8999#PPZOIwyeX1#XQ3mO2cTtvrhGCWM)gMEjygtY$p&nAcUOK7J zOH$2ZPeSXXeqO1*>OB`67G=XPQb0(4(3}nYHaM+tbMWC{Xe^B@FeR;WV~QHk68yxw zq0-f_c#)1=bIWCF$c1(lmzWP^7zCM`nv{xLBOMXZYyzpL6No>msT0o?MsJ`s!X@ge z8|j-qHAha{oanDqKA5+wbN9A>{v!&WDe_ad>EEw<{&T02JG`3eTEEQALJux^vf3n; zTl#0uWug8{rw=_p#^2R<>L==~!P)zRxpP|9sQn?*2{v?O)u*z%^Qgv6I?7z#zC3&X z2uayAZ}9qhX|3{xO)dy{Zd_kvSF;DdIa|%^+$a6`#x zGz4Yxh{HMcqZGAD`tl8hm44HIbISLMnhZF>V%JLYx>-Ma-}e5>ernz-2OO;=YgF>o z(dSj=r`L#op%aDtm2w_7XbSu~amKu18JW?`{?8EL(#?@t*=#dCy^7S z%L$6)A09Yiyk5*wp12$mIDfHT#AkXpDCgNb*S?%a&98T4R&QD}rcTGY9oEfUs~%)) zmd#v5x*)1@Ih2VC)zKdF-_arF3@!zRcUmi_(=0^moW{NRtV0^wtz#ggJ#9 zVpoY#J#xQUMkT}xnh02Y7q+p$i{bME6fPTB%-ltLrn9^+^#&~SCi_!&tB%r5?5ytc zUiHzc3ur~T^ky6e4aBw^1TVP5?ssgjCxjLkn z1s9*-?B?Iz_t?tUD1S?hE}a2l>azEFIw_DHaxi3v3y4hzRC^M!2XIhxABPaT#WbMG zk($5?{z;PF7GjVtIz=H3Bhe#8LH!d4y~=IYXXpE4LIAitq5tEzbNkibW7M$59nMmQ z?#BP@t*4jjw~?3dB>Ui%`cI6_!;YzlWv=Y#rFjIBWT+xGq`2IubBHuNEl463Ma;@M};fW#v}!!R%SG@Yn7Ue&L)Z^!eR2)0PYUCs(xQNTeG>Hx?yP|Xnls3#UTzOE zhc#l$;=zI#mKrJND1A?h0`Zk9?o(5-G>fi1?{dA>bAask)Aeg@|CqWXz&&vE-|yvY za)rP18Re-T-Eg{ZrA=7}iX9=>#IpJx7Pi_kO!*7U)`?xz4>83eI1wm= znMPy7By8+Q95!M<6^V%!MMQH6ri9f>L|kqN0o0CyLSg7Jhj7z0DDSA~5K|DE7EL<}ao~`5 zji`DJfa3J1WNE1Dz~bPg+xS*_d5gh8`e$pq4p0ivA6m*80ZX5=Ce1&1*}=Uv<>$)A zs@q_LL^}?VOIQn*z=O-^W*Tk`)w8ub*ctCkbGCB!bVBJw+`Ta-D3yT~3KQ-0Fv}&( zPaqXefmB41k{U(ZsZ~_ZsNqpLQH!Jea$83|{9Jz2p{Vmw?ku1q=s5!b4c(_&Mf8l2 zv(P42B}KKGQw2guiYrXijLg(1r}KEg(6%Wvs)l!n>l-k{2kH)FQDWZ+S2(aPhJIJ5^^wNVDg|@opf5)n zA;3+5Gk5|X3oI+ASfUtcxY6{Sj}VwA7K-*=48^8kO^^Ww=P-G?dF+lK&ab)tmNdBJ zUptj=^}i1uWQDpHqeznPNZZt9VieH%8SR-EijJq>G%8ez-z*MR;*~T7!-5R}7nqE9 z$;P|Fw!c)v71yu*pt5NQF;(*To-sn<=KO9BCzF(L(3|DgCg>6f=$aZgluma|v8j1D2fu6$ko zQrfBB#k`^&`C?vTGOhiM*|bsx6i%9ku>t_&K}su(u(B-ioVO^`^_i#ZmF91u4L6ja(u5mgLkJ`f4SV6p!`YF)0UQfqqIS{ta#{YZc8Mk zKo)6;nLC~vlPgK9%MSNm^e!7(Aj#j|WtIHoXY|827u=o3 zl&P%aK1dU?5vgZt0Q~2jG`Gm*hk^{}g?+n;bux8)a9wKvJh{*j%*7_1WVGuf@KlKYfWQVGq`` z#Xqw8i;on^qz$YD^@m{>d4R-rvSjv|KK}Bc3k&gRNTMLOT^i9?tXU>-yS ziGp+-2}h9`VSL%f_m;Q=vhTCdJsaLz=2raGDsSpwq$)- zBnEXiRoNnBXJ_GK(j}A7|3gDrC!ruF|A__eTitA5J@(HhE@Zj z`e3)hBl@xg9-br}Sy%8fowO$S-oKHh8g16%vPFcNi)#zgK>bBIgn;w{^mn%AZ^B_4 zP@+XfQ#B&W1jrN>u!%HIil;^_2mIKH(w@@8F}y*IB?0a+LuMV1&_Y?|Ym-h7@C*4? zAI7uRvm41dGkTBZ^5(hh;tyQvyKTgk%lbul+m`A_|lSOZ~+^b;UM$zc zsHyJgW5zKT2gqDIp^|_d+hY7+EJ3e=&Wl?^&lVmu(y5JrFEsz43UaW;P<&LHc0Kl5 zlj5e{1`*P1|V_6G^fvohdD)O*ff5v zn?`dop@NF~tym**fzx4SvE)3nkQTO$wT3GZ)8V5f$$Z)egMQ*=ao+9AayHLD+dVK^ zzxdrN7u(OcdGK>j@Phe6R@G#)rN}e-jCPzY`f%0H`aN0B*^sU9kB+XqC`&DcY^Vi# zW{Q(gLt`RO!BERF4{?e?SL-}rLtu5uVg)ZxE`8;iRM(pkD{Yix{yCtuLj4?$==67_ z8PM_FKnRBam&W7Mb%dWDGc@#AVS8$=!e9~x3%f3yY*1VONVs7tTNEc?4RJIQRRwQ0 zbRiTsfCX2s;6{>$+s*&z;sskb%L|uRzT`iwV~u609pd@~jBHnRZdFgaB<1|r=>U{R z@L7B|3+y$nCmC~n$8>ZtX#h@h*|Yi{$7_x~z&+q)0k{X1ol(@)m?c^WhNLaI9j1W|CrV6IP(n`>Kxq(}4z~xnKBPn?(?k18g~X0hzVPnQ-|K(x zlUNn?-M$`ra|E9WPe?Pa#FB61@zQxSj(ooNUTh%Cn;E3AroT5}F4mfd!a=fIU+a>j z2?6}$=cm=*d<@xvj#m0Hxutv@{-;!6DX~U`Uo4$J2W)Y1Zpul7v=S>?B1Z^?1YFoM z1tO3Ql~-hss7pmY43TUCktmJ}i_Ac;A8}p~E!CP0I=JT4qN09*t^pnM-+cFeTx#+Q zsH49%FMSHj9CHGDNt!)#RZ(d0j2lk&HfrlF{dE20S32*K75z2u-|y=ePe{DQh6b!u z9@>BB;~Ngk(%Z-KU%+k&);q9Z$8KmN=v3$9rvf3O)?ik~4(I}bi2*=wQh+)bN4fzj zuLq~bUd?aVDzxiu2GzLHuGVx=@`3w{Aw~ly|EIO}y+2@Si^5KPvAL zMAw&bjw8kE-M=PHy$&SNPmn|^@A?N_55ViA#Opoj^Ntks4{U<s492-uGj=ZiB4D4CN+Xuk64zL%j^i_`WW^ab4!GcVy?$3rThCr`I38 zM$L2wJ0xD;C|;kBw0OEk<_@BeRmaiWF8qq^U67|$%D$2AA$};)^jg}In9Pp$V)w+u z_ZCl#-{Rua0P&Dy^-sItXTgrJzbp~pS_}%TkkCp&ur@XiZ~!KD3q(Q&wo+u2$jqXJ zVq?1WAGtQb^HWv~i*BAhaaH(|!X;I{y*lpVQ2pwrUCw}CwMn@}>3sQ^GZNd%5}R|r zZIw5e|LgvTvOH+0u7w@QJO2*nur9b`G*)0PC`|oSef2PHe4(5b*fZ8iVYL-7CsmN} zi}G!+G7PmEcSiU+wD6c6HwT6BknG-1{BY+}m+U#LGcL!!bKy(p@_7f|sqBi7cd~$! z;fucPb4*e6&;ONKtbe+Pf80v=gZ8e2-2Ex906`%OXDE;A@6y|LiD=k!7{PThmy&F`CFZ)^!1xilZ@>oqV>R_Oj zRu%9GbXK7s6RM`^UlB$d{aE=hZ~*|BmQ)K6ccg_{E4X45$Im>D-P{flvHzC);RJQp92VT)=AbkuWM_dQ z96<~76FKCNg%(y%8yDUPig-2SL!HTF3kYkHeLwO*?Aef2uT8pjKSqjUb>BVyIzOE| zeBY~XHhUSLK8lSwHC&Qe?eAmZc5A50@132rTvqk}d|q|?F0996*rhA69${FIY)v-S z13(O|hc7!oFgbHQOlOi<55duCJye;JI5oGpv#G!E$=eJYPX>8aQPT&FUa%;bMrOJY zN3b7pp*nkccD}cyaO8v{{m*?tE3WRl5+JKZ3Y$CWiCF`hAK3JAERR3T0#`}$65i+^ z$J{Nl{MD6K&1=+NiylBvvOl)T%7?|6S5>{2oPo8Vu3n2ZcdgpQCm^q@VP3SAY?Bf= zh&e-H{gYpx-e$I;!wf|V)&;C02)^*QaIN9|@-!tZeCr=(bWax;>1+KeJe6`GXcFdSVI*GJ=SH#tu zL*tH&Hj?@1aQ5mGHR~kJ2)4U1yJ2A@?UWRx;hb~M#^$JT^Ae;~@~Yyw^?mz>Tc4Yf z;j~!!!|iL{%Q-5|X|d|-pPXwdZhI@w6VA1lUKE{8Jo&g6Ux+T()pC2KRD8+Csb?Q zXe5n295{!EqJT8KkP$*T*{Dt-N|7Q)!@@aS7LwDd!#--qjOp8iyCUP3KdyQ_&55LS z558N}_{tg8mrXfl<>J@dG-}~q6Z_HoP+Ygvb^r40aYF}x8GLNNdc`e{yFB*u?Vj`L zHmdSG3M1|R<2Ae8 z&*B)*oqzc+1vcK47PEHE8BjK~Y|cW*t+KNg_#VA$IuaFNe|5*hw~%k06SdgWW<-t$ zphsh7Cr4g^$SK~kdGw{2GF(YU20d0+E8pkK9u(6p zu#bBGa0@4I)v_0#+m)LY8=A3X;i9{G9=F}T_~Cwbrk56Ja$c4#ivHRb-jgMsAAI}% z)m6J)cj}D;2RN^J_pTPXrN!f?VqE>9V`w$CP0=xhN+griN|M6)4IL9{P{+tt=$Mc_ zTnil&y2pkbOsQ8xI;N%4F;c@O<}`9f_QE~ala6_~Q}D&!4U2|da!YJX&ipO6ZO%r{ z&UWN>oPSRBRc8!YdFx}jcDuEr@lB3<=MDAt7eUN*$1gn5_C<@!pktohSTc0*;1P2c zxRD3MH+TEaUbZwh!g6%I$6!OWpmK;-54<8+h?5iD{VBF)NBi{aPrA4d=egtG4vJgm zctCpBRA`|OBNZ*0aDA3Mi>$t|XENGR{-p>1ht3Y6JSwhoU0Q-YlvAT1-Vs;?5oqON zA1^u-`bgk&pnLt6xY*oEI@~+@V(vXpr+G6jo^omrH}dqt%GJJe=IHZZ`(4hO+?r)O zPuQ~ce{R_~^@7IfzdI|^uhWUYYwQmx?K?5UuD0*xzzCMx5Mo(JY zYVnk<<3w|N(dofiRU+syzlYs8=yN*s?h5!}g z4elOX_4ez|sZQ(M*!R7~bM^g2ztMJ!;D)85SAZf9%YvW5m6jwHP1Ov6vKv zRY>v)?b||0Cd;2b+nXF8hcESU)Z60J4ZKhsJ_bV5hSE*2LW@xn5Tb{qQCOlno8j|q zo$q?84n^RDcXo8&CWfE1{@PVd8((mNyXaLRo>{l~d2z_;9!wS$v!-0)AusX!_)G2@ zcRTzL?V)wbqrS9k;P`6G?k}x-I5eVZHt7m&BK&$qPIC&6k_#rZ7eqU8YqT@NP|jzP z5hI{SZ679EA)Z@Cf>?9jH(DVvPM)TGfw%ntQ-bpR@ji{4^sWAO+2Tviu3k4SH_}-Q zJ+R`ENj3G8Az!6KF23)ryyl2BHI3~VG;`@29a}iRoHcV^@Z_&I+xDmm@$|;;OGIOF zjBB4dOVs~u_%Qq7{+|2k%h!ptp+jR6dV9|6yRKC8=Dvw}%R+o$S=5p70nD4WW?0K= z9wd2clae{KOEKC)UOH=06wPWuURmT1qW(;ZxZ-dbzOIAFH7XxtaUmLu`xp2Z0c!Xi zTfPZ0AfW7c#7UDbR`9Ecxcp7NwP()0Qx^MPG9hO|yKU|46WVRfJ+1z7`-D!h$DA?s zTd2I8Gp6bR{J&uB3v^ZvMseM-EL5;;6uQ-!baygo+LH_)ZL34D!)dXoc}3orXl4^S zdO%fTim6l(f{&&8{)_WM%ct%x9+uO)@2wp&g3-Ff{vYq1qjSm+c_x_n3Oj!VSV zQ6VZ?rS}ZVgV(FSoA|^#qOfPD#u>GD?>qf_dqtIfy@&=c?K&~o72IUwVR0cE9en)8 zdmnK{kPq#VG`?s?yL=i1+?>AB9xPrua-s)Y%Ly7hJRWTWgA2Ri5poZir8GFK_Wv*A z6BZI6T!9l}jy2P&rRuGzrzc$(f&Zcp4bh_3n8OVEr)4IGKUx+g`7`B)6$;JO;`Vdsj_+mOz5dFZx9xpC_qp6{dEdKl1)tvQ z+OIzm8*IOPbobjFH(FoszExF4RZ=%#2TOwtW>}-81oD=pCq-)mB$IM2BBX7GN*&aK zQfxnA)!u|vZBxCzNyI21LIwM_?pwTL@te7O1_p!Mx+B{Lg9q++O6zw!rB$M=x;ofN ze&_GwU)pzj$C0fssY!bITyHS7ZAgS`^NQe0faARRn_-7B5rtI2@D|x7Nt@T=k|hv8 z4dGve$6He}S>gfZPB4X7ClT#P0*!Qv6x(O*AK=)L(H%;g4jXadg-4a_&3z~T={8UI z-rD9_XfHu0JNeDWOyW09W0c~(M3qe1EJC2%?btpVDNK;~P zHw{5A^kW9P91)@tt7XVVKy+u<@zqK*&bti!{o*ngD;{u9~yo88X zp27)eCocqDY0Z&TBEsS)VC+vqFxBzv8o-#AfOgU%M5XM%JpQ<(5*XXmA&SXVf|uSL zo_{Lb7O~ce{)zc#bCjsmyqtp!kS37v1=Xl63-K9YacIVf3wPRHRD9cXR^Q?cn`g;q$F^m%9pENdm(8(R<1CSZ*Psm_~{oht<{glp~d+ z_?>~e-})M{Qwi0-u6BTdax?t1Boyfk3%dk#!>C}mbI?5v?Z+#fF_d)%-f?sG^JuZs zXqK&K@OL#9<5TINC?)8xL(rAtBtU~VDD~Yj1e3rB-i$pGpO$j&okuQvFSl+5K8y+Y zFebW)4%#W&^O8sMiWm?~h_d_QnnKnWG<#ZK0M>pr1Y6l9PV|Me1wq_lAR<!a2D(Wdn;iHHRZ4Bmvwa%Vx~`mO8->5}41Yd%^O=X^ z6~}icIL>w*jYsQ>k?^#Jp(_P`MI*v0NN_O>1CFD8KJ#RNGD>1 zQ5d&nn=mZPjqJVLs**GUU$?s2Y?hn&x?rSph-m~W)(yDSOuU0`Xf82H7{){}zEyq} z%O4=R)ZuhM^2c^Yjeh`Rl~zfGaK%tfo3R{}RbpYCx|!ZXfF^C@TNPI{(y*zzM%gp@xKa&mFzelzG{7P61BE$at+rOdCdGK5CyHo1@Uc7+jByvjLTv>*`-*4_erKT; z_gQrQ6$eIX>mu`8U-se;eQ%yW*m$IXv>%FxasdULGEczO>tEwNA8;MZ~_VoTAB- zjS)&BA#_5*N%?4XLMjYj ztJEXl;phU>{80q3B6z^q@C^;Gh~MME@R}ELN^K7Rhcaz(V=`0?DB3ZH?-6D<+tMfG zKE@Nj{S%)Ju%VD+HFPx`&Owe*Md)>MoKV262nXj1`IfU&mcpf19cSqSw?En_U9|b^ zsiV@TO`Cdqv+ZefU%P1I&Wwqk-P8_xPPlhK;et)uk4l@A#KOz^^tsiwx7@V(S#jp{ zOKp4FXfbWcINN>U{@CZImX>7RW=}YEpSbY%r_6-znvIz1&yfj`FW8m5UgB7%kS}B@ zXze~K{)Kap*A(^bR#IatJib*^#_I}W(mIxG>vtn%fauEO zuCe|kM(CAltkzuB=gG+BT<_affpr4tiHIlNDlZEhW((av3@qIkONI3oc2IB+dQ0mM z+7o|d{Xu&o^v9G&1c4o~y~55|BDn_3YO5Z!NGur&M((VnE9B0)+PX>V3gFT6B=JNH zo;6~nw5>sn*4z>gaaiJ6BjD;(^zbYI>tN`dEzmh_t@+XHP`sKoiqzR$c%$1+ad*F`>rf#!Kcg*SEV}jAhmrYGy@cF_Xt3~=B9Cz2)D>U0D;I%{*Cv8^e4j*p3bbzB%X@+0;$b_$5mq{ z`}r+zlfhFFFGWO8;?Xd`W5-#aNj$6Lk4l*Vo=6DKL*Dxa&+7Pe$=?J_d~q<*7G5o2 zfCs&--IoUIts)pB4lvhGm8~3Iq&`dVRITR08f(1dC-7;0o)|yqS3s{xd=aZRpee_# zC>Z5Di+d6U7GaE7qs1X^Pmdq;(j)x=g;Dbytrz`itgxJwkA(8w>}5O-c^047JOC zy)C+5@ua=N-DNeyc%jv`hkzxHdLPXDp~7JI)caw$M{A8ZCH4Yw7_+k(TRBq;4zICx z$F|EJu?omPD7`Y3@QLwh9~tL*|D+Qbf(C%06Bu~}kdj6t#TiWRY8a_EherxLJkpza zMET&r0X`+;x72QZrALZ>$-g7}tr5c#cDnJb>AjcM;ZLmJhyqv>R|st>a43cLhE{4` zc+KKz3Pmk?9O<<{1UEVcSD&Lb_($HTVxN)!8Q_X}R28C&IF3dIpN-at^5jM*4?4NQ za+txE1EfzwNY7KI!Ll0F_Xa8~+B+n%kmW#FNFy$m8WDIj4BLBhGI zP@dZf(-J;uOHAu6ytk)3I0>jhn6F(trzPB9rNEU+q6yNQ6XMc2Jg1a!O%e_VxT0Hg zeNd3*?&3KG9-h-Ymfo5m&3?x{9kk-NEWJB&?WR8V|2NwbMLJbDWl34VKzc9dS>a71j4SS34Vr|ts7~yPp$71}TfZM0U|A94D7>g(1 z1?^HjgH^akvGus#V|&|j2k9OAG4Wf1v3>}u7^dggo(e`%KM43G7iz3J$eKFQYwck6 zSQ^JC%wOUM_&eS3*La~c?>5BZ6omoi0mM5{*iKQ{WGwEzvc?$^i&Ja_FcT$=HCMs3 z9otsHYzR(H;9(BTXU>cWPEP!m+O5yIoqUaHJg?j@?yCPOAu&b^=-p#P{7Yw%f0bn@ zu&?uOrInqLODh}y$dxTUrxaxNcOEn6CLf4FCU@J*Wy zPdt!$>uvY^DR+ZcTVGi7eaWn|wFhL@X}-wV>wH+>W%(nnzh#wEhcQfn-P;Zs@tr7+ zN;|FbDjng{=>$&)y*|xg+98tU(&U4Af+m3MONH+$J3(gC; zdGNoS(^HO9&u3r%{Jl%FW^b$X9PgB}UFElI+ZjGlRb4uDp6l*?!rl=Z-n07&r#b%p zPWG=al6CbQl+iHW4`A0ozN$r?+z+sSYdO6ED=}cLH$}nZVzwct@Y`uCidJhlGEi+j zC-DF#U9N}}4y&n?e8Uch! z&}3<7Xh|dOcM^AvwKt)?3~sfXO5CiE2{-idP@|8{ey3rfH6vH@+2lq!GW#dk(qZ2% zQLSyStoY~tbYFmun-%oskZJ|Z>yfA~Q#z}Ce64q1`Q_x+-4H}vkEaC2>pa;gU zcDpl=7f5LAIEEv}7p~4!^vW{T{;><}J_KzS#Pi};;(Qg&ZzC?L7I$Qo=awLis^F+%n$j>M;<;e@ZiN6eIa z$NqC=M}h|~36oHXxHt8d?O!9I zIEMAJMYn#A4^E)BUC|C#H}BWy#bapC18)xVXuI;PmswjAyy1PBc%%2_ROm`ERPqKp zh1MO(FyKuYa}N+nSa`hDC*lUz@n`{&h;+j5F(cIfd3{z(P1DKS&u|-DIYj18UbfuUpX@fPZ{kf?y)$p|N7y*-vhbWW1 zu0z>grVKFJ;$=KMMhR1H?UG{zOd@6oACo(Q>3>hr|6ziDa}!uwMyb%1g7^mh!(P!G zNrr(;lxv72EKHf~v)o!MDFc?mI)3vC(mEU5pUITH&6HKb+G9-EQ5x%g2{0|aSJgVf zN$#2gwcbJy&NtpqW+kmg%s5}cuoT0kvJUYQs!K(&pv!+N7DUr{gyHaS#)6`)IphNi zB%DI`?*xLJr&0`tJ^f8xtJvizYZW#YR^ZuyP?0Or1oX-?@sKnD@1>VW9-^vuzS;|t zVK85n%w<4mo0%az#Pt-GHR5DoQ8Lcv5-~@gc_qH~2D-*t0FI|ZYiXx7mf;gL?Jd|p z`x#iX_I0!Xu+CwgZK+Et#_()ImuR1cgrM1$5Ua1^xdwzj{YnTLi`0Q@L{4HXMhCLC z#%`Mj$v6zjXlvaO%}n*!Yl-+zJoa1j+ZN$i6@9wxk!h~se9QmVd#}o^9-AUPn_{0O z*Ix~b&zUqM8cILg09qYg1o?U z@rDoZeJr_Q?FrVaS?t8W-H+e;R%I)mnUJ?LFF>{@{}K@F$9pZU?DF#r%zEZD zYy!Y^tm9%wiZ;PK{g8XB6h(4e;Hu8L09WZ9YhVHlb9J}oDl&U%T=ZM$x)aT+GL~su zrIj;rhwDr32j_Fv+#_W_@MG#7J{bm@`(&P9KnqVCo$@II68?OQLjIB{ zA?%=JnxTX}PQ>3{ijs>05wf_+hqWhI!#=Ep7m2NM9vNHZR?T>W&*%$n5ndFWn!v|2 z^~W9@r)U=}5wdB>DuC^L8Cx{$36UNkhTv5xAu1|)o&ljfiV}k6Sy~pW;d|m805JMo zCHsMGtzhoA4olk_Fu8SH218M^mZd>rT5lZ${~-;4f(71E`bkFOWseEiALuS`8sFuW zu7>t-D74r61N$BH2Vb_J#}R z=zXDoEKbc`us(e2VHcy1*PwL^w|3)I^Kft-t(y2l6kGHuZiv_-B=_OqHj>=`u&RApH%Shp8`+& z`1hzcKO6X;V;(&c?-f4;n}qFAb9*1MoB3ufN`O#VHuS<{gZI~`u>lLbMD8m7meD!- zrYM$AITnCtzXyL0)$knq@oBX9Jv0YL4SgD=#K+M$pQ2Fm+kcFI4_j0Honl8m#e(q7 zF%_G9~S4uf2C6bN~!4hKsVIR_{<*&n5Pv?2fVEc7$iPvk9+4}y7L|5 zc~-#;mUu!jwVUvg#7w`7noY=D=Yxa=dPQ4Qv*Mq*={(=B0*h}w()JK;0@6!7JxKG^ z_MkL1-hD9>&_9E~v&GC4j!7Xd=Tl4yJo^myoV)Pfui(F544!?--;*J!BK~x6qC3t# z9-e_qr8F7e4;^)QtJMh_NmeeWqCks9-4=9*D4H$*6LBdajPp(s8D7y=*_^JDdes|M zKw4!X-Ho0%ZiV+9BR;MOp_GM#8*eDU>rA?``*1PtnV{gxR((4c6&=&5#a$!w&IoSX zZAUIFoG_~CP{#cZ*VyCm^7P6k!rM7Pl*OKPa>d$tp0kv-*}35ON8Y1` z)7lx5MFTaLiG|w4^xy!Q)?m{a*EPBe>#oXyU3C6>-OLzz- zJI?b9Ogdxx-1w(nz26b^ydh!iA@Ktw1ISO*yDqOz&c4U$1Ri-uK;_f&o+^EX?0Uv( z839RH$G*ia3|}ciHxNvQBuBY%uHl#yBJ*AG5=2%vdT&HdzX>;RQ9GZn>Busv zxSA8bDTTU7;V1I)N&VF3r)1xVk|MivDU$e5bgNLN^!fR=>!6MS(r{Y&E!`65qLw=! z8WhxJrQh|B%CeMdLeuTD;)E6_K53HKOBAF=y3D$F{lY zo2#Cj>7b<8b>ikFwmtu{rKk39KR0e&^XNH_xcueo#oXoYT+$?|n(N=w9LQ3j+ALU0 z$Wj27GUy*v(6@bC>O;(sH#X7-vk3i%8LAYuqL1E{Ok7l-D3&1S;W*CSfUOJY)uLr0 zFOJt1&8OO1|E2Ec*=E`>+n_B)mybi${!eXY zl9VSZ#846$=ccwOERdP16zdV6PrtAAri`0jDgVQciA}w%J3hbd!Phq0mrY-^qm|>k z5!8vPoF>lQaF&B-$d~uM??;pksoN;Z=ef@NyK;^ztGor{moXRC)l-Qd@#mqtzvu7Y zCHTehYVZql-0+=4d8?+~Q)5JOd3dtf^#+sP<+o&Ca5a>TlQign95;G7_zGI;Qf zmC!(ze~RBUo{id7?}9QPxBnCtcLGOczmYVEfv`3d4JK->Z8FYA=eQ}xjookcBop;8 zg?+Rq5%y4046MvPB@qWQT2EW7H$Z~J(XcYH5KX8^l`XYUAMNBp*< zglDUV<7}{P{97l6*l~g70ZYX4>@;fUjINiw4QYU}h1t_Px0H6$(GAMpP%;r9e zgL2BFM>{kWwOg?2FhbDsAKV|5x|lK&r7kWL>l0BwmVTNG<*(+PPa3z*BmU?2jHHgF z)h%@-qFssAZB~}XjX0u*;<}irCwLrVg09{ecL=^;=kJH`_mln4adK+IT-)rHS-)s0 zV>uv7GwW(wNGY2SJ`C}m1$>T#cOH(vt>Jl3BdKgIPs`xj$Y5ln-$NU7#uWHD)t$rr z&Iv}Qoq}4poU=vk-r3yVB^c-4!&3ie;=esk%!@w`JRO45oCi50=dfz;6@LQlvjHEv z?+N%<7=BbRE_|m8?W4Fo<%D6)hqau;8ulsfA9^)>;)!nt5tY2FlK%#KxZN|chnpCy z@&Zw$&u_~6*H;o+{0{q}8Zx=@XyBja6FO&CBq@pH_o3#(*owUzC zzlBRTb^i6eyEvpFawSXGjm$lcU-MoJxihQgzt6@W7yrWR?*AE5H&IdFNMtK}eo!4A zv}ap=DDtHCxuYT5E4g?2-jCB~0e#b$@veYSzcRPA)C|K1Wyu*Xw~xkJ#r}pjJ^1WJ zxYf+kc|y)?xtNYsmjZ=~kbiUUiNF_4wTwQGsNoNOGJ&&`DLzc1I zmCxdA9Kal7v_ESQ&L5TaDRoYLXST3U|YNE1*b?0aP^X$Yx@XlxQoIr4*e zY`~IVhhiGcw<5N>XlzoWAU-X}mITGN;lI2Y%hnl>O`ew;z9Dx$vHvzZ{~kf+C;gqJ^=xsB;&x)b`B!w;n|{UIz5{vK;5PiSiD>6+>MN3u(fw87 zIt5Y$D4g?+6j=Rm(kJ_+z=|tekZpp3C%Dw?v24-vtVoN#!a5{p1^z9y52;&o4*}Cu zV8W~vaV8lcwC`S?3usm(mU59RX9X|?q7CB8jJg+jo}4MBXWhX}y>VOv*;k zF9pC$rf7|vi5!hyF(eDNIzD*D@))vF9YDlF;!W{dcOve zWbujmXC8a``MgHJ!^Ev*?5qB=NE$T%!3@hPw0gNqC2qS>0=GGoB4ePJ#N7w9Z1f(* z?*h~@k z4xJs<4NcO(-ZUTa7+Wt~nSieV}HrNMP|G>GIzs?;+Vg{ zU>{H((a>S+{S0>R!pPqY_JP)SB3HwQv8!9j!0!IV-)686oOw_~hp`tM?AZ4xtC~4% z53&wp-6-0PMc>reAVm95{#t{5(DXlPXoJ01U2TcNPV>!HB(OtnxV8o6i057J&88Q< zMp+uzCc}(E=5ULhe*>A&zcGCsotRuF>4vUjkYB>u32+sK}8zFmlMJ>;(Bys44EMji;Zy}4bU1EjtG0@^X-z`n`dBTl0g zji|D=-`IP>s~(md!%UQ`9{MiXr`OBiS!eALtUZ87XAM(y%IC8(;XxE^B4;oIi;nt% z8gEBrkH!Ms@eDF!)Cw`4!Gx6#j9wY*4#sGgo@jK3IU#hatL?_Jrp`8qrpmF}1FRPj zGfc&vq3@3KdF2z<9TNM1F-CWUv8!_|(LN~hqrpDVdR7!Rgq;#zurYMgi`q+A{^tZWUK6&F5usuEhrfnq z0c$g#Z~MTG<966XXlE-hvI8^#p6K*CiW7(iM4r*|q#G~x8^($kDYoA^ZnT2hHqs-)5$fP2lyHiTVS zQ`a7p_>kuCBX!mgxmHVrN;?BL?-aD@K}XTZmXC7}%O$ip_dmd0 zCT?l~x7MDixXb7?q$x3U7b@wMbZ<3uZ}ReRKO>cHooyj;ldMa+H@UMR>#01^d2$jr z-IkR+Sts&v3o;dVPelpi=6!*1V_%r5CL5?Y*{@O5$B zaI*Dv&SEO=GI4zZw>hooY@1ZvW!ByVZsV)blt|p9pC#R!yjIZ9sdQ`EXWafJfR=P` zaxae8YiNU8QzCJbjUaKagRM78LmQsxQA)bsQ@9}&7k{l`4M%jI=d7U0U%@vOfSG6i zW4^~W8M8myy;I`g_8C0O8_-Vi_X4U&$n90sjx(+89Ac@!xslsHjQ<`|A$`sy6@cd% ze^szl;3TW88+jgPD@mR?H@Q8fQ~*YESK{el@T{|5mG`^=qjNlDjNtEpAv_p&PqvZ( zp>IN3!RsEqdmt-I6v8j?vwb|M9bsJ`pFz|H%folt>~S{sTC|@XEO$QV(fvrHgRk&$ zZhr&tc%d0R;`B@HHarM`zb07jTJB)9|E%B-a{CChuVeTvvYk8*fbRwT^B6zkF@%R= zz-YfUIKz8^_Fi#{!hayX6YY^;l6yS7AqC=8h5xVdXV6afEDu0O`gDgKo{k7;3-?Al_1O; zep(4t+(WPNQKiEOza8v$Ldj3AyjmXaOR;j9X8Y=({)(sOJea%jLT6^% z*u-(dvp2_1w>MYW7gYyGV+kQg0dYdymTQn2Qmp@n)Qk-dj^93hMeg!3_KLPaUO%|J z_5~fpzAEwj^59)iL-x3L9e9&%T_O_`jK(H1%mJM~IQpgU?lJF(U0Kb!M06Itz#J|M zE$evJ^2<|Ujz#@+;xA3NekYzP2`gE)AN{nqdAmNi43F9GfE0J#QTUl#8vG<5v8N~P z-O{R0C{34FV_#^WZ0kI(Dq*PBoNSotW|>SiUX0FqGwI1VJf!hkB-5+6^ypf{gfD$( zx_Re5_yI59zx{FU$9dcG-f^Fey)GZT7e54z-Dj&dYyjP?d%^dn)`Vz!2GwMi>`#(O zru_&3^=%56<4BxT%N435T}m!0W`_&7;>l%19g3Z6KbW#(^1Hc9gM+Uf7Kiu8-o3+4 zi~VG$RXNRK1@?#aUxTWtGA;wEW<*7Zs-!0hF|qOUAZxK*9XrP^jqSFptL$rHZ`-|MsBffm2|(`! zA$qlNnv_B!kv)2vd(2m+mx*F}!_}>^ycE5PSSrn}-WVpjQ4dfz=UKBCzoNW608TkE4h*{$OF8;nd9=KWjoyYLk;`hgT zyYcsI{(EYro=Wi(qCv`LG}6*pS^LQ~dnmVvc7FxUB206o&j#dG30M0lLwzc98`gLv zbQD-y4!Z6~nT0%AjoZY=lQNMa$fi{u@6GNFsJfHtkA*K;)&OMB;T}Gxz*h<@aI^Dm zJf`7|mlPh^qm@?$eBTo33HxHQ-{cK==7#bjzz+!3^Vw`ik>jVv%kac`1Fw7_l*`BGf6%{L^waR> zWQ!BJ@__LPo$03&I?=yBLBBc4CEy2vKf9R!C5k^I8sI%fJ%#FjgE$F z4&j{UH*u_>oN3Gh@Q@FdvXKj5p;P-q?mg^-$`6(~GDl~WYQI_5YzF+h4Bu6?qmBmf zoQyLnMRZgJIpA5Y@TVo4(r{Zw z=L`)F{t>Qrgps~wO#%nn2cLzj9ie?J^4^%kNi~C%mplF~ynmr8MezQWN{WMxoDW!F z!62lOcn@%UJG7Ux_ivnP-=yKgwSmxY!0q_~IKuGQ8kr;Ka=Y|p9n>quF7fhFqqRMI z3wzc@ukVTH2M*IeW9XkE{G+{K;HCQ=`w99f?rcq*=JwCFUV_Ez4W)pej-6g-3l6 zpRVZ?ZECP^`!a?f5!58rPI<`rh1=zN{1nvldbCU2pT#(emcX}?$Ol88-gK@^2K@jn zvd;Qg7%zc|_3Fs~#jx$a^gaR3$$-XbIrmr14~8X;pkdcS&ZqM_17@c86(0A+m{rOg zXB^xc-GPR*Ms+r?$M*)hvS=qk7PUc`FsmE7l&|rFhAIj z_GckOd%d<6ZU(CMRSf?EIC9WyhxP-ieQmH0t0xPQhlvdT5kkwPx4vcgX~46Z+uv63 zL#Z7a-*RVrxxn+Cgpa2Ob&?*sTa2t>&6>n^ zNO-;@=hKZwe8bY=8-+gI9aMj(yMI32{gdBbEq`O@OZq*s0`Sc@;c#=(r<-u<@7)+4 zJ>&Z#^iTB_e5$X2@7egC$=`3&cYHg(FXC^W2cpM5@+N(Fzoff4iMr2>FXc{UE|Be9&BEc$P7;5g^0pOCWm!l&!YjL7TEJ4P`pV8eIJi ziINi8kVM_gy&u-SyI~3A`{5*kbekO1rAS<|gyHm;8H{!Q;;zE{ERbgvc4ZMi=y;Nc zn|68nc*3uk(XkINdPWlN5PBU3PrrB1qbGN+t?gdadh6NUE4t$v_Nwl9?uP&OrCYis zeh|&(I}x>cbkPRVRf}?>of3b>NroS`rN>fGSG0tmPw^x2oim&raVM`hn_p(?Qdnw> z>+edBv?*S8!N?Jr+nfFR*dO0ZPyhCev%N;2?mS`pNel1rq95G2v2p9**ZH}2&GZQ+ zT~2lFUOmT&Wwo}me$nISbhvryosVY(XNk>iAH05x=bSrbr!6RCfZOTI`GukktWv7z zL;Nr$8|Z`26`E7LU^J(UUn$)uPuaBy*?}qP73ub+(N*ch6#Cy&lg{$+0fwHBk;l0# z@-r1X9q|8)-QL@W-g{>3@d?{r-8#uWVe+;u)xmNxiyl^T7sX<>Q-2gueL`@idn{g3 zZin57N#;FSQ>jmw{1-my(0t+n9yqz+>Vhj0MWsT%M|xf<^r#j=s)x+!9UJq4Yb!j! zB46U>QcTWQ`G+-%>Zf4R7n+nIB$9kH(v9>@aVbzOGY8C|%2tw2H~@Ti*RXvet{ z@M}@KhS~?iKQ3!=QdA!8qAS}UBT=~_oXfG6a`}K?)%w7Au^%%$gc5l2f(g72^G?I~ W-?th8o?_*AR~!A}WQcZ-mH#hI$bohM literal 0 HcmV?d00001 diff --git a/src/assets/fonts/roboto/Roboto-Thin.ttf b/src/assets/fonts/roboto/Roboto-Thin.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ab68508d14a22d6edd000542bd92275c32a74e5f GIT binary patch literal 168488 zcmcG%2VhmT`^TMiyC_ih6fRR_?yJe_kZ8_o_>>@Bqzyv@+5hlj8h?n5E(Iy@Ybtcr|#m{ zqTUd~lUoSYxn7f(n-7aj`ay^nw+hj2f4%0fywG-c(^*24uPj8Ci7z)VRrafE3*RL! z@kPfjeLD49yrac(A=0-MB4|{X!2`V|%gXIS$b*E}@7}LRpAHE*=Lw-Z;T5Ocm2^6Do&yY?CKOq~iZ3lUbEGG*`Cty9;#_4W@V{>a;!#1tx{2;yG5KEml`(|gR1CxUz54;Lb|@STG9YlNEQG#*4Hb(^Xx zkg?{1Twxv3S4$E(Lfp`ez6>R;oDvHvgvFIrJ;*t4& zN0C`g6A?}ok@o)ABBRbH(wM3uv-wm+c%nq+pzI<`&{`3pUK1IEjqn7WPA-c!t;HSQ zPI#tz%0ZR9ep~Mo-ECHZ?1VTAQJM(vYj}ErsQ2>A^+XLJoO?myz7XAmrz!&E_cqK_ zB~LGxjtVapC5nkf(xZxrWpdxV(H$y_kYdYJ?Aov1a9#TIx7$`NVExSCjxSYw%DOz= zThuI-8<$uVlrESQymj7xJ$vm%QDJhxq9$Q-;G*Hy=ocmjEvlXozYf+IW{pxA33%BW zeXTLU8oye@u}0pE{wD_6CkELk1}#dTmB;#KwYS!F!y0+B61jslCRk&SH5_YHxA974 zw@+B3x>pVmQKI-uQK3y*EtK-J*2|?cI;!?l3qy5>_9dcZaj&<|>$Rg~#}ZMhc$6%f zuSAqC?yVc83)OAbsz7V+c<=ZZyN>tP_4e%4HOdrnZ34QDZ(Yh8C7QQ-9kWHNd{H%8 z=X&7m*1C1o5>dt`!xO|F-6YBFaX-k6q>h+s*x*7v>rd+rq{ex zfqYTJ$B)l7o;L{GuYLG_xfG9j)JW|C1?nu9!<R)KuEtVe--1@ckC*0oDSg%*FQ zd8;}UF&{+?D;|}fLh-@Mg|8uV#hmWPOOEn2M*`Ss;~t#d^c zps?O?%Ojv$vY&m+w8f)pj9cy%ZCWiXAZq7YAqwcrwOf~<6)4-L?N1fK-C7h9&*NK1 zw8wmhONtR(QhdlI#TYIrKH`$%WAPQ{6fqrh7MB!r#R7VTg1@`(^R0i~wDe24m8AQtfc68@RX^)pu_ z*F3KIV!o{bSy(=8Ig7CbI+0>1?)EY=*)2s@IXT%47s@foZk@{Cq;h*iVc9V`P7wYL zlHI|gh73z~hf==#$?h~Fv$&e<4i|;R#$j zQPiS!H5Sb=ONg?>E{$*McwHGe2JuW+p6QQ!pqr{!)J&C!_mO9c6R)Kke*kIqGPKYjy9=XJ_xL;UY!Qy+-Gja?73FJHN z?Ec~n{Q8RSm=C9z`uP$M==!)4ml5SeCGjjNl!Y>7a5p3M9#EvWn?vf9ybn^UMXvqe zO8cfg+&T(8U*?grc&ULmdBc+U*Cfr}*v%e1HNd^Ib!DkD7_%!e?N1^jM1+PJI!b;X z+J(~EU?}Z*@UsCP6XNj%1z9LhkS7GEd*{L1MmNSr@_2Ym(IZ%2k2cz4f{ihx##1(N z_udmsfY#h7rHu&+4kmGub|3QCn2H=iRFEbU`wWq67CKorBYiTrVb=5*_m5~cPg}rX zvI-6g4GSiigxz0ANN})+I~$j9WAiiqh}OhEgg_92o47%tAs%DnP?F$~5L_<31P<#9 zIfAi0WZ?-74z&*%mnI&YyDb@)4Rqsrf^BR=L@Zkz$Q0@c)eu%G`hBf~f{o0WBa8QtamMSuW3ZagvUjNUfvs($a{{02CF?mO~oI%MI zgbxLvNQ7vcQGnI_=@QpX$u;cb4}Sh+0=Mp)aO0=7rE4H0m7hOv`ylx#N&v;l&t)v) zCqJvi|chKi=DVXlAsvv2uO5)UVs>Mohm{ubuXfXrOq6s`@tmYXOw=DvcPzKyGFMc7xe z6-Ovf+t;-|ycQOuSAoRn9C(5%;AcA=YbXCK_53|Xvahi+fragD+)>oEO;A7EUD9C& zb8lm$6(5KhNCgX!1~-d6;-a`A?#uKt12V$Xvb3x$YsluZgX|$cki+BzIZ4ixQPL;> zmJU);CDmH3Qd`tEbxPet?9)0_r`HAac>Rf1_I% zcgz^`vH9NoY!;f8X1&>NcAFz6+9Y|TC&H5{kIYj&&*(hyd2Z&powt!U)SJee!JEaK z$D7~#w70akoVTjCnzy!hpm&&emN(Kn-@DMe(z`mJCts#~S@Y%3S2$nEeC_kA{6YEC z=g*iwXZ}3-i{-DMzhnMxg|=T;w>JE3?mNys^ymNuyii~!6!=A~MFQT7TeKuN8VN0lPRzn3LJ$3bb`qg7zG7B(_iQx^+LT;Z`b>v zfG~wkX;arUFIKyqUb&yk2i1C{Wg0!-^uC(JD&T0-H(;mxi2Ne{ciVb%L4a~-aB${ z+r7p2=H8og?}vNS?~Nzj`_4T};Co@XPv5!m{>(X zA>8eSh&dPYLrn9S4=!Aac`xSu=>E|IqM1#I?j8L`^y|@`&i@?U`uxo3Ceit#v!VYp z$8t9A?8UP&XTLl9`Pm6)N1d5`_MNkh&P1M`f9AV0)6aZ$=8H39&%AM_#hIoj;xa7@ z`!ncwwLw~4hZnGAeDEVBahEqM3~Ho8L)>pZh~+x${iA* z?x?@jU3E`hpzY#uD{dY>lyS-Kjs5NS{sWzFtzL)Ld`7R=8_;)R#WfM9H;U`@u|B;?#ES%R zQzYumB1v!2Tg5HCP5en;aZ&G(O7EmQ-9_KINAHzJdSnoN$R)jB23yVAjL?_$6`4(D zmpNokeO1TmIDO3wm&IiXSyGmgrL7)G-&NM?*l3wIWCdAKR+5#?C^K67bi8@n4ABYt zCOz?3GfXy=jm-Pz1D&Xo^ey`5p|YiXRkkvcUJIes4*E!Rtz{eYu6fVoGP&hzvaQv} z>BT;h9n4c^yzGnaJwlG8SNm9gZ3fHf@L#6~*EeFLY%C9}0gMnub!%#GwZ2HIc}*?T z&MY<;J+_ME;2PBDO~SouN{O4jG1K_%Xw-4A(M- zW&ASZ-zf@cb~EfiJwslxG3_kDVOk?KWe zKU3_PY0oTq#wpsU=to7Pi`6K$zxdGN^GoC|F{Z>{CA*efS}J>~x}}zsx>!1G=`5w| zm+o15UgrAP0 zzV6F)ch@UcZ$|y_`W5ScQvdH4-*|D(i}4LAHyG7mbA!KLD)Q3Om*N{%Zum~a4UKX) z`k>La#w8lhdD*-?;^p&AS~c0;v`o|fO^-Ay*KBI@g3V_&|GUL2Eq1(8`;`?fOSN3} z>PxR)YV}?#U+ea*XSBZ5re&MmuT5^-wC&M$t=lbVcej1h_HVSG(SB+BogJoiG#&GH ztlII%j<-AY?=-X1?#@ql9@hEe&R=)_vGcE8Lc4V7vb<~Bt~t6E>N>FNhHizrjp<&b z`||D^yYKChr^g#T-tO^Xk3&5R_3Y8}!t3o`U)3w3SMFX#dX4CHyw}BE3BB&W5%$LW zZ$$U5*1JLP*1fy+eyjH%ee(5L@MfVmr}R~Qd-grruXexrZ)JMxt+zJ!&(;6U{ulcD z`rjQ;@;_V^2RuKZ{($BK#tisjz#jun4Y)N>4NN!ig@L06UKtcVsK}togI*h4Zg7*q zeFu*o{LSF=Z@)RD@Q@WlHoY@eD z`LKDzHVv;byz}rMhOZbNH)7a`jU#K096$2Mk*h`~eW*Sx^eJz$uKG0Lv*$ni z^0TcILMBw6@WX`r6I)IEapJAd%YHum^Esbio%GbCXD7Ws>D(9IFJ@29GF}t^PTs*G2e^tU;BRMjJz}6p0Q_U!I{fvZu}wJ4_$s(^26O92mE+y z)(f-d{Z#Fzb+cQ|-ZQ8AoN;q*%xyOJ!@17SJ%1kk^TEh5k%{x#%$qgu%KVb^htA)# zp!R~#7R+Ao=P%uU`Slm)*T%m_Miq&AC2H0}voQO@;tQW&*lc0fh3_t$u<+WVhKrW{ zmiM=Qzy0vroyAQSPhTRJyuD=N(x;ZzTl)6WVN1s@ov`%lrQa`|v-H=c%a*QLx^?N^ zrAL>ZT^hUe=CW?fjxDdSy!-N9E4(X4uMAq*cIDRJ%l`iDs;5>JTD4@gTK(qgHGfq8 zWA-1n|G2$Iu6b|GpKIH%owF|Mx)STEuWPxk=eptRzF7DDx_Rr?uRFLdcD-JobA9pk zwbsA3zR&tm>%UsRVEvl)N7i3w5;oh0QX6V+Xtkl&h7lXS*bup4^@eR54sE!$;r_-f z8;ftOwXwyFG_+Z)&-z=cZwsKHv1?rX`!UY%aI? z)aDyo%KaJAT=*a>u?M=Xc!LDR*YtS!idaoeg%j+u3*Lh@GGA z{ATC8ovU{4-g$QCpS#lT%CW1^t}?rx+tp%Mw_R`TdVkkPyT05tXV-7LHtjmH>&mXb zccFXX&0@d(P~+wKwhFf_p3Mt+%)J-hO+> z?w!AP-`?oGf9(s~mv3LWeGT@t+xPmuLHj=0_ualF`*!X-zb|orn*9a#SJ>ZhfBXG| z_K)5F{r;uM;=x}Iu043<;FUw- zQ23z&hbkPZcc}fL*AERl^wpss4*hm$&7p&b&K^oQbpLR~;rxfoAFg+}_2F)Z2Os|Q z@T|j8hqoL)aQMPu-w|~r^O3?wsvK!}WXX}8N6sC&eKgI{{71_jeg0^Jqb-kiKKka- zp-0CYoq6=yutBK#|IoAef;a=zaC$AqSA@#Ctf|#;Y5!U@0|Gf#1|)~o%r#@ zyc4TWY&x;)#Gw(|@O0_Z^-i}xJ?Qi& zrzfBO_VnV@J5L`yec`n4^xZQdXELA3eWu`<;%91|X>+FYnSp1EGe#iOK z=i@J!3)wCdy-?>u#|ynL47o7=!nYTGxv=)a(F?wqkQi@F<(MWhJ!6K)Op93>vo+>; z%*B|5nEMyQF6O>i@?zbK?Jo|#_}RtT7yr0;_~P|Tp_d9?diGMYORrxVe(CE=zg*gM z>Exx$ml7|F%i)*vTrPdN-sSd}2VMT;@{gBSUfy^4^5w)U;!60H>{m)%sd=UOm9AIb zyE5*|+kp>&E39i9X>A_ht7L^p*D2^1b5g;Tzx^=KI+9 zweLsYufFxZgT5GFyzgFoXndCVeDNjXtHjrdZyMh&{`L4l@gw3tjsG%!di+oE3*wi= zua4gozbpPw{Hgeu__+9__2I*gWyI#2$(7B#uv|^kUX;T`Tl}7r%fuHtohVBD_rdRA5a0-Bnq2p=rI z!0xZ#7wv-I6hq7wk-kP>Rau44bQ5hnneopjwg#Of z>}SwIj5fRdHqUJ^zl)A$tEl98MXVsr0>RbAbJ!K#^tZCsvJ4$1NK}!_oWFEa@tSVr zIIJ~&X{v~}lrhqz7oD(&nh^1-8ZBNhUBo-w&zG~sbh+Aj3thpwR|FRqGp)brA=
    xpI93dg>KS6aeLvD)=lM`nwdMEZbIaP#@(E?C;#n%XdM1l+J-d#;EVJSD`$kfx$y$V{;zsGTTDz8gG(vVAVv2JI7>%qGfW z`E;_#@6jS3WvlC%B$o5shTsNbRq!ifRZvss1T%!|sPlFBj}7iAu9+y&fwEd&T%x;B zrdHzFpu!@TNhA8$GU~smi_W6BXCw7u%WVDDiz1$#l)WSO#l)bXs$zanWij9L6#l!3 zR~hhbLGNNW5+9pR&Ux>|6=XC*nNUq4!pipEL^wv)UXa z#o?eTVh(&UC#0UZ#{Q8dCWrV&Ul9FVei{Mo_K5=ej40;bL-$~>SP}H2`1V2C*TqDW zow9Bc-%`J)!Kc*mNDwK+oq`sgw$x`8%0)RmteMmIMDot-^jr9K#Ez$|Qe+AW5xG3s ziTf-x*&;TYr^URWj-tIM4e#B|pGHU%>Lpst56LTj3!Ose;hlZjIyj$E)MMqZZ8_8%<%5)bs%^=ZC zy(^~CSFbRa#0ptSbPY}r15{i3y0)SheN#>Pnwq+uc#nRpi|4i|5;R8afHyV-Rl^^g=JJ0Q7jC&QoZQzs`=P6Ga28p4xuL8l< z$fG*>6VDU{*XTQn(Ek+^EzJe)%hO)J69w3PkjEr&UsAkCJwyg&#(k4vxvj}^}dXUD;JlhN&*Tjn=@7ko%iFc2{CLJ)((}{g%AJKo={3y5kE>lI3;IBw) zoG1c)n*hr*?}InM3&8p{W^CxKuM)33J>aTUr%K*(lZ_~|LWT9$@7qy z0e^jHx{CDB`FZn(=tf?1m|0#Lw32r(DH^zATPI|UPU3Zt8T196!Lwi}u<{W7xGaYJ z(8b2LW2yYgx$BOp_C1C}t9UVz{3@Cb+!sb(>HsYYd(RkZj|*3mn(N!*(({yT~)yakV$2A zZU>NH{GMoAdGk-VzuxMW$G*EQ*Ar|jliGTCqV1PM=0mT;yvH=`MC=vV zN!Tl)WkvYl9`+%|VjtuCbSv9h-U#qIGVWR{Q(0LTdx*7FHTqv`kA%+16qY`Z+Kk~b z?wAX`{$bOWtc+^g6!z=M_77HOwsPx#wF5kq+Kv*1ZN1z2__ua2GP#wDZT+}%nXM;e zb1NS|YFjzg%BAkRSov+ZbJd0IUupkO1bu|U;uj+n+xK`grn<0=vN;$`S#7wPS!g7EBZ~?YIztTRvOHN6Tr) zlmP4)lNy#T0i=G1RBm^ivhQSJ$FBfvJ$&Z0@OSMOQapR+Vk=AY3ZDn!fZ_BsH-QQW++SMs++qSxkUq`A$UJKnY z>rWh4?zU|a+0XJQ?Z)S(nXC`m{H<*LpnNtS@on31%SC&1`zhNlcjLDGoWFb(-G0Kh z^*~>ftOEwhV*3Frf7|v!JDhI&C07qb{8=n_``5Avrjos{aeL zp+JA;%BRWwZs55GX+PSpSp7QCmmt@>?aVe7hw{6Dq?*kpi^7$6@UyIJnO>_~)Q^dKUPa)eS^DK5n>a>#ERws*m zR!^XPJUq8E2>$$tacL0p4RaF@#=>O&v1ujq_IgWm+ADI8Q{(|nt1$<%z)4IVGp3oP zj?Bua=YM?zm7z=GZ(aw|8vSZ!H55~6SvCGYu`60`@ zl-0EZZ8$Ind8Xb!keoi!@NIcRh|x*^2qfb zWc&yHww3+;eX^@3xML4}uRBgy`JVopabSn_4~zw_Y;MOKo4%D{Z63((Zn{=iu;Z1L z?`_(4EVAjNgSaxc4fp%yabO_v#xm@ z@BZRoUmLo+pEb7*=+mX2SU+Gu=`vy!W?8Wmvz&;+EH5H4D~MT`6~%X$mBf^R_Nhs3 zsr@yS!F5NtW_s65=bC9rF2&h#ct-LT1Fz4T`Gij2|yb$wk>T~-IxT6V}xVwcVH z$}4xvaqKPHDi({Oq7~<){N>|RmuM-%)bseV7hF|WHB?RYf~uuB3*n}3W0Z&Ex5_PY zv+}BZD!(eA3aUb?Fq~>j;O>qWoU%x+Um>#djD%yKa!ab^WI36Lo8?wcDR_B~^A5>R zN)aSSaAzqM@Kfxq&TKw6lT<(Rsrk%IFcVdGmj>CPMK03KNy@oJ7W0LfOin@E+cOBc zZ5dPp)tJ55%~UfHtXimcB1Cmn-6+{ZsjD`st!k%UB}Pm2ifW}^Q>{ta-@>v(?VP0b z6gkZ7$+X{;a)k@6-c)QT zz>j%dW(j(w3e6+JRUP%Bs;BCz`l^TOsa{vT)Ela|>O-t>@w8z6gnjrGL|su&)E6&t zTA_t_B~=Q!p?pb|nzzF6DQ?fJP{LB;J!VC7@j9g3FoY29w?t$xfTn+Hkn6HX2Q$1S)U(3_sq`Vrt3HuIhtR|`A zSY8gqSw);i@((voBmAYC?t{{~K2pAm?e|mg8oPcyA?#2O^Q7_EG6t!Y>UXtM?b0u^ zeiVp_KWRf59il^1a%Xj-Vvz9M@?7&A_ssQt<@vtY>oMF%=Y-$xj`GV4dz_tx^2u>m=DMN z4xjnz1ZJeEhdEEp#+<9>VE%01O_zM&D*nJ#;(@D}>vH*l`7QF$g1d>q#1xY zk9j;>nzt|)sKuB+!x@FQZ|-% z7ic(4u4EoCnI2}P>w35(Gi-eI3uYv%BDN&+Fz1?=Fc+x#m=951MdD-SFB@l>8z<4t zCBcp9FY^-XucKX`K$(AY<6d*)UVSLUzU=~a*@l>3-4M%{FIr!hLl-=7edUHeT>fwI zo6p*ZEmalFdCF2?uBn8%K>dgrpro}I7~al3rDl}v16)2amSY~Rp{e-ISJN>gk+f~P z)@LqKrcHMmW+2_I)<+j|eNywzKzt%if6RIM80K8l4|9R~1~Y|s4!9wkZ3r`cm$l(5&o+!XYGr6CSgl%I88$;c9W7wKm;kq6z)A#lX^#x|6X^1(GeZ{s+ z4KNp|&oO^yHppM5R8&$E2#GXbyK$Ggac{c$#oH%jX$&vMCp<~nVfDZxRt_8Qro-t<&VIg_%HNJeY|OC! zdT%QKHmUq~r}BRx#a~6I@-Ld=FB&KN=f}@418V361vz&jIF0%=^s-~R9odt|Z+TM0 zs<%{GRYsNOlx-1tNnVsO@`5}s&&g|t&gpGh!D=Dt0<$GNK@70fB&P|gUaQQTbHb?xB0?*L5%b2J%QB{ig1#`{}pPM+WGDdJu=z2J5%=J9>y7s^8V`>G$;q zdKl8n2>qcRrAK>&M{*Knr`g4coTKK1IcAQVGv=&`=5)$lvk&Pf&RjR~oI_4j%G~0- z%6W6a#F&fblDTZIaOTXOPYN=Bn%m}%%3!DX%}N@72`Qs@Tr)HPBs|(P3aUJN=PS#qvYLEB)|Pc;1KCKnQSWgsA=QZpHABr*Kd2woEcKI`t>&n?>gUua zBvMXCs3mHdT7fjWTCGv*)CRT5Jwvra?NWQxK6OAHQb*J=b%Ik>XH+z&CoZB%URBrB zb>zwf&Q09nw8Y=)o^sqXR~{YAsiQQUm`KlwiA*|+&ZcwdT>2@USLfq2R$-*lqPn;) z`QYrsk9w9p`Jm_Mx%y`vspskWdINIoCbU;hB5-DFyWXL9>g4kWoIKdC59-7Es6MW5 z=y*;INE2exnat(`POX1v#v*BlrE0x*#2tBAy(Ra{eR8kdgWkIf>34_RF1P((+O)hP zuc`sIO{>BF7HwOzjPti*+OWU%rfQ9xPYbkS&Z9oQ^**-6W~0sKpw;G9PpP~rk1nN4 z|DW6M|Im7Mm;cx8cjRMQu)odH`}uo5bA&c+Tl5KY()N1EEjv{kMunvn)5_@w-Ii|q zzj%5;+B?1At%uw9gVvqWw(l_Ng)!Qt*5Y%ydVC>dZmYdM!$?$&v91JTTq*Y)d0F(? z@{DX1IZ<9&RN?&ov!a?iYTDD~BN!D&iBH4?@j0vOoc0mFF@Lf|EEUU`x8qcg*e?zU z_hgPZB94k<{ zT&4a{Yt?$Rz|Cr_+K%SATkTc*nGrh7S;6D#q<6s&kxkZ-TQ#fazB6LQy%d9%P&Z%>wX?k^jT~HU&PwQuNF1rY3E}_&gA*n!2F|f z$9UDHAKzcf{6@F_Zz3VtQQtrIBjLXG9#V^qrSkQJmsFZ?tCwg0Hr;$Us1W`sKRc)A z{+#p9g@7AL?BSoif8gg_aAF<~ws%f!z|V?ioe6o%m4M~r@a5E zlvLr1)bvaEH>o=8Jo@L)`4`XnpY-RLI^Rc9vvbzTKj%y5NWlGg`(a*7UF(mJ|ERBX z5w5)gSG#=dTyl;+8so|L&RTfu$3VEV25KI~Jm&o1EOT}^*PI#faYkpJv)MUEz1#VB ze&j@Jv$SwZfE&pC!r7S|HskTs^@l#rbgnwrlb^lz&v0it?fDDLna)CIg0sS5C5O3} z2cH#WSDh_RsQWthUfDmtvZ|i z@hsik-Y<~Ow)?A`V~?a!`QiKjbeFoWFZ*mU0z1M#FmL<-9`a5@2r%a0j zF(0*^ya6BQM8Ne=`+x7f|CvU>$9asbKndRolr<19U_Z*G0e`=JKgn4T@Ja5!)&?jS zNYUA9WBB`#K-_<0J1zfvET^`!+9`+mlJmS%oLu_zOfZ*lo_5Bh^gevi(qmI|Cfy(E z*tSWG`<=NDx4!@L?|W~z-bBNNdW(1yUr5fia+Ya4dMt5AK zZ~fssPL)JH&CeJ&zWd6DhR{>^L+A{|^p6hA$ReXhhwh-;=8Rk@0qoLWa1D52=2wTw9 ztcFz@4eJPU{&B8y;v^bYd2trKs*>P%8+l&ms?LncpP~k{DR=pb7xO9N1v`_%Zul@6 zChE$xGOeh`cMEcg`h2ONG`r5x#zbTEu}Y#TI$0I=pgb#|70uDiYKs-cMo(b2h(<@6}?pQT&ANwnr?r z`kGja#&(kZs;AXyu@TMftk{J1c1~Ee2EP@WWT9)N2 z78_*+=7o03XPE^$AYVWeJS1zQ4IYto&9wwv7E_<3hrmpO3>YMs zDu3oXIfG;*->P_9M%gb<$c6SRiSjoy!i?lWu58oA%B zGn?fBv(@a7$C&fnBTq4VykDMX=H#e6!>q|Ed6qen%QBi-lB@C@vm^2HJaZ#S@&YX~ z$RwrGj8b%@oFXsljsNCnTQ_X${`_`<@S0B=AbXMKd);(YS>h>0871Gu4#Sjo`!txosDmO z{JBdvj`d5S#KR@FVK&rId!cSDO9>l0g*I*!*YKyBa-Si&EY`>W7Abk#=WV$4_foot ze>o^wN=Z}F)$TKa`4|5)mPYoMQX>D;e%~jVdEsz7D`5BPSkv16pMPi2lb-wk${(5W zU;MH$78WF4Ms`@_!464A>PM|#;Fp#d4@(Kz-Dm9nD*rEcAnFrse+>Ja%{}m(jh;HE zCqC{5*q9HO<4N)Dpyv*JPm1vWk^cjUm-MVml5(Z+eo9t>QYrc^{}t}acUH#pU$({i zufS8bzY1I|Ou1JmttN;k0`RvU+k*VCocuTh!UJ|7kAK<){^^zM6KHF;FR(2*fYc8} zpu0Q@+ad!9<1HSCti%cD-E423{sC;tDb!302c%q&FF*GO^00P6a$;Ys`wR4VcD>&I{P*at4}Si43U_;8|K2!DTiaVR z)0^C*dvHJ8fBS1De{y<(#QbR~D4YSlusySXlnbRVw0D7iL6fefasZavwwJO$YigIL z?45ne{%jBJ@0-X{Vil0Ml8uq;eBTeW7`1@!(9tYC; zw{{@EC)@rq1o-puc1oKGlrq4V{+h6~Pl2B|Eq_`Xq>M3sO8N5(n5lKK)V)L?+}Z(Z z+tzBS>!*)DN7oCw_}|ZemtqDe8}PBM&6dZ?L!mBg4ck_f(qr15H{}lJLqFRqiwE4B z67+C?>u+x%^xyve+@`7IAZjlNslw`GIcWJ2jJ&oz8cJ!%ogqG*ZivCuax2nPw#%fqq-s)MdT&#*!Bkkw7!qK*#hZpN` z1+kW17v8VOmCe=nLR@{%xU1=g_4MY@y9HM;drn%yzgG7PMfYn9=eOeuMGI_C*{vQJ z?COCMJ#Znsx`<1$;`SS5Tg;_g%`nu}42`Q92D_S}*VPF#q7k0vy)ST~p>TO!%`m5{ z8D@4h!(dl4%!_7tABn-?3U>9wysmzj*VPXd`eAmV`LLyxH@DSw8vV6)<%cS?COmYy|FD%wUh1eZ;uX{ z869%8$RWqbF?{P{to#V~c(h8sdx2J&&($gmxLRdew905vki948L>_d@Ya%_X&&bZDES*_k^=jUmoh zHC}l5_Tpqhzf@D$J^T&3)56(bFoQi$Gu2FyjlBgwv6DKIeSe1UF8<2m;9|8zgtFeq zZY_2cEFUZ3$)GBh}Q&pt%hx!Be8np)ZTD2DUI<*e>dbJ++ z2DJhAMzmjv_Pd!dxzSAd#BoodzadUd$-z+dk;Eu2>Ta~ zQBJEHhq=0O8do>Y?&`+bUEMgls~cx$M?(TJ6ICLn{T`%Y{qrw!zpZZbj&~Gayl1z= z-?;Dc)egzNhkLlKE}g~IrL(xYbQV{awriyH2(B)j&ef&ETwOZM)uqE+T{_IwrNdlZ zI?UCjbD>M;7vb!cC?G;vQ7wqOkS-)Luy>-ch+uv7Y1~D05!}z{XK)uq_l~f;14LT( z2b2*7*yB@Kq<8i3w5}eW-s<6mcGKNBVbfi|E(%(093QlC;*Zf|*mXQsj};!)YuS&* zn(fEr`{|R~m=Upap0@K5{Ek7s6$$GL#!wT-##GIn1h^(ySe#4ti)l+$Dnx4l0 zR+-Mp^Kh%%v*Q-sp3l*u+w(@~_P7`51*G{=nW!>og*9Bd%Ib0CYLRo913O+ z$ySk#eI(n+eY@Vy+3+12ZedT!PLY#&g#Gv*&<8{=JDY&XYy##nc4vmO$K*JnC-g~? zgPDahn9(|#H#(=!QNr{3JUL#_7bqJu4y1WiU*&rQu{xHgeA-6|<8?f_C-7Z_aD7wX z#6L+VQQBMj7A5&h|3x~t^=;C*qwnDUn^ToR%vRhdO-DN-ggFaNgYex;Ei&@$OZN3M zf5D8K3Fo^G+RkENW;7W^Fzeu%IEj^+Z(oF(EG7%?tR^e&Y$hA->?S+zJa(@jU%Jf8 z{D9YZapz+vYmmv$$t`6Hm;$&9nu53snL@Y=bMju9r_Iy2i*WKvnP<#1xQm*ixb627 zf=qE!9Cry*0(VKi0HFB3aw*)UO=;X^Oc~r|OW+JnrhII_?^#2JV`sChix^3%F~U zTDWWT1qKgac&>xH0eelQd5N9N+B9Sjsx*z*(X35l(-=3Ogv8y%G{N1}G{xPFFF8ol z+%Qg=7N!O6SIjH8Tk=IBXw**^gbk;pQ#&frpy@?CuRW1K1xP zY6hBtxCe3aEY!{%vB&#ePATW-yQS~(T@~h!*f~4Gj1XQk(u~BPStQPBj4@+)YKoac z=r@KvpJu9Iw$)5C(|E7%&G(dKhM7Sbm{;Q5%WN~7Q*m?59C%=^nM){hOqdJI0#f+J z{6d<{G+{E+B(j?&W(oew*r{#Ia;bz7Pe`c(R!;BU4zmhhB>?IScoUL-4Ye<#;RWerztNd5xCL4kmKsxXRH-qT?Mv@1 z*`&nv5_?N5EfIy;tMuN=$BSPsUbIT)%Ezl@E>^r~(P!!xnO$T?iM>U>Dm1^;m;x*F zZ_T$p-~4>D^UcUJn{Qrs&r|xT*|`ShYMiTaPIAuiOSXn(PG=o#%aFCWH7kT?9+|6g zh45UBGp)*0G~?C`=Q6a&&>(}iL{!AB^tsb~R(fxm7GZfp?}pwjy*IRfXnpGny;~)7 z$@XR2l-L__tMuODMKd%gbGk$n@5WUj+`9em==ZO3JY=>@kK-XTLYjq`;QPUe!PkRN zVxPqJU%P`(x^y}Yt&W!+0^L$wgzWTR{u29Bw=wNirYm$yeQhr7UY34=3)=0ilDYK7 z07%h)Q8T4CKZ*+BrN*S>Wb4d-`TcE}t)0rpOSTW7WD|Q)oA#=5!e4ZXYCH!ZQ3 z((Ei=)E}q(`mDw6Q^ku0QYk;a@?Si08cJ=pd<8|KN^j24pv2y?)$C=2`Ovb~?`mh!yQ z5X+UN#^h>TylDCLWxA%klcgP{ZBix7wx!C)ZHUXc^R3ImwoTjaY}+Iyi)v*WR6ZWy zSZdSd-jEqc@Uv*~R^PIki$wnj$1f9?L2@rDJnr7SG-xIjnLDtWNES4Z>S!f)&u(t? ziw4XA*!3hYJ9b}2)3K{c`CZMTFgtczq3g6krzj#ia20oTiW06)QBq9jDurIL1dV4I zd-p1^fA@ECuse9G2)l##S$6PlLciG}c8eP9?Ay;7w}a>uFS5>bgM8w-y0UBcFaH0F z-LczK+?PW1VoAj#`nVcIKUafz%UxmWFZ0X%VvxJeG}v8dddJlf-g9+?_uX}-58QR8 zVeUH92zQ-nq^mD{=&m!3a&?5Uu6FQ|s}X#{p7WF9Q&%sT;I1}JbXS`uDaa_kbhUu5 zTrJ=mR|}Y`>}u0ASN@;w%KzWF^8XCv|H)z|a{dgl%$4oexGPT^km^^lhGeDm{jPj| zz?IAox-$78cSXwGK`73;D^lm(6{!pEid2ldB4xj{eo5Fpg;&I7SKhwj%G+06c{|o! zi@N5@&$nIq`Hm|;|Lw}pcU}4Uo-04!cV%M-*|-o>BFMnfSm{@K?3xqbBWKM?Mp#)_ zW^vb?vTM8Ml*3B7GLO6Fl+Rsr%I~f@6>-;`D!Xe=RopeFs_vT8v+kNxHT#8i`8*Qo z3R%Nld8+5GJTrY+X^`~xD4wQTw zi&dze?kZG&cNJ=&y9zbLU4uaOVpJCAif-t{=pop{op?P0_edwk>;Nwd z0$$PF87^LRCUPzyjm+*0m+PE~YMwJ(%?As>FW^^j8~hFKIm5NbnW%$7C`bd+f?4=S zg3Vx;Gtq=Q!%YNu2{ZyPgQkG|%q!qk&;iT<3y>av1q;C+lqF0AIfq3WzOyt6j0R)D zIPj5kSf2nV!5QMP^6n&xwotzv_G)1FRbJ;l!MQ07$jMil$~!(;8#LvNJrJoawR)xpkw)`Z)GfMmM zVlUXA+~0Qolv;#KBeF}*G}8-*lfyar0(O1E8aU_qzkb|q;pN4=F3(Wv9CF6WE}46*hz%n!hKt$V@F0hmC=b)nM7KZ z1$QporRf{W@^zD`j!#Vk--7AjJMcZ20cJW;>Id*6m<4_U^PI!9{lm2V!?gXwwEe@J z3Qoh^SQ@pAXI6mU!D`~J0qej9unBAd&`Iq8yTBf>4;%o8z!7kp^!^6-Xu$=TFQJUO z94HSefQq0Js0^w&ak>_$4eEfppdM(*yiX&-8-tfY6a1QjW}rD}16~7dK|9a~yb1b( z0rZgr!63k{L}riD=@Fzi5`5=G(T^QwmM0B;*wPY z6FhSgoB`*Fdy%kM{I6lhgPXYFSp7F}oG2rK0^!bKlMXuqJ2N_MR*)S$gx%L>`U6%b+QM=jneB)BheetqFe( zv;!Tu?}Ysp~PkYJx-k2Yc*utr?I2KRowCTCjxlX z+{V5`dmBs(^w9!+v_K!N&qwQvrSybT7H*A&TVvtYShzJ7?u>;yW8uzNxHA^+jDBVyqQ%K<((AQler!2v#M zJ(e1drG{gvU3>m82>B=tebp#18jJnj&8`11*4+JJw-e196nq${jx3@!%#%1WDi)VSi!Y0e^%0&JD?4e(3?B zyoncSu^4VEr&PqQ3aWwUft6dDW4{7k1#N+qVfr{XR3u0M60nT&WfzsH*XP)`yC3^7?F!zO@U;5IxvA5^lkl3R zo$37C7X%-JsbD%-hyO8bBrt=dW%`4G;BEM24E7q*EJzOLL^aMC?Z-ZdeHi-~`{+Cu7lkK8}60uu)Bl4pdUG>bIwt^bCm9!p5|Q8OOUeH z;a-nB$+=)O$b@u_6mGJCw;ePF@-9P(&Qqco-rJVyJf(`EROczxIZ72nsbbtxB{)|p z(N#(mLy68)q8Lhao)X1SqN|iBh7!fd-fpR4DAiTyc7c+er)1|T*?H)80lHm)ZWo~2 z1xgwN?E>D3DUDZke+pc^sEP@hubewD;KGii`2?R z^A70@C7m(2zae}L_Ij`pI%kBheql{Fqlk6R!s!dd4W!X~&KW5k{x6wxmfml-Ea{w* zrQ!C<+}8jN80Q)}$7Kg+wS1kpy;-%cAac<=Rz~-%O5Ifh^!n6wJRF=vUB|<{iEwWc z+cZ-Xu6Tk-AEtt`gwjBq?tfn(ERXT#2cUoPyYKwgj!RKc$%b{*_`PBff; z7EX_*F3wUH(QtZ%tADhjZaPyZU7gc#dW7u7GrhTg(^8RpbQ4v_xvc7fdVm%K_ea3} z5paJ5+#dn=N5K6NaDRjvL-<7SIhX`^S2Y=YJ}G(G!O z^|aK3vERS{?w+&f>>jx4>7LM4w{G3=-CNa|6-LYoBYzmzQbET+$3bbJYoHsTTcCHK zd{Ci18>9FTqxcY`_zy&SJsfp9P32+r~Q7~O{$ z*$0?OMvU%5;W@6o1ii+!ces|1_{$v2M$9B5 zW|9#z$%vU`#7r_`CK)l4j3Ts%*aXxJ)B@BJ^cAQTs12wcr~{}Is0(O-{Q;!u0i@{x zr0F4M-XqMshmfiVn0ZEV4L*|sI*Mz@K_?*xbsTy!3v=c*Bq|H`{1v1plj+BMxCZ-u4O{)np$9Kx4!wq*e&x`GR1aojF1?1Geg%ohf!%%vBK?!x(b%&EJ$_6+nI1Uv_J{1xWZYhV+vFt1)< zUcJD)dI648Ze)QQS>Q&NLl03Ml;zMrS?GNhP@wAeRQObR@Tv0PQ{|!OspxqsdV3B% zeE`qoIsB_Ucqi2Ur$XaDKo3))-Jb&2pgz|_eh<73cn#=LD^a+L~SD-XU_9$KFY ze=86ERv!GVJos370=y#lSb6ZV^5A3T!ND-SJAMGI5mYvsY$%0nGZCRSIy z0ise9ny?Z0*aR);X1@x4=7OJV(Soa3%dWSdhktk;{kaC+aKoViuftQj3Qz4SJhiLn zXC_9M_B9iI&4kx>75%-2{$69+5fQdSKiq&fcNLx-o+^psE07iR2k1}G8}Q~Gj`^Sh zkc`$~Js&)|tKioYNXHHEEE7EY4?Mc7Ov@&KhbFwP0li++eiEMDRd{w+ndbcj?=`@6 zs#mB^`4ZQ^2DJut08x$H37_eP-=#e70WS2#=lj7so@74{fA>86-ShBw&%@t659zuN zukb3yB@^S43GeVKyu+*T4zI#HyozzUhH<)vak?giV_(t;Si(pgXM&c46it2|UgTAb zA*?7O=3ntys?ks3+8NL}TtAPoyolFVL6|X+&g&TCO!(C2;ZvW7PkkO9C!VnhdS<_Y zv8Pt|I>sNC7rzB>m01K4M;H55(GBDW-`^kBF#yLv9D{HS#*ylf(s+LW_Vyl#^FcTc z#&HOaLvb8#zsBbK7<^_5t}VrJFK9pLDBe4c{asJsb0={;g|SyL!`BQm>;#)gal;pw zuL@R3=Q5qUG7Y6A)S-2(UX703&nG|uP0>kHHSN~yC*O$ z!tN|YV}_RlRbaE9&UWQj&*8IP_||iL>p8yl91{66bkTFP`8nGB9N&D7Z$8I2pJSAs zfd>)9%vk{SJBO=cRCI(Cr$1kx)`fD7EF|llJ8O{%Z z6inwS70N&*R zyvqZ4m&gC@c-J~uy7iz9ppBqSpzZL$cYuBY?F8)tshAcl8zTQ~ME=?Q3D7Cf84&u$ zUjSVKT>)JM!K>hJf^LKU!fzCSZ1!jWFT}C3fg(I};8@RqBxD0gcm^aP+ks(a3&j|g z2QVxTU|7I&@xFpzWdmi%X84sI_Jn|VkOy|@_rlSLqcd)m4b&l9tN}^_eFUll`WRFn z1g{6E!!w``&wx5S1M2V$sKYbyYfx)YTfE;M)DhGf=Us8s;!rDbz82TF;kX_2zr~;k zq?NApdjlL-$DN0y)2RK8eLM7WE_7-x*4TXp+t?5UdxQCqg}IQ$Ed;@CV-93-ClME& z#qk{IEwr%!3ITVdj|x`O)Hv-owO^`H%)ji61SBcP+8UqL58r$A>w_&vy57UV4p z@|Fd8%YwXRLEf?;Z&^TwvM`QW7{e@}L0K59ETBPI7^f_tL0K51ER0bW#wQCXP!`4` z3*(W6@yNn>WMMqAFdkVLk1UKw7I>Zoo@asQS>SgTP@XLCHw*lQKLne)7B+P)hj@c) z3(uz=Ry%hDt-$LeI35SzPQr&i4W6C1hjJI->6Emef=yZro3s`-X)SEhTG*tuyv6>C zPXDcF=#(6*;wGfu%?oD#dkBkBq21^O1$2h=>2FWRh^1r1(*H-Or52f_sAP9|4n0A=K;MG;fPjf%l&M#lj!{m> zD5o>@awD#(=;aAqJB2Yjh>=dmOi#y5PsdD8hreirzi4Gyp|5cK8rRxlWq3QpjU7P? zalQ<+0@n`Vcm&r{F%J;c!=JQ53Uas;m@mMNAqiN&iqC*cm>>UvB;1E2T;?vpKfR1q z?Ya2;OVBHj74!$_PtaR@{vD3_paPJLj3svefR;&zk7jceMs6P zNZKPvS~@gXIy6{1G*~(`SUNOVIy6{1G*~(`SUNOVIy6{1G*~(`SUNOVI($()r5^MK z^cJMe1O?ddLkjOh3hzS-??VdjLkjOh3LilV)8UU=A&K{u>`OW{a5^+_x+D9N z4ynEmslE@Xz7MIs52?NnslE@Xz7MH>1gU-mseS~+)(St@3h7RVWxNGlb{`U+4(*)| z-`5J?*9zVC2$KE?SUUVbSh-`cd?(>OBJQ?_V5gZ7F3Nt1lR$ewXW)H$+AonQ_7E}y zGzT=-9>R~aU*gAuCV+kfO$1E>O$O})rGO6FF9}mXb3nKzJO;f3<=ZcbA)ruDI4BYn z4Jrq!0ICG40*V7w10{f#p)J+XvJAv=*ASIoM+-C1!VK;t!(p$Xl^KYut|5N9hWO|j zT9|Xv3g{rPR2uWpcn5f?Kx3XcI4W_^HALOl(fSO; zI@bgm&pgI!8ngU~^LKci4~$hnJQ0FpC)php?#Q3iUH z!QvJgv(R{j#wWmnQH>P?tx*va4@v}01T6q91?>i<*pD*{dmYiF3n&Ow3RDJE78C~h z81x;YJYcZ=r=ZV34MD&gfgEK5Im+bcgYdgRjxvE1W%8+@V<6y=K#DSXL~r~J5HMjN zMVWj)s1Q+FWzY=J5)dM0pg)}4*1X7a;q$U$cOs1HE{?!2otl)qZ9I%1|R&c-y4p_kfD>z_9?>&LzS;%kmG=6-bB?D-6IRe^4MO7&H(x7&H`g0t8(T)Vm6N zt{V1Sei3LfXbEU3=!rd7@COBgfm8DH3O>@NdKZWZy6RPS2ThegPMYxgT4Uaw-68IA|A?xHOPfl&&4{k&*4?J!5$&)(PLMP zKaE&Y!0Bfg&zCH3SQF@+g2v^-f3!fee1>l}1T_NTF7RV=xrLx*phKXupmU(NXuSXe zXW&cZ!gt7puaFC0As4{M#~bz_a4u|bE^Kcu>~1dXZm!6Kyg+3@W)Maf zb~P7vH5Ya@7j`ulb~P7vH5buKE^KEmY-cW_mt5GvT-d){*uPxZJJ>qLi>7pJF>*#| z5`V;YzTizU;z7|4iga{EJ^;9S5z3(=8!D>t&uE4bXoeAJh7o9n5om@HJo`KP@V`VD zz_V=dEE_z_2G6olZDK^EZbYPR1pl(ZKP5`nM(8v;F9Z5-(YQ9^rqMQyupQAg;~&lA zTbyEKOHqt$0DoUX{$4@;tho9L@@IvfcnbY+oz2V_n3*pyGhbk4zQD|UftmRNGxG&z z<_pZs7nqqZFf(6ZX1>78e1Vzy0yFakX66gb%oiB9_Q*%3VBe}su=cbDDihh~IQTIk zoE!WAI-XwkD{M?Z$E;`tT&oR^bS(QJuQmo=#012zQ|!M&qaMRArE!PxzT&T+Ms>6& z{Pm~Y3FO>PW9-k^4`Oybg^y0}cn?1M88X{`9e2KfJ72(^FJU!k3cUAJc=yNAj+5x= zd1Mi2e0K?Ly^L1hg@irBue`C}248MNr(TCny@f2%Dd^NJ(hYT8J%D-j!!?=}N(avn z$K%(ZLf0U}ivD<@FFELk7v9A_-I{l)1pDCK$F!Gt_b%SOi|^jWT2~SMZ)M*LuASlf z$tmc6IrP6N`acK#Ux$|OM9a^?qWpk9_u@|5r=rh2(Sz0K!FTAvVDz99EXpQW6mRq* z0~Td1w9OD$l=0}11dB2j7G*pv%1Bt0v5Qp6`Z5S&QC} zLGPEN_kGd(Oyn&4KvL#IQhtF&84Zi#4Nm;z;KTv+<^Xzg0PAzBL-tS^0`D)4yN1`d zP%l>k_$KO{fReqk{KL;}W96YQJ%T^QphR(sA@8ixlap#-3Gp#(hi96rKT2(KsQT4*U zM_y>feYD~xT5%JtxG97}mxbe6Bna;d$dn5SphS=fWCmd+vd|RN4AdMn6Q5lUS_S$Q zzX6>oKxYb6XWqp%j00MKAFaQS*560#@1ylM(fa#n{Y|t!1Fg>xsb#rJ&%$259W4z`$lrx{uLzY6?p#&ythJr+hfM001-Kl z{n?&jKg~Dx0~l!uBYh1ceHNojN0!QS21fHDM)M*@@d8FM&mpmy_@!*L;4aoWJm&(C z*T8;8$c@mdfNsc(^guovwGr4q*k})g-3^4d--@duzk}b8o&C{PR87Hx<-mgFz=GvC zD#daj;hBiYpCKa8hS!k|t(^m{or8${8KQ(%h!R@C!sWml$%d87ftAZaiaiiMK_GmBK==fKBp0^j zh5Z;`4K&W)3Xw-EL>{dWd9*_0(F&1AD?}cx_~rKB`4ym*pjDvNpf#Yipmoq?>p>ep zsP=+o&4CZ`_o_4t@a1HX1lkSS1M9LEv=6_(AHS1=;{hBG;&=$hBlrze*YK#ofpyM- zbk90V!> zDg`P7DhrB$^#Korcu)c;5o7|HLDfM`LCrwTK~wCl5NWl7MavP^% z7>?mMM&KBUV-$|jIL6>u4#)C1R=}|$j+Jn%jAIoXV{webu_}($aE!+>0mnof&A11u zsNm7$z@y25N0S4OCI=o(4m_G1_=Epem6ro=CkNh64tzsem6rpg;2DsDXFv*`0V#MU z_5t++^#=_^p9X`5f`((Y?J~3h@(3%R1HUo{XaU92bKouIh)3~0@*X1c9^wW2G4UGc z87wAzPgu0}@HA292z<+{ehGb%hpa3T?_0 zALM~h>jSG9fh=wtAffH?jpg{w6lkIY$ek({^en4H%7n&w1I<*^z6Sc@3+Ri{&==?N zTlb-9UPEsTh2A)iUu+I-GYf6H1f4~nx8(=)IT-cw{#flqcXJ5DE(iYnGOVu-#Tw;s z93w$9LCZm_K-Y2oCg?WkF3z7p;$CCz=m5|l&=AlR&~b3)B49xp%IPeaS9(Np9`LaSN*+cZAKw}l52J-kqkr}6uPgiOnZ{YT25l^SY^h{Euy$K^ z!r_F|*KR9enFYQn>6C*(Ik>PxvK#qB@=&gLvV(;;CVP=T;;M#)`Gg5Rg!m9444Zs} z3FU0H_>(62g?x~BWblG4V?PL+&XT`TXRwXshZp$pBW#`cPSf~Khzb_i^9j#-;K9|B z^qyX{?Rwhw546-BEpq#Fo8!(;wj_7}ezk8P3Wq8FvGU&?C9Gc=6; zj;GO5*3krZ^Vg!sbOQU~Fv%eMC z-amuZ3d;oWLQuIBjgx39Gy)Y;i(726PjN4CF*#Us8coH}Qa08SZA`ALxn9D5M1isZRpS*-G|DqmH9K3#ibK={4%-WxE()F)%Tt?qkqG`GiD4fyfI<> z_GzC@*#7fWU7r~<`!^amY3iWg%Zh`rIhDW-MjWyOoGXJYLp--cs+5pOxmJnI0sK{G znI3G>t32|6CT=e$S)3X5O%-1sjXUQSO zoRY!EfnWC)6gVa$ZM`BgKSi9t_AP4Evgn-s>9&25@) zn>KdI;g#gK!RE=S^;ezz&$*`q=Suz0HId6C3>$ok6x8Wnoe zh~9vHFg3^PnVRFN(lkV1BAoTA=4#fp{?odheruszfp4I14gbU_dHDG|zGd;IA5ZZ0 zH3#W=-VosL>lj4y$vylAp7@S8J(AnYCmL1!6uU;vdvG4lf=Q}Z@iTdk+=>2n2){_E3oY!$#Yi6B zM)up(+KCu_k;z3`2@4k+Y;ncWH8vQxj56z>0HcC*eg*-nr>Dz{e93pDx`A}@mzVw( z`#Pht@YfjAWHLh@IyZ5;d?Jk0lMjXBUX8f<*v(}htVp=Sig5TzYI0qT$@*fsun0`& z288)U_(1FW#PiL_Be|?uu0}4K`P4+&mAp+P@9>Kq@K~!HZVkNR5|ZfR%3ALN&cGD0 z-{rufpcs?c93P;c5cLH_Otgpg?!RUJ8rt`duvXm<>*)l18;@yc-xgxE#sj@Y19(3S zz%70pefli3z1+9(CL<)ll`2fd<{H2+17=Gy46|xxTNRVj$QNj|IysvJFZRc_RDue&knkL;OFQ4ZFaP_ z7sf9St*yWfk_;6q6}8qIt@T!0TM8$osM;morSOR{aIJzZ-o|8urj2d}LR(IZ$>lXy z1In|jrHsiDnyaA^gT{2sNU}sw=wbs`i;F8`fu6hc}tb7k7br67JCbL6CU7??_13Qs%`(P6} zv?+ueAi0zc#ZM`1A!rLx+v0^2FFJ3)U9Bj(5awpP#7a6B_R7nc9H42Wi<3(w`3BI@ zlR`>SQwS^IN1a87@KE~}6CX(3CB>u}vOeKY+xjFWY;Sq;*^SeOGQG{lW83!Zy0HD* zm9?=|+`dFxN=4JVi_hQQIb1b*@sOuKAx{CQr0ppMMnvLPmOvw9Tj>{@ zTz~5qXG|u=?UoE2>y05+5)JfKa$xbB7_j6r#i!tSKq$w0;R~^$-H47!G;)67@Byjs z11l6QG?XvPJ3VWrPdxUdck0k7cSiB#`}VV*hCDmC;`~`1f}F+jfnFo!{M$1#CyvQn zup3*E?693!H*)-CnFxoEKcVxwDO{L5jFg_M`Omt84I3RPo%2X>4y8c|ob$vmA z%#SKuDXiDc$seQ}WupEO%{+?W9Z(VEfQLu{aaAez0*sbYY4mT5gNFeShX9p_OlYZ` zRt})HW{jmWVhxQWEeWM6=aC6rX~baGllpN4;y+7ZOzen!3~4 z*Y}o;nESKs+O2|3b4M)5I+B{>nYm|g#)HEt56jQt4}nU0{~b9q3@WIEUq;hKVn-?C8AW52k775{-X#X+((*d)h8x(PRkxC;BkIP~C?q8{MqL~Rd5fej>87yqpj zgmwXsOXzKL6FwGV?))KEcXR4`U4p)&r@OF)7ZI6`$>enb9EK6XT zCEl1^T63kMF*#CmieA?#K1DzEJhKw?kJ$v*EGS6OQw?jzCcNPyZ_xXSP!9+!@QFy? z&(}9HK9nQOrkMSrp^)|ZXSyEid-WLO{{4e#lYN6v(yc)d!c>4ymYsR$M0nFUt}7YUNF|ZSIe>M<103he=QfzyDyjJiKF^v z{&l5*RIXRawtw_g!e^2dWaC45K%re8_Ouroxa0jRH}SjMGEmCX3$Oy$&FnF z&nOxbPnA9q&e+WBllZWDd{|Q9R(_pqA-m50~O!2*=!CP*a| z{HX+;4i@}XeQGD)pvYSd#-`Y4NN}vwIhb^m=F&g0__JqM@X=ttW3qSgSV}J5!Su5* zyT;vP zG9Kf_voYF(F>=QkHI#yaOHe)r6P4jXRYZ`X?5D_Uv*$>JF)KLM@HXF0fIHT2fi} zfkUZ~aK{!c)GeGL3@bc_C$L_#^)TryCfgiG`J{C;fbLHV?u%ib>kv7psQWUJZ1#anEYTmADWI|bjWq9|5uOnq?_FBn5%6z$-$ z@Rl+aI>0Ahyk#ovWHJfsO&G~4I*Y9hk6l=~mtbr(+8}U|MOX#ZjVf5c?xfz9{bD?c zHbD^Z-FEQw*5j2o7bodhrb8JIr}%({<D(|CEuZ$Z8(4EQ(nGpyNhP*%i%lQ1{dPtacoWs&(I1TddoQwynnPW+BpZf zhKhB(ozE%!-R$5UX1Ly;^{I-X{$u3B#Tmqn?{h@HzXn_1m%nzHM6OvQ|8|H6HdRMHA?MxPDgQZ- z)FyroYeFr)8!FS9OQJsw%%R*Y9*%Z9Wee2UQgRmG*+E(lZnJ&-um)t5;#0?eA<)qZr*abcmOOzpzB&JDTZe{6^0cF)l#QXWA zpfo8``4Tcn&LDuAU5i8(M3Y++gQz!%5oDP)>g$Vftq;jljvhQ)`sat^=7J)NOpG;Vjq7ll#78?^bZU*CHjaf~^}lYWO7Lz>T7UsHs6H!GBh!40)Pl zdsxr*FlkPkHo9=AU_4S5nFGKG1TTFN@v8Zrzgc6ayEx5bHEv{zSOpyML=p-rp_G6f zJlG+wY7}jZqeU?W+AKnz)+23dkyamnLMkQ6BR-Os#8;IUek2dCMXI!WDSlJ1{3ZV8 zw-8g8FE6O4vlJ|+Z3ZwP&O@8sxpqa_7usegFWO1q)p2pMWD+)Ir_IzW2UJneGgmzg zh%h4+BaLQ)ecj2ePh?=W_2od>|6|@=cKJl`;n&#Awi5giTYc>3dk*cQap5}0h;f<` zb843pFV%KAnxfp58qIjVE0OEjelyvAYsj|~S{078-R8^VSri1%f#JmOa2Hpusif0b zOQ#=J-4U(GOL!s{x<=s_U9osdt~#0oGP3&nJVd;Cq`4Q z@0HJzH2rwYwu(iw4Y?_Ulaix~O@lR~L$JWq!zO7@p2$x~DgEc~_LvMQ_`Mp)8(l{~ z1g@k+9C;&NfhJU!1fUbdw?<9AOHG~Suj^=q{T*82$68SZ@HLe$4xS^1-hzr0O}A+9 zq)EiZRTa>PM7Sj`q?G(5BSSy_T|<)rPd?z<<4Gt_&<;KNrD9}Mn$&p)*p`Kn1VABS zubAFo@*9D|hc`*2Vgjl7k?tGYVE(qPJZ+^NdsP7WMc+_mqUOZZ-=waoMia$V)luxL zX`v)EGcn9-k@$uzK;~9})}TG(9EnS$4j7oW&s!*qEuMvrl)XYcS&($19=_s6t#Ai; z$eZvKhY;ju7E4B!n}LzFggUGj%Z2+o;0Px-sz`hAx*)Js@?ZyxN9>+hk2)TF$36W$ z#^HdlHQA^UA3sza`PQiG>fu+~uaaLaKe3|)D7FSFrSXs^jRU_dI+2-!#Dqw5n1X=? z#IO>BARqsr01BY`M1%tkL$bV=f8F0_E#6N&9}xHLYZjh1WpCYeStu=wOMf%xXOHf& zy1|6rgEmZDw3}Z&ZSm3p{G^m!YitElUDvQ_qwzqY#sj(|j^jDHQYH%=^#NbLk-Qjk zKyx?&;0n##VrZE1QW?YM5_M0C1c91$y%(J+k~=%ljDj|60!Qk7KM*D_26>%$9|jTo z#4uFY;6tG;Um@$>;Zeuno7XrrI`v-l1DmHEsaWyIj4k_kKbw53XS?ls&Nj5q_ws#s zRZodw)(qJ=cr1pPpdK<;*ntr)h57HrGN+1#|6m8Sf+h(pEh71TsQpmS;CnnB7#?*W z!07@N2!uyXh%aAi!BJO}%i}E<^778@cxW&gjxO1I=}P#@8LN(x=)%Z1B>M99`N?uY zcEo?MkPI9jg;wro952IlmxK`JTENesSSmo_BEG5||F9v^3(SJJv%~xB)}$+-C}`F< zFbK?!VA93=1o`6%M2Qaz=SSU39d)Rt$z(n@>hQhl`?gF;tMuF63jqOPv`9&TNeLiPI&Gr) zsuO=3GveBqy_tnK`=1!pZ&_0GNLgN;?#I9GxWRw+o5htE=g*SmYc-N4JsRJrNvU08 zrJQ}9-yivwYV&#+q-FX5WZZg7-r$?+Co;!8SS$Hz=X?{3 zk`)I9DQ}i^&Uj&VJ2|@!af3l&paSYu*ywyf^hVxG9eKEhIsHh#y>+AOEbh7Gpiuqj z$iw%{DVwJsE7wMTy2T-d{rj9QxO?kWr#6u-zP@l^bBFFs8nflM;|7x)QUcOQxE(MG z2QjPsxX&dI7WZ)$-w(_tC;i17Hmbikf$A^n(K{g{ek_?A1h<1ip1>KPvK}X19=mfJ zF_BqIXI+W}h*SHA`KQhxC4F+|mNTntjnM`k&x+uP2VxEEBhJ;)RBsZ;+;AF~B8h<# zP>L5dWtC0<;KJp_w&TFE*eT)5JRI?c$@vcI_}J` z!nkV_Fqn7H_m+UzWMgs028x4?AO;Y#E77N@2`?8X|L zLh_4>X6>cw*lB({xd|+;Rasj!j`TY!4#f1iTJJ%1g2oe*yn?7Ql>FHNjtE6&n5Y>P zS!3ogFsMih6Qc2k-XKUOGJCl+uzsM~Y`!>V+ApQz?o8RWotWk>J2kkTp1-|e&8kj= zY+s2r?cAh!Bc=_VdHOU2G*#Np3(MPnsm>Pk)DKx2b+-J?@UTijwR8WE&l^0yi>D~2 z=!te2;omioL?zD%{HBa!-Z1G^o1}sY?}JWG)eNZKgjx*@L^43H4@E75nVAb;TEU4q z%?Gp_es}t`J0r=kyYh>>BZ#Tb(a{H<_B}fCz%#zuinlYSyjdQ%^39BCe=gHcee?qf z{H^Td$K&M8Tg-Qoy9ilmE%luSyyrVnZaVoLOd!;zGj6KdR~3JFQB309+2McaMNyR$ zK)Z;#uJ^sD(Z@_CQ}xu5srSqWwoFT{P~qtG%_+=_>e0rQqPzENuOcsM_9R(9U^H>T z7>q)%_B(pj&yh=lW<(9H;!Qc}E+?D9CbinDqL5cF(2^5?Y^?I+-yFkY(-Gmr+^r%{ zg$)&4m655{O{SVhN2sn!Z0f`!SEbjl`O$pC_Fc8E%G4P!4vM_gV$DYbC(#|S z`odEhi@Qg0BPEyUm?FKxJPP%OrQt-Brh1PrP3!0+4;NbMhUmegv_~b6T6ksy^&d1z zM;g{?xG9CQ@9hyo{X-FplzuO?APG_Mnv`;7O>uWoZHiK=Bzz`Y&aXbVZr2TS%ECFD zYtJGcD?h#V^S%crmjkPR+DlwdeO7Vmu;I(M%;`6OOvgrF*0255;4jCo-1Ot1aZ@Ru zqp>Hh#&=?IzS>hKy`oNHM5RiN01Zzyak9nJDJw<=(I*Xs{4fX*{0QJi z@zszarvU|ZqI^iyn>UTyRI1||)?(N<Yz=lK&!5fzRd5<@st8lH4Q#$WI3Ma_ zYW+*eXrL>S9Ppn3G8_{_eJwLZ1K%3Ruv&8I;AVSj29nV7Uk@l>PyQn5D}Uiyfm^L3 z?(weO2kge?y=YTw@M=BU^g+~1<<??CGX41KdxPq zpHJ4T@s_i%U&or7&#FB>fSvB@k>Ixn9#^Z}UbbY&FRLcXe>{;7bwLaE%CEVc_i(bm z)mPK?PdO%&{92z%Tg{=>O&qQEbhJ7+7MTahCz#c``NV2Leo5!6jFC^IPomKrjXzO{ zXo3Qa@d4o|fj~~8^!4lVQ?IqF`274;>*b+cN!_Q!BM~*%{~;~gRj&4E?_cthdh&ms zAAA&#`>!R3#NP!yGAN%qGAJCD5J=wGyIm53SzVD3OADm53z(F^0MUsyz2lT_s*cwD##amBsk<)zzF^d6qfYersK-F_+_4RRINqa1&jI|)8QZJxjQw%^+-*s} zRGB)8`Y?0kWt@#Z)%3kcMO|m+G|8A0c_C;-Cd5!2DkzGZLXtiaesq}`t%%=UwA74G zDR`tCS5y^0#qKU#)kOm}=;uHUSfqxMemaw!CXYXCqQ5G_>ZE2LQ{8K46vvIO%8-Kn zS?UJ9wi6EGKylbgCI;jvOP#b>PF;rOTw7s2`tadV^M(r=G-vSUw(XFXv3#7cJQ2N(S*O70{6!Fhm1IiqR0~9HvJVOxjmhDfCSn9C6rV!R=^-02h8Qy(5p#?= zh_*Dy9ArQi%n)QCN<9%>?0w}6 zep-+}Z*KmAp9W@?y%fiBJgb}`=EHU@N;ds1?ex3Ak*X# zCV3Q@0_rD!QJYLF;fg}a!avL}%~(15DGq{%ty(;mR`T2qXu!uz0~+Xho8szHhZNbdY;x`5!IiKE4_8sP&)x)Nr$xf!l&f*E$!5)0%9!cmM=2(PBAJ$m z_k=}LIUSjZpp9xZglsX9Y?a~%eA%E7J}Np!sVzpxOg}7sx^dQ=Vb&{;Wt%Dc%>EmV zHZGB0-CjOv!hk=o+|D!I+m~{y;iffdd)vw`Nmb`=Y<8qzRcgzFWY@QI{7nl6tUdVX zGQa1{nu%@tv@BP5_ndxn{Noq)U6uOi@|J7Mr?v0 z1KQD1*{N&A-@_Un7et1oIE#_3n}s#hEE@vQgW*tD4n?Uib~@@>kd|=*D+Mj+^?B$?q*A3et>M34u+8M5n4oOJ!qnbn%BA_K4xL4n0KSOgel%QU0`^ zHIh#7$Ou~Bn&2B5Dq@uZFNQ|)Vvkj`=UJpVb5|yee=+~35pN17CX?8m7818}r+j7C zFLGLP^+TjF8BZD?+9&Uohsk^Q@x7O>ziny!%dJfdCr(IN@%f_tL>PEjK9X{ne0=Z_ zsdI3jeDuh9((cR|dGq-*^42R?NE?jL7JfJX7(6V4YVn^Wqf!-*Oi+k}cMRg8qOOaf z@GrxxSo!k%`Ja6>@iW&$_@~s5pPKq<;@82iuiqHIS$?i838X0tr2(c!X;S|PLX3EZ z25a$<;v&l)7=R=YE257G1=F_riZK&E8##W<(x1Ec=r`W9e!`F$CFNtEF7n?Z|H1!i zs#~k!pw9h9H|RaIP5W;q&YL8k?9jS=r=;CGSJQg=pSbx#8DTmXP3A}4N1}T^_B6i_ z?Kq0e5*F~UP+1jSv^G+Q{GOhMz0|)$3QMzY2hC-QOjuyDl@UsiStKqI%e4k$O|Kms z_5_csV!w#hQg~7=`UBy#o`U|xQf&OK;ovy4BdWBjHDX#njG7jW^^?lFQ)$KOT`5di zq7Vi_4l{;9kgJtttIVs#YKw2B=#Xmc3r0(&G)tHLIm~H*58Y5?QXvtUa*|OVLJVt1et`~nuw-O#(2~Bob z>j+^`U|0A833APJ;vL1P6oH8eoCxDLR)Ko?oPi zA(ks=bn7y0T93)NY!nm0XI1(OuO-emkQT2ZLDHh2?J0 zR*5S~-NZ3$Aulqp22JbSI2wEIOLA-M*4_=;3VF6D&D;J_tV>AjglevaM1|5XC4_tu z@>K}Ss5`ALR3xH!aTAJ1sfCV+AYP4o4(rpo{m8^6gN9FU(YRHcg`>u7F#ULWpskiz zkF;&jv~9;GT}BQ0rbhQ5{~ir{j2hRo**6`&*g|{!1CsS)8D@|CJ}q9LdsyuACS^%1 zLA!ZsWJ-45LH0ODYOtdsK!2t?a8ew`XbH~~Ct!IO$t zsvaK;FI4bS>+S)OqxMhoVF&6=6~Q}L&K|}9D4z$yvc;C&-llk=i~M%bnhFVGObmyBAMQfMgwrZj^jo-0baWnYis((Sa zFXW~KD{g_5c5qrN&OAw#SHc%6&h+GFY$DZr3cm+*K@2frmDyY4ON8hU`+6qx;91Q z-BKJ@<0dioV%3tOF5lZPV&N9zyLHR7>Dx?`hYy)Deej@Z;?TthQdSOFvVY$y-NZ%9 zCJr3GZ0S_k=keTjJk@*$?DK*^T8OrQROb}C&FMOTA2H+%cEwwY<3i%kxex=C3$`iX zj7pOkPKYMQRmE>1(AN!M-&x2#g=FBn_P5}xft=>CSWf+pDthcYWAL49=pOp}`{;N0 zFzl(v;Xa{UCEV9>pD=iqVeCHOV_$iq5GOX}N(1TcE|p|Rx20rpg$)ZK)S1X8AH@>j z_=jq+1Z?$D8tYVjDf&& z1s7Yxl6(`}zS8`W{O$Y~F=U(Eny%(pYO=K>TZN^VYu#X}Eka%Bqz00kMklEb85VX^ zi>*U_C;|vq>Jehbu{spO5LOE-!jcRkRg|ckBLx402n3CEBje>2F{B6S86&SC6Jq4? z^7u$Ho%D^77qUO{@F+4>9tpLG>hrzg9o=pCDxrvSdP|~G*TC|CG`Nm-aNWsf7csh| zkzu|O>;UPai+y3OHCaI_laVw`e?M}e_31I#`U5Z@Tk8~LhMw}%8G{JCaLy+xA%-B3 zaa5|GnE743A9tcyJ!?t-db55c1U5WGI;OpE2#9A&+xzR-IFfL z5?=pgtABFovXdgUUf5GmjMmwav*;w1t3+eUqRhUN^fLgD2A*#IOjW9rlmG@Jv{_ulYOv9dZK zQWVgHL;}eaVpyG!Qjz9s7Q#mk>ymnSXO*yjH5aB3DIZNJ+3y4}RM(IZ<`>o9#_Tw#X!+hPB?F!<~M z;(i-4+K79DJ$Cxz71a~1B|XcuQhS8p34gu8gZCDeLvr2e%Jw^@(w%pS13u|p^ad6| z74K_911juqrEDDMqrMPh3rh-_w#SO+=h&vA zEnX#-@*es-ltH8w93#aPw>o(k{7)4|8Ik5)q!@Ov#87aCDs0UX7z_4#D+k#5J={k1PG#-85L0; zLh-+!XCE(S~mAn+M z4%vqYj9;LVv~enQQB#d<8mdVfDK-%Pj5qyLf~T>WrG!&;yd-+D^?*L?K+z$r&&Ec5 zsL0nEZp5`t1=H~8)uPr!N0}?67F*cGBbz`|sjS9TY`s>gZ)LTv@=P++w6?H)ajmP4 z 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 z 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/roboto/Roboto-ThinItalic.ttf b/src/assets/fonts/roboto/Roboto-ThinItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b2c393364daf52349cd48229bc361a4ee93259b2 GIT binary patch literal 172860 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�tjSWQ&??rj_@lfDEnNwrCG<^*AZ6_v}uppcIk0z;&?Hv?CyGA9K`A*yW zlM7~PG+9h4U<2?Hy|8mGm7N6`k?v?)I5$GnMpVRaIom`qBE&T!YQE5U>uFGGwosi^@iat1M1~>oXW^S#!sC8b z_UY?p9iDWcrN8OTsRI`^X3e(s^RD&{2;4O8%eB~r?#opBv0nVR>}e0B;+&&9j&CLj zMRvnF-oE*9ZUo2*)9Kv)ES(7y!bsknt0t_&H zl^In2CVnilV)-e?KwXgoKh!cB)LP0Btd2jYk5s^48Vss}GYNU7mifbAaLG+Tla|Ly6|d$jsIo{afxGv|IWs zEcDFY{X`fUEH2wn7#eb5_1YJTdgBjQt$bF<1@!4|CMAulA+4ATL1_e(CMYz44-|JxyPz#@E__flWI%IMZnOKXC z(P(l6`x4HCB&)d^BF7>sL{l7cEvt}?*2;q;8tE(CIvaW+P{TR!kH%$u;0G0QJ`@7wL(u&nutF#!#3FRHch~Sm>XMZjelzJ*N6JW& zGHO#^4m;ioQz36bzy*7YzA>@%r+v$H&<%uOIXC1jGpsy@qmV&Rf+*-{yg*HvM>(^= zl~}SA7({IzbWJr&QInxGp^6{C_edhTnOXM$WR&EIK&yXBd zy%y34v4Wx$r`bDWJ|f9tLif2${Do6{MDD8dh0Tql%KMI z(ZW)=6n|>XjRMW!Sae`9^U*Lf9IsaSE0U8eMtm%qx0tc#Hq=f~@v0bu!Dv9{7aJF; z;uZP5`>HqH=rw@f@^VSN!F5-7^Fs4x8CT80N{?yMU#E^sd!*;vRjTlWnsn|tKWcUrlkxf;~xi?ELD_b-e{UCX6ol*00mjuk{pEqyrRx<8JQeFF*gc@zS zzI{G?&}kC9Y?pLd8hGV`bZu*!#7=ui)9>z)qonnI>2vAoMQMK4_su&HLHv}IwB~=1 zW^p`yIvb)fE40Cr>mYi1v2OI#F_m!7mRu1#>wBE2V8B$=fO#k=kcAXVt~#P8y9&8M zrUOBSOA&;n_78unD|j{}LAC5ge&KF%SZbv_MBcU`zX`Juz~b4$oMH@GqlL$=$juak zO*BQf1~bqLfBi}=sas^?$^gV5Z1;^%L!x^Hksjhw`X>Q@jvNX)6U6t(^erD=QRB;G z9s;8)ze-~pS-ziGBUx{vp2p>GfOtB?#~9}^&eX+DhTr=k%&>XdjAa28q&yT>jV5!C z{v96j^iA(ORTj1*`RO1&iuZBtnoLW6cE5=PVa zK$iGKTNDH9N;mIKKh=-;m}-zVMK|+2Q#BV)%*o#$5#z;o{Cw0!qOD6#-TQmOlf|uD zU7&LL*Zp(%7fFSgHybsceRKG|3$R9X>@HyJd=ML?iQXZhbS!{J|JO02J+74v0LDW$ zN^Ahac>s0@4i#zv-S0#NV&l;9v*+EN=AqPvMqHL2e9`YIsgL~(62tWV5kK!jcaO`N z-=V{{qte~oL^J`%lI{{7$NG0G{AQ3;}76csw4;_qU&vJ}7? z^-jnfLnRa-68wulODm&N5XEu43y7pRiK1I`>GcYALl-ll+bCdk{@->kkSJlZu-jo!);^Iw_H~sOz?tX=Jyhv{#i)*x0B4 z=dpLgu3ZL(p%!IQ;lWY3dJ2V(D#o|E(rWL_ z@1`x8i9b{d1unV_osk10?0&ABLl^LyNAXMe2H|2cLY48#k4qGNOR+QhUAK(JtbR!`bdWKvp7LUSbhZztQlKV)PP9+bx9 zQK`i}y}7QUrw>i`{zV=&uu>YA3c1aEu<)1KFKj1{?}~({Y9*?iXJ!6E$@(sa7-=5z zxAaF(u)Lgj^G7<^1NaJ!c>8^O4jOmz3E!L8N0dCKErab5hM{Fj^afXoZ~jN`CD&J= zSX3XA*Ymg4CAJboIIMS}d8)~b)7~PHaq8B)j5!ylF0m*_q+NcJi4tX-a87=m2M=~g ztl_~YgJG~r|86DeLTZ~5^Rtp~DoeYbnM*K@woTdVZ5w5$w|kUb-hSa~ow5yHd2k4*fRrpY&h&P$ zxrBUq{a!>x>B&QBDH(N|C{5u?}|7-uC#S-alT9EX*ge@yd73VyRqe`i8W#X5Yh1VpB=BKNwj;v3lVoKJ?YWy zpPg@t$$tLNp06mqH4$Bfcl!VQ1L>MD;Gf+O4%5;9R`kCwa+!}szhH{_S^abXxc|k% zxEU1}EG7CmqfkG$!4UC48|P4F8s*G8yECa33I>KqV! zXEpKREp|QGzw58?@XKeU>HKi}a;23FIX!9Bk0$#HEx#*k)2?gO0#$`xY=d4@<@$?y zHbTypyEzgQY@>;q0^Y=?I(KtWfDUt+GSInVhsDN)#L_q!ivYnMg#b$$1|jf z1$6*EV9@d32|PKWGzgsVDqyd)ac>iy->UpsGp}^hnS(DM+9AD(F=zu0Z~pyku-}^J zbDxxinuBw$?;x70;p9@ci9?31>NaFs=Mfht?YOgYQuEqf##U?c&C20l^eDQp|Hkr( z?ZNXoOmFfSH8lrgUOG2Ht*%=XRW@2Gotv6q216;Es#X-+?XS(R?GCk~HsZAmiZ&5$ zp`%Et#~o0UBl_wCFqF<-b+f|^U2-X>%MQQe@|+$o)&j50z#)rXsoxVPef#6WtDTMe zQujt&{Q5izje>nGsq$EQJ?ZDg!jB~}XKio3!IKgQ_XRlBC^J!qQ&S`!bnKk%aI*_; z^N=nz6iF$n7GtzvyJJjrkmo*C_|NOweH%(QYc1*6MOoo(Tl_TcauyFyZ3k}skj?wZ ze7c*XaZ`4;Te?s-X5`ECg5xRVh9VDk@MZ^SKN_QVwn&ImD*e0JgPvtzIu7#d?sAwVw8AorS%jo}Peh6QqiTw*Qzk#&E{?+^Z2x)FZ z!Jpq`PqA0vPud$}SLMs-!^0RUed$PXvXOFYms_{F+Ev;VdRHTJ#>spuepX}qhds@` zrHm$gccDEg8E^lQuTFDSf;u%$aSEN`!L<^VGB51*<1Xo!i@pe(4)!Rxq%1c|qKA^s z%Q^!R;P)1#I!)NFDe+e;hLwD-7IrJm=BmopsU!wmR+O&t164Dic~#0Z5A%Vj7m#}* z#Qrj*9*jZy)Fxu$KYA$T=_4`^#X!82a-(Z4G2=t2dlgt>GM05?m6NdiWWy<+x+GO3T^D@aS; zBb$?V*HQMhkK^y!uN!D@5^ zGeo@?MeZ7Sch>m7<076R5ndU(JwU(!_+Yp z(~442fStz@j1Kvq&f6XkOiVu!QXz2F!g)Di=CG2@yR62KQ5Zrb|BTlitG~{Y{toh= z-T9LNW617l>-H-*&t12C9KX%Fm397;^+*t6UYSI zL!(au_7MiD)T~~{-$L$>I8ZslOgzkET3#D7XjK!1;Ng=}LX_T`)T!O(7RGl8`eM?y zM^ytp>akD7*~bnVG4R@?26Y-0O0W33LxvsixpkbR8#9G?6j0g53M3&DvJej2p_9$H z`9TK!T&yuef@nc5mZG4h0gV{wM~wwSB>7|%%sS$jaU+cZJs*sg8r|mf5ZT8tR|J2)1#pcNEvp1amdS|cRmA914{C?N6!_Z25bL%CH z3SA*ppN&csMkT~KBOgLhIS%t;<$dpJI-7O=M*^f)unA>vcA&G(@|*z1N+z1H4rV9p zO6`qviUVS4q=*#*R_WOA!^0L|9XD!E>?pJJmpL-+>bSwnnke{GP158Zv%YK8HE_$+ z>6b_F@jD1VbJQSy@muadxBi2!PpVb{`haQI44+jwR4w5Bw#umM8|5 z+8t&JU5vU(ql;@QbF$e{%wwPqG1I49pkWNj+GooZj7unVBf~avEgY~#xh|| z@%eQA%YarG0Ytd8w>xwz$cJHb4`n^%q=GT&Zp0yTv~z1fRrO#Gm|y#@bO)5e2G5dP+JdrP#7=co%`gM3Ip zPFG*#oi)mk4Bt|Xa%*OpY++u^C)?_iAg}&)0$=i3rdj6WW`k@xNl}}0kj))Qm!y_t z6Yfos=$4|76NyHpZgA-5;#o(b{&KMTx`acf+0n>D)wQvCU4lkt@E@`gG`@dxylH`k~PPeX|^ zH8^gP?21p=JLM>vk_J6MZ|DJy!%Q4?V$P6xf^g&mIzpNJ(f0Ohe{u%W`bc`0@{{Jc7gTBztC&{zSL}SJW@tss4V^g7zmADC_AgkW-hl2UL`ji!6 zx=vUo;yNiCY09LF6~41f13AKxJ6$^+Q}!4kt)%f%B39UBLu^KZHEYI(Jg zkUGUnp&37Dk-hSG^KnaJ+Xv$^mMhYp%$&N6N^|N2Z$UYBXwR?b2J+dB-|I7w@b_1s zTBf#xo4a)G#&O()s|O!v?OMy^Ad?v=%*EEXW=#4s)t`|BKkP}8Z;rOR1@5+rz>TYLnYMs$!3*c{G5OTtc0_; zB`&rUL#9JQ<0Vy_;I&Ua{bX-nwcs1P?w5?=d-|yq^#TrNY_iv^t~VT*vq`F1oljcx zX7NYo#x@?j=Iz3d&y0V6=<+=|CpIitzUSdFJm<~vhtylRg?0y^-6KR#XS)#vhLpD3 zEd*q7lB?rg>da)yC2itA;z4=jfq2j@@&FncM^#D9L`oJ9x`l(I_s0(~6W$!t?8>C_ za8Tv#xgcXsVSHEPo{8HZRSW3b*?vs<;9T#q@@Vk%l}%$L)yPT2gRV300bXCSF^c4d ziNS34kIs0y)^502N;kW}y6>bsM)+yspPv_$aAu&S-oqHS0r*-+*Ey9|e*zI*Qtl$ISGmdRq;;uo^9(c?Hk%3R(Q)YC$NhP$-QP_)uD@Nkbdid?d|i z_~d1emP$u)TC!+7G*8fWmd2YW)Fmm8ggk8E^OP?sz9J-jeZJ%eMI8by!dh-lIEvQ(EAHoN zt=j;)jhQQ_#iMSWxS#Xz58RJU{xRH-+#~CoNOeg<1F1;*unEbL9yR2<;aP9?7xw$4 zSW@D_ZdAV=2c(t)c8&yA+*l+stk|vV7#`Y-_@2E(i?uysE31Z_!BJE7@aJqc0VSv@OrjOIsn?|B4N| zZvX!X8*IQAXi9FVg)a6H8vaMPs;a^d7LovYswbrhdewWVC8;KcxoSxgtbPe7=w_24 zn6L6I=Tr=0*d>IcbSfw=Hjbuj7XKI{&DeM~ol*cKVl)`Zcf+Q7slDPnRK~*|B5osU%SvP5`rjcsVtU@wsNc9>&ZTLlc`<`)l ztCWO4nl`x6idy7&=`|S)gijuS{$p)`9-g?TnRuI}*Q(RBZ~IEk_`0gP;4hZ5MkZKw z31Vm@MY^n^32vpv$}n1jg0&>kdW*kB#$6dh1|v&KdF4hDoou2^C>82hh~$NU;gh{o z-mxAkk3pS1CawsGswI6bjUPzT?h-`dolKVR5S!TQKg#>`*_V z+7!7ZWA#_QKmY9W@W@!A>U}fd{(aqz4NH$qe7Iyl%DyZrWq$+R?}{8Uk{c)byR-;S zM~?tO@0x6Kg(&hOQLIuCO-j0$3Cj~3c=?(lObMp?rq(895BX9An&+A*fF>ICtcX$n z4!1}))iJ<;lEEeOuPhn`npYZUV>KrkTs^ca|4?1hRXwVAtasu!n(Ng~zir$4c~GjS zhj#YBMOhIEq`#WqAe}t>5wiPAVtvxmOzK^D{r#aP@AVpb>wt9LOy$J!t8%yE70}3P zSXIY-tIIagWv2cN$(I!!(-h6EB0Gi(Nt`;)5=)nY#aWCrGd5a`Y8pHn)kNhFh$Na8 zzN2iCSA>20^RV+xzKQ-PqqXqprA)2P_^JgopI_e(^4naM)X0 zn7LH?yGgs*=VQ)nYv1O4oyfU71YQNONkX zTBJ`kWKtC=LqqyWKi4IkRuic_RPu-Ar3LG$o8ln&*lQ#w(`-%$dpUyHOEq0(R$jYY zYBXK*t|CgJsz86Cz;wy9Zl-zWZu2Y{Q2wP|CtT(KM27WT@>9%%d|U85!3?olT65Y5 z)pXVd$gt?THHdmNL_Hea1?)1KzKiLF1~R`P7#rX!l1c_90oas*Nn*0|YO*e~rtB-> zHIwOA;+=0s>oTjBzv(o4uDX7}X$)0^w8uegs6#59>!x@%vy3#NQ-t$G%j1R7h)>WD zD-8YzJ{#9t7b3kl_uWsS=Fl@oS3ivp^A5Su$$rGB+qLxjin;~&Ctt}5GwYgc9Dtt?papiYh*72s z&9Rov3%($ncCCC39ndf=cAzUK0_mzsr-n0&8zXy7;+f4YUE+RNh&IqVYP#xOxg;<$ z$`ELZG?X4GmNV5+s4`$=Bk)Au2HbR~=-0ql)^Le_Eu7S%qA%2{K?hbqXi%dTeT69{ z&P#{6B+=K42Co05j8BXZ*lLAZZgWW18vh(rY8#jfVa2DV=8KM=5iqGT90d$84b`z! zhEvnE$o@tHPs`I#5$Mk;+J#u>4E|K>Qz7!w+>Dui$!e8XzYZhzgoUWpL%NJw7F4p| zdwKqXEb_^9KkbTN7v7YX^zABeYo%>E!+mK&&RRQO;EA97fR&$TjOo4T^K1JTTM}Eg z6Bo^F^YJ+H>6BWZ{XV;xY`XTDZKm}0?s@*sBB^9suGB#KV-Z#nJRqlt4>a#v{;-gO zJ`G3J(XF(v!v;c5AdXT2RQBDy-WF|Gt#5u zz!~c%OP9NMsnn&xVb$*D9kH%s8dhr55$18RWJP!`rzR`#oPb=|*m-1;u$+H|io4jd z6~#)-#HyGxgF(VnqioF@cwnYbNH?e0Q?UAyEFy`i*z;v9q*a5S)#0htH6gEaoxRJD z8<)H?&;#-+&%FWBx~(9J(y+N0)S$+2EOU>6D97kxAj-9(VyJA_N|5_su}UP9_$Zw< zDcc(3X4=qLcQN#jCQMARc8kiXf@d{~)K*asXEds#Xz?m66^+u&aZ$qlHB@Z+k2?l-^Kj+)26+|J5Z!R{t@3p+p+4fz19X_3bEa73%R*N6u@Ow7yYf zeO+|);4ba?n*7J@4zt?wV&wp#l5!&~LvYy&T;8ov0Q|y336b{uDn4F001z+F*@b-m z3C6_>UbKdDOjuG&#{^c(H{l(0K)z%Nzb7+a7FJ_g8n&oVO}V8<_mRH3wLN=}YUa_> zTz8<^!?StHdqZj}zVE$kd9U7!mjx%)Z#JQJYJ(P&XiI_}4&f&So`Q)e_CrzWoJqj$ z9TXoc^;9gXg@90F`fn?)X@D!6n-i55{9p=rPM^Hhlicz=^)P zxy_`XNfy7hDjCtWZM*96A9oo%dwidP;~Ts|J16jq`CPO!mK)-1CxZuETE(Ws&`yyH zrbyuwwicc)u`O?%=*h829J&@OyQ+_6oM4(PLUuJQHp1DdObM8aF5`eLqJRN&F7BkN z5=DBx-zURY*S%xcX~xvR9fOBY(gkd9)znM7J8z*!s>df?d(G8p`;Bg{Xe4wPAS-=}BmR-ITa|IdoQc%{+-`L4)eI|D1rUcT}r5m-7S^q`@c zfFccnE$}zuiRtGW|5{J!AkyCq&-jy}ueGsmx~I(YxH2R+AcKXEF1VH9mQ>_uq{POb z8Yo$Pi>TGH8b55G;OrI{YF5We(J0JlQ?H2pid6l?n~Wc^=;)*as;dU84FJt?ah5*8k+byPo0gD%i?jjLYF2Hfj-J}SpQ?t?qCu}f zj|sGY-a>ndT{WHL2o-pU(a;r4Ovqcf2U{f_?PC zPLruJ$-w}K>Tt&7KX-4D%{oBW|7BYif2Wz$@_fg+a}EBXXXebBXYdO?drZ^6!-#Fw z1;KMb+fiGq^U90omJHf->h!XK>(AT2Z`X4xQKVF8-*cx_2kR_hulMt>gah!|D+5td zNLG>rj$U^lFM5NXi6d9I8T?utS0TF55H)Y&*I?{)PCi&x3qBHS;5&DKPR6nCtirRf zHSD{C__ah$F5~ImW#3^ar0YA|@tx_gJM{PW((mvlAsj=a<|}fWaNpAVm=K1V*msbR zyq0G3ClsyVZDLRj%!DQi??<^bk)e1LtHA1!3gyy?IbCZo7H0d=IdEEjq{$NXgOt4`M8AAv zy$1dZ^r4X?@vP1ICqG)g+s|OP+RbfThm2}n$*@s2@ib-d|o;=Qro;rfdj zA4>7?@UNI6?XWM@b`|=WclMy`7UG3JRk0;o2JgN{YNx~o1`OXtzFF}@mlx+q!q%2; z50W4IjTrgK8F0Uv_qjM%(V|r|x{Bc`xil!f_*8#Vmnd$JqtQ}V=y)1r&Kq?;T}tbG zD6Ytt${gzfC>;~CG7JQ}3sN>|RipD2;yXFqfw>`Bg%4CoC|%J&!zTgD^4PKlvd~OE zKARmDCgo>KJ8GMYHIqokgM_aTmbqJLm98iriiaOdSn(t+x4(aOw=|3#XheOp9qNR`gGu zuQM*Sn5*-adIAkeVzFhB`Fv#7XA?L2sbhwPtGye3{=RqM>t&rbCx$1_Z#4a`(dYfG zX}3}r8SqZ!59d-cZ0Lkjn1#fIY)~9rK)9OGY`-w%r(+HS8u|H0Q2In^Gk|R(~n09 zd^6kJwO<%Qi25q=(RnE~ZSFq3x7OFL5qxxN?`@wR+Y!9E zL_6}4xt=5)cpefsN6}(sVMG4BTC4G07BG9fcKFo28QZ?@+OTf#A#0|pR~_0oXYPiT zGun3S;M1UEhlQJGRb7-aB%So!JpYpg!kZs2RczjLtsRK+7EsER7PKxefY zSguq$wk+m$)!Mn>a8Vn~qHHbJPdc|yL1Zo8V+36&TP{UICbxPtVgOXkAQSW@-QLLP z&&(7g92QEjFu06@WZ2}$A}m~~RfbfPY+p|PvTa~A@jf#uGr_RZZYUgiJ0y3;edAKk z&?8e8-W_f zb(paS8|Kdmk|a(YV@^$RdJGFcYGkib4d%@7P$x*YuMX@ss^Of4gm1gyJ1N71@O5kQ z4cmO2DLt($BzO$8pKH-GlLS^#d}!H6vL2BhFa&>IZOrpseX+LhM*>$s7 zn3y8{_LFa_`Ku8n^DC2p$M6!)`Wh5;(fS%xS-aKO{9BbZi$`3kkIM}G&#G#iV~3y~ zeZs1&|D~#?t$ED{3Vej%)ryObCYM^QC{ncot)Zxj`q0JgM%A0nU1CAh}_zbPzf!lMx!2%J!&&U|^pn z3$uPuSuA@tQ>~>41SYgF>kL&jz|=VvS7F_hTVCAkU0U+oOj?8apD1(W`r^m#_0CH2 z)=^sL+|gP2OqQ6hT`L*oUi6F}!lZ(7G-3rku<50ul2u^9c><4issfw5bHxg78;QA` z59=$}ESMOeq4nLE=@fOobS4CO@eyBLgbryQP#FLpvNd>CgnZcOMz)_9<`?J`AOl3u zL(aXdXnaA7OW0y+ic%?lTCHA-bPS8CQ>}B=^BR~N2y+^mi?f9})k-ESYNZyJ&_&h? zMJgFD%_rmSol6j7q#@9#iTQW|mbrXU2}(wpm1R-Z|u z6Q&KWFSD+2ow&q?-NP0BifRqA3IHr>_nlr#(G{mOfJ4j>(WOpfcXhKIx1{gpYc#VT zCEvWy``J+>BY6`Wu|KyzK)dv4SAUF~57$>DTH5DMrrdU*Wyu9F39NCaU>9OLItU2l zWT-411mqI3EpBL?4>rd|z>X4F%t*5>a$`_qitGTXFt7{aPx@=5wd45jH6^ww$2F(M zT7=-CHAmRHnE5PA%{u&Ew6G$K3{n?l1ZkqOG$Q~YUeqrdi-y`# zi<(w@Ior_aJI$?m<~g~VN0ZD##}8_^D=FlqwzWI)=jph0m0Bv>qJILg=a(vwZrLd_ z?Jjv{y6-x1*?HDNx5W!C%O{6BMJ-3SIS}>ifTpooa=2So2TssRETUGnmEMGB&P=GU zuTf>t$}nFns5ZY%;lC)tT593IiNGYkEh|1OU0c0R*^##UJyft9LxdQPHL!wgRfwCs zx%nqH;x4<)0!L@hvRzzIHz%8ZpmPkepaQK{BlV>i1ge@#t6X4nEdI)ea}S&BbL4(ZS6u@*zVc`!V-o9S`u3G7iKUnos;Vzru8i(s=zi_ut?8!HVk z$#CT8Fa%SoVI_C|{P63CYQZ}(fwXwi<^}5FO70EgFKX;{#|p8<^H+YqBWEfZ11C<>-pmjRr*PSVtDe_MV|zlbHz(KOt~t zHiH6*Q?U@9;$8ft_22q^ShDos@d~~ruLK{hr{B&g*{g##JYIawueD@fzxImJzy6k= zq`AVu)#Gn057rUB&C1^6zgZsYr);xsb zUCLixxAVmDEfYx8vzhj0pWm4F%iP{|2UvSd`#GaO|G}>(`!^p>*K*>SI2``~Yh!%4 zWYJ4zQJLns;`K7IgeJ*KBjGiWUY0F!5gOhO-8ZX2J>U0|2CXoBuei4HpmRyf>gmPU ze}v~|U`_Lf&g)dnYYkYedzJ1NaR^2gd7+$Y^)PUH&<{jKH{f-@qA!~Kt&xxfY$i<@Y~$rJ0#?s z6rm3ciM%d7-LmBG!)Q0t6p4Pm4QE)6;OrTQrHp4qh~+?BC1H_dWuzQBvC!ZE{L9`8p=Wd zmy;{_zKTk0!C{7ZTEr{2TqoR4%AE56=C)ZqgeWUXbo<}xGy7Q>-wZnlBE zca=qJ0SQ$Htf+8ZQM-5|3)0puQLLnz9tV_ix1tRYjc9JTSi!k28Bb_%S#7r)x;jqO zInh*E9^}?PVzBdl^qQ>Fk!pdP=|=GZQ*%HFbT?Tg6?AG0V8r!+#7s0C;p_C<(n~FP zs4GkN&W_oU7N8Y;6>z2c9g}aa3ffqC?O*TNo|*HfY^` z!RLg}sJg89W~oaA^sacp+mz2RdsByP6|ck`D)l`CN4gg?>fTt99DRW}U7gUt!&e=l zPEglZD|%p+GOg~W!mN(N=JMFF8c&s8akn8M%KydNdw@q(b#245&p9)b-jfLl>5U#B zWQN{*?;Yt~iZm&qN$*`LQbmzI9C{NG5CuU{id{i0AgF+qWOn|0?K5X`4&w7Z-}ipk ze<{h#B$L^7m3!T5trE(U0Cx7Bke{({tc3Ep9BdVFCHfRKQ~_Km{_derDGAJOxret} z6nQ0nM3RDsY){K_x!7;tI$1%Lz073|xEcI+K_El4%FA_-Y?hITO)(as+>onVFXLPw zMu!MPsEoh=kKs~cj8UI}iz>1Z#qlMC(i^sxtH-=Kdi?aD+`#_N^_(4Jy)L?y2t z&QRh2^l8GeVniMYAsMcZ+vbJY(@U4H7f`cy{W|_3FV~l(g15p|vC|yo7~^zia`50qX?_MiGyITw@W-qStKjpiw!NEU?Qe}~eO@DxL>5;=LLSY9ia+r({h3|_~ zP@YZ!%p3d?WmQ85lCdq+A1HL9%&{$|j9<6%IgR}Mx|Yvvke6IBAia2UPC({oIrW=n zSE$<{D7}1oM#U7|3D1Yh?|iMOV-Z(W$3lGSQ^hOzTGvXgcm*VEBjwM+;bOg_pTV*K z$sW{-8};w%%!=n zUzP6)ZPuTG`q;s9)sTi_g66{X9TeMlDAbl@%eH|mB9?&$pkOx@v73~&gMYkClgAyv z9eJ;f@*VT%e=>hsOMm{0X9_xAK9e_rf-T;C%FOfx8*cq4zDv(oGjz0ww3Wmd|7Z3J z@$o;dz074RNjztnH3YYGh;0JiOGrEJQn2^$l=M^thp5E(1{ zE4}}S4-C?+CLeeP|H=?B!1x47OIcX(>*L&fbd#X+P;Q{uC_ked$0He9s)lM8)qW5i zG3(@~|GE+FQthG=4;?PT7Fm{EPO8ni=f`wYn(~i=%Zl2xP9?ud8+?Xd`3^ifNaq1+ zh!)*}Jc7c)SG^jW2`Ck&hw!~aNh9V#+?l&QArHh@r43UzRcRB$GFko*x58;!v8aq!wsC(fV=`_0`Cw=VG1gQJ}St2j6$qGdk;2N`3lycJw7KC zy2&OOkD6I)!pwAJ%=mXzt4wnyOv@0kSM9-s2;!U*(*xWJbUe$&BPOl$ERe_A3#!|t zmAo^G;K&2~3eK@*vc-dpGL+OBRz{X{J^N{2(0k7M9L5xhh)Oy#D~f40Ffx@Pt?@M# z`is`WHAWL?pJ2Mb9aYWiIa{DcRjf_p_v-y)uSLVh)Ux>|MsY{!{I`nr`FiD!2Yk2k$Tt7}iaY#s|EpJR^B%0c!_xdud2(i7n_w$wW}EQQ zyg7Iz9|+_eyMG!hFdQooi+F&)s8OiRSX^>l&Y0jEfy3!P@p%On4f(d1ecvEh8(!PS zX%Q)_KpN8`F;T<@Y!Qyg9O>j0Rz9OsZikZm@GniBO;>%?HMWzhQ|jdlyPfQ20Q0-X z9`oQ|`IiB_7u)2A=`hZv^Zc(Mw5Y`RLvgBh0(mNB>8x5r{V8qy0&~$vDH5FYyIT^_ zVM%&|>?C99beN<_48nZ`Fk|rFk)s793GqyVn5acmH1-4sE+bRUjKB||4k5mFXh^gPaUQdyxPYUK;?X2H-cDe19<$Z=tI@VueExJxR$NKy6&MiB$+PB?3 z@~%EVm*?~2{i>~h(4eK0?PS%afZkTRcIh#<=ReP9ue>+}ouvf!EdL>p^s<)GYP#r4 z=T0xG03zb>x_fAXob*i+M_ETJh>&lnWQKq}xxi|1@eQRyVWF?8_&=<_sOBY3}d+Vl`=g#yBBBw|QFgN4zm)z*SlmzjnbUqz?%{-Di`!y^|B z={GGrr1IkTMvpjJv9I$*MVgYr*{;~t3+8{7yg2^ogk8TTB_29C&EDy?kE~~V?-@8| zM|RxI=el0l)Uk6L&xg{{R3?3N;!nP0p8CgBx(|R>#XEZfJdh4iSpKJ9+1Qve_2_LZKYJnKac*1Zzz=t-dMRB zE1v_r#cE4{T~`rtsBEoIN_J6q2Jx453{>Yh!NxbDLuyDgeJWTz`^pvhKx$$+5&Hn# zX*L$fLU!2c?on1kOau<07c;=M1P??6EGuo>1i?B*+5r#NQLntU`WYMtHa`R?l) z#Fpo`j>P`Lug`zDsMIMI92Z<+uBTLocJnte+XtlvUY!*XF!IYuwE7j0?|&D!vJ6gQ ztf5A#Adl*|Q5QLCG5?a7dLCl+vBsKNsvIZc@bH0+;h+#f@^qIpQDxMOxK#WN;UHuB z@E}M6Q3jc|L@_C_e6^~nbR8X9sr*`@%ck~uE-31+!^8G>4{(MaTJ`ef#HgSQmb%n$ z8{d=@91yv8@|Filu0;Om=-88OSZeQiN$D@OnY*?5+-@(-9o4&T`6Vv@n^j7;?zn6M zTfV35e9V0`AFqH_4WziMDkTzAUYP5oFirPQFVX~EV1z zO_uM8w_Eq7d)7C*bbLq4>aJ1E7iXrV=GASL8djnE<;!;(No8{}k6Pf%AH^QVSlX*$ zhCXA$0MqwSH2=|`2ope$QR>=7wMfDqKtT;deGMph+96oDxME%igC6EE>njB_mibvj zPB>4Zd&bz|tA8y8zPwZJ^811*?b_v^RvI;^H)7(o?VkQX0cFcf+`W>>x{JVim#_?0 z{k1yPNDqmJM;+$Q^x7&y+UufE>;u{AQ315bc_1>xlH@lOY$M8oQQ|!fP!mW`0!|P* zD6|S@s2*}b4>uyS#X#~$M6%CCr@4x$Yp+cmy|KP6pj;*XfH#nChsXJ&-Q2;y%A+2C zqC>QtQ-80hHJr;j$5I!Jy)*ZD{ws)}2V~Z3#VGWgd!OH#HN)F;4%7f<>09_0n}Kx* zc_tbvZX2d)bcC?*GDJp20pt)&%gQab+Na0sbvzb8<-A{SiR`W4Q5v68cn#fWj#wYU z8fvaG-5Sy~iq3p6D^W9+1n*zu4`K-oB~|DII2@7Szi60JmJDYhD>Ds;nay2LI^=v@ zC%@8QPS#x-_tC!jOtmn)PQ{t(kv#4zuS3^qL^Y6gZU150}^~24FS1@Wo0J zG+-H2_6ssdol>xEO6hwq3^k&c(}mOnreI~7Y-|5g6h8$bV{{+Ttk)!n(gTRtjCp7> zCME|WMzo}YK-O+0p%^5L@E?6c%L9iJIdR6Dw__dd4+q-&f5We*#&5nlePKjEzov_8{Pt-r)<(h)I=HPjt4 z%|dL))8|jMCg_n}gS4ju7gl5pcqbxsng#O35o6U48d+B8ph|^6rA5!LZxosvy?pWB zLQ6?|SXeeoZah0SuxIU*+;$;B&OV=H>%28pZW?QQu2*at3*IVK%>NGb01?^~ z2Fo%2eTrR?S*4wWr|@4djy<+<7aQ`K)zj^bOBB;<-+u09{>9yFx+BXF+j)rDM4?)s z)xZ}L%1T#bzB>X}$T$nLRHIqoPEcwEP%8q*g-jKpTjKZ0cX^lDiqxb5u0u|h9{ps= z|0U%9%bjr-SpCKw8H{??yNk1$bl-)MQH7-Cuvg=NZ$%oSjRFVIM`k)my8U1TJTMmB z@{4q3X5|>x7m~j8_&`}6-tR24g-UXA?O4WYFMEINiwpd1!Q+sH)~IH!p)az*tXlU) z3m4CSjemG=!kmdMTT*Xp$ufkeC@RL608KMU4bx)3VDM2-^x~Q>5VT5tsHPRw^{tS( zdf_d)rUr`uM}mA$lbLI!)r=r>%|@(d2eB`lF)`7iMG#T_;b~@OlB|`Yc3qE&Y_e-g zu|XF`ALN&g1n^wR60nKIY<~XubF$PFF$8oN=DiiF;goC{s3sdCs-`KM zcE?m0QCt#Ta_N4TSPWeR8^eHzywN^7sf>ocg=8CPM@uVk<%pD}Bga|r%wpk{YL^a+ zYVrDS>l!*6x-W$WM74Kzh_DCj-*^O}%^w4Ave~Ed#!VW(f*<^4j-8KT3j;6g89t7E z&m#u)T7NW9abSL9z*M<|`IWMCQv(cmfk}6m=I1NoNNO|<3O0=l4MPM;4M-CrEeu6c zVyM|8<|LscKM7ueb2#84BhA`3Me-WSb%dfs5$1hANBfl>(PruC%xqVM2y5u2sb_nK z1y`tDA}FZFOM3^5TM|6&!E>{!TCEetDOLC?e!j2z+;5+=aQ^M^_Pp>i8}`JG9IN;3aHLUkxI?25t(fV6I6-@AcYE=0Oq;sOe+}SwE3ED~aF)B+W2u5Xz zY-6k&D6kr={Qyv(F=ADMurZR_Wld7sM#MXs9?UJ5_kLmxAg^(r1uxI(0u>m?8}?7C zP3hlmV7aV^M`vx12nwm}tQ>3)Ts-!*D;X8<{E(EebJXNXHvbx3J9#!HUHGtOs5Nv? z_XX02#cka4*_~z6+jd|LB!09-!xyHWI>kbQndSY>sEs8<6-i+D145IBjuLLjSwv7=@LQC^L^tT2XzjMWcs79CzYq<>~s ziVg6W@3@nldHV?BR+IS&5s-!VV_ZEET4 zSJX4C2ln=Z!r!ffgb(@xI<9IyC|y*+0MWP8r|0M=LSB(Ah!i5@N+`vJ?T(rkP=5w4 z8u0n2h?lfZ@tQVt!nK3BWvA-$2Imf1(Q5PT9sb^)Pd-kMT6t@leLu6t1_nF!&+B)* z+cf7R-a_;Q@vQ5{KOX<~a3#n7&7NkpM^AHRdQzxO2xg}D&&!~!8^JWykWEwapN^MP zEX=?TRf~!CWddkW!=ngXFu8m{WDMCiYDOxtcyNw2u;8h_dT5&iT>XD+t@k0n;tG*Q z**#0b1Er4JMn1d29zVr@ukY+pr@_pRhM~nCEaOYaC|xKJ=oHI~YMf>ngAuBCMmOQj zrZcVU7uDj>Qu?!DQ5&&aLhlTK3f*Qyx-vM2MLS8sXC)2c64?%nm!LZ|PscMo4^WxG zTHp9KF_C}vDIfWpXa9;44R5S1Wlx-Qx=x98(xC|xS({VLKQZC0{c?$~4<7y8I??m; zY5pGn+3G|g(Nb?qOFVTw^-pbHeaeb^+!1sB6myP1jB}34iYL$|LjX6@YikPRK|j4F z^xbrneG9-u(`?aETvfzlM0)WDjR6xn$3_v3Q*Jmh*nG4M!)$%)KoEsKdln?moa7vd zCAf_x`1}(-Vthf~_}nK>x$Z>P`fZx{$^FuO>8xksSBH;$DIM}OMN7E)o;q)DS%V4V zG@}`ZbvkAoZRzRd2WY3+RKH4(teAal;1i~M8YNH`G}ARigUCh&dLL=HmE``AP{w!4 zv3TS;Gx~=;Uwx2*?22UdwEDv&+`=k;)S1UKq1N3Sd=VRc`aF~BcWv1NM=M2mWopCPCgMLzcUJ3TrxMWhGsAmOYqH)QdX57HIFWP>6 z>(eMiJ%ly?>{db||KaD%G|KN3OcR5ezLz~tdr8|Al zyLKTMbtg4KxwBTwb_fk^<);a z*5^z3a-IO}X9uc)KSqVMXu6SxUIJoK^%XXa+H^7XXsy_J(=pK97d6aZi`|Aj6)#sr zhEU)Y)lW3bRwET}c@1P#p;RPw3PO!jJ()&H*_P+bd(G3XsdS3>tj87}8s{A6mc}>s z3;>ryy5cD>{(T3qt%J0~(^1;aJlUQ!+`$TkKPgm0zBFuyOp!aL-9ghC@~KChAw%t4 zwPYZbfXZ{1%#KxUB?-YddN68uCL!Byl!r2!4+)u+M~DMY=!0U`FAEgzpd8^R(DtBt(bQ=$evcX z$<$lW*wx5%jfG~>x7oCrK9;D~<4E=Q5iGDh!0mEmYcc1O+*CYHE$G5$=zwMVbQ8P4ca5R13|jz@cVD2%+!hzWsIRPb3(#+@-HOZx zH(o7mPndVAcF9*Uj@G1&jzAlIZ*!vhK-xKJ3CZL(g+Ezq;lxvQS1(Jrt@@r{3u zEEa#3U*8s6(pBoflTmTelX{$C(OIt2M?7pmsrWv3Uh$NP@BQt{n8SbZSHOE($qUwR z;rT1R`)&oZZ(2oAb?9>dYBvX{gHot$ul? zO0iu5UBRbSgji$^bA?uUG`*p-M*h2Ar81ijWj*oPOoCSVS)9p6s`cN_q)G7U2UHDV zLYE+VXNVr-!*Ld|^;%tOI0~*v<>!3o)bHQ?^20RfHE7(|AB?A?D1BJt?hV$HZzg41 zQ`&`veZpCL|D3}bErSjuZyvwx*KFh8?A{ftQxXxBH6S@()7nJ ze0k)|f6^siUlh`|_;ieeZx-VS1wsoE49O)ZqyGm((R1$pITX@hBJt2SAhA!TK|Pw% z&{_RSgmGYE$1pfp0)rq&df_2i0=*4YFiZ&Y(`$m91h49cg=CZ-P_6&b7=SYUr!kN< zLh3PwweZ;jzj;1qKa3;G*P2-TD2iZs`UzWLqNksy^Wlvvk14p>uwZOq7&rAHbwKlI zRndudi*t*wx+P;eZUT~)Z*_o`c2b9lCr^f!vXNk0vBAX=>d%j(>B~N zj{;|2kwqgNKyzL>%52nlQZWO~8bcPpm`f`)I7&FjARXGhcDrc~`moji#Yq2klur+k zBuXFPJqMxRGZ33s3?8G&gGvR0l}ZSfL9?Ly8pV|JK#-0#1z|0+u(hArgbfjB&CjO{ ztQ4n<8eA)gLsPqJ2mrwLk`M@6g3g|r{nNI@5YKYEG%}W*-g%n;THRHhmA^UpE%0H2 z(^HQWtorD?0QT0|PnNM_J6b#EH@^DIXQyubJ?`5jZJS+whu>K9=jT}c$v{77ew3Ls zQDqwX0k27~L?Mt^{m__bWkQmW&rf$*mltY?KWUOYFcD%+#4Uic1|x{yY2TpB-nTUc9xadCO6r zG~BDcHQX#~y=eLS&KZ7X!?Rlc!tSR2jf-(UL&4|l>#Y+^QKlg8`81iYrbW?#1T`vH zi^gXgWf-dO>P^rM;SCV}V0Tk26Mh!J>lB&78h8ynDY^R)p1@nzVsFdcMukL8;IA`x zfhR9!%?S3|RQ~204+l#_J*%YgO4`h>6Ijef>yy^df*=k4}JwgowLN?S``~U{4Ay!7-unB>O55Zzc9fy!KpU5Q-l?m@^er-QX@L$h;Lv~dix2Z-!tr`jFd(vSie(; zqC;jqFZZ1k68+;r{!3fdYr_YQs7)LAR#xH7(=jFZA^x^fRarix^NeBv>-)@GC;9WT zlSU7m;(T$$b$>`K>O1rTX824FwLT-CF^(-Wc(o+kg#kR+^Oov7F1?7fMi2g$RJfME zBmaO$!H9l!Qo}{`i@+WkXUDGL-r~6HAD{~aQ;G(>PY|GCMu2=BNO=mzMFhXr37=Ee zT~G%(pLQwXPPYz{bAS8VPG`ZP%4KTKl{ReWxowO0bp8!S-}w9jzL3@A@31kb0d|?c zGK9nGC{&@>zXzuKOuthfqPV#F6LI$SC%)Ao(e^KXXZXMQoj43y=z`{m^z;AZcgpM5 zbaQrF?m68=YR%t7)%8uCoE_J*KO1>|W-IGSVV+;bzcNxN4`jb-wH@wzzQ8V*DSROB zM6@^)+CL+!1a6|{cM4-xpNG)+B%;AiF{-AF04jEn=guI%Geh{DM(8puRTRR7>2IK% z14Sf64JSm4dZ#%BPOJHyB0!<1KRGi1^`*-_V_sf9>uS6!{^6_J55|N{8{DgRnB$LK zTiy$EhV7iY@ls3~e&7}Ra#l^w7>@j?S=+bH?KmwhVdj8^+ttNmSI!ypy`PKDb8VdG z2RM1p^fdLE3cEmmV%okUPt#62ruvI-n1%}nU3i-E!OF*++Y7F`jym@!RapMJ^2Y_l zoy;WtPqjVn;?w_stL-5=883fF)b=>X{%r5L#nv|Q)%N(!a}V2(6AqYH{u$#6ArIKl zCrOAZeIaxQL#XH?AkcIeD2>X*awo5Y@}UJ_8yPA8eB8N@2TrWCZDN*R((#Tf5EpzG zQRvgZUP0}Yb`q|dsGDM~FIK6SY6&LNp>`TgQdB@9`p|UUD28UbV!Gr|EuyrzYSq5^ ziEn_YycFDzATQGY}t3;CdK1M=W z0rJy*(Dji#^TYo&D?rY1?(<9_QT@m(s_{85;B!6_pYx1<>-y*TE(xNL1`U9WCJ1O< z55WAm!278<02BS>F5(lwypd5krI*!(x-H3IOI5Z^QA<>*iamEDf(gJFUn@Z?AYsqv z<>?=4x~9VG(Bs-d{_57Gj+Ys`4wK1fC}-v_f5i==b}kLIq60P~#X^av0}~l&2@Z!= z2_2jkGN346ir}b3mZS}QVn>WKLTWgsX_wqCUB(SqSi>g!%jF)shqYNSX+ zWz9Xt&-hImK63DyG7Dy&8?KB9m^6Gri?#K~&AQNEX<3i`&Vy=8LqD2a%N6~Ee^HaW z*!$I`JLhV;EUq z5=T#e@}E!&;fe#xq?`LUdO6P7=i1k$j?-0u)0SVLC{U8~SRH&a^>#&IA6{c4RS}++ zc2C8f(?3bD3iK!Xaa2PigjPerM?)DPSgW+q3S!g9w*{vt0}Guaac7Uci}{Bsf#D^b zB|`n8ncu2iDEkx8Qj&jc(eK{9j&(2FlqSrB5kbCM$sVJKz&~&beGn$g!gPjoVPQ0^ zpNUhTFlsu^u@sNHlAnO8G}^jgZQjMFQ#YhjVjP51XkAFnIK}@wl>ZBy!Z4_PgRx&v z?imLrHVuP=mQd)Uz7hePGL(UU&L#qW=&x08?&l=PR7Rma*)qb z`Kzp5Z&rQHwOGfBWvDyV@94{`jwuT7=efLg`oz^%&DOTI#;E^^Qb_+qDf9(4kw$cP zUre$HrHJ`&P>M)_QqUX(N&y2K1y`Xn9X3Qs`8n~ovr(@8mq6<6eJSb(uU(J zU%>_8<-D`-tj72y;We!C&cujOFz@=C?vFm`{}Q8k);Rxdj86}bv#A9zy%Es$5*V;if_p6wx=tch$%k@^m0{L44FqK%IoAnSUq{ zqX8FEn}t`CDnX+thRGtq^*q-DOUczXe7YSw`mrfKJNgCH50S~3g* zbwnmAc4gC-Q2J6bIg{p7(p+9qvL*TNM1U`xxp0ty>_6YCW&7E%r219yq^5?Ji_Gn~DbHE1> zk+U_#NsYmooviwa8cuL6+z#)3{dX3XeqU9KMw>!U81ShK*@8Im`;4#(4y~bf3`sOY zA}Cp|A{p}tPV<%OdftNe)2B*z7ZQj%$S0w{o#L&`!#kjd<%OHHwV3vfW?0Rq&X9@sAL1CBL<;k@PZAjKM`zb{fX|WiV^AV0!kMMnAUh> zQpLaoW|O6TeY*86EO}CJ=y>qKo{R@?PF^2c=iG#;8$$epk&+Q)^?T|0CD&8;cpomk zp0eBOF7Utc=itepZE0{`M&n()@k`ZW;h#NoN8jOG{g9(XQ=Opgc`xY&Jha*;44{Y5 z&m%v+KkbDVrmdLPwu!Xa)3bKnQ8TX}kd_ubf@~nXXq8P8EVSXOMPs3nx<+?TvefmH zqDF*@AY#N*7eaeg%056woA z6XQkC%*ZfzDIpzP5md_Do2w~NX-Uv3HR^0SOj1Q?Jn~O9!>tCZ=vSRJ`|j%Z0l9wf z9)0Qi?P-DRiJjZgS4-;j`U}LcbXDh9KOMKfQa#3kqxi*X6uXQo!C-y-`RUmk^Z27} zF6a2V^`~D4+wzmY2lk%2rA@O@p5nN<%+e5cYai(Kl31x2udPG-Zt~?zVm(UghuXx2 z&%{qMX{ACHV!h|#*oc*a{5Q~4RKHLmH=*kdQ3y)1H(YZy&LK+Yg=zLqWQwTyt|zs6 zwZ6FJ-un8LylZrerB`F&hc*2_|Mf>s_Q1}Om~E}Qpto)#oRorOexp0-k>&CbqF{CoaOb=kiTi>>0REwx`1 zl+6mbLjMH6NUA9P)UhWq?T+IP4@2}I2>haFp1S7m>4_YW4P0H2)RsWGg=~n zi(Zs;hheK3@;0zWz$#IrN_B`|qTLWhT=YHBZXxXo?$asuRbA$&(x+&9SP1XX$@v8R zLBs}073In7No#$d#9p}zUJ@Inu{V;iPf>`>E>ojL2Um>87nwEbYg0Qb6ER`)E#V`v}a&BiD85s-%|Zp%o)ARK~8WyMP_B8 zJRY8-JruK|9*`r)CEZOurN(DEvx0*&{%RZ8&Dld~$9GjN;mS(-;dC~CEO#I68Tmkt z@|PMP-*xL&o2swLEYS0p$Pc=NEreq~PHCNKzdo(wMg2JCS%cqgk>#~>s)v*5&p+!x>GhpIGi*2#F?^W%7E zSZiLv36>ZfAU&YtaD2DnH2Cq)`8YQ1%Wlkrf=^C57FZ+H>bF(GxkyFk{&F=&%iNEl zp=naubo*1VMk%_+)m4dD7CnbfJQ4L?^feOeO7bo%MN~4)5^I!YUZWVXM#w%yFgxuj zPggJL%FNizOA!IQMp&a@J_l(qLoDS`*KVC!vT_wVM*u)_ zu|}0NgVbcgiMyny7wb31jbmYq9+$C_E0^ak0|3Ghkx@fRmZ3ing~o1IenaM6;}kqu9g z<%;RDUfWZ?Rs76Ze%_DO?eRvHk;S9-Ec-AmtlE}8=GS}25zwK2bi09pLCZ&01U(n! zsWSK*v;6ve&ZHB!T~dBk6a-ajt$5SPaw_!OHGWUo%6r?Ld8M6oUbTU-6%%JR={8XM z`cT#t|H`jPKWSw{$ujtk&yh#k%HqUTK&Q5_iqxi>EQ4}b&vM#&nhZS=$kNwS*Cs@h zF$56REYS!!&z*(!OfNb@YGAs!_Nd}*JQdr7TNu{z&VJS|Pd}Q*bRnlJ_btk8SAPm%0df>t8$h z<7@3ZF5Omu(qcEORC)b9_(2C@rBnv5Fa(iCX5c57#EnqU`d0hQWlNx_S_G+Mu&;n% zx=|jiYOf>^~)|8Eh$w<8SdlKB!aY z%&)=IriZaQ%H!IX`ykc>FajZ9SP!XNj5B80 z!Kk3nh#da&3Cwl<37hg@ ztf)W-q+OD+~yN0jzjk~6w-v7m}XydPTSnsFq6mdYj+evq_}{tUCAIq>|3kcsPFG-1q1; zze$7l+G*EXj*B$z+Kr|W5zcVOFr|sIBCloh2iJa`K9a!Kmd*dVco%#2(Y{B7z~0#Z zfY+}3!mOL>!+Q0epKfIl*sy->d>i&xPP@LW|MRsVWdy!%y9M;QoMon(tVx;VFl6Fu zvR4>r`t347>jIY3f8ui=fH~O%1UVY~N~82alo2W&8&x(NrXkfvG*~2VSa7AUxJ%Q$ zdHTv|7|I@W%`da;$uztbhK&xI3|Ji=M5TBE*}`@;hPvQc8|Vi(5mcxJ z>2pR@+ai+zALGc8Vw}}pI@H-J#a3lKf4y`gGS~m$o-g@vXQb@cc+0rTd^2lmTgc>1 z-DX0y&f*`xdmWj$9}I1|{Et~O#@vN(mT$uPjKi4Y^eRExm<4R0Z=i3?AsRRUP{?3+ z5*lF8E#5Ihi;9d54PQp>3eulB>}_ZDRfj?&=P-GzR#s|QZK9g(I-_=fR1>{$R=vs@1Gk06{ZmY<*P`ExK!&Clknyr)6|iygq*!}z_yf5AAD5Ne@(XatgJP>Fp749^o{!u|0t;YfK^i9bjtfs7kQ9^SPOV{Jf z8L)XkPM;AWic=15-J-(aCiD74+N@~6I;`}J-fbJ9w-Gm;S?hJ?kR#x^(Vs8)j|YK8bCJ$m`Ojuix;14($^n zBPMt5+S_kfK!*+q{6)hPPkH>7?Tl-teZyo!w{+;?s1NePB z8r+T^1>n)3_ITuZqCeu_;n9$`c+DE$vA=jAeoZ_Qza}1GzZ&trtcCSmivnhSh=>{_ zz$eWD;z<01v}`J8M4dgdsoO+~wsCr_241xTIA0_hSjcFsV$Z<;E-Q0oIIPTW&B}<( zl2I|t5orfcJkZ^H`kKJKeWtVh!7L|&pUhtz%rA$tdh$huwXVv~77SN7dOug|8PT=L zQt5C+w`Pm0h4DSCm$D^{wc(q2Sm5NI4Xe=?wl{Q5qjLp|!qzlCC*6@))4KfQf;$pF zT%VP-pr1fDe%IQ{9svyol04?Jne}7!ncWhm*b9He9EIspn9 zi&9D{;EN*P5VJ-o{(p$};zk;xy>9;Y)S_tb<8$`&3Ax1)?XBR8_5xi`r)V$ga=h_I z!4Y4qR}wuKw!sPrL4*Oh1zH4KDZ-xh%PZDW&oEG9MA3d~Kx3E|xnZUdbtDcAP(B#= zkioVzu!Vt)QrOy+<@#-CZazDB@sp(V1AR*mny`u$-<+0o=n#K#DjSzKyjN*ypl6NM zEq#Cbn=z|XHddT4=;ZeI6i-^Ims1Ft`yI6)KZ0(HMJ0xjYKGRuH-j2#6$lSf z*LGq{bk><3KR^0=ifeTGCgXUOS;oKyZP`@qj!}U=wy;J!`Hyr?y?63%%45;rxINq+wunVXq(+~ZiNmnCoOBx zue0Zf^|RC7F2Jq^cVdSI>L^ok_hjuG!OZn{!k-fQ$`o=B9X% zFVu&yjsb&&l!UgT&56uW7UeQe8g4F;DO24Yqqttxi-I;bF*DFRn1RFkFucgOA}Bu?djZMHA?{>5U& zKG}Y2mextcb5h#7VH;ocl`Y5iE^D)D`Q`$SJAySSWFp&+D#-+TE1V#dMp8fwRX=6E zFatEYVOdluO27EH-~mN-(CGRbV*A>-p~m2vWkGS_SZOguBC!^PI-6n!H+#Rm8yk>g**5rQI93l@);zZU21LJW`P7ORQV>6 zFPCXSyDfTM`GHnYNJB452^_qN>$coCeJk(y7zQ=deFvS_XirC%l;_@9AS~1;oK-L^Z%=5rnjWwnls7w*$4?imQ2(zht1%C;d=Qy|Y z4+#+Tk11C@$JvVdd{V#4uFC3UR8$(fFV~ejTuQd?@l^1nNLTp@R^OA26yT05hhLIl z%L(32KB7r9a^>lf>zinj8~-x$p#R0l<$T_R^F=YJ7uH%9YD zL&k?1Bv5A(7$hzrG_-cqa=*_ezL3TLZ7YVz7*`WrRUt9csFtA-?$89kOefdr2 zU+j_|arB*kCQ;=`QG1L8fnohAsn}5Dm*fJqqoKW^E5O3#nd9U}_JRkGwBF|^C*~); z>3lMqx}9TWLW*0@VC>HvqrT{-lm0Jb6#c^gt1&{Y7{>UiG^djkWalMSJy%X@#2&ly zJzBOLtz$#}w|xvoTMYc0NWtr{psSydswN23Csj#$_*kbbRzUaYWRBcMBas+uXOO8> zSjl9a5Sihhih-6^dH2JoHN(Z(zJ5G%!+$7;Uwl1!NJH2ZtamKt67H>k?wyM%Z^0LC zrMc)6Lm56%EdtO2&BdS}0P`DT^$3C)tVJ9PR15#7wxCn;>byV3jZTWWyCY!5#iYz@ zUoPvVrx5-oJvU+8<+Zn<;>UeT34n( zPC8=k>H1+eMJ;seLzR?t`U@yq25z@;8Za6R*aF2evJJR1u0oFCX?obc>P1iClK{p9 zmYL}dbRgVCFebJ9bBPyGZ(mqufTShFmr7(R?M^%Y}r_%aQzPwmu&$$zrU{%1zD=9f@* zqFZT+U7UWtYAcp`f|YJIcuzO}@HQ`O405wRC!C5_-Q4zxOf>__K&x(S;)7K$U9`-^GOSqi)VJy)j3S_8t+y}= zNK;@13m%H%kKWY=Pbe!hi%MC1v1VA_#5XV4#U1uu$(-XET3#&do|};4hruAr zv~>5%ag-N>{8^8xMIQZ654XRkQfdv;#st~~RR^U?GM&g%JRtrJl3()r{hNfmFsDN8?oN?8xN z5=u1;y_JNK7FLdQL;_^tX*>3`8(UC zIjU=4=Q_Erg1d@>0u2@QT+_lrCSlEg#u{c?Zh6=I6`?y9V9hB9HPiC9cg^>UHGc%l z;7k0z1DT+Tp#y=*b~M>B;`|d7sDP=7gALfiPOaaJk`T=YAPiACTFVi}N>jorzJOK| z$!1qie&a-4SG_}riGnos-EHMu+1K7lt!{Pm&Bx#MW25<^fQr&Cs<2hbpBJLt?VW3) z+86cs5*9!_MjIu3WbICh6QQrRX!fi>@m<5HI5FC&Y-4=ejU52$=fG%1N-c0bQSupn zy$HWx;7+90BHz15-kgle>FeJJ4Ga_6wSi0Kx+*(Yj-UkF%25~3j~d;g?@#x-)al=w zW%C=c<&kEqStbfq-V8@1+*qAVIPlLD);d&yIyGXv)@)-&3Q+(tBtplqnDF8=?Q+K_ zRGjRq%c3~hzSD0|aWYSZ8uzXP>Fp^>lX>8zN|vVJNRPFi0oqgszPd%@fs`^j>Q4_y zP1kB_q-U$y>8yt-*n)GLE=ckaTLz+xnyi=MFp`u69R!^Yu=_bShmjKk5(pq`(Tj_v zc&QGv%^_KDA&Ju%#w@>O8kVaAqBJ^ehY!A2HjrAJ1@f41$n4~xC$nIvzGkuU7| zfM2K-wSon{eko+@%sa(%_p)Luhh3lBxXG{&M)q9&#w%qv$qh#~IeCYF@C2(+5!HBV zLAs|R+A>x}IEapL>7tmo5GVgQJn32*b~>1->9x`&^HSKvQUFDLdMUIwK?*&q=o0Bm zEC!UJhTs!{o|Ym8<$8QwX>9f!sqXXJ`da1K72!6U%O=}iXvkvT9J8r@WI(|$N`xfu zUwmwB`Z}&iAIc&A;VXu}{AZnjr~#+OHk+6>uXM$%)aR3~J(+YfuU2T^s;^y@UQXC0 zEeLMhc--P|PU3ua;zxz&SPUF-X14f*AFZE=XPSR1iz16pvqk^2&4XI! zlyD%KLn>YM*!?5|0k&u$z?IkdCgDV0mfmb4TN&H4$p8c_+azh8BuawPJ*&xo6rQmI z^RRfO7#jcjY&v~IO=-?PX0;_ov->Te^uX^j@Ly<4jR|4M3lZH^2x#&_0(P$(%pB~> z)yrh#1-|@#Qs(s!*+o%LWQP>dUTPS8{~T<*GAZX4AG*ebGa14jp(}RbF`%bZRWs9q z6h)vsVe+4aKjQT>z(=XpNTvlcnqC*kD7+osOjPrYhPM-7sP1Z#*e1A8kg#=cM<^x$ zZ^%<8uRafIE0(NWV?AA{DMRRqBsr8Nn#FqyVnQU+#D5eYnR6{!RL>4{T*DR95h(SvGL^-MC!O_@t+=ezuj9uR(F?RjQzl>e}KO4J< z_-45vX!NmXi%KEyCG4M;T`RIeX>^qzDk_K|9|v_q@<(qwjx5sEi=`p7Rl+B|YxGI6 zO9iw`m=REHu}i`y#V&m-Uhm59+9ruzMWY|uJ!^UKdSmQ1)ojVMpg0M=uG9eDEy32m zZ*2+YRvaP$Bh=y=_qcdb_Je76eI9G5sE&ekl>?!nNueTf$&`m0>+4`|h<6e%CAr8_ z!uEQ3YN#YiRYVa$Bce!JDlo4|RKG`Tmn4(i<1|l-jE+ma$nS03_Vb{GXr)?AREXo& z{wH4+yIyti-^WVkKM9GBO8nk>_M_wDrmVZbkL*~>;&)EU8#{F8+iT0d_T;%$EbUO^ zk^MFtz*%SnJ9{ivC<*hGyg81(v!DweA3cqUepITgwWX5Lo?1{7iIr#o8VPrdGq`Io z+d-tpB{ty5n6I4()ZVU#S^~XOV_9U0R%~PKo{I^qjyb}z=YKHv$j7mjWB0zc?S5jo zf7rTNgZv~{!9zc*yT0f0oGIPEboYL6V)I9*Hgst+a=gr(Qe{!`-i9=hTbPu}g=&bFm5K=(?jqd3r}J*HJ=j1{PLo9mVmjj3zKkrF z{IK9xKe@Tx^Zv&lrX=!T_)?n6zRj=QONkE6<~OVPDYC1+=hEYI2W~$&zWM5*)%{w3 zt1wq#A^(myBV1U@w4jj;aLBCnjV(5*T{)mI{7c+n$(*l2601sdcvOiY%NkPKvcS{RkjqR>A! z+$g!s@)}zWb16l*p-{7^b4G>mVshm5BT=P%@N=&@M3qC$=<6L>NCohF2E8-p zLeXrz^T3p5FnQ{|mEF3rZe6!#9GKI=7$x{y13*a{4RQDR)-&d%@QD>NL@wxefmnx&uA$m0nMk9hfyI=jb85>Gls}uP32gY^LZ%EoY2SO| zVParFDSni1w6iYXejV>Py=nt&OU2%;+0@Ub+LYkR{)&C>uPghE3$Xcz21$P1`pYi& zrfOx6+MUXgt&7j6R8p%Pso19H+pMX(e}C4$|55(x6^RY$U9EPfhNRC&7T#4hLe7;$ zos2j`-eoctAX!)8y7y}geW`vS$(WuRTZ+D+lZgomNybtXNpUqRHd-u22AcM2$AWGH zW{bJ{76+jjN@XCs3{^wgChZ%!ub;myu2xjg$ct0Q^a~3M9XsJG>xCI_MLKr8@&KJI zb{vTb9p7tB{PhD%S=6-FEjKOVpKWDQ-U}U{d%>DBq2Gvk73D3nx=cy0vKKS`iJy_* z1<#_SrI#A$ovAk?-*oZC%xUXcDUrT{^mC)fk1&}5M^?kNG9h5Y6(dTS zd(i}GXVVVYzG1bp%ktg)QV^@YYhO&trM-!9Injv|QU}GeG+RJ?#GF~|XQ%bxR6D6Iyr^9N$9R*GyCrHdbsjVW%QbNf%^#`47Tnj9Z6_ z7ly5Kr(&C*3;j zFLi4F(t9ZW8R!bKPQLxhpiy{8_3n4@m|N7pS&SwIsSg~a^Xp49gGX+l zeW`)MPgfI*5#W;NPDCWmKr6*Wi9l_dn-D!(=m(yWa^tL3>VmBshy4<&=l07ZM$7gZ z1-}!%HBk{Pqx-kXOCvF4Z}axM+1zZxA+H&<*VdEsPj7DZQ=daYCD@{)Q835}>-}M2rH%Xvuss#3z+yB)m5AHGcU00Ui~4h$(7l?3Ar z`(&aX=$?!5W~sJ7!IuCV!O+Y>lnD}J#ptz23Ltz43-5f8CB?1}-O&wsT}~Eo|G>~K zT_mMf_eJL`PimOZed?^6d9S5(+PJVFY(kahRcBQAE z=a=JFNVloy5#tGR1=*+FdU@bztL%?3wKM-bZpL2LX@CFz@9*XF- zr;sixjxh)5Y+u|56VUEUuze=BjsTr$%#ME>vyfSu0VNgZ!|n15cHU)@6(;5QQ-iEZ zunWR!?9F*%)QUAX*HgVs&ygEh^2T1hdiQ*jzq6ZZ!xlBBlzb7j8=*#)FRI!hkX_xc zEdv8d)aHour}WKd)s+%e$3RapxVNYUE@G@@OiU=XL^{#EVL0H#17h_8iYPP%J6ZHk zr$*}J`Dij4M@#FDHqdc?+nkpo5?HmLU;1P~h%>bFiE;1oA4@nw%dr_7{r27Cf0m37 zbKKc6?YmcEof-W2*QfrT32geS2we!Zs?Q4BdSza}#TcZ&Zx^El7 zPW?FKFnNNFXgVU8Xk~TA+c830A)FIMf2;7 z)$LQGJJ#aG2Ec3TN>ims>7WJa_aZLx^mA3Zs?3$`7LXo4voya{n|KF{rK{GRc&!oJ zTR7Ze8885+Q!3oYzmXjnxeOGimUfwZ3RMD;FuQi3MGBLWrSej3$=bsdoPvfmXdvwl zQ3*fkhk^@!vNNUNf?am-k*~?s920MI`L5I*y%4#dlR4g9X_`gKG&ZZ z&+yU#k=tm?=m=u7TrSoyA}}x@wM4tPaGPatgX-05B#zrU5NrLmvQ(;pxn{DN`4~5w zX+dlduVW@sN&Ll3HVbQR$5%ooBpN466yprFlm>rLB!-{@nibw_m_Avv~FjrXe<=6ey_y|&{eh2Yx)yiJCj~B8e1X; zNGAY@Doy|?Vx=Chv&p%U=i1q&s?MtHlwv6WVYn(A#{s6W!biN9(iJ0#q&jHcI4Ri) zA~L6s#Ps39+BJdc0o7mZr)x4>V9jS(yd}QZkSF?|JFSf}kUvkleTm?BK>$gfNtWcf|eoUAsVjN)b z6P!*8cxlSfLoVp+^G?rlGcS!q{^1Tu=XP|EMOBy zur)X(3EJ({LuTCH@`Urbp%-2Cr&fe#5 z^%3cX^rc}!g=c0yFK0wM5)?Tz+EHA3H7YedCMt!YeuB*cE8Sim+JW$v%9bYR=+)Em zipAYM+x?v8WeF=)-^3#Ol};_76(Rn`ZSq#93eHBU95P(p#lqalSKP^%<|Mq)yB+k*t5@)oEK)hh zBNV;>u@1yjyA7ld*keV%V7EnPF^AH--LNp%;+CT(Mg$kzGqT<2$ibUmm>3ZhvxjHm zd!S?QsF8UQ0nz)|0lU?&bA#@S93ghauXCfG3!>Tk^uqkIFg-gq?6JTR;+OxGU)TE2 zEsPHF{jOiTQu5eR(z4#II(Ahjww(E9?^f=8lN!x%%a!)!)t$3<_mtYR4(7KlQ>IbJ zxx-qPE7Pd`f)Se=b)0>rLQK;(vq!WnD+e^{xNunGGG!WfTrjjnnS%bw%7|n-54|i0 zz+Bmh{e(oelNoIxRVBneP6CLLF6P+wWxZPx>(N*$!{@Tmk?aMAcNVwoV(-Yi#XGIu zcM^<=QWhkUBke4U$=`l0^Vb`*o}bCP`HV=ugt5tNhPe5bneuXLBy>&~cqPP@*18bl ztu8ERLTPzy>6tW0+=UU+YU!GFH<~%5SVl{$bsoOY3<<`~rMXO(7RXhs$G`w+@9k)$ zT^HeX=m$}V3H^zVCCVr(T_FH05EEXEfp(ZwNhpP#>}fEmIz{c!B^Z!21f)JU!%YXK$(ZAq^RsDxyL>O z_O2GU>By$B@&Wh*8CTqB${~8PAy#6~upnTd6y3*} z|Ayo@iEoe`ta)i3%AaSo?o0bx@K59k&Oe-Iacp9?$=Tmuc(j_9d|<<{bl>B-hF?=O|5#(9;x@S1st z?c8s{@fzw^Z~yj`r<7HH>Eoa?SvhrnDvA64Jo8VieD+isI#B*Ir$q8r$Iwfa2~101dBMK8l-ISm#!!NOq3NFhhS$oO?IG6J1oWPBHljPGK>_&h~?o+ds= zg8_WKn)o{z#Y!#h?eRzJ6f4=<1OAeySg9u-aB5^3mUBD}+?Bxblo4jybr`x6X*i%;#{6dgF;KA|b~kXbQExW% zZoNB1J<7L#GeAAA?qE4VudCk;e#_s%fA8@|V4(WbF-Ks3=`?$&+UQ0c<=yBXK4m4U zm6eo!j2rR$@7^zd`}N~{cYgRvs=4#dKPhL{2oh;2Ja{K$6Q)NAAD(V}xbLKdTG4NS zxG4IAo-`20ruXnMaW{_0*v8TxAx_kuse}iLAWJwo9E3L!iYL2nGH4ddVP2<%gOuFL zcRah?CI!Q14*XGFhuWAs^RlO)LtJd$gzU-f)z{?u(&Cxjx~Z?TCas%)TY@r$lGpjS z-cEKlo)>!a)kzN0o-Gj5nhBj$-LhD_?xM$+Eq7w!PwQ!$_Ri^GuQ-#Autkn z3a?=B^vouHA?fkyndy1yaz9f&JDS9$3(* z(K>b}@`q|`|M1|*>)VG-bBulJg>Nf`MfhL0Ur&79an+i|+I-(*p5v)u@2MZxv9k*f z^@${Qj<>EeB7e>9#N7BZJBCiGlXEFI2Kn@i`1;A}pZAh-FTqg(+|1ev_c#VJF%6Wt ztW?t~!=PR<0~N2h9C%Ijae)whI?43fHcARYZTN!%7JsLIf`2W4xnGeD_a^fc#xU9d zcBop6hU7}Es(_{$g(OtGp>Y=ZTSg+|j^R2&*W1N1;KJY{LQJCORU*Yg+6ZDc&149} zbkS*u91{{T$x!oXq+vt#Wjdl?p48N|#6;>!m%tK7de-^$O?7s9=j*ZS9dnpmb)J3I z3iT>`!@)}btS(8h-bj8wSN&XF&ewT^6JZ>NQ>mTQ6PM}_K7W#@UeDpo^PL}iE-&x* z+~3$`?;U6xW|@nC!@rP+s$`jZOGGdlFsX3|0!KI@jSHgMq!H%4H7af=4@UNAp`7e%N*SddZ$*i4k_N z#XK_IDO6Q7*-?>UkdYKYg1eRuPN&91$y(1Me*5yr=toq=Q#I5Pa&gCM&zcX^4>EA( zwOIQf(>&7XAoZ{JI=BDl{oz9oUJER}DS5(>t19{AGZx1NId4G&Sg{L?R2LoUpH(a( zYlGv^WTh!!p$ABmNKwr7Xi+PaG7b;-AFnv4fXpUAAp!9LnE`nLodOC1Z2e483NS6? z2V^8ftO1@%(y`($YelhgGA=M?0aD5}J(15-XP`$jjKfO!w^WqICaB+ht}d#?o<+~_ ziI*`UmI`F2vNh^Bw#I`%MmWl2uYA7igI5lqHWu>lCFF5Bz{ih+>}zCc3U4JytKA3^ zLLILeGz7k=G04z3v#5#Y_?xmIsfZ7!lHm<;C456ASQ7bUNVCui(M0eULnc9q^B1_7 zR3X|bXBMS8Pt-R2G>Qo7S3H6kBHutBJw-0WWCFwzb$8zEK#tfL@@Hl$6@3Af_*lzdl)x7gF;p`6i^YHEA;s-68zJBhD#fCXKW)R4k?7mPCo15)59^jndb-LJx2OaUjAZ4l@88w;qOsQAom4gOWnj z%g`)^>Mamh&w)4uoLGC$N#EM8n>$EihVYo*^lL%uF<&4 z4oSTWKI#VJ_@ebPy!}vt+TN!mYp8AbZt%SD3JHZ*-I}Tjrm3n+$?ABhu0NQ3`80fo zx?KyIk%EU5dVq`<*Gdawn4;BChelxv58u$JRY|R$205)%OYz}V;C4x-_>j&yVY&m1 zHp{q#SquUETHZJ9yzYVp3nQH|R~9_GBr+`a(pf*7V_5g`yK6DYe|VSiJEPS)+1`Ks zh{5#S^@E39^+;E*6b{*W`Q_D5ZNH>8^wjCve;4zs9owz{&V?mgt?eG3#ysqE*4B_d ze@L6;o7Bdg*FKzL5pk!?K>Pg!dE|=lPC}Wwr-b>Ir+`=AGXZT zQS%RU&F#9^!RA?;sXZ8bRc*wh)m(OsdB0;{s0r+gdf3%eVAvNR|LB4hFjV21Rn48y zf|^)0g?`J$YP6``L>Bx+h+H1FgqwXLyy8)DX+H!h6It<9Bq+&}gemFkHiG~!IgnD4 z9a-ZvY2Rxn$6lBe5PX=WZ(sOoPnW|R*>KS66K}nfGh_Odp&)|D;K zRL_p$)1>Ot)gM{>c#7HHDSKcYXx(8+XV)wRd=WmbCuAYB^Hlyb{6eR;DWUaoAhl}a zcdnE@umxC80ezTYxyaYk@376Bga{p3xHkV(HYP7^mRr49Gsf>fctLHi-rhd{`(;sgQMgfdGroK0 z`CHIQJ1%hEE)d9)uHKjT89g?+1sSxf&?A7-;4 zX@Yv+w(PGdw#$eC?pFUTU&Y@Iu{2g}zWOWQ%)|0T43wfN7DXPn>2liXo!}>-tt8A? zcQyNBl5vbV(LtFD~a{5`zNWQXxw@ucxsg7MgY_j%!*oE_@2&IVLc=oR#8REcuO)Zm^ zFwO3OMVn6La7Fcf5<*vsVh!bhC!7I{V;2VExP+>N^a{yT!n6l-gJDvdMg(VeF*S~C z47yrLQ1}Kwh)TpTUxf>y0&J`%=0pObhi;Hrk?d4cf zi`2V2*1qHl?>&6$yL$eEbtNqlf zh~5XzpzvV#8f)z4qdYVVA@GfJDU#Bh&6P8yPoT%DSY|3tt?#yzOce{d^J+?)tYcKY zKoh{bfj%;XM@Y^afCMm$$=^YDP6Vp}W5g$L$1>)y3*`f?c3FE*tOl%#cij}>+ z`cdA7Oh$9X;mdmhT5HIpLsetrTHL_o%EF9>MuskjXNMmU>KH=-;MFJ6bq#k*kO7FQ z?NIrxnlJufXa3BhW;@tF@x&~4^@}q01v{nQjYjhrHqgUjqSZ2wx)b`V>}w0dZ1ZK7 zVU`4EpC*yayM3-ClIzw+N`@2&l}-yo4lr{5Eo z`$b4SD>CZ2icR#Hp?&DnJj8w0#Yj0y9*!JYW)ATIa*28{`0;SYM`f`}-g{Z8X>$l&bs)q|1-jqZdU zVCt$h4R<&V-CZfl+?Gl*v3{DyT5NN}dWyCzQS93M3Iv1nnQ7vbCwNV2PA}!m*!Lpm4eR7`zGKC7v~$48XcK3D!``D&TcdY!pyLri0ex>m z?(5qTl1+aoj~~(Rh>em~0&2||R|6jQkzf(Eh5=li#G6>Y7Bmw=&yB3Z#j&G3BiBbp zYwP!5U+1D@Uzk@ga~$rH^>j=q;~QtMqAf@{Th|@o@s%G|(ay_ShV!C~z$wLFizMPc z>)EUS^1KA{Ro`GWcsh(W=pj}@7#M5x1J#5ar5 zjAyIMexwIM6w^sliwOO+L6sx(^72CRYCW~q9mD?84nJh#EOGb|cJ&9vqp0>1azBj& zh*n{BpefePUHvz1(0WM-j<6+zBdS|=`)H_{)&C{+1X&(SFdYakOo?<5Ed75+Foa%l z4FstupiASW$}fYNV0DnspbByWeR9H=&ad`THbT~ zyvUBsUThbhk@o^+_7JkR9<9T-%qwX`_iy71E!B}ZUP~uKIxh#3B@GztSnHdJ@xQNB zda_43O>%Maxw-~wjEBbh&b#5EoBmK654H6Ny<|wRPCI<39kEWX)1=XB3op91$$U|& zRVG{|atJ4)DzFAcm7R3!5add&2y!V|-9-D1#?BK>D!xiT)XMPK#97n@O|^-rz95Ay zo=3X$kQhCH>j?dl1t>UO-qf1t7fUp!k*x>^Q3zE~-=(Ei)6)q4PEy@!@#oe-J=;&M zAK>ST;yKP83+7yLCBC?kyFn*picgV%g$!$k>n!c$~-vN92jT_voWxX7)qj}sC?pG&-vtjw!+5BHQ7E5H= zes!Xw8M?~_B3n}f-9wwA$6^OWp88n&TL!^G8EF}d?om@L(=D@sfLmrMw5(-~E!4G~ zZbDleT3ejD(qXz(U3q2-UM9`P%Z$c&k(;)qLjqn<3oId66$C_{u*8Bhm1l#*z=3Bo zPxPs19ICkbJS%?5c_N|WtBB>EsA_mbOa&2Cw0VZWty5f7C-X$E;k!+pMdON#Mimzg zFD`0Ue4=?pAfxE1;-WFdMH7mPniLl`b{4fPE^6yM(a!J#gNus_ii`5mW}UuOG^Ds_ zKygvu;-XH)MID^fcsx7|QCu|LS+ugaXoj|j(TbGCnf?so zFr8XtWQV8Zx9-AO>$upeb-FekUpb~)?T#&3Cv{QBeEwvoew@{-QhI|mxH)0MP4%iR zp2bZ*bZD~r^`X)rYsdEfQrpSmzrS)Pi2tOTrL!NFy8fD7I?UFtfkWy*53s%adf&Hy z=$Hh{w-T`bDe%NvS*S;ADm>;msXC(V2io(3k+xE`WBB2%%;l$lndBLq?k zYA>M}fIalnldN@dexB^QB8CG21Bv2_09&}+$u4C0UCH!Mj*>2wHZ5%-hg42!+xOsx z)w}o`yngk1x&87pZ{EDwPL{bW+q#z4F0C!y{-u8XsPx5c=Wbd)C#!Cgx&;lJ_HCbk z*xO$Ae@?bYtd6{a-?i<=UP6FH9BrYiX(xEKf?`3RiQOb5k9Xn)d>k;-tN2cC7Zcbl znN31NfYHbV>bVopi{sF1*n!`mxM(y`Y*BPajJ_reMML^6TcbYS6r96MKNCoo)9^>}u|lJ#*`I?wZr1bCr4&gJCe{dr1jc zeNQFQ*Wrs~lE@W0p-AXKx9v{24SIqXqjisnaG=Aep}QBl>`_8dafuIvYsK&rTq|)X z+SqkCwsvbGTBhB%vuy>T&a8~K{pPzpkq5?(m=@w(_=NfuyIF&c@6)Ag%_@U?k9_u- zfg_%2@+a217)yQ)cyXJhsls&J9~LM=hmWpSku73c8nU!f#kv(P(N{&Q8hcJ^7HjO8 z>9w=!0lc_l-GQ)_lgl3Po}fr5^6ssb%1Oy2Nud<=`8FcJ{pfp9q{&tBCKT9-t9Yzc z+pR$e%9WhW1``Z19F*AzP-j?9X~8(V>=zOH{0#AlEAG&7{$%?h%jR z8lG1Vrsm=S_u6ab2%`mOj#UX!mBZwlL?KD{3Ilx$C6qOP7UU6v^uET z{MGSW&qRmKdu`;h1Hq2q(Aw%j^{*O!Nnf&h>W!!Wnc^2DJC;qE@ahOx*b<)8YxsA& z$6Xq?ZSj*mhN_>aCv6^?1x{H$qITQ1Q(}e zMA!|lG|!5dRydIQ*2SU0E>ddx(M<7~m}?MaY-gZIaW#o)oizo*1gB|?;h<)xN`;++ zyGNSFXUn9KLZP%4NgGL2i`Z0^NZfWO_z3F{+7$NbHSq9(%^wBlGC;iSb3`Z>VCtvq$aQH zwc^+@Z(hf#E!W>$yNWAqCO2O*ZuD}x5|-^C%scW*+>82uzZW_U$}u5G#~WNw@PKw9 z5Z4ev*SEZ(_4#++P`i{Vk1W|J_s9Wnbq3WZ$Xns>Qw?aOn14)3WPPfi5E1%2>3uor z8W?&7dAuKR3eErzTuUAhD4PP#A^{D^+vvcpycE9k= z=vT%MM=S^ZyKBtOFKFFt#4|hR4e3!Z0@NIiy?z2}Rzim-y8#^{2>7=>qA{b9ns%n| z(Hdl@-C|#cSSA27Mn^;mji3r8rBV#(G=eTu#DZAKC)LSPrmA%s*>qtapW*PHSUPRj zfeX=bKOJ3lO!mktr)|3t7rkxOoZ#3U(x7C~?DoZ+%6VO4~V0)8{0;tDHqRT2cf z(ZYm?n}Asa9#4X>9xE=kPJ8qLNoHf)?fERyy;}Wual9w)7uK*SDrCc?DPx?jU!Nay ztY=`hQz=~YR!opzn)=-^K4!s$Noxvcu2N2}=(92cDP&(yEB$4l*JCj@~d(Ok`0AxF=d?qSFNzJuhs&o)=*rws6@Ve_KdG)!$BS z*)7?UtN+HrrA5=Wf0UkTvn_mf+s7Sj&KEZJ?S0`M3%+q8|DA{GZ&L3CTYvuS!?t@) z{=&|5MJDZAoZ|!BEk8>K#cJqWF2aI3b@c495nu=FgsLb>9vDLJil3F37!g@=K_HH; z_C`{;y>y3ND)LsdOX)U`r>0!h!>ZzBFn$X?HVbjDa~0;xh>_+Kp=q zsv*sJtom{jSkXbu`-=A@PXfz6$%PfW4w&a$tjvji3!rNG$^_wcN|=sBB(?SL=+=Q) zW;xo_A|}ZArpzh<;t454c!}Yl8jVNB|J~uNaW8hN-n{TWtgxQXLlD#zQ@V5Q`id`(PEPe3eM;{%RB1?bRa{iTVQUJ-f zMc8L;tig_Kt+C&};6VLt^?QLNjPYt9zkyT;-k(rraKz=RYMaZR%g857`{W)ahsh#g z78fMO9Y~C-@SeoMnK)gKiYdG@HL1rOa}mITz%V*h$mc~F#8i^_*+*huSVtPwU}+Yf z0C=UN4XoW}g^ddsrykEDMIyCMxVGWo;;@L)6Jw8c3G{>(F08u#%g9v5wjEy(7O6fg zdi9g=x?$&!t@^rh7#s6+!|GWZpPIj`&-NkD>E z-Tpjo^Q?J$vHJF9wd6#h<*Goc%UZq_u`7MfvFR4-j83RAW2_eDYI4OPQ4-&tZUfbY zXt(%$5T8ROx+arHl>)KP51*@gy?vLBH=>>|72-LHxC%JzUUAB{o-wE>HC{{cU!VueP>TE?5GjW z<37&AA6Z7!(~JBm!3zU@=V7|Xy2Y&oXcI;POh-VlLjyCy_#<}L%nu+bh0&LIjfg(; z*yX6`-(OL0u-yG0$HeU4h4D@r#n0{7ellm>f<@a%hjzfdCu)bH@}sp9ul3f7{||Pa zQHL7M3+PZ2)DuVqGodX)i<$_{-rsaxqjB}(&DWztKyCFs)(})atNuG(P$*=Owl&e1y zm|WN*id}plhhGQGNyoFjCtvhjugg0i`SEq{_dTHbp%45)2WAGUjT@g@5`jMbQxhpW#GLiylard zQeMuAN?&Z+chKdDShjS|yLI8FgH!=(>4%qmyq9E2Q7pa+P}+>?V0ETK zDh)eXhxM1!YYaXMu=G%v!3r{IHj@>k|Dg(jP2A}~^91r_9Ee01(pMrdMT$@BC9~ht z-)k+vdk^3x1A$KS!ZG#U=A!0w1nzrn+;^JBoFJw#YbPg;M879OAkq7UNK~_cA*%>X zA`@VcJS2z=oh_9l@smYKXb+i$st}V`o@%oqjxG>!ki0HbX;XKMa*v$UwRCo}TGDXw zGpSLE)#C%)ZvJfx6Dl_RpK+7Ml6O6VgdN5qfk(P;bpD}OUOW^4=i@WY^stBrQY+~)%B+zC9hQL{Z**OcQ zodP0&s54f%IUiydm11b08XuBL?NgJBjZq)+aEwDhG^}q>u@a;G9%7Fs4g;c)`-*=7 zk3wKkGrW)*Ox8pD_C)@&IxHx4JAd0&`kKShXGT=u+xB;YE4{PhnfZ1((BnUR=n^Hy z$+q#F!RqI;QSO`a$&sF(G4K66dvdFGc@2k*ee(iUhd|^@Z^CAdwoFs3zRt}g2TU6k zcbSgbqJ>S-Lck_In+2dw6mk@z`>$z_uxE`a=s*FN0(1(dk5gpo!-^HRzZUX=fP}B- zgL>fl(Em`4=*~jhuLdeQv^mtvp)Aj?Uapf=J# zTPugx@_3j17nV-hNo;fm=tWr$3=W%lQ=OuG}d6nDl`_I8Io*xb@)#1u?owmmoP3^(^u3F&3K>9a0?N4 z!pIz;0r8LD_PQPXpMKug?Y#aWZ z@o_pcQCi`-|L&d zo)MfW2R*aD)C?(%f;8-B^`-TwWI*Nvc@79o0I-A5V}Bi;~*Rk)M!pk)BP!F4)^znz=-ea{(8zsJYq3*Vi)sN-6c2&K- z`pztQ%oslw`tIAz;@8J}>&36^rF(7nUpetpq%8IG`vwwt3FxsIXA`U6a8WX%Z(P8l z^aqpTFE=}*1H@RhXh127O;EZ(fkUx~=!J!hQ7XL{HBGyZEbm-%ov&HF6x?Fkm>#Q?K;zwrIOUioxpR zu=={tkcmJ?ienQs3HpNdO2QMyS~Fy_ar1x*HkQ+digQ3nJ`syf^^NvRLIq)@8)3lI zG)WX4M?wd3EBa#a!JE(Y3<*E9;F@|jl1rZjsmtxG_6>Xyy1|XZQ(1{v8ziu zw*Q*7m{zz`y{P`usdPq14_nIYEzlih)Tbw#4_3$RW#T4I0Y>W-P9erJRd-A9G=Jumcru|t7J?&ZdHr(5tA4$G)UU@a$9+#w}7 zAsWArt@z;j2s}_wLPI^lO(xZDBbJNwFcU`=bu><7omt8>2 zb1lv+3fwnCiP7W;S|;dILj{UXXGMLt;_P&TrpVmF6JZRaTct#V5n*5pouV!-FsY41 z0Q4R8eX(@M;CeyWOPG`dV+~;onro0)Co(b>uiA0WkN)|DI`)e9?Md~{FG;k=kKCRW z^Az9qB#fxl`uX{WKYNz7mOj(-( zV5~)h^{jtFuNP;eEfWL?9a#4F$28S$))4R zY3FapMs3;5`|{dq)Y)x2Px)NDuV~Nnwt$-{l6o0?jzqt7yCG9#+N&P47TeRiasf^9 z*t_X#+F=w+6*n=*Wz`v{kC5!E=sKBsa1LH>E184#|`X}lcTcU zoLwtczhRY59%JP(_lQ3Qp3-tlsE zay?J3I{9YyCH~cAk9wB1f$?)l?g?IL40U@1nl=FW&k;(9R<#&H_!>sJY5Z2yP3DwpPB|&RP z??$4dxY7Fc))N>eQw3@U8U-c{VEF;XS3c-%MngZY9h z&ouMYEA5cuX}pC0c+UG>_qv-s-?4q{&5}dv9M(>Kg-vEmPE@D;s$PP9^)g~+4?t;` zWwF8xvs6qDv&nKdT}{ErxQ!L;p+A%ZR-Aqm!k!6KlDQWz5(Q2z7cGn6MtA@P+Hee% ziAHrOa!9a_0sRt5C27y9!P$eBdoOn81JuK#N+!Td}O(};&g5G$fRqg}ZSAQGli9<{F zlh>jW?oAvR8m0bq;rNGP*rcQhS;kx!*zBu<)=)?r^n}f*-hl+>ELi62z4UTiKCF) z*SVc_sk9EglA|IwDtQ$jU&DJ-gvAIE5B|c2G$t_7M340g_9z!8u(u5y zLC%Ds0}@sOs+csVoC{HA){}xrW~B&PQOBHm!jEX7Si>ojpsmStvrIBVUz5Uw>+ndb zPvjKs2%@IvAbXNSVcW|g>oAJg`$~=ZM{Cw}rKHRnp02*rls%FA17BA$THy64>6MTxbu zYgJxzruTW+pFF!4X+Bm-{YGfM3|?7K0HHi{^amFRVM;A0n z)aikb^1hPIpa+A}yUf16j7UCdJ)!x;X^1t10PPdti=_XLr(sIP{pX`Wl(UF>9-0n_ z7IbVHbVf;cDMB4>J@cS5IgiFG;@(!=+nnlcCv2U&cV4* zqt4BTHfHi>RKdZPkRhco!^e-R;Mh0P2vG$`HpXsz-4FcNLvafJBaLM7*%+o%*U#1$ z4+CiRRJ=9Q`p5<#F-#lKPMvHDAPO~mg1x3re>1D6W>I`EI|ErAT0j= z%wes`sv{8{72=GliX>^Hu%mjCl#b_*FmMdMdo$-%1As;Pb^uK@ugJ69PRuC^Bkp_cLM=P6dl)iC61>I&;!t6p0hGm{G zjv8VC;-GQ&3|_ zumMW^n{E|Lq&OrcdU$KqJHRtQRqae3z|T3nvwAYdGre!~Ob@S;qlS#9l#F82(~cYl@Pb@ z(rG2v!kF^)J~7$2(uZthc2iG-D0S|CuylC`@AsrXA8YKA{%Q?PPBxemHLqX`ELAj; zCXd5(yG%I6$8H;=*R-7mn{St5v5Vl4d8d%nhHYua*^6v@cGK(z;cEK|6ODKFeyeZ5 zXQk1qA)g6t6oGkC4&g0n0>PwcO_4>N`^Di1Q9JPQo%o>ySC&-bs{ zVB?O!#Pfw?_IO{h%^0=sW{m7Vea50IH4-CucJ4EGH+6k7a`U}KGA5+|d1KfUi$5Nh z)Z~r1ox3&vmPy6O>U&z9QNQb+%-Qi-m+N+AE$(IPSKhh4f%+EA#+egpGmX7RwggYN zG*{n;^mz?8kIVailx6ko zCY}b7e@9ws0>gl|oB}yXc^g_O6u*!WKKs%nyiF_BnZv}NSfL>?PiYDSDv+r#8<|>+ zn2gMI)0=tV30%=5!)Gb#qnViq2bX+~z>jvTgijEK&hX-%m;%2h+ei1>lu#z3Vxi`~ zX3#H)x=?EY;T2G3L{A|ggP={dhHtR?hUB-%2ERq9X#GN&PPbf0$rf?CfLI$0UmPo~#~i$4 z_Us{BFW**@YI$l`UUOFXEfAVF5wp8~n__mSFmOeSnj>C@4$LXArxMVC*=J9gw4QD} zD5)B95cPTmsjT0r_|(i)*szAMK51iA@lmG39Mq_+{U++g4AnK|_LK%|aEs_UtVKO) zjthIZ7 zrhjNqWKqPS4F$sn+x8dEnrpkyQfGd#V({Sn?hCds{!EQI@(i@Jsg>Vp=2Ak>)kO{@ z9{Z01o@R^^Bk(lTf>^iZAA2&G$tDg1mAE0n0M=l`hN!R-seKo0Zj^S&iI`yO48d|c z^0}~%AuS0jSPIw^4GdVhF4dM-&%UPi#t>r8s-dgpImX{26?7WK91U#=WHxNo;bo5WU27Bbt%wema8T8jG-UG}r|9(XSf*`6pv ze^Ap7h1L;)I5Rki#ges%AqrY-3zdpS2rcCh49FrSBudO$kSJRK78N67?ZN0?q#d?a zeSyZO$OB35*;RYmwOi4li{G9+{!E|1?6C8j_Wc+gwfp!iJ1g@(;gDChP@5dsIAUkd zo?C~`-m_=X?3GqlgT3W3panuvwUZ7jAVzc=pz}i)AH3>_Q&UW`oTcOZXj3zb;;Mjuc#mC|!tCqeS=nQZkh1KtuQTnBnfd;+s z2F|GuYWxi*$(z(Cgk;$#!|U|wzG%Bz_9--mj?c-!6c-`qM0*5XcZgCovy$NlooR#mx(L`Ua1W(us-hp0QkXLciGh; z(QLCr9UGV5+=u&F(kk*Jzjs+wvExnuq}yA|u|ErrC-S|Xtups4I_v@XC+EwK*<9M@ zY4YLMI{xR%%cLm+(fM*W?tHpsr$#}M*3>Cju20hgD8+|9(n?4=_EmtFQ_l2+bcj8p zwT0Y)QJX=Jg%neJX^;!ANyR|af$m9}NqI?~k_wWD?u4&1fSZY?NrI-BB4UE!vP6+X ztOIL@oM?hY<=83mn?vnAC`61#Y<7DpKdQF%^9xx$tx>=ns#A^=4b>Cf zraJ}?+Ic6Jy=Yh4phMh6cD`eqsY@8TP?x;x*)%1rNc&MR2q~k&KF(L0E6%V2pD=<({@|feyfrLUAYD{+m z9gR*8=x8W)CR;I~;?^l?HPVU0s;Ab#2Vx}Hu}Hg7-VKC-Z>o37#OJ;cga)ytR++Xd z-ckpbmOr~N!WMgJ!Ly6#!(q`XbL7t006&}mur6bF$EaHk0Abe9BW1q4CV9t87uP1E zSLS@`mAQUKZgy7Jg6)e-&lv#3yzD-#JHm-ZqPBa%W2_I|ephT<7#xpu-ooX?oq`>N zj@_;he+qEr`FHX!@E_+t$A6XoPJaM9jQxVj?;s%PZompM;S4_trz1-b?1Fzfx*T`U z2QWvg-sQ~$xbZhkL1di5%GGmBBbWig(K zIefi*b^D&zCLY?qWYIyHZjlug(<4zaou=aih3L^sq;;f#Vu>cdPb=MnK(SZUNBbi4 zByQ6TUky(afeBoNc*9pKrICao7Yxj=XGc7garYJFf(!J@y|nb?ADa(c6yogrWS`mY zY}ekAA+dD zhIbp-zf*^v65=eSFcAhyE>T0-^FP&4>RZ-rU0)3)n5qgW%f%WHI8-dTGw0q%{N&*ufn|lWbZTu?dyW}E3vLhn7br&fUs!w zh3HWSyr0PtvYOuCPf{Q9k;wL;Gl~;}ae!5+tdP zW+w5$Yuo*|zn?L9>DZ^k!uOAwJTKHgnQ`{S-1Gp4J)rLsEvM%N2K1KV>d2=zjov(Z z^47i68-Mt_dcIwwhBd3V?9_Whvj(kvJ_#?xIXzmTEg}^9u5@pN)UUB+fkm&@gCK*r z~mL z8mPzJRq=Htu&M|}!D=WPLL3=)$H{Ln1Pye;f@F%ld4J>RJG_-Ti`IUxt>9&x!o!KC6XwyN{ zrVU!sD7v6g!86m;Ds2b#@7O;xt{=P6s(-)2Uhwm{CA;iT-WxlP07BW*LR zOW|R{NayHxAcndU@Fl!rFBESuHgCYj&3q!513^!%-2oI$a!!Io4DZt~q?)<^kd;r( z2n|0rq5s4H3<6L6?R1EPwOrq6PL&XDeX@P)d5Q6X0X^B|r?-!ty!WZT^&0kg_5E7R z(XCn6IvslT>(HiI<94{uv-#WnvgnB#U0#`h8EFPHLsNPDy!Wbu*QeH~_$}0gpr<3@ zEk>2&E&c|!D3?kBHp-Gi1uF#sIef>Qh4078G8?%wwD4Sbi>{R-8c5sb_g&Yw?d%>`M%C(DuUk^a znqGmsUglw?&HN7x89BSntWG0m@evcYZk`l5WAC1sbUXTDs(dq0JOZ63$16OItR`?e z(D@qiMNmX1zK|38LwVwjSV%-oDK=^mI5{Omd>}N5(KCY8VK8G!IDkwb9Y_;K*9O6o z&}61lPF$SyBrf%Db#LXi16Jl2kX5QI*(c3yc&dT7b3o9dWxbCsjdNMK|B8wGzF@0f zyTkbx*YfJu`!|dE@nyE&dk3?m{GK}X#`yQfPpy%)=Q>x>`d>kRxWL6o8?fG%37&jWi$H)SVZ|Kc5Ud2hHX-ox-weW3t32V&uvdm z6ZLXw$-Zd_$%%|j!KkN~mtE}{5piMpqLHpBKUqqVvl6V<0C&`}lj<-w<_$4{{w;ML zf5F=w)1LYspEm1CYTSv1OLMb5nbA27o8--1e*m-RpM$f8zG4<@h?P3BKL#nG?@!1= z{Xw@og^f_|*!=I15_dnDfl1uYe8r2~c%3}4Iltzuho-0P`AO!j;;n{t5#`drJZ#vS0UqY(**%5VZsUEG z9cad@dOx&TN(GkaDXMlG~JWL=3#)P1d3C?LLv=Rn!yTc00@b-(p#5E?37hbL5rM(w|mL zx(AGQkCHE#UdWCfGk@@BICL2gItSpRMcOb;)xA4l4-_cowv!K3qxY zNLvxVgPV!?k3KBru{2hqndWIABOjd^P0BEOCq5_z(Qx-~(@Pt?7&91(U$m&7#&H+` zfOJ@<(5B{c`Q!ss44skC9Gd@y&LW98t0w2qIeF;3VI!UiiTq9Zu@7sp^KG|l`x>=~ z1suH|X0s)!f2cp<=r%719<(IZy<_P5V@M;Fte!q@g=fLEs)?J>Q-q6ZlDVLP9rv%h z5}M2QR7$sV)vH`-$O{`Ymg`-} zQuqkVDO5lgh10K~dm_3Hqb-=53ffpmc&i#s z1Kl2L-+ui=2ew>*ro?gb7gAf>FiQ}AZwRFzQNM`b6^bP6nV4B)kGE&q^X#4M1$MMD z2HW`?%sIrS5PQZ<*H8_t5DFMNu#oh7!STVF!Fj=*f(wH2dx-5j(QOT=LgGOjvp(Ni8faK*ba zU3soft^yZ!fC7#v>>!GEpw+;_5<%n`wrXXx=gN^#E5AFmU*q&)mBacZ)pGW37Ma*N zA+k?$@8)mSv$ks5u|q(CU!(THje|$92=)&3gCiNf)E4!4-J*9r{%@qYFts&lZiw!b zOHULnRY>#uas53k$n!!d@6pb?j=j}_ySzWzqDr&aJ?8z>TMX%WN`4)>B@-T$KcO&n zjzGkOA*@EzGqr%GRZyLSDjc{=SySgY2LNGdxGZ4>qDA3e#o0WTsZi1BkDv4x%mH>t zw_{Qd{$1;Qv;F>Wd+=NBE;Y68|NQ(p#)h*S3@aQfUzGxEwZ#h2lLBK-B*1QIe0DT6 zj>stM>%fAo1pdjhcCsQ4$gKj>gzp0Dg{lcVegkz@z%*#=gLC(b_sjIl^XueS;Af+| zlb&u*PR+6=r)Nn4o%es+hedTz?=_s$O1{d@pS#nHrbc}#e=Wz@)?qynl+iJ*BwBP( z!W#0cd z=@$^PIwdIaYQla$`D;#WWEF&q9&u%Pc}CVPhT($qZxRE}8~cqAZ3WeGYmAQ5qv1PJ`jTX?sj; zz+`8~Y=YJBV0KJ8RX+!@mO4D&^9ucK|n!i=QLXw^)xkGFGMyhZ77Hh0T(FiQ2DIABir_d)e$1&1hA zgW8=94!P`SJw9O6*#7Ohc5CD8ZF6?&?$4`Q-Q%XXGby{jk+0-8t>+{=yZ+dD(Jn9$ z{oH>wR~kQe5Yau0m_MB){+?4)<-&}C0V`(mY{h%NW<8A=)yc;96c!{Ixs<=A_k5FY zmYDckDaOAg&^!9ynuNb~m)6fy#m_`*?~~4TSh!;ThgB;qx}D3TXIZQ5@VI@$<+N-CX1K=At^cX#^&nn;^ns| zaz5fFv#q^(muFu+c~Jf80`d-n&(FTV0-s4PsHN|N7|4C%4r_U*@fO zFz5YikVII$H5jW8MVzU%;?U-!K{V^L4n$5--$l9Ij%1;+)DniGsmvXHRm7qxsuU(B z4Ka*vF)SUB6%TK}R!liI2IiveE%(X6{wLKOZjf0jFmz|MODSc-KQ?n$p|or5gIRB=gJYcwpY72*tgre_hrkO z-=1DQ)81sAm9H)yepy|qew@;&>xMt)b!y3;M>lRduOMq6&Wq~CTPs0YCKx7Gtj`V> z=?Q(W<=8c(B#goy*smm`fKA0vc@p^MLkri>OmG_=nbhU?s;W9_sCIB~lol?2Ydq&8 zZ+iQmnOUU%;}p|REv}ZTCNf7g?d*oLsFlmr-*)Z6**%bKTYsJRquTFd-^tCTT@h9c zGe!{Oi^8t_MXz4cTqe&(-&Hvm!XYuZiv>kQIMLtbO7fnu7O{EvH*Zk)s6X$NtkWM}JjiM&jb=_f_X!7w zp;a8;2(9zj9=(rxx5gg571TEN=taN49Cj=Fq6!ee_C&eG>AJABn58+iJ^=NDGVk&%Q@Ut)OTHZZpRJ{b ztbEb1p~2DX)*bMscp_KdnRf6@RPdCiy>IgSN$f$lH60dhe|;yL^x~KoH}*bKpteQE zeulbN`WI*ugN`jWU!5&lMw9dt{umanNL(}!H3xlRroogI3%6?Dhb@bIh7qg)jy3f0 zS7M@kZC$B}AQM3Z=oD7@7>GUm8?@41(*xsRRxg0)Id zeEYLzGVp(_ftn^ye)HKaKQA0nJ)iM+FMK4iN;u-O_ti7#Hl=kH9rm9xV){uu*4s1& zdB_e$=2IA<@S>3-Mt@NXvlOANN{}f3qM`#DR8K8N(K935E)96uaXA-&u+vuQua2co z{^z-N*`f%LC8Klg^KwE@(7afEPEL|nV3OQmB{n_*f6@Y9P|#ct2AGiVb|&DdA~z;J zgJ3YmIN-?{o8^Rt1CLZssT@nC!pKT$4P22Bz^#()HqblAlMgPr9PltN%E5<4FASH?}bAst9N6PO~SR7{{*j*F4^18#sGz>0Wi;EzX~=F^aR( zEO-6WtvawL2E$g$kgrR9ZOdURC1I+-|K3*8tX*LiozXl>_^R-RwG=W+(F{Ap*H0u= zm`+8p1Z8;CfXdN~VYBa9*Y(`!F*E$K1A6E8n&BD{+SllYCbvn6%ulv%A2e~&pbkB| zce<w$3(k+J+rb&KqQzf6|Hv!sA6^Z2nvphUV*e4*>3^z=1Y5mSI+pWMwi4%C@6f1J= z#0QgxgqSt-6{I|hQMKUSnoNPj#3UODT~d^|nvq$^s%Vq6tT{R1a4>w$)~t8DeY?Ee zWAhCZ51^l2wYPg;>Bl$Ny`8)Be1~^`UtUylul=2iAGE!oKG1sGg)(+*0~)RU!BRO3 zMJC4M{ng2W<)mQ7)v^z$>)Ljr^)}S&5^BL_$x!sZ>NKSja!Ke%Tw~K6d8B2uoKbqL ziPWRC$S$pvdp#_$?xL)edRA>`*$Dm&LcfXtAHv^v^MoHmQ{N22m#S4o+y=F&kg`5m zg%rZZ#5iSMW?n??Y9rRfrA&GC$VFG3uq}nRVbhj9ukMx6deCCy?K9~4J>2#*+;$u9 zDAV&1^^EkV_E^?UZCfmW&e^s zvcAS`mY9e1oC*p4xx5G8AL5|rbf5-P#rG?D@ywv5r8xXOJ8w(f>dVTA3ak<4N!h4N zcf~XQqIf3kI?I*o;~9`}tav=&?ev^R&-kr<=l$_Mrk}!zHNv_M0lAc{%5hgd&rf%S* zSX7^3TTscq>vVlPn~=7sv-)m}IoWg4J~(uJs=AQhIvE-J?_ItSk?M>i!Kl}8GdNz1};r=TE2M`Aee+UZ4B8#1`*tAJiPz`ao!@#!?PnO?Y|=ixhZ zo;f+h$`QX(FR?Ze=T==&Kdm0<&!vmIUSSC}f}O6PUSG&+d@*t48?#%rN>=}+UX~hd zI--90WAnz1j=s+-ec81i_;Qhj%Mq|rAH_N7PG*JPCHV@I#ZVsmXeW9(r1W^M^hD{e zcBzB4@Zn_ZR1YZC2$;PukYjQouL-+D%WFb(kah2`@rP*)TY1QYI7g6?0^Rly(ULJx zd>{wMD4-#)O;LPi6LVk@aU+m5k<;y_s1FenTtlSv!18}5cFXN4la5qP&p=*ka=ROo z*B=Yy%s)eJ@NB<@KUV4OJ}`6ZKeOCCe24nS{Gt7h+AQ9upBjJVbe*P+#*95vuxpCy zoG|x(aX*sCsPC2DNA@-reWim8bL)lgqNmYBaTnce<0X(pd5sblENX^eycjqHcNr_q z63W^)hqyc$6A{T?Tk?LjoU}i8Zn_d4xtIm)-+MMVJ9x|TSJa;?$p;g+uGn_v!fu7l z`skg5t4^t}dfObij`L^>&TWYE2#0q(Oo`RJV;BkkI1gX$Pw=b0Xg&ETIH5f8AX!8K zze9W|0s_!@9^h;9d5DZM#_@=at2J@s$rPNArh&ceP1F%+F(0yjSbi8+l>C z^a-qF{wnp~U(pS%qqdiR!imHI2RTPcshLUgGle3yT8PB7Nx^jbjzxTckPXCvdb0o^ zs9p3I5GFA6mom(WHRRLDZ8M{1K>*AgqO_VYFrg$LC57;>i9tb$t`nb6%cyxet;}+2 z&ocM3t9E^s8sGZ$3Yt6sP1Y=1c&lm8h#j+^zh7PMIDYi?l5anG*eW9rCja^E`9n>l zIdl8j@$AQ?tJQmVh%)uT0SuH02J)z-5~1~O2Xf2)ILhcZ&}36%e};lf7?;=|4Z0Os z!>|;1FW3&QSb9wwe9QUV18+HOUADe6eZ%#r*ySuzJ;b}L9We2Y4V9cs?y{y}$&ah# zj$fUdq5k&P(-%-}I^#2Mn-N9*r+>3_K!Z_7`yE${vF@@5>Hz5rtlI^|*?1*blev&2 zF}`)1#E4*9{Y1qk^b^$u3J0y zc(vgkCRK}VeRZZLQEJ%MEno0sl|Jr+Gp4_>P?IME`+Cn=KY3-~)0#XveQU>L)i!?S zHdY%a)CM~x-i?60Fh+^iY8#@-+|qbg1bp<(38|t#n0VI!DW{MRj5_*YGIbFfGTFA_ z8aN)U#86gG=b4sW7g;|cF?}O&demg0FO5G`rD|=}>v^ipwWmjJ?%tK%(bc0p{z%I{wv5U*U8moF~(w#O(l)_$Mzuq zuywA&2aB3~&2q-SHLF`tlWyIX?O_XQ6v`Rjyp-6c<@ot@*Rs^M(mm`m4%X2eB}uc6 z02%-PO9~m}E)m2qSwp*}B!wV(%~D9fetg&{-yuU93mKHEo_(&cLIiE!5AaWLc8U6v z|B}TEZ#C%!0W|Z<47uZkQ4l~MJ>i`nu3 zg!#sL3O0x9ZJ6JdCa}pX!#1W$5RYZHQaLA=BrRq*1=3(cOuf^%-h^z>c|r(jeH^C} zj(`vt-KBkq6(5KW25F@vYTvA(eG`ZX1N2Pr2f?7=+=)w0=>;wCjf|o#JrWg6U>T^c z@W^-$|4*|yZEVf<)2`?bMrZX24cjwr#Jte(y>nUn*{CX6yQSsS*MGY8s(K+{Nv#>- z;amFzXH}6FBo7Y_>EETzG*85?1-qBGYB_7z=*4pfO`Ft19lAhauWdZP{&^4I$~Fe& zrwkZ7dcM>&uT?!;ub9q#+6?YE8&MMA)O`Mw$uHSI{1*a0i7BtO7TPqzlk9sl05Ybb5J)P+7GAqGoLSp?ujKQ!4sT9FwXOPR3s#G_qo~iA z?!1wA=rr$r-o*R6hxJhpu+`k_QRBbmink-~He~>x!X5*mk@_o=h7Uq!*5%uyU{QUK zx*4T#&13?&HAMRi)8<3abUWh_W;C82M#^x5==KRH|wg5zw0` zO2BJn->Oa3^5usS8$pm+Nyf9`>Yau>VsuR_kscam!Uy@pY`n2w8QQ9qi6kuwXF2cwh_|s;i~$N z6Kr_b_NCjpplN+~?d;_3IJan3w2p-YzARK2IjG;vBBoy2DSDbHZ^+-EH5cE|)1F_| zQ;nBa^`!SG&EqARUaK^`bPKhjlZJcl<3IR>0Tgvm+lkKn5%A2dhC2Ilhnz%)X?KEW zbxTR-S(2cp%4DE?zziYc16Hg>sUbBPmQ7_l&@sHThyXpcHZH__TJPQeLFE%_I|PHa zZ|qo6g;SDt^a8X(v;SA#m&aLE9RHp^_ndo&eHr#)ag-Tk7X~i-rh}rQETTaWa940) zAP$N_MEOBfq9UM#s51^QxUdZuMZ_f{anItu;AmVT#<)Pxn4sKq-nXi{`<^>olJ|a} z-}~piPt54)Tc=KSb#--hbyYQPiph5$gI@)OS203o;{4`a?Eh48)?O4Y4GiU5+; zAZv$eRs(&X(E^I!$jVV_PW+ALde&es8yo z{P(pBs`EBnrxxGx&cb?rm~RU;g0pvGkJvFZ#%}`(qzqzuC!|m&(^?$?YS)N@L_@ zgbgxjZj(>-ZjWHTCiJIME2^+o({46|J&IC^W`enY3M$7>s4ZV`M}v6d>ypC-Y#&A=RlJvo@RIwAHVZ zG>LRca2gY=UG@aSaRmZ7k!gxrzZ{AKmmrS@tS2_Ou^=EjpXM9=AA!O+Eh=0M$9D9T04WKXxbd zMnPgE{INxF%p{yrL_m&!o@e8NEe#rwhP50Kp`nLc=yLTPpzEbG+fsHtVTdJ0|PR~alkgNQC) zV*#|gF+p?*bh)!Z=t6mmcm(F*1koih72%E?81o{~AM$trn&=8wFWLSqqV8Wn*q zcTdhh+sLGrSZUD^`mhkwXGCwFRK|8E+j88cNQTx$6#<5rf z{ccP693F`)z>Jn&IBOjJB43@D#T-Z zzW*xPCo)yl&J)-nYOYzwU4ib|DDe0oOBt?zpw-HGDGUrWuU1hW3v?Q|1-e}QR}N^y zV}bt4LRUB||06WfEx4xI6Cnq3!_(jA6mu2C{w;VP1_7nUGuh&T6$X7l!02hgO05b zJ2$niVT>h-<`!d>^G{W(F`D(2X767A4U4hLsX)btx)@n!!2hx{DEA6rk+y|bZFZ_P z--=Ax2NYS+P^@pJg4QA01ey&LKN#zqiW5Z3iomRfnb*8`s-5^c+Vzg^s8a1)(-}3Q zuv)W+taU3mRpCJJJ}TI;vii+lNj_pZVp`Sp89| z&Eb#SWe>SS&YRY?pK`nO={{-H6_dV+-?3!8z<*`TLQ|*H+qK9mE zx*n07N+*_CeLGrrT1Xys2gzCO(EHKZ9d7J^NRi$hM&MtRe;NrbOcixF7Tp}#s9{n2 zq8>#ljg)@m8@eM=)(rto5WXetFB<7Hw7GM@n^QxoX)hwe6Gb4_8#zw7w|e*F#d>(t~IB zI`~R(s7>?5Sv;LJv+MY>%dSxmEnKt7uUN9?u6gdVnkVl~KU3PjU%f(i$s$w>U%BX_ zTQH*+!;*PBLAD9(M_O0i0kAfpHxUMBH2+DM_1k>XN?1R5?VSTX1DIyLYYO#z6g*_L z2%ZXc@=@@Rz7jkY&Z48>p*39ati>6*p~tM;LeEBvXRR7+@t74w=oxD9RI0Iv1(ALk z9Vd7`w|FY)v|RV=INdL37jI9Z3t*1tzE?Wm$;^e_(NV)pgZ0!MJK$nkv9Rv$^2+^R zfw%N-iuDL=VDPO>H55GptGc0nmsZth{c7NsHMq=K4GKUfa+EqpXh^a45Ij{*AT$7v z-jz6n=Xw8ii>J!D6+S`1WBM!f(3&iG)~Y?Q!~g?4##)nAev`$sR-K8S2p+bDup2%X zx+ewQ)6rR;%GVKm5CxiwTwKKHoGiC5Ya=@8@7R`o)g2ME)e+nNJLykv{CRY1$KTSC zPjt_WcoH`=$!d_kgW$Jl{48pbL_*_u_gR=YuC9Jc(zcpnxMFXlhg=gY&Kp)|x+SJx zmOeHeJ1_6>`&YSp+&9t}C$lEh;PO-anq>M8m;}zCU~BA2Xr~@H%UBXQ%jgBoTP$3# zwo_C)rTTDDtC~JI-0Cx;4|*CoXC~)W*5MYzrV8Yh;;i#_I->5G;fgu(;%L|=Zlp|G zqAni>#Pc&}V6WW#)LAX^+T8!%FV^pB9IJQu+Xjsrwc2{qllOG)Gbo;|!W+*TJoz`@ z4RQCz8Z~IXy2Xn0vc4;Vr3atxG-Al4bMD-z+s!-Fdb}&{^A;kswq-9PQ z7^hOS1A-rneJ*%tRtugg?3(Io2f_22#Z%?1672vyC+L|ect~3bp0#cpOOM$(2p-Z_ zLeE-tuB9hw@B}lwL%fRz9?~FcYuF8Z<9Flz&AV=iT7p@J*$5g+^t-fk9nJe+q-jCR zR3QD$dN26wnC7G5GG!A!o#+mXV>Nevp@tJigmM|%3cK!DGu{i!j=DO09(!THz?M$v zuQtb2xX*tac*HiZ4#$W8ssls2_fJ{>37)d>3DJMR<7qsg$Gys5Zt;|brQ!D)kAWdP zU$FiYJXPUFk)8-WWZTd6pR#zW!esbuHa+2eLAiq70u1oL+FSoQS$mhDbv5(;3~Aj$ zXPER&6(?OO-(2g=&Ty5jeBx>&-HV&Tuj7NE5e0L?>E$*hYt$JFYjmXlJG2w-gmb1^ z$L+;fG3ukHMKNx(0P6D*%YVf_VJ$s426VZT*Kkv+r}PbbB?TMGpJLIhp z&rZ2}p{#m{*f*;%&kDA1WKUPF?v*);tT(einG($O$1~-?!#&-?JsJTHJk7gnyvyyK zxLv+WI!3-*sjh|8YJ1*#;LQ3h6p$?<6j1#;wnadJnU@U1JY^WQ%NgVUipC>CCHtD< zKLJk(k6D>IMa>`>6nN{ZrB(Kg>j5J>!7@Yz=jpLGHi!7EhFOwKc~J z)H$%HYSS&&D2xjTTncLy`*+yxK=^+*lpb#Znu!=3I=M>}q? zppkNJ;P&0vNJik{=~~bFc6M+^6yBNde8%m&v39zNPJ*9D)>A`iCPXas**IZ&6Z!Y{ zTW$w`J$fi!P&x+~#A8*hE|ygiI=q$cAv_>n!v7;+pl^Y{+IbRZNWc#+7>Q*(yh;k5 zGBsINN#HTEBc7B8EuJ!GEAq|+PaFL$p@)17f~QKICQ_PBPi(*cro~g`RN+S29Q3f9 z3Z8XHrXN9b5qR3y^39a!y?BDiHz_?^r;fo$017=TtmTAM%Oldgf@_1i*Wzkfi^F)H z{lul25kJue=b**at`;s09OWoyS#Xb^k2SUkQLPO)%2*Z+UJA{YqdlAi?ac!pd^grk z0=xh4kW7XXMa*4flSC`IV6zd4uEJh|BB_ovp($pL0%a&>uJeF=KmU<}^$Y!MgSp|Y zgHKxa(&W|~`#;j@cTYU03XXfwuQ^<_`qLp<+luqAZgl;px5qv>T=eXB|N4FG74&j0 zd>{LfozN9tozC65gHr1N;l9zDPrC}PUcvC0wT_x{4ShofZT#e zNNWxU#t0Me$-U(ObvP_aVzCqI?4Fve8hXqrugqV#vSFfedGgu@o`2n}6@M#QJYZK= zZ?C+v`&tz4STJsq`*3<(>BuXutz6_D`soG8$+MWm6WNAE$^qs{g?p^5(XjB$sRJx0 z|9zkQgHr{DJ$sN{t4qHIj%9`CU zeC%cXK#_IxJywLLc_kXow3MsAgI@g|YjbPsBK!tx(gQ5t(={~a49z-R9cN$| zBioyTaV<0~uWf+QT0rC33~B_=T6L_&V_<|bTB`(4rHW^)4ojJ~Iy6S|nG;5=T353+ zz&Ev5GJFXm(~x@#i-P#i8CWVX?k0?>=7yEpv06_h!yW#(!~%SC zv4)d$yeg;Y(b3H{fd^j}nANKTIb2XXP8k+=`TEmrSi z#Nuw3i{6A3LAqj#;_X4LScs+04&)bTzOnO!g3HWE2y{COU9RQ=8d3yJX2w%s@+?dR z_Ay6d)OHYmzt;cKLRUM>QEOg*-{hH@9R@=`|Q>lw?M_<0%&ol!j+QgqPS!O3(-EZTV=ft7n{cnIx7!K1I3N8*1gbso?3h^=Vi zk=cg{H1SBF%hk_?N03(IXBQaak-$_qH|M};_Eikcy#_S(`h4`7^~DmRO8o_L7I#Wl zSuXP#1JPv8rJ!5fNpaAmVavzys6n%tJrqGqM6or2pq<`~3`G{7*_9FWQlg0PkxmMS zIYiSi$o@PUP4#DzbnbBn37v_!fu{Zlbh+A|fwn2@W>pbr>W@HIIL~FEErrJBV`v^9Kr@98Fog>-J|kHUaL)*7 zQgsEeVE$tFrsbDs$7b5|YmHEbn$^X6jz?iq{ZnG_f{EI0={hxx#vEI(6SBLPpIk=$-+)`XhYdEIjo52 z*-)26?E1R4!>>k;v31MRXK>lFEURJG<-OF{tTJY#E$BvR;w5Pd=4C`4ZD{AQdc_fF zn(+diC65-`?0gy8f5}3xRaa+5+d`Wiir|h}=t^goLp6VymloR0BWM$^VVt08eZqP> z$HJQ2ce^hT%|o&vdaBG>BC-(Kn+Oca0>MBQu4P#Ogz+l~1ocL+ti}Gu>ME;0+1`Qm zITVsZb!$5!X0~Mx&pzn{vN8X6Jo}G!>ew6p{73KXSowe5t*?vSmedh0a_irbUH>*q zw&2$1dboC-p^*_jRl=8Hcxl#x%OQ1rSWoX`sjF~a$ncU+sEI#DQ!zBnQzg(<*!$Vh zw$Mgr3N*$^L$6hfa^NwQCv$aL;6_Vd(V)~R~-v2{p2 zFnWAgaEUjBzlQ`u_8R;nJVD0Z{em^~C%}Tpk-o;RGHdS8;4;d_08N14H~$&-HE)`B z@@A^fyf((0X=Xp~aWN007~q}!;PBUa#OCq0Wz{ZMf53=gRfu>ehoR#9JpKw`c(hOB zuk(se+C;DTmCmQ&w!CYs9a%4F)MRxngZ)%&^pjn?jD8Yml39VSLX?x0Sqp6>oS^40 z?E<~Q`4P11_#_Jr|6MoP=fejO`+?y<;L$2qGo`PvV2zh`P;go72kt9inA2ZyU*%ou zE4>TNxzMb7#yi?FJP`YcvG3K`7iMJNQe$S2K<5FUKv&=#!^)Y3?xkhFWiTf85zjY3 zV@;p0E(m|Z=m{30O0ZNqD|7J6U|EV&p3E+QyjEYa*9yBP=oP|(-2tSy5>~s>J$irW zEDg?xz6%N_um?-54YK;gHmP=A&&*+K$(a4DK$A2GbeZ#f4r$1;l6W=?bQNUBN<(hk zaqI*%?sY1eLmCQdISe1XBU*0c@e=GCR9*(&Vn+mQ8}a{K6x`~K!P?Xrbz@p`R&&Jv zL(`lVrULkX3e3a5_5U2{{5d9irh0VekMaG$7vhb%rOiE8*I9HLtu86v@nXR({cmma z$i3BH7yQz@{qWyzeym5<%5&M=#Cuy~tq%Wf%@fbv8*4y%ZzWXVK-OjNuoP6N$iBqt zPBW5XO_KbQH3{Fv^;UXqikPth7?v$kz|tOOGWH80R*u*|nE!9;`En)r5A6~0N-zxT zVu4wUsAKybyPg=|gJ2{%7HBKS5r4u?$a+EicQo{%8eIGv_GF{Sw+r!fceTXzf|5|Pz zcCo-OrDo)&I^J)&eV2xx#_j!ZlfmTpg}}dud4p0+h!kuu0%ueH;SGgHt$kB{J|VH@ z@K(pEZ@_*ouwTQ^#rB!bALGlHkvuQJ5eXgfd18|HSt{kRKHb~}3~y6aBF8OdGg9)UAxwW|_+>u;EI`?HZgQ{)I>Oj{@VKC@`&h*Ywm9LNg8N{=g&pW0oV?29waf zioKWH_}y}KP`sC*fo(hNdHAHt{~h9aE=}e4?8P2;T1sqaIz1F(T`8pKCAX07*+Ys? zA^ug9eY+lt8Aqd$Qbi0~Q&=}&vbeZ2ju1Fr2Q?TeFc2|-@UP<^x#vReOX`el$-lRF zB)IR9(M_AJ`r_uBUYy!A+4hC4>wb?~|6JxBk3h5r9vb&c15(H_GhUm)R?T)+4lKRNLmzmVPOJV~6Q` zmiFWbL)NZ{R0K_RwCNGrlcV`ri;QM?j(6hcQ~7x$w8%Fc!E!+Q;4F~{7U(e3hq{`G zDrUUFIKUyuGDkEbHmxJ7)HK!mcM@MVr;M`UbsMrAjkHUloG{6C%Vu1q22pmAdTH5J zYUqw%ieY8Jbz=$Cso8SJ>qw(JSatUk`3)M!+pTvfSO>b2%-yXagq))AR9-5TnuUT_q*N5kK!Gp*7`MeB|_>>wvBF(~i0V4o4 zha>&JW=@qW2dlG4o!PPR*)nqmXUiC!v4Er~pEyP0;JFlQS&r!b;CWOByPx6CWH?$2 zzVyF`}G-$ey zzfy^4vc1$#%%SFbt=Q__sIH4Uu{dJs_{18z%0c#UZ{DY~mf#fwHWlbBk163MFc^Ef zKSc2cj?$PQFz#m(rP18R#vnd_C&lN364-*^+JmaElR!^e20JOX9qrHp)DEkQ+GPbB ziFRl-=H|c4*TYCa-x0LvyHZt?ktci3X>t`<({S7nW)buL-{tv?WIaS#H=>71o#!)I zGK`x>%HSrgcQtFtCwOG84=(Uts?PCC)b3-{ z0N*E=;L-dpc0M5fyW`a_!)<8q5loD2Ya`eY{3| ztD&c0jfg_i*ch9*?zd>~_20`v!3;utsP<#7a2$tfRapZTY$vn4asV=G+zSjl&kcYhS7=!!yd-VJQ%K)BfRk;C6 zj~)rqe;5f!%q;aD=|9c$EocYNx&0)zdi$Wt*8K^}rDRERW;q8rm$FCrO>86Et0YOl zJ~9m&c*e4&Br~>5EwoWST1Pq~dFCw#MwxkK$mil%Sm+)DBQu|<1Rkd5T-MU^E>Veh z>8n?h4bCy40i%sh zqIbPsk&Lnp@PhHW5rtAN=GM2o1NlUMxf_oQ)}`1^-Wwf~-X>{WCW1{(6CSkFKD2gm zdV16KTbvzE`7zkZZ^7>Y|9(5X%F>@1EPKc}@ka1^IEF?BtIhtb)n>DI506;OV1L$X zvl+op3=e7x5|q7$)d?%YM(-(gIjxiMIvdR{*{7ER1}hcAT!b7L(FEP~s=gC=4kpSB z9^?)csZmB-^C1!0HI1!y2TpHI`~-v39pL;PR%_ji)?T$W{Ulm|@E0WJTKoeM&yy2> zzU<+RB$8}dO>edE;GMH^IESa_G{V;!&<**VyErPQ0Fs=ue8(I=6vCm{Yud=uBmeYnR2R(#>TF;;4w1OkOg|wu`wqL=LUx;BMTH^1%=+*>@9JqO7WoJJIYl;J1jqLpW=9E zmlc=hzpS_$y*)DjBWKHEHC`g`f&y4apa=8+h|IJ`7Ed+y_M9maIe{iT`~BZrJk{7y zG}3s?NfOa>i1i5513l6sGtX_Te6w1V-eSoBPVc|ytU+>xphrk2M^B!}4(e*-%cZ}h zM+E;s<>kQN#Of*OdmoE`pmS#q{9S5sF)Gso{QmK*M+E;M)i|R^Ed9W*^%T*+Jx=^T zm1Z9F$QsPMy7U9T_DBl-q(=n*U}Pj)Jrc!F1*T}+!Sh$+zqI%VJIli#a^df#=_mPN zJp%j~Wv=bPQU^IQ8o_?YoFB7v`IIArUeH^VH7@o~U>yTG_VVunHXA}|Ak{gG@Q$b76fuX%28D3Z^EcJ~m^g=>Rv zy^q=I6I*Drw;L-b?I8BW4)Po!TZrb)6pn;vYbWs}XaGFX=>_TrqM>dkMf_sG;9Z6} z18X*5pc73z3Gn#+5=#so$o6IG95WUi2S972T{Fl&@)omfGfv1h{7(j+bvbbpvY~S) zgiac3rqdm$M&!WXqqe4xj5XVSaguGpKM+;@bK=*sP4r)sIBf9`Qm3k!h8|0Qx7wN$ zEPkBjR9pOmoL|Gwu4Ow)zm{#GpLDL!KUj@aryF>SAM}^N=%Dd}Y#)p-wfF}+cZUBk z@KOAv90AYc&N+j??~rVxo(jf_$KOb){f_Y{vs7>vA-F_uQEdf&3({fUvR^Z@eK#Uu zyQ7F*G5SpMQ0`ugwMeh1_8Zg@+6N85NdJlb2x|mdQKq7Xwy~||#9DBlW^tFQhjQT7 zk+2#!d3*$SsY5=By12C+=Ll|EKZNd$eosV~)}?zylx~)K!M)MD98zBwx2b+3xLaG? z)#_&K&+6jt7sbuhH3WAx_RY4shUJMFrMrXu@$PY7aP!>7IRbGu*ysJp+a$f`_USyQ zmj(MNhXCz^FsdX2&oTU5th$K0NBg{z+*f&`b|VvVMk{CZ*+#SKYp3K zOEBK0(9+NW$b^XGX2gfESLrueF1lp=HC&yGbbvYW07h>g`#0~^adYCSFJ?U$23K;d2brh7wpC))c4Q@s(iE-QHKnU)th zQk=a1PxIcF;9c5Fdu`zhZjQ)=Yf>$_Hb2#)tA}V;I{V);mMN~0HJw?=`tzTz6 zxb~xzd~nwWmn`hR@QS=EuZfM$JAB{@^=tQobdmc((ydIUS7T~oJ;!+xa;|bxL#p}@4^ttFgOKaUbw8=N%Tof951B`)O4_TSppU-Z zovPMK8OK8R=HTPOpPF0e(|^S^^v`^r_eDvv1ebDl`3db-NqJCNMF7yV$J?QcVr=Q$}{rw+b~p2>>DkDaa#W19dj%XtIV-D#;t&FK!b2z5r5Z3Gih$3_*X%ZvmEqVU~s zh%<@ark?j&s-Z{m4>%DvM8-<;Thsk-CGH*R*qHuff*=QeiHK01H3*fG8 zlO@;C3=m>eImZoZsJ@K9QeYJUG57~U404I$*urnsO(TO9=^ZDz=k3q?D!6-;n&I{t zoqq8{_sw)q_o;NL`)1O8D1Cu@e|idO3J5ZtPlNKSvbf8X=j85DC~usT@|4Hzn)G_O zXpf&sB(i9SOt=TXQ^$?Otv_duR=YpR`y%*e6nq-L86BMSwc9j(K>ZZ>Zd25W4USPC zsh}~|Q;xJEZ@z;_E7&$To$z+^8r=b(ZQ8%HH_THkNO@8|JzTYjEH`!}4-;Rdf3 z^!sr9K9rx^^YaQkd;Hvi;eUbWLfjsTTeJE1HF!S6`N`dhZtStfN&Y)3R++dWskuTG zt6<*|j9M-ywAh!Ms4@&FDt?mP+?QcW71b8i7NuQ?j5nOE4n75dy#b7+&Yv^;DW2do z{N|i)CwNeh=n35HS9UgezXtB;9+(t)!&(%(W=^xOog!_uuYHq;?-_XOiNzjR@3FB< zfxm|Evp)#L}5pQceQ?to_eF;U|3CH{Nkh8 z1pQ*^XOSlQ{aP4Vgg<-%SZg^#Py98T+;_06(D)gixMSh)O_%HjyO&(RT)%4hfK*uhF)7ZVh2TJ3Mkz@K#%#5#99&Ky6f-?BI z7_xaK$ECie<5dTu6@FXz=_sPK7?!^5U&gX;YZ!c3Z}18K$-4b~-tQ9p9)?F&3-4=Y zGW;~`gXsK7S1iN62J@To&y2z&pP?JqGMR?R^$0xLdvoOa6zrQQhN>9RbAtabjDJLM zh;4MPGQ{7V%O9R9*cr5gAP(?V--h~veIkw46R z^Ka(%{%F5}{e_7BpuYJJ8Te>@7<~5|Zf9OFJTwRMVmh~r-;1h|@*Hscdw++|1!oQL zFZQji87`6uj(J;{6a6$Nb_*wvHE5#eI10@F4wzt9Ggm9*+!&aQMmz_S5UF_r>gE#_ z$gy>!HBZp{15Q4;)dL=sXnl~)-kmH_J%g{J^*(^7h$F9e!?O~tys_E4fhB5ous^Hv z#^%^l+%7X{H)!S=qcnXVp$9=L?w_b>|w$%KJWH z0pfuE||TQd*82X85kn{)0N&;8u~4e&p}`&~KR-RuqI_Nnlw7W=PY4wqoM;(o^9 zF5(Gie=hRj&7$m2;Mo!`3n)B34H@X-=Q+qt8_MlLD)=+Ts2E3I;o5hEt(SfYD80CY-)o1)3zU2+!Z-HMt|1Y)QGTIXN7kYze1#(@$ zAVzV4&E#P}9_7p!ee$2im;1)wN8i9t8vn?6Q~aQ}kn@H@rl$(0{G88(xosj@f#ZlV zjmkuhG4;;kZz8@W#~7at*{1pdamw+!cqAgj7?MpHlyR-F%`-dmj3%UGLzg<%zp%UWuJQ|Be;c-I3b3;-%9&-ErB<8b6q! zs_H#;=Zz2Cb@QQQ>}CuSZjyO`<|I6em!@Loh6~x9vn_0Ls!UQN@5Hh;H*9v&wyZw8 zYZic&ZMJ!t&clsX)3~O7_sQ=S)S|*0?w^xua7to@bT>rozU0u7>1lsP^5y>LyFXo! z+*yKKq|c{2Z@k;ne{%c$^ajy+b}*5~8TaPRN*%-Z=E?q+y?lm9w(!ijncX*2Y>CWo zLW2W0N7g;j*|+7Tj*Za;f}qt5gIo!1qo4J~t*ueWH@2(fhfOCZPrh|qi-t|wbyJ;R zcKRLsL34UkDcCm{c6?;ghaIB%sGh|OFnP+8)T;tQnNW7TLd%*C#N7gQ4 zDC}8{o%ts27VDb#J!`^)Jd37<2mIlX3eLsFO7)p~iQ47%FFLt$f6gmaxtj_pii_`{ zB2DC$OFPwxKzqyJ+-UwJG9P~mJEMIi6y`v#+VBp;mnu~Eu 10) { + Assets.deinitUnusedFonts(); + last_font_cleanup_at = now; + } } - try app.tick(); - - if (profiler) |*p| { - p.stop(); - if (rl.isKeyPressed(.key_p) and rl.isKeyDown(.key_left_control)) { - profiler_shown = !profiler_shown; - } - - if (profiler_shown) { - try p.showResults(); - } + { + const zone = P.begin(@src(), "end draw"); + defer zone.end(); + rl.endDrawing(); } } } diff --git a/src/profiler.zig b/src/my-profiler.zig similarity index 91% rename from src/profiler.zig rename to src/my-profiler.zig index 9288b94..a961687 100644 --- a/src/profiler.zig +++ b/src/my-profiler.zig @@ -1,9 +1,10 @@ const std = @import("std"); const rl = @import("raylib"); +const Assets = @import("./assets.zig"); const Allocator = std.mem.Allocator; const assert = std.debug.assert; +const FontId = Assets.FontId; -const FontFace = @import("./font-face.zig"); const srcery = @import("./srcery.zig"); const rect_utils = @import("./rect-utils.zig"); @@ -14,9 +15,9 @@ history_head: usize, started_at: i128, ns_budget: u128, -font_face: FontFace, +font: FontId, -pub fn init(allocator: Allocator, data_points: usize, ns_budget: u128, font_face: FontFace) !@This() { +pub fn init(allocator: Allocator, data_points: usize, ns_budget: u128, font: FontId) !@This() { return @This(){ .allocator = allocator, .history = try allocator.alloc(u128, data_points), @@ -24,7 +25,7 @@ pub fn init(allocator: Allocator, data_points: usize, ns_budget: u128, font_face .history_head = 0, .started_at = 0, .ns_budget = ns_budget, - .font_face = font_face, + .font = font, }; } @@ -90,7 +91,8 @@ pub fn showResults(self: *const @This()) !void { var layout_offset: f32 = 0; const allocator = self.allocator; - const font_size = self.font_face.getSize(); + const font_face = Assets.font(self.font); + const font_size = font_face.getSize(); const labels = .{ .{ "Min", @as(f32, @floatFromInt(min_time_taken)) }, @@ -104,7 +106,7 @@ pub fn showResults(self: *const @This()) !void { const min_time_str = try std.fmt.allocPrintZ(allocator, "{s}: {d:10.0}us ({d:.3}%)", .{ label_name, time_taken / std.time.ns_per_us, time_taken / ns_budget * 100 }); defer allocator.free(min_time_str); - self.font_face.drawText(min_time_str, .{ .x = content_rect.x, .y = content_rect.y + layout_offset }, color); + font_face.drawText(min_time_str, .{ .x = content_rect.x, .y = content_rect.y + layout_offset }, color); layout_offset += font_size; } } \ No newline at end of file diff --git a/src/ui.zig b/src/ui.zig index 2fdc62a..c72df6c 100644 --- a/src/ui.zig +++ b/src/ui.zig @@ -1,126 +1,25 @@ const std = @import("std"); const rl = @import("raylib"); +const srcery = @import("./srcery.zig"); const Assets = @import("./assets.zig"); const rect_utils = @import("./rect-utils.zig"); const utils = @import("./utils.zig"); -const srcery = @import("./srcery.zig"); -const FontFace = @import("./font-face.zig"); const builtin = @import("builtin"); +const P = @import("profiler"); -const log = std.log.scoped(.ui); const assert = std.debug.assert; pub const Vec2 = rl.Vector2; pub const Rect = rl.Rectangle; const clamp = std.math.clamp; +const Vec2Zero = Vec2{ .x = 0, .y = 0 }; + const UI = @This(); -const debug = false; -const max_boxes = 5120; +const max_boxes = 512; const max_events = 256; - -const RectFormatted = struct { - rect: ?Rect, - - pub fn init(rect: ?Rect) RectFormatted { - return RectFormatted{ - .rect = rect - }; - } - - pub fn format( - self: RectFormatted, - comptime fmt: []const u8, - options: std.fmt.FormatOptions, - writer: anytype, - ) !void { - _ = fmt; - _ = options; - - if (self.rect) |rect| { - try writer.print("Rect{{ {d:.02}, {d:.02}, {d:.02}, {d:.02} }}", .{ rect.x, rect.y, rect.width, rect.height }); - } else { - try writer.print("{}", .{ null }); - } - } -}; - -pub const Axis = enum { - X, - Y, - - fn flip(self: Axis) Axis { - return switch (self) { - .X => .Y, - .Y => .X - }; - } -}; - -pub const Size = struct { - kind: union(enum) { - pixels: f32, - percent: f32, - text: f32, - texture: f32, - children_sum, - }, - strictness: f32 = 1, - - pub fn pixels(amount: f32, strictness: f32) Size { - return Size{ - .kind = .{ .pixels = amount }, - .strictness = strictness - }; - } - - pub fn text(padding: f32, strictness: f32) Size { - return Size{ - .kind = .{ .text = padding }, - .strictness = strictness - }; - } - - pub fn percent(amount: f32, strictness: f32) Size { - return Size{ - .kind = .{ .percent = amount }, - .strictness = strictness - }; - } - - pub fn texture(scale: f32, strictness: f32) Size { - return Size{ - .kind = .{ .texture = scale }, - .strictness = strictness - }; - } - - pub fn childrenSum(strictness: f32) Size { - return Size{ - .kind = .children_sum, - .strictness = strictness - }; - } -}; - -pub const Vec2Size = struct { - x: Size = Size.pixels(0, 1), - y: Size = Size.pixels(0, 1), - - pub fn zero() Vec2Size { - return Vec2Size{ - .x = Size.pixels(0, 1), - .y = Size.pixels(0, 1) - }; - } - - inline fn getAxis(self: *Vec2Size, axis: Axis) *Size { - return switch (axis) { - .X => &self.x, - .Y => &self.y - }; - } -}; +const draw_debug = false; //builtin.mode == .Debug; +const default_font = Assets.FontId{ .variant = .regular, .size = 16 }; pub const Key = struct { hash: u64 = 0, @@ -162,7 +61,7 @@ pub const Key = struct { _ = fmt; _ = options; - try writer.print("Key{{ 0x{x} }}", .{ self.hash }); + try writer.print("{s}{{ 0x{x} }}", .{ @typeName(Key), self.hash }); } }; @@ -194,10 +93,12 @@ pub const Signal = struct { scrolled }; - flags: std.EnumSet(Flag) = .{}, - drag: Vec2 = .{ .x = 0, .y = 0 }, - scroll: Vec2 = .{ .x = 0, .y = 0 }, - relative_mouse: Vec2 = .{ .x = 0, .y = 0 }, + pub const Flags = std.EnumSet(Flag); + + flags: Flags = .{}, + drag: Vec2 = Vec2Zero, + scroll: Vec2 = Vec2Zero, + relative_mouse: Vec2 = Vec2Zero, hot: bool = false, active: bool = false, shift_modifier: bool = false, @@ -255,221 +156,473 @@ pub const Signal = struct { } }; -const BoxIndex = std.math.IntFittingRange(0, max_boxes); +pub const Axis = enum { + X, Y, -pub const Style = struct { - borders: Box.Borders = .{}, - rounded: bool = false, - background: ?rl.Color = null, + pub fn flip(self: Axis) Axis { + return switch (self) { + .X => .Y, + .Y => .X + }; + } }; +pub const Unit = union(enum) { + pixels: f32, + parent_percent: f32, + text, + font_size: f32, + + pub fn initPixels(pixels: f32) Unit { + return Unit{ + .pixels = pixels + }; + } + + pub fn initParentPct(percent: f32) Unit { + return Unit{ + .parent_percent = percent + }; + } + + fn get(self: Unit, box: *const Box, axis: Axis) f32 { + switch (self) { + .pixels => |pixels| { + return pixels; + }, + .parent_percent => |pct| { + const parent_box = box.parent() orelse return 0; + return parent_box.availableChildrenSize(axis) * pct; + }, + .text => { + const text = box.text orelse return 0; + const font_face = Assets.font(box.font); + var text_size = font_face.measureText(text); + return vec2ByAxis(&text_size, axis).*; + }, + .font_size => |count| { + return box.font.size * count; + } + } + } +}; + +pub const Sizing = union(enum) { + fixed: Unit, + grow: struct { min: Unit, max: Unit }, + shrink: struct { min: Unit, max: Unit }, + fit_children, + + pub fn initFitChildren() Sizing { + return Sizing{ + .fit_children = {} + }; + } + + pub fn initFixed(size: Unit) Sizing { + return Sizing{ + .fixed = size + }; + } + + pub fn initGrowFull() Sizing { + return initGrow( + .{ .pixels = 0 }, + .{ .parent_percent = 1 } + ); + } + + pub fn initGrowUpTo(size: Unit) Sizing { + return initGrow( + .{ .pixels = 0 }, + size + ); + } + + pub fn initGrowFrom(size: Unit) Sizing { + return initGrow( + size, + .{ .parent_percent = 1 } + ); + } + + pub fn initGrow(min: Unit, max: Unit) Sizing { + return Sizing{ + .grow = .{ + .min = min, + .max = max + } + }; + } + + pub fn initShrinkFull() Sizing { + return initShrink( + .{ .pixels = 0 }, + .{ .parent_percent = 1 } + ); + } + + pub fn initShrink(min: Unit, max: Unit) Sizing { + return Sizing{ + .shrink = .{ + .min = min, + .max = max + } + }; + } + + pub fn dependsOnParent(self: Sizing) bool { + return switch (self) { + .fixed => |fixed| fixed == .parent_percent, + .grow => |range| range.min == .parent_percent or range.max == .parent_percent, + .shrink => |range| range.min == .parent_percent or range.max == .parent_percent, + .fit_children => false + }; + } +}; + +pub const Sizing2 = struct { + x: Sizing, + y: Sizing, + + pub fn getAxis(self: Sizing2, axis: Axis) Sizing { + return switch (axis) { + .X => self.x, + .Y => self.y, + }; + } + + pub fn getAxisPtr(self: *Sizing2, axis: Axis) *Sizing { + return switch (axis) { + .X => &self.x, + .Y => &self.y, + }; + } +}; + +pub const LayoutDirection = enum { + left_to_right, + top_to_bottom, + // TODO: right_to_left + // TODO: bottom_to_top + + pub fn isAxis(self: LayoutDirection, axis: Axis) bool { + return switch (self) { + .left_to_right => (axis == .X), + .top_to_bottom => (axis == .Y) + }; + } +}; + +// TODO: Use `Size` instead of f32 in `Padding` +// Not sure if it is worth implementing this now. This will really complicate layout because of .parent_percent +pub const Padding = struct { + top : f32 = 0, + bottom: f32 = 0, + left : f32 = 0, + right : f32 = 0, + + pub fn all(size: f32) Padding { + return Padding{ + .left = size, + .right = size, + .top = size, + .bottom = size + }; + } + + pub fn vertical(size: f32) Padding { + return Padding{ + .top = size, + .bottom = size + }; + } + + pub fn horizontal(size: f32) Padding { + return Padding{ + .left = size, + .right = size + }; + } + + pub fn byAxis(self: Padding, axis: Axis) f32 { + return switch (axis) { + .X => self.left + self.right, + .Y => self.top + self.bottom + }; + } +}; + +pub const Alignment = enum { + start, + center, + end, + + pub fn getCoefficient(self: Alignment) f32 { + return switch (self) { + .start => 0, + .center => 0.5, + .end => 1 + }; + } +}; + +pub const Alignment2 = struct { + x: Alignment, + y: Alignment, + + pub fn getAxis(self: Alignment2, axis: Axis) Alignment { + return switch (axis) { + .X => self.x, + .Y => self.y, + }; + } +}; + +pub const Border = struct { + size: f32 = 0, + color: rl.Color = rl.Color.magenta, +}; + +pub const Borders = struct { + left: Border = .{}, + right: Border = .{}, + top: Border = .{}, + bottom: Border = .{}, + + pub fn all(border: Border) Borders { + return Borders{ + .left = border, + .right = border, + .top = border, + .bottom = border, + }; + } + + pub fn vertical(border: Border) Borders { + return Borders{ + .top = border, + .bottom = border, + }; + } + + pub fn horizontal(border: Border) Borders { + return Borders{ + .left = border, + .right = border, + }; + } +}; + +const BoxIndex = std.math.IntFittingRange(0, max_boxes); pub const Box = struct { pub const Persistent = struct { - size: Vec2 = .{ .x = 0, .y = 0 }, - position: Vec2 = .{ .x = 0, .y = 0 }, - children_size: Vec2 = .{ .x = 0, .y = 0 }, - + position: Vec2 = Vec2Zero, + size: Vec2 = Vec2Zero, sroll_offset: f32 = 0, hot: f32 = 0, active: f32 = 0, }; pub const Flag = enum { + wrap_text, + float_x, + float_y, clickable, - - highlight_hot, - highlight_active, - - draggable, scrollable, - - fixed_x, - fixed_y, - fixed_width, - fixed_height, - - skip_draw, - - text_underline, - text_wrapping, - text_left_align + draggable, + draw_hot, + draw_active, + clip_view }; pub const Flags = std.EnumSet(Flag); - pub const Border = struct { - size: f32 = 0, - color: rl.Color = rl.Color.magenta, - }; - - pub const Borders = struct { - left: Border = .{}, - right: Border = .{}, - top: Border = .{}, - bottom: Border = .{}, - - pub fn all(self: *Borders, border: Border) void { - self.left = border; - self.right = border; - self.top = border; - self.bottom = border; - } - }; + const max_wrapped_lines = 64; + ui: *UI, allocator: std.mem.Allocator, - key: Key, - size: Vec2Size = Vec2Size.zero(), - flags: Flags = .{}, - fixed_rect: Rect = .{ .x = 0, .y = 0, .width = 0, .height = 0 }, - background: ?rl.Color = null, - rounded: bool = false, - layout_axis: Axis = .X, - layout_gap: f32 = 0, - last_used_frame: u64 = 0, - text: ?struct { - content: []u8, - font: Assets.FontId, - color: rl.Color = srcery.bright_white - } = null, + flags: Flags, + background: ?rl.Color, + layout_direction: LayoutDirection, + // TODO: Use `Size` instead of f32 in `layout_gap`. Not sure if this is needed at the moment. + layout_gap: f32, + persistent: Persistent, + alignment: Alignment2, + size: Sizing2, + padding: Padding, + font: Assets.FontId, + text_color: rl.Color, + borders: Borders, + text: ?[]u8, + hot_cursor: ?rl.MouseCursor, + active_cursor: ?rl.MouseCursor, + view_offset: Vec2 = Vec2Zero, texture: ?rl.Texture2D = null, - view_offset: Vec2 = .{ .x = 0, .y = 0 }, - borders: Borders = .{}, - hot_cursor: ?rl.MouseCursor = null, - active_cursor: ?rl.MouseCursor = null, - persistent: Persistent = .{}, + // Variables that you probably shouldn't be touching + last_used_frame: u64 = 0, + key: Key = Key.initNil(), + text_lines: std.BoundedArray([]u8, max_wrapped_lines) = .{ }, // Fields for maintaining tree data structure + tree: struct { + // Index of this box + index: BoxIndex, + // Go down the tree to the first child + first_child_index: ?BoxIndex = null, + // Go down the tree to the last child + last_child_index: ?BoxIndex = null, + // Go up the tree + parent_index: ?BoxIndex = null, + // Go the next node on the same level + next_sibling_index: ?BoxIndex = null, + }, - // Index of this box - index: BoxIndex, - // Go down the tree to the first child - first_child_index: ?BoxIndex = null, - // Go down the tree to the last child - last_child_index: ?BoxIndex = null, - // Go up the tree - parent_index: ?BoxIndex = null, - // Go the next node on the same level - next_sibling_index: ?BoxIndex = null, + pub fn beginChildren(self: *Box) void { + self.ui.parent_stack.appendAssumeCapacity(self.tree.index); + } - pub fn computedRect(self: *Box) Rect { + pub fn endChildren(self: *Box) void { + const index = self.ui.parent_stack.pop(); + assert(self.tree.index == index); + } + + pub fn iterChildren(self: *const Box) BoxChildIterator { + return BoxChildIterator{ + .boxes = self.ui.boxes.slice(), + .current_child = self.tree.first_child_index + }; + } + + pub fn iterParents(self: *const Box) BoxParentIterator { + return BoxParentIterator{ + .boxes = self.ui.boxes.slice(), + .current_parent = self.tree.parent_index + }; + } + + pub fn rect(self: *const Box) Rect { return Rect{ .x = self.persistent.position.x, .y = self.persistent.position.y, .width = self.persistent.size.x, - .height = self.persistent.size.y + .height = self.persistent.size.y, }; } - pub fn setText(self: *Box, font: Assets.FontId, text: []const u8) void { - self.text = .{ - .content = self.allocator.dupe(u8, text) catch return, - .font = font - }; - } - - pub fn appendText(self: *Box, text: []const u8) void { - if (self.text == null) { - self.text = .{ - .content = self.allocator.alloc(u8, 0) catch return, - .font = .text - }; - } - - const new_content = std.mem.concat(self.allocator, u8, &.{ self.text.?.content, text }) catch return; - self.text.?.content = new_content; - } - - pub fn setFmtText(self: *Box, font: Assets.FontId, comptime fmt: []const u8, args: anytype) void { - self.text = .{ - .content = std.fmt.allocPrint(self.allocator, fmt, args) catch return, - .font = font - }; - } - - pub fn setFixedX(self: *Box, x: f32) void { - self.flags.insert(.fixed_x); - self.fixed_rect.x = x; - } - - pub fn setFixedY(self: *Box, y: f32) void { - self.flags.insert(.fixed_y); - self.fixed_rect.y = y; - } - - pub fn setFixedWidth(self: *Box, width: f32) void { - self.flags.insert(.fixed_width); - self.fixed_rect.width = width; - } - - pub fn setFixedHeight(self: *Box, height: f32) void { - self.flags.insert(.fixed_height); - self.fixed_rect.height = height; - } - - pub fn setFixedPosition(self: *Box, position: Vec2) void { - self.setFixedX(position.x); - self.setFixedY(position.y); - } - - pub fn setFixedSize(self: *Box, size: Vec2) void { - self.setFixedWidth(size.x); - self.setFixedHeight(size.y); - } - - pub fn setFixedRect(self: *Box, rect: Rect) void { - self.setFixedX(rect.x); - self.setFixedY(rect.y); - self.setFixedWidth(rect.width); - self.setFixedHeight(rect.height); - } - - fn getFixedPositionAxis(self: *Box, axis: Axis) ?f32 { - if (!self.isPositionFixed(axis)) { + pub fn parent(self: *const Box) ?*Box { + if (self.tree.parent_index) |parent_index| { + return self.ui.getBoxByIndex(parent_index); + } else { return null; } - - return switch (axis) { - .X => self.fixed_rect.x, - .Y => self.fixed_rect.y - }; } - fn getFixedSizeAxis(self: *Box, axis: Axis) ?f32 { - if (!self.isSizeFixed(axis)) { - return null; + pub fn setText(self: *Box, text: []const u8) void { + self.text = self.allocator.dupe(u8, text) catch return; + self.text_lines.len = 0; + } + + pub fn setFmtText(self: *Box, comptime fmt: []const u8, args: anytype) void { + self.text = std.fmt.allocPrint(self.allocator, fmt, args) catch return; + self.text_lines.len = 0; + } + + pub fn setFloatX(self: *Box, x: f32) void { + self.persistent.position.x = x; + self.flags.insert(.float_x); + } + + pub fn setFloatY(self: *Box, y: f32) void { + self.persistent.position.y = y; + self.flags.insert(.float_y); + } + + pub fn setFloatRect(self: *Box, float_rect: Rect) void { + self.setFloatX(float_rect.x); + self.setFloatY(float_rect.y); + self.size.x = .{ .fixed = .{ .pixels = float_rect.width } }; + self.size.y = .{ .fixed = .{ .pixels = float_rect.height } }; + } + + pub fn wrapText(self: *Box, width: f32) void { + self.text_lines.len = 0; + + const text = self.text orelse return; + const font_face = Assets.font(self.font); + + var line_start: usize = 0; + var prev_word_end: usize = 0; + var word_iter = std.mem.tokenizeScalar(u8, text, ' '); + while (true) { + _ = word_iter.peek(); + const word_start = word_iter.index; + if (word_iter.next() == null) break; + const word_end = word_iter.index; + + const line = text[line_start..word_end]; + const line_size = font_face.measureText(line); + if (line_size.x > width) { + const prev_line = text[line_start..prev_word_end]; + self.text_lines.append(prev_line) catch return; + + line_start = word_start; + } + + prev_word_end = word_end; } + if (line_start < text.len) { + self.text_lines.append(text[line_start..prev_word_end]) catch return; + } + } + + fn isFloating(self: *const Box, axis: Axis) bool { return switch (axis) { - .X => self.fixed_rect.width, - .Y => self.fixed_rect.height + .X => self.flags.contains(.float_x), + .Y => self.flags.contains(.float_y), }; } - fn isPositionFixed(self: *Box, axis: Axis) bool { - const flag = switch (axis) { - .X => Flag.fixed_x, - .Y => Flag.fixed_y + fn overflowEnabled(self: *const Box, axis: Axis) bool { + return switch (axis) { + .X => self.flags.contains(.overflow_x), + .Y => self.flags.contains(.overflow_y), }; - - return self.flags.contains(flag); } - fn isSizeFixed(self: *Box, axis: Axis) bool { - const flag = switch (axis) { - .X => Flag.fixed_width, - .Y => Flag.fixed_height - }; - - return self.flags.contains(flag); - } - - pub fn hasClipping(self: *Box) bool { - return self.view_offset.equals(Vec2.zero()) == 0; + fn availableChildrenSize(self: *Box, axis: Axis) f32 { + const size = vec2ByAxis(&self.persistent.size, axis).*; + return @max(size - self.padding.byAxis(axis), 0); } }; +pub const BoxOptions = struct { + key: ?Key = null, + size_x: ?Sizing = null, + size_y: ?Sizing = null, + background: ?rl.Color = null, + layout_direction: ?LayoutDirection = null, + layout_gap: ?f32 = null, + padding: ?Padding = null, + align_x: ?Alignment = null, + align_y: ?Alignment = null, + text: ?[]const u8 = null, + font: ?Assets.FontId = null, + text_color: ?rl.Color = null, + flags: ?[]const Box.Flag = null, + position_x: ?f32 = null, + position_y: ?f32 = null, + borders: ?Borders = null, + hot_cursor: ?rl.MouseCursor = null, + active_cursor: ?rl.MouseCursor = null, + view_offset: ?Vec2 = null +}; + +pub const root_box_key = Key.initString(0, "$root$"); + const BoxChildIterator = struct { current_child: ?BoxIndex, boxes: []Box, @@ -477,7 +630,7 @@ const BoxChildIterator = struct { pub fn next(self: *BoxChildIterator) ?*Box { if (self.current_child) |child_index| { const child = &self.boxes[child_index]; - self.current_child = child.next_sibling_index; + self.current_child = child.tree.next_sibling_index; return child; } else { return null; @@ -492,7 +645,7 @@ const BoxParentIterator = struct { pub fn next(self: *BoxParentIterator) ?*Box { if (self.current_parent) |parent_index| { const parent = &self.boxes[parent_index]; - self.current_parent = parent.parent_index; + self.current_parent = parent.tree.parent_index; return parent; } else { return null; @@ -500,94 +653,80 @@ const BoxParentIterator = struct { } }; -pub const root_box_key = Key.initString(0, "$root$"); - arenas: [2]std.heap.ArenaAllocator, - -boxes: std.BoundedArray(Box, max_boxes) = .{}, -parent_index_stack: std.BoundedArray(BoxIndex, max_boxes) = .{}, -style_stack: std.BoundedArray(Style, 16) = .{}, -style: Style = .{}, - frame_index: u64 = 0, + +// Retained structures. Used for tracking changes between frames hot_box_key: ?Key = null, active_box_keys: std.EnumMap(rl.MouseButton, Key) = .{}, +// Per frames structures +font_stack: std.BoundedArray(Assets.FontId, 16) = .{}, +boxes: std.BoundedArray(Box, max_boxes) = .{}, +parent_stack: std.BoundedArray(BoxIndex, max_boxes) = .{}, events: std.BoundedArray(Event, max_events) = .{}, mouse: Vec2 = .{ .x = 0, .y = 0 }, mouse_delta: Vec2 = .{ .x = 0, .y = 0 }, mouse_buttons: std.EnumSet(rl.MouseButton) = .{}, -window_size: Vec2 = .{ .x = 0, .y = 0 }, - dt: f32 = 0, -show_grayscale: bool = false, -grayscale_shader: rl.Shader, - pub fn init(allocator: std.mem.Allocator) UI { - const shader = rl.loadShaderFromMemory(null, @embedFile("./grayscale.fs")); - assert(shader.id != 0); - return UI{ - .arenas = .{ std.heap.ArenaAllocator.init(allocator), std.heap.ArenaAllocator.init(allocator) }, - .mouse = rl.getMousePosition(), - .grayscale_shader = shader + .arenas = .{ + std.heap.ArenaAllocator.init(allocator), + std.heap.ArenaAllocator.init(allocator) + }, }; } pub fn deinit(self: *UI) void { self.arenas[0].deinit(); self.arenas[1].deinit(); - rl.unloadShader(self.grayscale_shader); +} + +pub fn frame_arena(self: *UI) *std.heap.ArenaAllocator { + return &self.arenas[@mod(self.frame_index, 2)]; +} + +pub fn frame_allocator(self: *UI) std.mem.Allocator { + return self.frame_arena().allocator(); } pub fn begin(self: *UI) void { - const window_width = rl.getScreenWidth(); - const window_height = rl.getScreenHeight(); + const zone = P.begin(@src(), "UI begin()"); + defer zone.end(); - const mouse = rl.getMousePosition(); - self.mouse_delta = mouse.subtract(self.mouse); - self.dt = rl.getFrameTime(); - - // TODO: Maybe add a flag to enable this for active box - // const active_box_flags = self.getActiveBoxFlags(); - // if (active_box_flags.contains(.draggable_x)) { - // rl.setMousePosition( - // @mod(rl.getMouseX(), window_width), - // rl.getMouseY() - // ); - // } - // if (active_box_flags.contains(.draggable_y)) { - // rl.setMousePosition( - // rl.getMouseX(), - // @mod(rl.getMouseY(), window_height) - // ); - // } + self.font_stack.len = 0; + self.parent_stack.len = 0; + self.events.len = 0; + // Remove boxes which haven't been used in the last frame { + const zone2 = P.begin(@src(), "UI remove boxes"); + defer zone2.end(); + var i: usize = 0; while (i < self.boxes.len) { const box = &self.boxes.buffer[i]; if (box.last_used_frame != self.frame_index) { - _ = self.boxes.swapRemove(i); + if (self.boxes.len > 0) { + self.boxes.buffer[i] = self.boxes.buffer[self.boxes.len - 1]; + } + self.boxes.len -= 1; } else { i += 1; } } } - self.frame_index += 1; - _ = self.frameArena().reset(.retain_capacity); - self.parent_index_stack.len = 0; - self.style_stack.len = 0; - if (self.active_box_keys.count() == 0) { self.hot_box_key = null; } - self.events.len = 0; - self.mouse = rl.getMousePosition(); - self.window_size = Vec2.init(@floatFromInt(window_width), @floatFromInt(window_width)); + const mouse = rl.getMousePosition(); + self.mouse_delta = mouse.subtract(self.mouse); + self.dt = rl.getFrameTime(); + self.mouse = mouse; self.mouse_buttons = .{}; inline for (std.meta.fields(rl.MouseButton)) |mouse_button_field| { const mouse_button: rl.MouseButton = @enumFromInt(mouse_button_field.value); @@ -608,42 +747,27 @@ pub fn begin(self: *UI) void { self.events.appendAssumeCapacity(Event{ .mouse_scroll = mouse_wheel }); } - const root_box = self.newBox(root_box_key); - root_box.size.x = Size.pixels(@floatFromInt(window_width), 1); - root_box.size.y = Size.pixels(@floatFromInt(window_height), 1); + self.frame_index += 1; + _ = self.frame_arena().reset(.retain_capacity); - self.pushParent(root_box); + self.pushFont(default_font); + + const root_box = self.createBox(.{ + .key = root_box_key, + .size_x = .{ .fixed = .{ .pixels = @floatFromInt(rl.getScreenWidth()) } }, + .size_y = .{ .fixed = .{ .pixels = @floatFromInt(rl.getScreenHeight()) } } + }); + root_box.beginChildren(); } pub fn end(self: *UI) void { - self.popParent(); - assert(self.parent_index_stack.len == 0); + const zone2 = P.begin(@src(), "UI end()"); + defer zone2.end(); - // Mouse cursor - { - var cursor: ?rl.MouseCursor = null; + const root_box = self.parentBox().?; + root_box.endChildren(); - var active_iter = self.active_box_keys.iterator(); - while (active_iter.next()) |active_box_key| { - if (self.findBoxByKey(active_box_key.value.*)) |active_box| { - cursor = active_box.active_cursor; - - if (cursor != null) { - break; - } - } - } - - if (cursor == null) { - if (self.hot_box_key) |hot_box_key| { - if (self.findBoxByKey(hot_box_key)) |hot_box| { - cursor = hot_box.hot_cursor; - } - } - } - - rl.setMouseCursor(@intFromEnum(cursor orelse rl.MouseCursor.mouse_cursor_default)); - } + self.popFont(); // Update Animations { @@ -661,135 +785,609 @@ pub fn end(self: *UI) void { } } - if (rl.isKeyPressed(rl.KeyboardKey.key_f5) and builtin.mode == .Debug) { - self.show_grayscale = !self.show_grayscale; + // Mouse cursor + { + var cursor: ?rl.MouseCursor = null; + + var active_iter = self.active_box_keys.iterator(); + while (active_iter.next()) |active_box_key| { + if (self.getBoxByKey(active_box_key.value.*)) |active_box| { + cursor = active_box.active_cursor; + + if (cursor != null) { + break; + } + } + } + + if (cursor == null) { + if (self.hot_box_key) |hot_box_key| { + if (self.getBoxByKey(hot_box_key)) |hot_box| { + cursor = hot_box.hot_cursor; + } + } + } + + rl.setMouseCursor(@intFromEnum(cursor orelse rl.MouseCursor.mouse_cursor_default)); } - const root_box = self.findBoxByKey(root_box_key).?; - self.calcLayout(root_box, .X); - self.calcLayout(root_box, .Y); + // Reset sizes and positions, because it will be recalculated in layout pass + for (self.boxes.slice()) |*box| { + var position = Vec2{ .x = 0, .y = 0 }; + if (box.isFloating(.X)) { + position.x = box.persistent.position.x; + } + if (box.isFloating(.Y)) { + position.y = box.persistent.position.y; + } + box.persistent.size = Vec2Zero; + box.persistent.position = position; + } + + { + const zone = P.begin(@src(), "UI layout"); + defer zone.end(); + + self.layoutSizesInitial(root_box, .X); + self.layoutSizesShrink(root_box, .X); + self.layoutSizesGrow(root_box, .X); + self.layoutSizesFitChildren(root_box, .X); + + self.layoutWrapText(root_box); + + self.layoutSizesInitial(root_box, .Y); + self.layoutSizesShrink(root_box, .Y); + self.layoutSizesGrow(root_box, .Y); + self.layoutSizesFitChildren(root_box, .Y); + + self.layoutPositions(root_box, .X); + self.layoutPositions(root_box, .Y); + } } -pub fn pushStyle(self: *UI) void { - self.style_stack.appendAssumeCapacity(self.style); +pub fn pushFont(self: *UI, font_id: Assets.FontId) void { + self.font_stack.appendAssumeCapacity(font_id); } -pub fn popStyle(self: *UI) void { - self.style = self.style_stack.pop(); +pub fn popFont(self: *UI) void { + _ = self.font_stack.pop(); } -fn getActiveBoxFlags(self: *UI) Box.Flags { - var result_flags: Box.Flags = .{}; +pub fn currentDefaultFont(self: *UI) Assets.FontId { + assert(self.font_stack.len > 0); + return self.font_stack.buffer[self.font_stack.len - 1]; +} - var active_iter = self.active_box_keys.iterator(); - while (active_iter.next()) |active_box_key| { - if (self.findBoxByKey(active_box_key.value.*)) |active_box| { - result_flags = result_flags.unionWith(active_box.flags); +pub fn rem(self: *UI, count: f32) f32 { + const font_id = self.currentDefaultFont(); + return font_id.size * count; +} + +inline fn vec2ByAxis(vec2: *Vec2, axis: Axis) *f32 { + return switch (axis) { + .X => &vec2.x, + .Y => &vec2.y + }; +} + +fn layoutWrapText(self: *UI, box: *Box) void { + if (box.flags.contains(.wrap_text)) { + box.wrapText(box.availableChildrenSize(.X)); + } + + { + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + self.layoutWrapText(child); + } + } +} + +fn layoutSizesInitial(self: *UI, box: *Box, axis: Axis) void { + const axis_persistent_size = vec2ByAxis(&box.persistent.size, axis); + const sizing = box.size.getAxis(axis); + + if (sizing == .fixed) { + axis_persistent_size.* = sizing.fixed.get(box, axis); + } else if (sizing == .shrink) { + axis_persistent_size.* = sizing.shrink.max.get(box, axis); + } else if (sizing == .grow) { + axis_persistent_size.* = sizing.grow.min.get(box, axis); + } + + axis_persistent_size.* += box.padding.byAxis(axis); + + { + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + self.layoutSizesInitial(child, axis); + } + } +} + +fn sumChildrenSize(box: *Box, axis: Axis) f32 { + var axis_size: f32 = 0; + + if (box.layout_direction.isAxis(axis)) { + var children_count: f32 = 0; + + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + if (child.isFloating(axis)) continue; + + const axis_child_size = vec2ByAxis(&child.persistent.size, axis); + + axis_size += axis_child_size.*; + + children_count += 1; + } + + if (children_count > 0) { + axis_size += box.layout_gap * (children_count - 1); + } + } else { + var max_child_size: f32 = 0; + + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + if (child.isFloating(axis)) continue; + + const axis_child_size = vec2ByAxis(&child.persistent.size, axis); + + max_child_size = @max(max_child_size, axis_child_size.*); + } + + axis_size += max_child_size; + } + + return axis_size; +} + +fn layoutSizesShrink(self: *UI, box: *Box, axis: Axis) void { + { + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + self.layoutSizesShrink(child, axis); } } - return result_flags; + if (box.layout_direction.isAxis(axis)) { + const available_children_size = box.availableChildrenSize(axis); + const used_axis_size = sumChildrenSize(box, axis); + + var overflow_size = used_axis_size - available_children_size; + if (overflow_size > 0) { + const ShrinkableChild = struct { + box: *Box, + min_size: f32 + }; + var shrinkable_children: std.BoundedArray(ShrinkableChild, max_boxes) = .{}; + + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + if (child.isFloating(axis)) continue; + + const child_axis_sizing = child.size.getAxis(axis); + if (child_axis_sizing == .shrink) { + shrinkable_children.appendAssumeCapacity(.{ + .box = child, + .min_size = child_axis_sizing.shrink.min.get(child, axis) + }); + } + } + + while (overflow_size > 0) { + + // Remove children that have reached minimum size + { + var i: usize = 0; + while (i < shrinkable_children.len) { + const shrinkable_child = shrinkable_children.get(i); + const child = shrinkable_child.box; + const child_min_size = shrinkable_child.min_size; + const child_persistent_size = vec2ByAxis(&child.persistent.size, axis); + + if (child_persistent_size.* <= child_min_size) { + _ = shrinkable_children.swapRemove(i); + continue; + } else { + i += 1; + } + } + } + + if (shrinkable_children.len == 0) { + break; + } + + var largest_size: f32 = vec2ByAxis(&shrinkable_children.buffer[0].box.persistent.size, axis).*; + var second_largest_size: ?f32 = null; + + var largest_children: std.BoundedArray(*Box, max_boxes) = .{}; + largest_children.appendAssumeCapacity(shrinkable_children.buffer[0].box); + + for (shrinkable_children.slice()[1..]) |shrinkable_child| { + const child = shrinkable_child.box; + const child_persistent_size = vec2ByAxis(&child.persistent.size, axis); + + if (child_persistent_size.* > largest_size) { + second_largest_size = largest_size; + largest_size = child_persistent_size.*; + largest_children.len = 0; + largest_children.appendAssumeCapacity(child); + } else if (child_persistent_size.* < largest_size) { + second_largest_size = @max(second_largest_size orelse 0, child_persistent_size.*); + } else { + largest_children.appendAssumeCapacity(child); + } + } + + var shrink_largest_by = overflow_size; + if (second_largest_size != null) { + shrink_largest_by = @min(shrink_largest_by, largest_size - second_largest_size.?); + } + + const largest_count_f32: f32 = @floatFromInt(largest_children.len); + shrink_largest_by = @min(shrink_largest_by * largest_count_f32, largest_size) / largest_count_f32; + + for (largest_children.slice()) |largest_child| { + const child_persistent_size = vec2ByAxis(&largest_child.persistent.size, axis); + child_persistent_size.* -= shrink_largest_by; + overflow_size -= shrink_largest_by; + } + } + } + } +} + +fn layoutSizesFitChildren(self: *UI, box: *Box, axis: Axis) void { + { + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + self.layoutSizesFitChildren(child, axis); + } + } + + if (box.size.getAxis(axis) == .fit_children) { + const children_size = sumChildrenSize(box, axis); + const persistent_size = vec2ByAxis(&box.persistent.size, axis); + persistent_size.* += children_size; + } +} + +fn layoutSizesGrow(self: *UI, box: *Box, axis: Axis) void { + const available_children_size = box.availableChildrenSize(axis); + + // Hack to make .{ .fixed = { .parent_percent = 1} } work when parent is .grow + // I can't be bother to find a nice solutino for this. + // I need this for a scrollbar. + const sizing = box.size.getAxis(axis); + if (sizing.dependsOnParent() and sizing == .fixed) { + const persistent_size = vec2ByAxis(&box.persistent.size, axis); + persistent_size.* = sizing.fixed.get(box, axis); + } + + if (box.layout_direction.isAxis(axis)) { + const used_axis_size = sumChildrenSize(box, axis); + var unused_size = available_children_size - used_axis_size; + + if (unused_size > 0) { + const GrowableChild = struct { + box: *Box, + max_size: f32 + }; + var growable_children: std.BoundedArray(GrowableChild, max_boxes) = .{}; + + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + if (child.isFloating(axis)) continue; + + const child_axis_sizing = child.size.getAxis(axis); + if (child_axis_sizing == .grow) { + growable_children.appendAssumeCapacity(.{ + .box = child, + .max_size = child_axis_sizing.grow.max.get(child, axis) + }); + } + } + + while (unused_size > 0) { + + // Remove children that have reached maximum size + { + var i: usize = 0; + while (i < growable_children.len) { + const growable_child = growable_children.get(i); + const child = growable_child.box; + const child_max_size = growable_child.max_size; + const child_persistent_size = vec2ByAxis(&child.persistent.size, axis); + + if (child_persistent_size.* >= child_max_size) { + _ = growable_children.swapRemove(i); + continue; + } else { + i += 1; + } + } + } + + if (growable_children.len == 0) { + break; + } + + var smallest_size: f32 = vec2ByAxis(&growable_children.buffer[0].box.persistent.size, axis).*; + var second_smallest_size: ?f32 = null; + + var smallest_children: std.BoundedArray(*Box, max_boxes) = .{}; + smallest_children.appendAssumeCapacity(growable_children.buffer[0].box); + + for (growable_children.slice()[1..]) |growable_child| { + const child = growable_child.box; + const child_persistent_size = vec2ByAxis(&child.persistent.size, axis); + + if (child_persistent_size.* < smallest_size) { + second_smallest_size = smallest_size; + smallest_size = child_persistent_size.*; + smallest_children.len = 0; + smallest_children.appendAssumeCapacity(child); + } else if (child_persistent_size.* > smallest_size) { + second_smallest_size = @min(second_smallest_size orelse std.math.inf(f32), child_persistent_size.*); + } else { + smallest_children.appendAssumeCapacity(child); + } + } + + var grow_smallest_by = unused_size; + if (second_smallest_size != null) { + grow_smallest_by = @min(grow_smallest_by, second_smallest_size.? - smallest_size); + } + + const smallest_count_f32: f32 = @floatFromInt(smallest_children.len); + grow_smallest_by = @min(grow_smallest_by * smallest_count_f32, unused_size) / smallest_count_f32; + + for (smallest_children.slice()) |smallest_child| { + const child_persistent_size = vec2ByAxis(&smallest_child.persistent.size, axis); + child_persistent_size.* += grow_smallest_by; + unused_size -= grow_smallest_by; + } + } + } + } else { + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + if (child.isFloating(axis)) continue; + + const child_axis_sizing = child.size.getAxis(axis); + if (child_axis_sizing == .grow) { + const child_max_size = child_axis_sizing.grow.max.get(child, axis); + const child_persistent_size = vec2ByAxis(&child.persistent.size, axis); + + child_persistent_size.* = @min(available_children_size, child_max_size); + } + } + } + + { + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + self.layoutSizesGrow(child, axis); + } + } +} + +fn layoutPositions(self: *UI, box: *Box, axis: Axis) void { + const is_layout_axis = box.layout_direction.isAxis(axis); + + { + const available_children_size = box.availableChildrenSize(axis); + const children_size = sumChildrenSize(box, axis); + + const axis_alignment = box.alignment.getAxis(axis); + const alignment_offset_scalar = axis_alignment.getCoefficient(); + + var offset: f32 = 0; + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + if (child.isFloating(axis)) continue; + + const axis_position = vec2ByAxis(&box.persistent.position, axis); + const axis_child_position = vec2ByAxis(&child.persistent.position, axis); + const axis_child_persistent_size = vec2ByAxis(&child.persistent.size, axis); + + axis_child_position.* = axis_position.*; + + if (axis == .X) { + axis_child_position.* += box.padding.left; + } else if (axis == .Y) { + axis_child_position.* += box.padding.top; + } + + if (is_layout_axis) { + axis_child_position.* += offset; + offset += axis_child_persistent_size.*; + offset += box.layout_gap; + } + + axis_child_position.* += @max(available_children_size - children_size, 0) * alignment_offset_scalar; + + axis_child_position.* -= vec2ByAxis(&box.view_offset, axis).*; + } + } + + var child_iter = box.iterChildren(); + while (child_iter.next()) |child| { + self.layoutPositions(child, axis); + } +} + +pub fn createBox(self: *UI, opts: BoxOptions) *Box { + var box: *Box = undefined; + var box_index: ?BoxIndex = null; + var key = opts.key orelse Key.initNil(); + var persistent = Box.Persistent{}; + + if (!key.isNil()) { + if (self.getBoxIndexByKey(key)) |last_frame_box_index| { + const last_frame_box = self.getBoxByIndex(last_frame_box_index); + + box = last_frame_box; + persistent = last_frame_box.persistent; + box_index = last_frame_box_index; + + // Safety guard for using a key multiple times in UI + assert(box.last_used_frame != self.frame_index); + } + } + + if (box_index == null) { + box = self.boxes.addOneAssumeCapacity(); + box_index = self.boxes.len - 1; + } + + var size = Sizing2{ + .x = Sizing.initFixed(.{ .pixels = 0 }), + .y = Sizing.initFixed(.{ .pixels = 0 }), + }; + if (opts.size_x) |size_x| { + size.x = size_x; + } else if (opts.text != null) { + size.x = Sizing.initFixed(.text); + } + + if (opts.size_y) |size_y| { + size.y = size_y; + } else if (opts.text != null) { + size.y = Sizing.initFixed(.text); + } + + var flags = Box.Flags.initEmpty(); + if (opts.flags) |opts_flags| { + for (opts_flags) |flag| { + flags.insert(flag); + } + } + + const default_alignment = if (opts.text != null) Alignment.center else Alignment.start; + const alignment = Alignment2{ + .x = opts.align_x orelse default_alignment, + .y = opts.align_y orelse default_alignment, + }; + + box.* = Box{ + .ui = self, + .allocator = self.frame_allocator(), + + .persistent = persistent, + .flags = flags, + .background = opts.background, + .size = size, + .layout_direction = opts.layout_direction orelse LayoutDirection.left_to_right, + .layout_gap = opts.layout_gap orelse 0, + .padding = opts.padding orelse Padding{}, + .alignment = alignment, + .font = opts.font orelse self.currentDefaultFont(), + .text = null, + .text_color = opts.text_color orelse srcery.bright_white, + .borders = opts.borders orelse Borders{}, + .hot_cursor = opts.hot_cursor, + .active_cursor = opts.active_cursor, + .view_offset = opts.view_offset orelse Vec2Zero, + + .last_used_frame = self.frame_index, + .key = key, + .tree = .{ + .index = box_index.? + }, + }; + + if (box.isFloating(.X)) { + box.persistent.position.x = 0; + } + + if (box.isFloating(.Y)) { + box.persistent.position.y = 0; + } + + if (opts.text) |text| { + box.setText(text); + } + + if (opts.position_x) |x| { + box.setFloatX(x); + } + + if (opts.position_y) |y| { + box.setFloatY(y); + } + + if (self.parentBox()) |parent| { + box.tree.parent_index = parent.tree.index; + + if (parent.tree.last_child_index) |last_child_index| { + const last_child = self.getBoxByIndex(last_child_index); + + last_child.tree.next_sibling_index = box.tree.index; + parent.tree.last_child_index = box.tree.index; + } else { + parent.tree.first_child_index = box.tree.index; + parent.tree.last_child_index = box.tree.index; + } + } + + return box; +} + +pub fn parentBoxIndex(self: *UI) ?BoxIndex { + if (self.parent_stack.len > 0) { + return self.parent_stack.buffer[self.parent_stack.len - 1]; + } else { + return null; + } +} + +pub fn parentBox(self: *UI) ?*Box { + if (self.parentBoxIndex()) |box_index| { + return self.getBoxByIndex(box_index); + } else { + return null; + } +} + +pub fn getBoxByIndex(self: *UI, box_index: BoxIndex) *Box { + return &self.boxes.buffer[box_index]; +} + +pub fn getBoxIndexByKey(self: *UI, key: Key) ?BoxIndex { + for (0.., self.boxes.slice()) |index, box| { + if (box.key.eql(key)) { + return @intCast(index); + } + } + return null; +} + +pub fn getBoxByKey(self: *UI, key: Key) ?*Box { + if (self.getBoxIndexByKey(key)) |box_index| { + return self.getBoxByIndex(box_index); + } else { + return null; + } } pub fn draw(self: *UI) void { - const root_box = self.findBoxByKey(root_box_key).?; + const root_box_index = self.getBoxIndexByKey(root_box_key).?; + const root_box = self.getBoxByIndex(root_box_index); - if (self.show_grayscale) { - self.grayscale_shader.activate(); - defer self.grayscale_shader.deactivate(); + const zone = P.begin(@src(), "UI Draw"); + defer zone.end(); - self.drawBox(root_box); - } else { - self.drawBox(root_box); - } - - if (debug) { - const font = Assets.font(.text); - const debug_box = Rect{ - .x = self.mouse.x, - .y = self.mouse.y + 32, - .width = 400, - .height = 100 - }; - rl.drawRectangleRec(debug_box, srcery.hard_black); - - var layout_y: f32 = 0; - - { - var buff: [256]u8 = undefined; - const text = std.fmt.bufPrint(&buff, "Hot: {?}", .{self.hot_box_key}) catch ""; - font.drawText(text, .{ .x = debug_box.x, .y = debug_box.y + layout_y }, srcery.white); - layout_y += 16; - } - - { - var rect: ?Rect = null; - if (self.hot_box_key) |hot_box_key| { - rect = self.findBoxByKey(hot_box_key).?.computedRect(); - } - - var buff: [256]u8 = undefined; - const text = std.fmt.bufPrint(&buff, "Hot rect: {?}", .{RectFormatted.init(rect)}) catch ""; - font.drawText(text, .{ .x = debug_box.x, .y = debug_box.y + layout_y }, srcery.white); - layout_y += 16; - } - - { - var hot_parent_key: ?Key = null; - if (self.hot_box_key) |hot_box_key| { - if (self.findBoxByKey(hot_box_key)) |hot_box| { - if (hot_box.parent_index) |parent_index| { - hot_parent_key = self.boxes.buffer[parent_index].key; - } - } - } - - var buff: [256]u8 = undefined; - const text = std.fmt.bufPrint(&buff, "Parent of hot: {?}", .{hot_parent_key}) catch ""; - font.drawText(text, .{ .x = debug_box.x, .y = debug_box.y + layout_y }, srcery.white); - layout_y += 16; - } - - // { - // var buff: [256]u8 = undefined; - // const text = std.fmt.bufPrint(&buff, "Active: {?}", .{self.active_box_key}) catch ""; - // font.drawText(text, .{ .x = debug_box.x, .y = debug_box.y + layout_y }, srcery.white); - // layout_y += 16; - // } - - { - font.drawText("Children of hot:", .{ .x = debug_box.x, .y = debug_box.y + layout_y }, srcery.white); - layout_y += 16; - - if (self.hot_box_key) |hot_box_key| { - const hot_box = self.findBoxByKey(hot_box_key).?; - var child_iter = self.iterChildrenByParent(hot_box); - while (child_iter.next()) |child| { - var buff: [256]u8 = undefined; - const text = std.fmt.bufPrint(&buff, "{}", .{child.key}) catch ""; - font.drawText(text, .{ .x = debug_box.x, .y = debug_box.y + layout_y }, srcery.white); - layout_y += 16; - } - } - } - } + self.drawBox(root_box); } fn drawBox(self: *UI, box: *Box) void { - if (box.flags.contains(.skip_draw)) { - return; - } + const box_rect = box.rect(); - var value_shift: f32 = 0; - if (box.flags.contains(.highlight_active) and self.isKeyActive(box.key)) { - value_shift = -0.5 * box.persistent.active; - } else if (box.flags.contains(.highlight_hot) and self.isKeyHot(box.key)) { - value_shift = 0.6 * box.persistent.hot; - } - - const box_rect = box.computedRect(); - - const do_scissor = box.hasClipping(); + const do_scissor = box.flags.contains(.clip_view); if (do_scissor) { rl.beginScissorMode( @intFromFloat(box_rect.x), @@ -800,8 +1398,15 @@ fn drawBox(self: *UI, box: *Box) void { } defer if (do_scissor) rl.endScissorMode(); - if (box.background) |background| { - rl.drawRectangleRec(box_rect, utils.shiftColorInHSV(background, value_shift)); + var value_shift: f32 = 0; + if (box.flags.contains(.draw_active) and self.isKeyActive(box.key)) { + value_shift = -0.5 * box.persistent.active; + } else if (box.flags.contains(.draw_hot) and self.isKeyHot(box.key)) { + value_shift = 0.6 * box.persistent.hot; + } + + if (box.background) |bg| { + rl.drawRectangleRec(box_rect, utils.shiftColorInHSV(bg, value_shift)); } const borders_with_coords = .{ @@ -844,390 +1449,71 @@ fn drawBox(self: *UI, box: *Box) void { } if (box.text) |text| { - const font = Assets.font(text.font); - const text_size = font.measureText(text.content); - var text_rect = Rect{ - .x = box_rect.x, - .y = box_rect.y, - .width = text_size.x, - .height = text_size.y - }; + const font_face = Assets.font(box.font); + var text_position = box.persistent.position; + text_position.x += box.padding.left; + text_position.y += box.padding.top; - if (box.flags.contains(.text_left_align)) { - if (box.size.x.kind == .text) { - const padding = box.size.x.kind.text; - text_rect.x += padding * font.getSize() / 2; - } + const lines: [][]u8 = box.text_lines.slice(); - if (box.size.y.kind == .text) { - const padding = box.size.y.kind.text; - text_rect.y += padding * font.getSize() / 2; - } + const available_width = box.availableChildrenSize(.X); + const available_height = box.availableChildrenSize(.Y); + + if (lines.len == 0) { + const text_size = font_face.measureText(text); + text_position.x += @max(available_width - text_size.x, 0) * box.alignment.x.getCoefficient(); + text_position.y += @max(available_height - text_size.y, 0) * box.alignment.y.getCoefficient(); + + font_face.drawText(text, text_position, box.text_color); } else { - text_rect.x += (box_rect.width - text_size.x) / 2; - text_rect.y += (box_rect.height - text_size.y) / 2; - } + // TODO: Don't call `measureTextLines`, + // Because in the end `measureText` will be called twice for each line + const text_size = font_face.measureTextLines(lines); + text_position.x += @max(available_width - text_size.x, 0) * box.alignment.x.getCoefficient(); + text_position.y += @max(available_height - text_size.y, 0) * box.alignment.y.getCoefficient(); - const text_color = utils.shiftColorInHSV(text.color, value_shift); - font.drawText(text.content, .{ .x = text_rect.x, .y = text_rect.y }, text_color); + var offset_y: f32 = 0; - if (box.flags.contains(.text_underline)) { - rl.drawLineV( - rect_utils.bottomLeft(text_rect), - rect_utils.bottomRight(text_rect), - text_color - ); + for (lines) |line| { + const line_size = font_face.measureText(line); + const offset_x = @max(text_size.x - line_size.x, 0) * box.alignment.x.getCoefficient(); + + font_face.drawText( + line, + text_position.add(.{ .x = offset_x, .y = offset_y }), + box.text_color + ); + + offset_y += font_face.getSize() * font_face.line_height; + } } } - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - self.drawBox(child); - } - - if (debug) { + if (draw_debug) { if (self.isKeyActive(box.key)) { rl.drawRectangleLinesEx(box_rect, 3, rl.Color.red); } else if (self.isKeyHot(box.key)) { rl.drawRectangleLinesEx(box_rect, 3, rl.Color.orange); } else { - rl.drawRectangleLinesEx(box_rect, 1, rl.Color.pink); - } - } -} - -inline fn getVec2Axis(vec2: *Vec2, axis: Axis) *f32 { - return switch (axis) { - .X => &vec2.x, - .Y => &vec2.y - }; -} - -fn calcLayout(self: *UI, box: *Box, axis: Axis) void { - self.calcLayoutStandaloneSize(box, axis); - self.calcLayoutUpwardsSize(box, axis); - self.calcLayoutDownardsSize(box, axis); - self.calcLayoutEnforceConstraints(box, axis); - self.calcLayoutPositions(box, axis); -} - -fn calcLayoutStandaloneSize(self: *UI, box: *Box, axis: Axis) void { - const size = box.size.getAxis(axis); - const computed_size = getVec2Axis(&box.persistent.size, axis); - - if (box.getFixedSizeAxis(axis)) |fixed_size| { - computed_size.* = fixed_size; - } else if (size.kind == .pixels) { - computed_size.* = size.kind.pixels; - } else if (size.kind == .texture) { - if (box.texture) |texture| { - var texture_size: f32 = 0; - if (axis == .X) { - texture_size = @floatFromInt(texture.width); - } else if (axis == .Y) { - texture_size = @floatFromInt(texture.height); - } - computed_size.* = size.kind.texture * texture_size; - } else { - computed_size.* = 0; - } - } else if (size.kind == .text) { - if (box.text) |text| { - const font = Assets.font(text.font); - var text_size = font.measureText(text.content); - computed_size.* = getVec2Axis(&text_size, axis).*; - computed_size.* += size.kind.text * font.getSize(); - } else { - computed_size.* = 0; + rl.drawRectangleLinesEx(box_rect, 1, rl.Color.magenta); } } - var child_iter = self.iterChildrenByParent(box); + var child_iter = box.iterChildren(); while (child_iter.next()) |child| { - self.calcLayoutStandaloneSize(child, axis); + self.drawBox(child); } } -fn calcLayoutUpwardsSize(self: *UI, box: *Box, axis: Axis) void { - const size = box.size.getAxis(axis); - const computed_size = getVec2Axis(&box.persistent.size, axis); - - if (size.kind == .percent) { - var maybe_fixed_parent: ?*Box = null; - - var parent_iter = self.iterUpwardByParent(box); - while (parent_iter.next()) |parent| { - const parent_size_kind = parent.size.getAxis(axis).kind; - if (parent.isSizeFixed(axis) or - parent_size_kind == .pixels or - parent_size_kind == .percent or - parent_size_kind == .text) - { - maybe_fixed_parent = parent; - break; - } - } - - if (maybe_fixed_parent) |fixed_parent| { - computed_size.* = getVec2Axis(&fixed_parent.persistent.size, axis).* * size.kind.percent; - } - } - - { - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - self.calcLayoutUpwardsSize(child, axis); - } - } -} - -fn calcLayoutDownardsSize(self: *UI, box: *Box, axis: Axis) void { - { - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - self.calcLayoutDownardsSize(child, axis); - } - } - - const size = box.size.getAxis(axis); - const computed_size = getVec2Axis(&box.persistent.size, axis); - - if (size.kind == .children_sum) { - var first_child: bool = true; - - var sum: f32 = 0; - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - if (child.isPositionFixed(axis)) continue; - - const child_size = getVec2Axis(&child.persistent.size, axis).*; - - if (box.layout_axis == axis) { - sum += child_size; - if (!first_child) { - sum += box.layout_gap; - } - } else { - sum = @max(sum, child_size); - } - - first_child = false; - } - - computed_size.* = sum; - } -} - -fn calcLayoutEnforceConstraints(self: *UI, box: *Box, axis: Axis) void { - if (box.text != null and box.flags.contains(.text_wrapping)) { - const text = box.text.?; - const font = Assets.font(text.font); - const axis_size = box.size.getAxis(axis); - - var max_width = box.persistent.size.x; - if (axis_size.kind == .text) { - max_width -= axis_size.kind.text * font.getSize(); - } - - if (wrapText(box.allocator, font, text.content, max_width) catch null) |wrapped_content| { - box.text.?.content = wrapped_content; - } - } - - // Children can't be wider than the parent on the secondary axis - if (box.layout_axis != axis) { - const max_child_size = getVec2Axis(&box.persistent.size, axis).*; - - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - if (child.isPositionFixed(axis)) continue; - - const child_size = getVec2Axis(&child.persistent.size, axis); - - if (child_size.* > max_child_size) { - child_size.* = max_child_size; - } - } - } - - // Children need to be shrunk relative to "strictness" on the primary axis - if (box.layout_axis == axis) { - const max_sum_children_size = getVec2Axis(&box.persistent.size, axis).*; - var sum_children_size: f32 = 0; - var child_count: f32 = 0; - - var children_fixups: std.BoundedArray(f32, max_boxes) = .{}; - var children_fixup_sum: f32 = 0; - - { - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - if (child.isPositionFixed(axis)) continue; - - const child_semantic_size_axis = child.size.getAxis(axis).*; - const child_size_axis = getVec2Axis(&child.persistent.size, axis).*; - - sum_children_size += child_size_axis; - - const child_fixup = child_size_axis * (1 - child_semantic_size_axis.strictness); - children_fixups.appendAssumeCapacity(child_fixup); - children_fixup_sum += child_fixup; - - child_count += 1; - } - } - - sum_children_size += @max(child_count - 1, 0 ) * box.layout_gap; - - const overflow = sum_children_size - max_sum_children_size; - if (overflow > 0) { - const overflow_percent = std.math.clamp(overflow / children_fixup_sum, 0, 1); - - var index: usize = 0; - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| : (index += 1) { - if (child.isPositionFixed(axis)) continue; - - const child_size_axis = getVec2Axis(&child.persistent.size, axis); - - child_size_axis.* -= children_fixups.buffer[index] * overflow_percent; - - // Recalculate all upward depedent sizes, because the parent size changed - var child_child_iter = self.iterChildrenByParent(child); - while (child_child_iter.next()) |child_child| { - self.calcLayoutUpwardsSize(child_child, axis); - } - } - } - } - - { - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - self.calcLayoutEnforceConstraints(child, axis); - } - } -} - -fn calcLayoutPositions(self: *UI, box: *Box, axis: Axis) void { - { - var layout_position: f32 = 0; - - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - const child_axis_position = getVec2Axis(&child.persistent.position, axis); - - if (child.getFixedPositionAxis(axis)) |position| { - child_axis_position.* = position; - } else { - const child_axis_size = getVec2Axis(&child.persistent.size, axis); - const parent_axis_position = getVec2Axis(&box.persistent.position, axis); - - child_axis_position.* = parent_axis_position.*; - - if (box.layout_axis == axis) { - child_axis_position.* += layout_position; - layout_position += child_axis_size.*; - layout_position += box.layout_gap; - } - } - - child_axis_position.* -= getVec2Axis(&box.view_offset, axis).*; - } - } - - if (box.layout_axis == axis) { - var child_size_sum: f32 = 0; - var child_count: f32 = 0; - - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - if (child.isPositionFixed(axis)) continue; - - const child_size = getVec2Axis(&child.persistent.size, axis); - child_size_sum += child_size.*; - child_count += 1; - } - - if (child_count > 1) { - child_size_sum += (child_count - 1) * box.layout_gap; - } - - getVec2Axis(&box.persistent.children_size, axis).* = child_size_sum; - } else { - var max_child_size: f32 = 0; - - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - if (child.isPositionFixed(axis)) continue; - - const child_size = getVec2Axis(&child.persistent.size, axis); - max_child_size = @max(max_child_size, child_size.*); - } - - getVec2Axis(&box.persistent.children_size, axis).* = max_child_size; - } - - { - var child_iter = self.iterChildrenByParent(box); - while (child_iter.next()) |child| { - self.calcLayoutPositions(child, axis); - } - } -} - -pub fn wrapText(allocator: std.mem.Allocator, font: FontFace, text: []const u8, max_width: f32) !?[]u8 { - // TODO: Implement word wrapping that doesn't include re-allocating the whole text - if (font.measureWidth(text) < max_width) { - return null; - } - - var result = try std.ArrayList(u8).initCapacity(allocator, text.len); - defer result.deinit(); - - var line_buffer = std.ArrayList(u8).init(allocator); - defer line_buffer.deinit(); - - var word_iter = std.mem.splitScalar(u8, text, ' '); - while (word_iter.next()) |word| { - try line_buffer.ensureUnusedCapacity(word.len + 1); - - const current_line = line_buffer.items; - if (line_buffer.items.len > 0) { - try line_buffer.append(' '); - } - try line_buffer.appendSlice(word); - - if (font.measureWidth(line_buffer.items) > max_width) { - if (result.items.len > 0) { - try result.append('\n'); - } - try result.appendSlice(current_line); - - line_buffer.clearRetainingCapacity(); - try line_buffer.appendSlice(word); - } - } - - if (line_buffer.items.len > 0) { - if (result.items.len > 0) { - try result.append('\n'); - } - try result.appendSlice(line_buffer.items); - } - - return try result.toOwnedSlice(); -} - fn getKeySeed(self: *UI) u64 { - var maybe_current = self.getParent(); + var maybe_current = self.parentBox(); while (maybe_current) |current| { if (!current.key.isNil()) { return current.key.hash; } maybe_current = null; - if (current.parent_index) |parent_index| { + if (current.tree.parent_index) |parent_index| { maybe_current = &self.boxes.buffer[parent_index]; } } @@ -1235,111 +1521,23 @@ fn getKeySeed(self: *UI) u64 { return 0; } -pub fn newKeyFromString(self: *UI, text: []const u8) Key { +pub fn keyFromString(self: *UI, text: []const u8) Key { return Key.initString(self.getKeySeed(), text); } -pub fn newBoxFromString(self: *UI, text: []const u8) *Box { - return self.newBox(self.newKeyFromString(text)); -} - -pub fn newBoxFromPtr(self: *UI, ptr: anytype) *Box { - return self.newBox(Key.initPtr(ptr)); -} - -pub fn appendBox(self: *UI, box: *Box) void { - assert(box.parent_index == null); - - if (self.getParentIndex()) |parent_index| { - const parent = &self.boxes.buffer[parent_index]; - box.parent_index = parent_index; - - if (parent.last_child_index) |last_child_index| { - const last_child = &self.boxes.buffer[last_child_index]; - - last_child.next_sibling_index = box.index; - parent.last_child_index = box.index; - } else { - parent.first_child_index = box.index; - parent.last_child_index = box.index; - } - } -} - -pub fn newBoxNoAppend(self: *UI, key: Key) *Box { - var box: *Box = undefined; - var box_index: ?BoxIndex = null; - var persistent: Box.Persistent = .{}; - - if (!key.isNil()) { - if (self.findBoxIndexByKey(key)) |found_box_index| { - const found_box = &self.boxes.buffer[found_box_index]; - assert(found_box.last_used_frame < self.frame_index); - - persistent = found_box.persistent; - box = found_box; - box_index = found_box_index; - } - } - - if (box_index == null) { - box = self.boxes.addOneAssumeCapacity(); - box_index = self.boxes.len - 1; - } - - box.* = Box{ - .key = key, - .allocator = self.frameArena().allocator(), - .last_used_frame = self.frame_index, - .persistent = persistent, - - .index = box_index.? - }; - - if (!key.isNil()) { - box.background = self.style.background; - box.rounded = self.style.rounded; - box.borders = self.style.borders; - } - - return box; -} - -pub fn newBox(self: *UI, key: Key) *Box { - const box = self.newBoxNoAppend(key); - self.appendBox(box); - return box; -} - -fn findBoxIndexByKey(self: *UI, key: Key) ?BoxIndex { - for (0.., self.boxes.slice()) |index, *box| { - if (box.key.eql(key)) { - return @intCast(index); - } - } - return null; -} - -fn findBoxByKey(self: *UI, key: Key) ?*Box { - if (self.findBoxIndexByKey(key)) |box_index| { - return &self.boxes.buffer[box_index]; - } - return null; -} - -pub fn signalFromBox(self: *UI, box: *Box) Signal { - if (box.key.isNil()) { - return Signal{}; - } - +pub fn signal(self: *UI, box: *Box) Signal { var result = Signal{}; - var rect = box.computedRect(); + if (box.key.isNil()) { + return result; + } + + var rect = box.rect(); { - var parent_iter = self.iterUpwardByParent(box); + var parent_iter = box.iterParents(); while (parent_iter.next()) |parent| { - if (parent.hasClipping()) { - rect = rect_utils.intersect(rect, parent.computedRect()); + if (parent.flags.contains(.clip_view)) { + rect = rect_utils.intersect(rect, parent.rect()); } } } @@ -1422,10 +1620,6 @@ pub fn signalFromBox(self: *UI, box: *Box) Signal { return result; } -pub fn isBoxHot(self: *UI, box: *Box) bool { - return self.isKeyHot(box.key); -} - pub fn isKeyHot(self: *UI, key: Key) bool { if (self.hot_box_key) |hot_box_key| { return hot_box_key.eql(key); @@ -1446,239 +1640,4 @@ pub fn isKeyActive(self: *UI, key: Key) bool { } return false; -} - -fn getParentIndex(self: *UI) ?BoxIndex { - const parent_stack: []BoxIndex = self.parent_index_stack.slice(); - - if (parent_stack.len > 0) { - return parent_stack[parent_stack.len - 1]; - } else { - return null; - } -} - -pub fn getParentOf(self: *UI, box: *Box) ?*Box { - if (box.parent_index) |index| { - return &self.boxes.buffer[index]; - } else { - return null; - } -} - -pub fn getParent(self: *UI) ?*Box { - if (self.getParentIndex()) |parent_index| { - return &self.boxes.buffer[parent_index]; - } else { - return null; - } -} - -pub fn pushParent(self: *UI, box: *const Box) void { - self.parent_index_stack.appendAssumeCapacity(box.index); -} - -pub fn popParent(self: *UI) void { - _ = self.parent_index_stack.pop(); -} - -pub fn iterChildrenByParent(self: *UI, box: *const Box) BoxChildIterator { - return BoxChildIterator{ - .boxes = self.boxes.slice(), - .current_child = box.first_child_index - }; -} - -pub fn iterUpwardByParent(self: *UI, box: *const Box) BoxParentIterator { - return BoxParentIterator{ - .boxes = self.boxes.slice(), - .current_parent = box.parent_index - }; -} - -pub fn frameArena(self: *UI) *std.heap.ArenaAllocator { - return &self.arenas[@mod(self.frame_index, 2)]; -} - -pub fn pushScrollbar(self: *UI, key: UI.Key) *Box { - const container = self.newBox(key); - container.layout_axis = .X; - container.size = .{ - .x = UI.Size.percent(1, 0), - .y = UI.Size.percent(1, 0), - }; - self.pushParent(container); - - const content_area = self.newBoxFromString("Scroll area"); - content_area.flags.insert(.skip_draw); - content_area.flags.insert(.scrollable); - content_area.size = .{ - .x = UI.Size.percent(1, 0), - .y = UI.Size.percent(1, 0), - }; - self.pushParent(content_area); - - const visible_content_size = content_area.persistent.size.y; - const used_content_size = content_area.persistent.children_size.y; - const visible_percent = clamp(visible_content_size / used_content_size, 0, 1); - const sroll_offset = content_area.persistent.sroll_offset; - content_area.view_offset.y = sroll_offset * (1 - visible_percent) * used_content_size; - - return content_area; -} - -pub fn popScrollbar(self: *UI) void { - const content_area = self.getParent().?; - self.popParent(); // pop scroll area - - const visible_content_size = content_area.persistent.size.y; - const used_content_size = content_area.persistent.children_size.y; - const visible_percent = clamp(visible_content_size / used_content_size, 0, 1); - if (used_content_size != 0) { - content_area.flags.remove(.skip_draw); - } - - if (!content_area.flags.contains(.skip_draw)) { - const scrollbar_area = self.newBoxFromString("Scrollbar area"); - scrollbar_area.background = srcery.hard_black; - scrollbar_area.flags.insert(.scrollable); - scrollbar_area.size = .{ - .x = UI.Size.pixels(24, 1), - .y = UI.Size.percent(1, 0), - }; - self.pushParent(scrollbar_area); - defer self.popParent(); - - const draggable = self.clickableBox("Scrollbar button"); - draggable.background = srcery.black; - draggable.borders.all(.{ - .size = 4, - .color = srcery.xgray3 - }); - draggable.flags.insert(.draggable); - draggable.size = .{ - .x = UI.Size.percent(1, 1), - .y = UI.Size.percent(visible_percent, 1), - }; - - const sroll_offset = &content_area.persistent.sroll_offset; - const scrollbar_height = content_area.persistent.size.y; - const max_offset = scrollbar_height * (1 - visible_percent); - draggable.setFixedY(content_area.persistent.position.y + sroll_offset.* * max_offset); - - const draggable_signal = self.signalFromBox(draggable); - if (draggable_signal.dragged()) { - sroll_offset.* += draggable_signal.drag.y / max_offset; - } - - const scroll_speed = 16; - const scrollbar_signal = self.signalFromBox(scrollbar_area); - if (scrollbar_signal.scrolled()) { - sroll_offset.* -= scrollbar_signal.scroll.y / max_offset * scroll_speed; - } - - const content_area_signal = self.signalFromBox(content_area); - if (content_area_signal.scrolled()) { - sroll_offset.* -= content_area_signal.scroll.y / max_offset * scroll_speed; - } - - sroll_offset.* = clamp(sroll_offset.*, 0, 1); - } - - self.popParent(); // pop container -} - -pub fn button(self: *UI, font: Assets.FontId, text: []const u8) *Box { - const box = self.clickableBox(text); - box.size.x = UI.Size.text(1, 1); - box.size.y = UI.Size.text(0.5, 1); - box.setText(font, text); - - return box; -} - -pub fn clickableBox(self: *UI, key: []const u8) *Box { - const box = self.newBoxFromString(key); - box.flags.insert(.clickable); - box.flags.insert(.highlight_active); - box.flags.insert(.highlight_hot); - box.hot_cursor = rl.MouseCursor.mouse_cursor_pointing_hand; - - return box; -} - -pub fn spacer(self: *UI, size: Vec2Size) void { - const box = self.newBox(UI.Key.initNil()); - box.size = size; -} - -pub fn label(self: *UI, font: Assets.FontId, text: []const u8) *Box { - const box = self.newBoxFromString(text); - box.size.x = UI.Size.text(1, 1); - box.size.y = UI.Size.text(0.5, 1); - box.setText(font, text); - - return box; -} - -pub fn textureBox(self: *UI, texture: rl.Texture2D, scale: f32) *Box { - const box = self.newBox(Key.initNil()); - box.size.x = UI.Size.texture(scale, 1); - box.size.y = UI.Size.texture(scale, 1); - box.texture = texture; - - return box; -} - -pub fn pushCenterBox(self: *UI) *Box { - self.pushHorizontalAlign(); - self.pushVerticalAlign(); - - const container = self.newBox(UI.Key.initNil()); - container.size.x = UI.Size.childrenSum(1); - container.size.y = UI.Size.childrenSum(1); - self.pushParent(container); - - return container; -} - -pub fn popCenterBox(self: *UI) void { - self.popParent(); - - self.popVerticalAlign(); - self.popHorizontalAlign(); -} - -pub fn pushHorizontalAlign(self: *UI) void { - const horizontal_align = self.newBox(UI.Key.initNil()); - horizontal_align.layout_axis = .X; - horizontal_align.size = .{ - .x = UI.Size.percent(1, 0), - .y = UI.Size.childrenSum(1), - }; - self.pushParent(horizontal_align); - - self.spacer(.{ .x = UI.Size.percent(1, 0) }); -} - -pub fn popHorizontalAlign(self: *UI) void { - self.spacer(.{ .x = UI.Size.percent(1, 0) }); - self.popParent(); -} - -pub fn pushVerticalAlign(self: *UI) void { - const vertical_align = self.newBox(UI.Key.initNil()); - vertical_align.layout_axis = .Y; - vertical_align.size = .{ - .x = UI.Size.childrenSum(1), - .y = UI.Size.percent(1, 0), - }; - self.pushParent(vertical_align); - - self.spacer(.{ .y = UI.Size.percent(1, 0) }); -} - -pub fn popVerticalAlign(self: *UI) void { - self.spacer(.{ .y = UI.Size.percent(1, 0) }); - self.popParent(); } \ No newline at end of file