From 2b464c7d1bdddb6147346d6449f80327b5bdcd4a Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 20 May 2026 11:40:26 +0800 Subject: [PATCH 01/20] feat: add solutions for week-13 problems (11005, 11063, 11150, 11321, 11332) --- .../solutions/1114405023/11005/log.txt | 17 +++ .../solutions/1114405023/11005/main.py | 67 ++++++++++ .../solutions/1114405023/11005/main_simple.py | 34 +++++ .../solutions/1114405023/11005/test.py | 74 ++++++++++ .../solutions/1114405023/11063/log.txt | 17 +++ .../solutions/1114405023/11063/main.py | 55 ++++++++ .../solutions/1114405023/11063/main_simple.py | 21 +++ .../solutions/1114405023/11063/test.py | 83 ++++++++++++ .../solutions/1114405023/11150/log.txt | 17 +++ .../solutions/1114405023/11150/main.py | 79 +++++++++++ .../solutions/1114405023/11150/main_simple.py | 44 ++++++ .../solutions/1114405023/11150/test.py | 74 ++++++++++ .../solutions/1114405023/11321/log.txt | 17 +++ .../solutions/1114405023/11321/main.py | 74 ++++++++++ .../solutions/1114405023/11321/main_simple.py | 44 ++++++ .../solutions/1114405023/11321/test.py | 74 ++++++++++ .../solutions/1114405023/11332/log.txt | 17 +++ .../solutions/1114405023/11332/main.py | 126 ++++++++++++++++++ .../solutions/1114405023/11332/main_simple.py | 78 +++++++++++ .../solutions/1114405023/11332/test.py | 74 ++++++++++ 20 files changed, 1086 insertions(+) create mode 100644 weeks/week-13/solutions/1114405023/11005/log.txt create mode 100644 weeks/week-13/solutions/1114405023/11005/main.py create mode 100644 weeks/week-13/solutions/1114405023/11005/main_simple.py create mode 100644 weeks/week-13/solutions/1114405023/11005/test.py create mode 100644 weeks/week-13/solutions/1114405023/11063/log.txt create mode 100644 weeks/week-13/solutions/1114405023/11063/main.py create mode 100644 weeks/week-13/solutions/1114405023/11063/main_simple.py create mode 100644 weeks/week-13/solutions/1114405023/11063/test.py create mode 100644 weeks/week-13/solutions/1114405023/11150/log.txt create mode 100644 weeks/week-13/solutions/1114405023/11150/main.py create mode 100644 weeks/week-13/solutions/1114405023/11150/main_simple.py create mode 100644 weeks/week-13/solutions/1114405023/11150/test.py create mode 100644 weeks/week-13/solutions/1114405023/11321/log.txt create mode 100644 weeks/week-13/solutions/1114405023/11321/main.py create mode 100644 weeks/week-13/solutions/1114405023/11321/main_simple.py create mode 100644 weeks/week-13/solutions/1114405023/11321/test.py create mode 100644 weeks/week-13/solutions/1114405023/11332/log.txt create mode 100644 weeks/week-13/solutions/1114405023/11332/main.py create mode 100644 weeks/week-13/solutions/1114405023/11332/main_simple.py create mode 100644 weeks/week-13/solutions/1114405023/11332/test.py diff --git a/weeks/week-13/solutions/1114405023/11005/log.txt b/weeks/week-13/solutions/1114405023/11005/log.txt new file mode 100644 index 000000000..8623ca883 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11005/log.txt @@ -0,0 +1,17 @@ +=== Testing main.py === + +--- Test 1: all costs=1, N=1 --- +PASS + +--- Test 2: costs vary, N=10 --- +PASS + +=== Testing main_simple.py === + +--- Test 1: all costs=1, N=1 --- +PASS + +--- Test 2: costs vary, N=10 --- +PASS + +Overall: ALL PASS diff --git a/weeks/week-13/solutions/1114405023/11005/main.py b/weeks/week-13/solutions/1114405023/11005/main.py new file mode 100644 index 000000000..c8fa4a37e --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11005/main.py @@ -0,0 +1,67 @@ +""" +UVA 11005 - Cheapest Base +給定每個字元(0-9, A-Z)的印刷成本,找出將數字印在不同進位制下成本最低的進位制。 +""" + +import sys + + +def solve(): + input_data = sys.stdin.read().split() + idx = 0 + + def next_int(): + nonlocal idx + val = int(input_data[idx]) + idx += 1 + return val + + T = next_int() # 測試資料組數 + + for case_num in range(1, T + 1): + # 讀取 36 個字元的成本 (0-9, A-Z) + costs = [] + for _ in range(36): + costs.append(next_int()) + + Q = next_int() # 查詢數量 + queries = [] + for _ in range(Q): + queries.append(next_int()) + + if case_num > 1: + print() # 測試資料之間空一行 + + print(f"Case {case_num}:") + + for n in queries: + if n == 0: + # 0 在任何進位制下都是 "0" + min_cost = costs[0] + cheapest_bases = [] + for base in range(2, 37): + if costs[0] == min_cost: + cheapest_bases.append(base) + print(f"Cheapest base(s) for number {n}: {' '.join(map(str, cheapest_bases))}") + continue + + # 對每個進位制 2~36 計算成本 + base_costs = {} + for base in range(2, 37): + temp = n + total_cost = 0 + while temp > 0: + digit = temp % base + total_cost += costs[digit] + temp //= base + base_costs[base] = total_cost + + # 找出最低成本 + min_cost = min(base_costs.values()) + cheapest_bases = sorted([b for b, c in base_costs.items() if c == min_cost]) + + print(f"Cheapest base(s) for number {n}: {' '.join(map(str, cheapest_bases))}") + + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11005/main_simple.py b/weeks/week-13/solutions/1114405023/11005/main_simple.py new file mode 100644 index 000000000..b6faa13ce --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11005/main_simple.py @@ -0,0 +1,34 @@ +"""UVA 11005 - Cheapest Base (簡化版)""" +import sys + +def solve(): + data = sys.stdin.read().split() + idx = 0 + T = int(data[idx]); idx += 1 + for case in range(1, T + 1): + costs = [int(data[idx + i]) for i in range(36)] + idx += 36 + Q = int(data[idx]); idx += 1 + if case > 1: + print() + print(f"Case {case}:") + for _ in range(Q): + n = int(data[idx]); idx += 1 + if n == 0: + c = costs[0] + bases = [b for b in range(2, 37) if costs[0] == c] + print(f"Cheapest base(s) for number {n}: {' '.join(map(str, bases))}") + continue + bc = {} + for base in range(2, 37): + t, s = n, 0 + while t > 0: + s += costs[t % base] + t //= base + bc[base] = s + mn = min(bc.values()) + bases = sorted(b for b, c in bc.items() if c == mn) + print(f"Cheapest base(s) for number {n}: {' '.join(map(str, bases))}") + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11005/test.py b/weeks/week-13/solutions/1114405023/11005/test.py new file mode 100644 index 000000000..e56c456ef --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11005/test.py @@ -0,0 +1,74 @@ +"""自動測試 11005 - Cheapest Base""" +import subprocess +import sys +import os + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + +test_cases = [ + { + "name": "Test 1: all costs=1, N=1", + "input": "1\n" + " ".join(["1"] * 36) + "\n1\n1\n", + "expected": "Case 1:\nCheapest base(s) for number 1: 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36\n" + }, + { + "name": "Test 2: costs vary, N=10", + "input": "1\n" + " ".join(["1"] * 10) + " " + " ".join(["100"] * 26) + "\n1\n10\n", + "expected": "Case 1:\nCheapest base(s) for number 10: 4 5 6 7 8 9 10\n" + }, +] + + +def run_test(script, test_input, expected): + try: + result = subprocess.run( + [sys.executable, script], + input=test_input, + capture_output=True, + text=True, + timeout=10 + ) + actual = result.stdout + if actual.strip() == expected.strip(): + return True, actual + return False, actual + except Exception as e: + return False, str(e) + + +def main(): + log_lines = [] + all_pass = True + + for script_name in ["main.py", "main_simple.py"]: + script_path = os.path.join(SCRIPT_DIR, script_name) + log_lines.append(f"=== Testing {script_name} ===") + + for tc in test_cases: + log_lines.append(f"\n--- {tc['name']} ---") + passed, actual = run_test(script_path, tc["input"], tc["expected"]) + if passed: + log_lines.append("PASS") + else: + log_lines.append("FAIL") + log_lines.append(f"Expected:\n{tc['expected']}") + log_lines.append(f"Actual:\n{actual}") + all_pass = False + + log_lines.append("") + + status = "ALL PASS" if all_pass else "SOME FAIL" + log_lines.append(f"Overall: {status}") + + log_text = "\n".join(log_lines) + print(log_text) + + with open(os.path.join(SCRIPT_DIR, "log.txt"), "w") as f: + f.write(log_text + "\n") + + if not all_pass: + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/weeks/week-13/solutions/1114405023/11063/log.txt b/weeks/week-13/solutions/1114405023/11063/log.txt new file mode 100644 index 000000000..3f6dec088 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11063/log.txt @@ -0,0 +1,17 @@ +=== Testing main.py === + +--- Test 1: 2x2 image with pure colors --- +PASS + +--- Test 2: 1x1 image (single pixel black) --- +PASS + +=== Testing main_simple.py === + +--- Test 1: 2x2 image with pure colors --- +PASS + +--- Test 2: 1x1 image (single pixel black) --- +PASS + +Overall: ALL PASS diff --git a/weeks/week-13/solutions/1114405023/11063/main.py b/weeks/week-13/solutions/1114405023/11063/main.py new file mode 100644 index 000000000..b8358f5c2 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11063/main.py @@ -0,0 +1,55 @@ +""" +UVA 11063 - RGB to XYZ 色彩轉換 +將 RGB 像素轉換為 XYZ 表色系統,並計算平均亮度 Y。 +轉換公式: + X = 0.5149*R + 0.3244*G + 0.1607*B + Y = 0.2654*R + 0.6704*G + 0.0642*B + Z = 0.0248*R + 0.1248*G + 0.8504*B +""" + +import sys + + +def rgb_to_xyz(r, g, b): + """將 RGB 值轉換為 XYZ 值""" + x = 0.5149 * r + 0.3244 * g + 0.1607 * b + y = 0.2654 * r + 0.6704 * g + 0.0642 * b + z = 0.0248 * r + 0.1248 * g + 0.8504 * b + return x, y, z + + +def solve(): + input_data = sys.stdin.read().split() + idx = 0 + + def next_int(): + nonlocal idx + val = int(input_data[idx]) + idx += 1 + return val + + n = next_int() # 影像大小 n*n + + total_y = 0.0 + total_pixels = n * n + + # 逐行讀取像素並轉換 + for row in range(n): + for col in range(n): + r = next_int() + g = next_int() + b = next_int() + + x, y, z = rgb_to_xyz(r, g, b) + total_y += y + + # 輸出 XYZ,小數點後 4 位四捨五入 + print(f"{x:.4f} {y:.4f} {z:.4f}") + + # 計算並輸出平均亮度 + avg_y = total_y / total_pixels + print(f"The average of Y is {avg_y:.4f}") + + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11063/main_simple.py b/weeks/week-13/solutions/1114405023/11063/main_simple.py new file mode 100644 index 000000000..0517c2dec --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11063/main_simple.py @@ -0,0 +1,21 @@ +"""UVA 11063 - RGB to XYZ (簡化版)""" +import sys + +def solve(): + data = sys.stdin.read().split() + idx = 0 + n = int(data[idx]); idx += 1 + total_y = 0.0 + for _ in range(n * n): + r = int(data[idx]); idx += 1 + g = int(data[idx]); idx += 1 + b = int(data[idx]); idx += 1 + x = 0.5149*r + 0.3244*g + 0.1607*b + y = 0.2654*r + 0.6704*g + 0.0642*b + z = 0.0248*r + 0.1248*g + 0.8504*b + total_y += y + print(f"{x:.4f} {y:.4f} {z:.4f}") + print(f"The average of Y is {total_y/(n*n):.4f}") + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11063/test.py b/weeks/week-13/solutions/1114405023/11063/test.py new file mode 100644 index 000000000..9ba00487a --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11063/test.py @@ -0,0 +1,83 @@ +"""自動測試 11063 - RGB to XYZ""" +import subprocess +import sys +import os + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + +test_cases = [ + { + "name": "Test 1: 2x2 image with pure colors", + "input": "2\n255 0 0 0 255 0\n0 0 255 128 128 128\n", + "expected": ( + "131.2995 67.6770 6.3240\n" + "82.7220 170.9520 31.8240\n" + "40.9785 16.3710 216.8520\n" + "128.0000 128.0000 128.0000\n" + "The average of Y is 95.7500\n" + ) + }, + { + "name": "Test 2: 1x1 image (single pixel black)", + "input": "1\n0 0 0\n", + "expected": ( + "0.0000 0.0000 0.0000\n" + "The average of Y is 0.0000\n" + ) + }, +] + + +def run_test(script, test_input, expected): + try: + result = subprocess.run( + [sys.executable, script], + input=test_input, + capture_output=True, + text=True, + timeout=10 + ) + actual = result.stdout + if actual.strip() == expected.strip(): + return True, actual + return False, actual + except Exception as e: + return False, str(e) + + +def main(): + log_lines = [] + all_pass = True + + for script_name in ["main.py", "main_simple.py"]: + script_path = os.path.join(SCRIPT_DIR, script_name) + log_lines.append(f"=== Testing {script_name} ===") + + for tc in test_cases: + log_lines.append(f"\n--- {tc['name']} ---") + passed, actual = run_test(script_path, tc["input"], tc["expected"]) + if passed: + log_lines.append("PASS") + else: + log_lines.append("FAIL") + log_lines.append(f"Expected:\n{tc['expected']}") + log_lines.append(f"Actual:\n{actual}") + all_pass = False + + log_lines.append("") + + status = "ALL PASS" if all_pass else "SOME FAIL" + log_lines.append(f"Overall: {status}") + + log_text = "\n".join(log_lines) + print(log_text) + + with open(os.path.join(SCRIPT_DIR, "log.txt"), "w") as f: + f.write(log_text + "\n") + + if not all_pass: + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/weeks/week-13/solutions/1114405023/11150/log.txt b/weeks/week-13/solutions/1114405023/11150/log.txt new file mode 100644 index 000000000..9ef16fe9f --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11150/log.txt @@ -0,0 +1,17 @@ +=== Testing main.py === + +--- Test 1: L=10, S=2, T=3, stones at 2,3,5 --- +PASS + +--- Test 2: S=T=1, stones at 2,5,8 --- +PASS + +=== Testing main_simple.py === + +--- Test 1: L=10, S=2, T=3, stones at 2,3,5 --- +PASS + +--- Test 2: S=T=1, stones at 2,5,8 --- +PASS + +Overall: ALL PASS diff --git a/weeks/week-13/solutions/1114405023/11150/main.py b/weeks/week-13/solutions/1114405023/11150/main.py new file mode 100644 index 000000000..9602278cf --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11150/main.py @@ -0,0 +1,79 @@ +""" +UVA 11150 - 青蛙過河 (Frog Crossing) +青蛙從 0 跳到 L,每次跳 S~T 距離,橋上有 M 個石子。 +求最少踩到的石子數。 +使用路徑壓縮 + 動態規劃。 +""" + +import sys + + +def solve(): + input_data = sys.stdin.read().split() + idx = 0 + + def next_int(): + nonlocal idx + val = int(input_data[idx]) + idx += 1 + return val + + L = next_int() # 橋的長度 + S = next_int() # 最小跳躍距離 + T = next_int() # 最大跳躍距離 + M = next_int() # 石子數量 + + stones = set() + for _ in range(M): + stones.add(next_int()) + + # 特殊情況:S == T,青蛙每次跳固定距離 + if S == T: + count = 0 + for pos in stones: + if pos % S == 0: + count += 1 + print(count) + return + + # 路徑壓縮:將石子排序,壓縮過大的間隙 + sorted_stones = sorted(stones) + compressed = [0] # 起點 + + for i in range(len(sorted_stones)): + gap = sorted_stones[i] - (sorted_stones[i - 1] if i > 0 else 0) + # 壓縮間隙:最大保留 90(因為 T <= 10,90 足夠) + if gap > 90: + gap = 90 + compressed.append(compressed[-1] + gap) + + # 終點壓縮 + final_gap = L - sorted_stones[-1] + if final_gap > 90: + final_gap = 90 + compressed_L = compressed[-1] + final_gap + + # 建立壓縮後的石子位置集合 + compressed_stones = set(compressed[1:-1]) # 排除起點和終點 + + # DP:dp[i] = 到達位置 i 最少踩到的石子數 + INF = float('inf') + max_pos = compressed_L + T # 可能跳過終點 + dp = [INF] * (max_pos + 1) + dp[0] = 0 + + for i in range(1, max_pos + 1): + for jump in range(S, T + 1): + if i - jump >= 0 and dp[i - jump] != INF: + dp[i] = min(dp[i], dp[i - jump]) + # 如果位置 i 有石子,踩到石子數 +1 + if i in compressed_stones: + dp[i] += 1 + + # 答案:跳到或跳過終點的最小值 + answer = min(dp[compressed_L:compressed_L + T + 1]) + print(answer) + + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11150/main_simple.py b/weeks/week-13/solutions/1114405023/11150/main_simple.py new file mode 100644 index 000000000..7fcf2a2c6 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11150/main_simple.py @@ -0,0 +1,44 @@ +"""UVA 11150 - Frog Crossing (簡化版)""" +import sys + +def solve(): + data = sys.stdin.read().split() + idx = 0 + L = int(data[idx]); idx += 1 + S = int(data[idx]); idx += 1 + T = int(data[idx]); idx += 1 + M = int(data[idx]); idx += 1 + stones = set() + for _ in range(M): + stones.add(int(data[idx])); idx += 1 + + if S == T: + print(sum(1 for p in stones if p % S == 0)) + return + + sorted_stones = sorted(stones) + comp = [0] + for i in range(len(sorted_stones)): + gap = sorted_stones[i] - (sorted_stones[i-1] if i > 0 else 0) + if gap > 90: + gap = 90 + comp.append(comp[-1] + gap) + fg = L - sorted_stones[-1] + if fg > 90: + fg = 90 + cL = comp[-1] + fg + cStones = set(comp[1:-1]) + + INF = float('inf') + dp = [INF] * (cL + T + 1) + dp[0] = 0 + for i in range(1, cL + T + 1): + for j in range(S, T + 1): + if i - j >= 0 and dp[i-j] != INF: + dp[i] = min(dp[i], dp[i-j]) + if i in cStones: + dp[i] += 1 + print(min(dp[cL:cL+T+1])) + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11150/test.py b/weeks/week-13/solutions/1114405023/11150/test.py new file mode 100644 index 000000000..c81c0775b --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11150/test.py @@ -0,0 +1,74 @@ +"""自動測試 11150 - Frog Crossing""" +import subprocess +import sys +import os + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + +test_cases = [ + { + "name": "Test 1: L=10, S=2, T=3, stones at 2,3,5", + "input": "10\n2 3 3\n2 3 5\n", + "expected": "1\n" + }, + { + "name": "Test 2: S=T=1, stones at 2,5,8", + "input": "10\n1 1 3\n2 5 8\n", + "expected": "3\n" + }, +] + + +def run_test(script, test_input, expected): + try: + result = subprocess.run( + [sys.executable, script], + input=test_input, + capture_output=True, + text=True, + timeout=10 + ) + actual = result.stdout + if actual.strip() == expected.strip(): + return True, actual + return False, actual + except Exception as e: + return False, str(e) + + +def main(): + log_lines = [] + all_pass = True + + for script_name in ["main.py", "main_simple.py"]: + script_path = os.path.join(SCRIPT_DIR, script_name) + log_lines.append(f"=== Testing {script_name} ===") + + for tc in test_cases: + log_lines.append(f"\n--- {tc['name']} ---") + passed, actual = run_test(script_path, tc["input"], tc["expected"]) + if passed: + log_lines.append("PASS") + else: + log_lines.append("FAIL") + log_lines.append(f"Expected:\n{tc['expected']}") + log_lines.append(f"Actual:\n{actual}") + all_pass = False + + log_lines.append("") + + status = "ALL PASS" if all_pass else "SOME FAIL" + log_lines.append(f"Overall: {status}") + + log_text = "\n".join(log_lines) + print(log_text) + + with open(os.path.join(SCRIPT_DIR, "log.txt"), "w") as f: + f.write(log_text + "\n") + + if not all_pass: + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/weeks/week-13/solutions/1114405023/11321/log.txt b/weeks/week-13/solutions/1114405023/11321/log.txt new file mode 100644 index 000000000..8cec23ada --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11321/log.txt @@ -0,0 +1,17 @@ +=== Testing main.py === + +--- Test 1: 3x3, blocking column traps --- +PASS + +--- Test 2: 2x2, isolate start --- +PASS + +=== Testing main_simple.py === + +--- Test 1: 3x3, blocking column traps --- +PASS + +--- Test 2: 2x2, isolate start --- +PASS + +Overall: ALL PASS diff --git a/weeks/week-13/solutions/1114405023/11321/main.py b/weeks/week-13/solutions/1114405023/11321/main.py new file mode 100644 index 000000000..24ee0e0a0 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11321/main.py @@ -0,0 +1,74 @@ +""" +UVA 11321 - 陷阱放置 (Trap Placement) +在 N*M 的網格上依序放置陷阱,每次檢查放置後是否會封死所有從左到右的路徑。 +若不會封死則放置,否則不放。 +使用 BFS 檢查連通性。 +""" + +import sys +from collections import deque + + +def has_path(N, M, traps): + """檢查從左側(y=0)到右側(y=M-1)是否仍有路徑""" + # 起點:所有左側未被封鎖的格子 + visited = [[False] * M for _ in range(N)] + queue = deque() + + for x in range(N): + if (x, 0) not in traps: + visited[x][0] = True + queue.append((x, 0)) + + if not queue: + return False + + # BFS + directions = [(-1, 0), (1, 0), (0, -1), (0, 1)] + while queue: + x, y = queue.popleft() + if y == M - 1: # 到達右側 + return True + for dx, dy in directions: + nx, ny = x + dx, y + dy + if 0 <= nx < N and 0 <= ny < M and not visited[nx][ny] and (nx, ny) not in traps: + visited[nx][ny] = True + queue.append((nx, ny)) + + return False + + +def solve(): + input_data = sys.stdin.read().split() + idx = 0 + + def next_int(): + nonlocal idx + val = int(input_data[idx]) + idx += 1 + return val + + N = next_int() # 縱軸(列數) + M = next_int() # 橫軸(行數) + T = next_int() # 陷阱數量 + + traps = set() # 已放置的陷阱 + + for _ in range(T): + x = next_int() + y = next_int() + + # 嘗試放置陷阱 + traps.add((x, y)) + + if has_path(N, M, traps): + # 仍有路徑,保留陷阱 + print("<(_ _)>") + else: + # 封死了,移除陷阱 + traps.remove((x, y)) + print(">_<") + + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11321/main_simple.py b/weeks/week-13/solutions/1114405023/11321/main_simple.py new file mode 100644 index 000000000..dfcf37d37 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11321/main_simple.py @@ -0,0 +1,44 @@ +"""UVA 11321 - Trap Placement (簡化版)""" +import sys +from collections import deque + +def has_path(N, M, traps): + visited = [[False]*M for _ in range(N)] + q = deque() + for x in range(N): + if (x,0) not in traps: + visited[x][0] = True + q.append((x,0)) + if not q: + return False + dirs = [(-1,0),(1,0),(0,-1),(0,1)] + while q: + x, y = q.popleft() + if y == M-1: + return True + for dx, dy in dirs: + nx, ny = x+dx, y+dy + if 0<=nx") + else: + traps.remove((x,y)) + print(">_<") + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11321/test.py b/weeks/week-13/solutions/1114405023/11321/test.py new file mode 100644 index 000000000..bd6a4ec10 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11321/test.py @@ -0,0 +1,74 @@ +"""自動測試 11321 - Trap Placement""" +import subprocess +import sys +import os + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + +test_cases = [ + { + "name": "Test 1: 3x3, blocking column traps", + "input": "3 3 3\n0 1\n1 1\n2 1\n", + "expected": "<(_ _)>\n<(_ _)>\n>_<\n" + }, + { + "name": "Test 2: 2x2, isolate start", + "input": "2 2 2\n0 1\n1 0\n", + "expected": "<(_ _)>\n>_<\n" + }, +] + + +def run_test(script, test_input, expected): + try: + result = subprocess.run( + [sys.executable, script], + input=test_input, + capture_output=True, + text=True, + timeout=10 + ) + actual = result.stdout + if actual.strip() == expected.strip(): + return True, actual + return False, actual + except Exception as e: + return False, str(e) + + +def main(): + log_lines = [] + all_pass = True + + for script_name in ["main.py", "main_simple.py"]: + script_path = os.path.join(SCRIPT_DIR, script_name) + log_lines.append(f"=== Testing {script_name} ===") + + for tc in test_cases: + log_lines.append(f"\n--- {tc['name']} ---") + passed, actual = run_test(script_path, tc["input"], tc["expected"]) + if passed: + log_lines.append("PASS") + else: + log_lines.append("FAIL") + log_lines.append(f"Expected:\n{tc['expected']}") + log_lines.append(f"Actual:\n{actual}") + all_pass = False + + log_lines.append("") + + status = "ALL PASS" if all_pass else "SOME FAIL" + log_lines.append(f"Overall: {status}") + + log_text = "\n".join(log_lines) + print(log_text) + + with open(os.path.join(SCRIPT_DIR, "log.txt"), "w") as f: + f.write(log_text + "\n") + + if not all_pass: + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/weeks/week-13/solutions/1114405023/11332/log.txt b/weeks/week-13/solutions/1114405023/11332/log.txt new file mode 100644 index 000000000..6b69591f4 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11332/log.txt @@ -0,0 +1,17 @@ +=== Testing main.py === + +--- Test 1: 2 mirrors, one behind the other --- +PASS + +--- Test 2: 2 mirrors in different angular regions --- +PASS + +=== Testing main_simple.py === + +--- Test 1: 2 mirrors, one behind the other --- +PASS + +--- Test 2: 2 mirrors in different angular regions --- +PASS + +Overall: ALL PASS diff --git a/weeks/week-13/solutions/1114405023/11332/main.py b/weeks/week-13/solutions/1114405023/11332/main.py new file mode 100644 index 000000000..c3b2ec055 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11332/main.py @@ -0,0 +1,126 @@ +""" +UVA 11332 - 鏡子可見性 (Mirror Visibility) +從原點 (0,0) 判斷哪些鏡子(線段)可見。 +鏡子不會通過原點。 +演算法:計算每個鏡子的角度區間,依距離排序後檢查覆蓋情況。 +""" + +import sys +import math + + +def normalize_angle(a): + """將角度正規化到 [0, 2π)""" + a = a % (2 * math.pi) + if a < 0: + a += 2 * math.pi + return a + + +def get_angular_intervals(sx, sy, ex, ey): + """計算線段從原點看的角度區間(可能因繞界而分成兩個)""" + a1 = normalize_angle(math.atan2(sy, sx)) + a2 = normalize_angle(math.atan2(ey, ex)) + + lo = min(a1, a2) + hi = max(a1, a2) + + if hi - lo > math.pi: + # 繞界:分成兩個區間 + return [(hi, 2 * math.pi), (0, lo)] + else: + return [(lo, hi)] + + +def min_distance(sx, sy, ex, ey): + """計算線段到原點的最小距離""" + # 端點到原點的距離 + d1 = math.sqrt(sx * sx + sy * sy) + d2 = math.sqrt(ex * ex + ey * ey) + return min(d1, d2) + + +def merge_intervals(intervals): + """合併重疊的區間""" + if not intervals: + return [] + intervals.sort() + merged = [intervals[0]] + for start, end in intervals[1:]: + if start <= merged[-1][1]: + merged[-1] = (merged[-1][0], max(merged[-1][1], end)) + else: + merged.append((start, end)) + return merged + + +def is_fully_covered(new_intervals, covered): + """檢查新區間是否完全被已覆蓋區間覆蓋""" + for ns, ne in new_intervals: + # 檢查 [ns, ne] 是否完全被 covered 覆蓋 + current = ns + fully = False + for cs, ce in covered: + if cs > current: + break + if cs <= current <= ce: + current = max(current, ce) + if current >= ne: + fully = True + break + if not fully: + return False + return True + + +def solve(): + input_data = sys.stdin.read().split() + idx = 0 + + def next_int(): + nonlocal idx + val = int(input_data[idx]) + idx += 1 + return val + + results = [] + + while idx < len(input_data): + n = next_int() + if n == 0: + break + + mirrors = [] + for i in range(n): + sx = next_int() + sy = next_int() + ex = next_int() + ey = next_int() + intervals = get_angular_intervals(sx, sy, ex, ey) + dist = min_distance(sx, sy, ex, ey) + mirrors.append({ + 'idx': i, + 'intervals': intervals, + 'dist': dist + }) + + # 依距離排序(近的優先) + mirrors.sort(key=lambda m: (m['dist'], m['idx'])) + + visible = [False] * n + covered = [] # 已覆蓋的角度區間(合併後) + + for m in mirrors: + if not is_fully_covered(m['intervals'], covered): + visible[m['idx']] = True + # 將此鏡子的區間加入 covered + all_intervals = covered + m['intervals'] + covered = merge_intervals(all_intervals) + + results.append(''.join('1' if v else '0' for v in visible)) + + print('\n'.join(results)) + + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11332/main_simple.py b/weeks/week-13/solutions/1114405023/11332/main_simple.py new file mode 100644 index 000000000..f2d571ed4 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11332/main_simple.py @@ -0,0 +1,78 @@ +"""UVA 11332 - Mirror Visibility (簡化版)""" +import sys +import math + +def norm(a): + a = a % (2 * math.pi) + if a < 0: + a += 2 * math.pi + return a + +def get_intervals(sx, sy, ex, ey): + a1 = norm(math.atan2(sy, sx)) + a2 = norm(math.atan2(ey, ex)) + lo, hi = min(a1, a2), max(a1, a2) + if hi - lo > math.pi: + return [(hi, 2*math.pi), (0, lo)] + return [(lo, hi)] + +def min_dist(sx, sy, ex, ey): + return min(math.sqrt(sx*sx+sy*sy), math.sqrt(ex*ex+ey*ey)) + +def merge(ivs): + if not ivs: + return [] + ivs.sort() + m = [ivs[0]] + for s, e in ivs[1:]: + if s <= m[-1][1]: + m[-1] = (m[-1][0], max(m[-1][1], e)) + else: + m.append((s, e)) + return m + +def covered(new, cov): + for ns, ne in new: + cur = ns + ok = False + for cs, ce in cov: + if cs > cur: + break + if cs <= cur <= ce: + cur = max(cur, ce) + if cur >= ne: + ok = True + break + if not ok: + return False + return True + +def solve(): + data = sys.stdin.read().split() + idx = 0 + results = [] + while idx < len(data): + n = int(data[idx]); idx += 1 + if n == 0: + break + mirrors = [] + for i in range(n): + sx = int(data[idx]); idx += 1 + sy = int(data[idx]); idx += 1 + ex = int(data[idx]); idx += 1 + ey = int(data[idx]); idx += 1 + ivs = get_intervals(sx, sy, ex, ey) + d = min_dist(sx, sy, ex, ey) + mirrors.append((d, i, ivs)) + mirrors.sort() + vis = [False] * n + cov = [] + for d, i, ivs in mirrors: + if not covered(ivs, cov): + vis[i] = True + cov = merge(cov + ivs) + results.append(''.join('1' if v else '0' for v in vis)) + print('\n'.join(results)) + +if __name__ == "__main__": + solve() diff --git a/weeks/week-13/solutions/1114405023/11332/test.py b/weeks/week-13/solutions/1114405023/11332/test.py new file mode 100644 index 000000000..51bbc1b98 --- /dev/null +++ b/weeks/week-13/solutions/1114405023/11332/test.py @@ -0,0 +1,74 @@ +"""自動測試 11332 - Mirror Visibility""" +import subprocess +import sys +import os + +SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) + +test_cases = [ + { + "name": "Test 1: 2 mirrors, one behind the other", + "input": "2\n1 1 1 -1\n2 2 2 -2\n", + "expected": "10\n" + }, + { + "name": "Test 2: 2 mirrors in different angular regions", + "input": "2\n1 0 1 1\n-1 0 -1 1\n", + "expected": "11\n" + }, +] + + +def run_test(script, test_input, expected): + try: + result = subprocess.run( + [sys.executable, script], + input=test_input, + capture_output=True, + text=True, + timeout=10 + ) + actual = result.stdout + if actual.strip() == expected.strip(): + return True, actual + return False, actual + except Exception as e: + return False, str(e) + + +def main(): + log_lines = [] + all_pass = True + + for script_name in ["main.py", "main_simple.py"]: + script_path = os.path.join(SCRIPT_DIR, script_name) + log_lines.append(f"=== Testing {script_name} ===") + + for tc in test_cases: + log_lines.append(f"\n--- {tc['name']} ---") + passed, actual = run_test(script_path, tc["input"], tc["expected"]) + if passed: + log_lines.append("PASS") + else: + log_lines.append("FAIL") + log_lines.append(f"Expected:\n{tc['expected']}") + log_lines.append(f"Actual:\n{actual}") + all_pass = False + + log_lines.append("") + + status = "ALL PASS" if all_pass else "SOME FAIL" + log_lines.append(f"Overall: {status}") + + log_text = "\n".join(log_lines) + print(log_text) + + with open(os.path.join(SCRIPT_DIR, "log.txt"), "w") as f: + f.write(log_text + "\n") + + if not all_pass: + sys.exit(1) + + +if __name__ == "__main__": + main() From 65c8989b5a0a1eb3a7d5cd0234a5ec17f4b4ea77 Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 3 Jun 2026 13:47:18 +0800 Subject: [PATCH 02/20] save my local changes --- 2026-python | 1 + 1 file changed, 1 insertion(+) create mode 160000 2026-python diff --git a/2026-python b/2026-python new file mode 160000 index 000000000..de156bd96 --- /dev/null +++ b/2026-python @@ -0,0 +1 @@ +Subproject commit de156bd966f18db3df432419423227fd45419931 From 3a21b8389fdd2e14f3310b049fb2c5ae8a95f56b Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 3 Jun 2026 14:03:09 +0800 Subject: [PATCH 03/20] push --- 2026-python | 1 - 1 file changed, 1 deletion(-) delete mode 160000 2026-python diff --git a/2026-python b/2026-python deleted file mode 160000 index de156bd96..000000000 --- a/2026-python +++ /dev/null @@ -1 +0,0 @@ -Subproject commit de156bd966f18db3df432419423227fd45419931 From ba2b693b071280b81efebbcacaa3f68fb4303dd4 Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 17 Jun 2026 13:48:53 +0800 Subject: [PATCH 04/20] test: add timing tests --- .../solutions/1114405023/test_timing.py | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 weeks/week-17/solutions/1114405023/test_timing.py diff --git a/weeks/week-17/solutions/1114405023/test_timing.py b/weeks/week-17/solutions/1114405023/test_timing.py new file mode 100644 index 000000000..813ecd652 --- /dev/null +++ b/weeks/week-17/solutions/1114405023/test_timing.py @@ -0,0 +1,70 @@ +""" +Week 17 - 0617 timeit 測試檔 +紅燈階段:先寫測試,再建立 timing.py。 +""" + +import unittest + +from timing import timeit + + +class TestTimeitDecorator(unittest.TestCase): + def test_return_value_should_not_change(self): + """被裝飾函式的回傳值應該保持不變。""" + + @timeit() + def add(a, b): + """回傳兩數相加。""" + return a + b + + result = add(2, 3) + + self.assertEqual(result, 5) + + def test_repeat_one_should_create_one_record(self): + """repeat=1 時,records 應該只新增一筆時間紀錄。""" + + @timeit(repeat=1) + def get_number(): + return 10 + + result = get_number() + + self.assertEqual(result, 10) + self.assertEqual(len(get_number.records), 1) + self.assertIsInstance(get_number.last_elapsed, float) + + def test_default_repeat_should_create_three_records(self): + """預設 repeat=3,所以每次呼叫應該新增三筆時間紀錄。""" + + @timeit() + def get_number(): + return 100 + + get_number() + + self.assertEqual(len(get_number.records), 3) + self.assertIsInstance(get_number.last_elapsed, float) + + def test_invalid_repeat_should_raise_value_error(self): + """repeat < 1 時,應該使用 raise ValueError,不可以用 assert。""" + + with self.assertRaises(ValueError): + @timeit(repeat=0) + def bad_func(): + return 1 + + def test_should_keep_function_metadata(self): + """使用 functools.wraps 保留原函式的 __name__ 與 __doc__。""" + + @timeit() + def sample_func(): + """這是測試用函式。""" + return 1 + + self.assertEqual(sample_func.__name__, "sample_func") + self.assertEqual(sample_func.__doc__, "這是測試用函式。") + + +if __name__ == "__main__": + unittest.main() From fcba35ed726b0248fb1634f3e2ddfb12c5157452 Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 17 Jun 2026 13:52:11 +0800 Subject: [PATCH 05/20] feat: implement timing decorator --- weeks/week-17/solutions/1114405023/timing.py | 63 ++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 weeks/week-17/solutions/1114405023/timing.py diff --git a/weeks/week-17/solutions/1114405023/timing.py b/weeks/week-17/solutions/1114405023/timing.py new file mode 100644 index 000000000..18b974b17 --- /dev/null +++ b/weeks/week-17/solutions/1114405023/timing.py @@ -0,0 +1,63 @@ +""" +Week 17 - 0617 timing.py + +提供 timeit 裝飾器: +- 可用 @timeit() 或 @timeit(repeat=次數) +- 每次呼叫會實際執行 repeat 次 +- 每次耗時記錄到 wrapper.records +- 本次平均耗時記錄到 wrapper.last_elapsed +""" + +from functools import wraps +from time import perf_counter + + +def timeit(func=None, *, repeat=3): + """ + 計算函式執行時間的裝飾器。 + + Args: + func: 被裝飾的函式。 + repeat: 每次呼叫時要重複執行的次數,預設為 3。 + + Raises: + ValueError: repeat 小於 1 時拋出。 + + Returns: + 裝飾後的函式,且保留原本函式的回傳值。 + """ + # 輸入驗證要用 raise,不使用 assert,避免最佳化模式造成檢查失效。 + if repeat < 1: + raise ValueError("repeat must be greater than or equal to 1") + + def decorator(real_func): + @wraps(real_func) + def wrapper(*args, **kwargs): + total_elapsed = 0.0 + result = None + + for _ in range(repeat): + start = perf_counter() + result = real_func(*args, **kwargs) + end = perf_counter() + + elapsed = end - start + wrapper.records.append(elapsed) + total_elapsed += elapsed + + wrapper.last_elapsed = total_elapsed / repeat + return result + + # records 用來保存每一次實際執行的耗時紀錄。 + wrapper.records = [] + + # last_elapsed 用來保存最近一次呼叫的平均耗時。 + wrapper.last_elapsed = 0.0 + + return wrapper + + # 支援 @timeit 與 @timeit() 兩種寫法。 + if func is None: + return decorator + + return decorator(func) From 3bed95333a1eee7b00f155c523f6bc8794f76c64 Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 17 Jun 2026 13:58:25 +0800 Subject: [PATCH 06/20] feat: add search functions and benchmark --- .../solutions/1114405023/benchmark_search.py | 49 ++++++++++++ weeks/week-17/solutions/1114405023/search.py | 78 +++++++++++++++++++ .../solutions/1114405023/test_search.py | 60 ++++++++++++++ 3 files changed, 187 insertions(+) create mode 100644 weeks/week-17/solutions/1114405023/benchmark_search.py create mode 100644 weeks/week-17/solutions/1114405023/search.py create mode 100644 weeks/week-17/solutions/1114405023/test_search.py diff --git a/weeks/week-17/solutions/1114405023/benchmark_search.py b/weeks/week-17/solutions/1114405023/benchmark_search.py new file mode 100644 index 000000000..40f96f0cf --- /dev/null +++ b/weeks/week-17/solutions/1114405023/benchmark_search.py @@ -0,0 +1,49 @@ +""" +Week 17 - 0617 搜尋效能評估 + +執行方式: +python .\benchmark_search.py + +注意: +需要同一個資料夾內已經有 timing.py 與 search.py。 +""" + +from timing import timeit +from search import linear_search, binary_search + + +DATA_SIZE = 100000 +TARGET = DATA_SIZE - 1 + + +@timeit(repeat=5) +def run_linear_search(): + data = list(range(DATA_SIZE)) + return linear_search(data, TARGET) + + +@timeit(repeat=5) +def run_binary_search(): + data = list(range(DATA_SIZE)) + return binary_search(data, TARGET) + + +def main(): + linear_result = run_linear_search() + binary_result = run_binary_search() + + print("linear_search result:", linear_result) + print("linear_search records:", run_linear_search.records) + print("linear_search average:", run_linear_search.last_elapsed) + + print("binary_search result:", binary_result) + print("binary_search records:", run_binary_search.records) + print("binary_search average:", run_binary_search.last_elapsed) + + if run_binary_search.last_elapsed > 0: + ratio = run_linear_search.last_elapsed / run_binary_search.last_elapsed + print("linear / binary ratio:", ratio) + + +if __name__ == "__main__": + main() diff --git a/weeks/week-17/solutions/1114405023/search.py b/weeks/week-17/solutions/1114405023/search.py new file mode 100644 index 000000000..abf84c997 --- /dev/null +++ b/weeks/week-17/solutions/1114405023/search.py @@ -0,0 +1,78 @@ +""" +Week 17 - 0617 search.py + +提供兩種搜尋方式: +1. linear_search:線性搜尋 +2. binary_search:二分搜尋 + +注意: +binary_search 的前提是 data 必須已經由小到大排序。 +本版本若收到未排序資料,會 raise ValueError。 +""" + + +def _is_sorted(data): + """檢查資料是否已由小到大排序。""" + for i in range(len(data) - 1): + if data[i] > data[i + 1]: + return False + return True + + +def linear_search(data: list, target) -> int: + """ + 逐一比對資料,找到 target 就回傳 index,找不到回傳 -1。 + + Args: + data: 要搜尋的 list。 + target: 要尋找的目標值。 + + Returns: + int: 找到回傳 index,找不到回傳 -1。 + """ + for index, value in enumerate(data): + if value == target: + return index + + return -1 + + +def binary_search(data: list, target) -> int: + """ + 使用二分搜尋尋找 target。 + + 前提: + data 必須已經由小到大排序。 + + 未排序資料的行為: + 若 data 未排序,本函式會 raise ValueError, + 因為二分搜尋需要依靠排序結果判斷要往左半邊或右半邊尋找。 + + Args: + data: 已排序的 list。 + target: 要尋找的目標值。 + + Returns: + int: 找到回傳 index,找不到回傳 -1。 + + Raises: + ValueError: data 未排序時拋出。 + """ + if not _is_sorted(data): + raise ValueError("binary_search requires sorted data") + + left = 0 + right = len(data) - 1 + + while left <= right: + middle = (left + right) // 2 + + if data[middle] == target: + return middle + + if data[middle] < target: + left = middle + 1 + else: + right = middle - 1 + + return -1 diff --git a/weeks/week-17/solutions/1114405023/test_search.py b/weeks/week-17/solutions/1114405023/test_search.py new file mode 100644 index 000000000..43e8aa3ca --- /dev/null +++ b/weeks/week-17/solutions/1114405023/test_search.py @@ -0,0 +1,60 @@ +""" +Week 17 - 0617 search.py 測試檔 +""" + +import unittest + +from search import linear_search, binary_search + + +class TestSearchFunctions(unittest.TestCase): + def test_linear_search_empty_list_should_return_minus_one(self): + """空 list 找不到任何資料,應回傳 -1。""" + self.assertEqual(linear_search([], 10), -1) + + def test_linear_search_find_first_item(self): + """linear_search 可以找到第一個元素。""" + self.assertEqual(linear_search([1, 2, 3], 1), 0) + + def test_linear_search_find_last_item(self): + """linear_search 可以找到最後一個元素。""" + self.assertEqual(linear_search([1, 2, 3], 3), 2) + + def test_linear_search_not_found(self): + """linear_search 找不到時回傳 -1。""" + self.assertEqual(linear_search([1, 2, 3], 99), -1) + + def test_binary_search_empty_list_should_return_minus_one(self): + """空 list 進行 binary_search 時應回傳 -1。""" + self.assertEqual(binary_search([], 10), -1) + + def test_binary_search_find_first_item(self): + """binary_search 可以找到第一個元素。""" + self.assertEqual(binary_search([1, 2, 3, 4, 5], 1), 0) + + def test_binary_search_find_last_item(self): + """binary_search 可以找到最後一個元素。""" + self.assertEqual(binary_search([1, 2, 3, 4, 5], 5), 4) + + def test_binary_search_not_found(self): + """binary_search 找不到時回傳 -1。""" + self.assertEqual(binary_search([1, 2, 3, 4, 5], 99), -1) + + def test_binary_search_unsorted_data_should_raise_value_error(self): + """binary_search 收到未排序資料時應 raise ValueError。""" + with self.assertRaises(ValueError): + binary_search([3, 1, 2], 1) + + def test_search_should_not_modify_original_data(self): + """linear_search 與 binary_search 都不可以修改原本的 data。""" + data = [1, 2, 3, 4, 5] + original = data.copy() + + linear_search(data, 3) + binary_search(data, 3) + + self.assertEqual(data, original) + + +if __name__ == "__main__": + unittest.main() From 0db64cb1b994a6074895f7d0132ea214812ce72c Mon Sep 17 00:00:00 2001 From: bryan Date: Wed, 17 Jun 2026 14:04:14 +0800 Subject: [PATCH 07/20] push --- .../solutions/1114405023/benchmark_search.py | 49 ------------ weeks/week-17/solutions/1114405023/search.py | 78 ------------------- .../solutions/1114405023/test_search.py | 60 -------------- .../solutions/1114405023/test_timing.py | 70 ----------------- weeks/week-17/solutions/1114405023/timing.py | 63 --------------- 5 files changed, 320 deletions(-) delete mode 100644 weeks/week-17/solutions/1114405023/benchmark_search.py delete mode 100644 weeks/week-17/solutions/1114405023/search.py delete mode 100644 weeks/week-17/solutions/1114405023/test_search.py delete mode 100644 weeks/week-17/solutions/1114405023/test_timing.py delete mode 100644 weeks/week-17/solutions/1114405023/timing.py diff --git a/weeks/week-17/solutions/1114405023/benchmark_search.py b/weeks/week-17/solutions/1114405023/benchmark_search.py deleted file mode 100644 index 40f96f0cf..000000000 --- a/weeks/week-17/solutions/1114405023/benchmark_search.py +++ /dev/null @@ -1,49 +0,0 @@ -""" -Week 17 - 0617 搜尋效能評估 - -執行方式: -python .\benchmark_search.py - -注意: -需要同一個資料夾內已經有 timing.py 與 search.py。 -""" - -from timing import timeit -from search import linear_search, binary_search - - -DATA_SIZE = 100000 -TARGET = DATA_SIZE - 1 - - -@timeit(repeat=5) -def run_linear_search(): - data = list(range(DATA_SIZE)) - return linear_search(data, TARGET) - - -@timeit(repeat=5) -def run_binary_search(): - data = list(range(DATA_SIZE)) - return binary_search(data, TARGET) - - -def main(): - linear_result = run_linear_search() - binary_result = run_binary_search() - - print("linear_search result:", linear_result) - print("linear_search records:", run_linear_search.records) - print("linear_search average:", run_linear_search.last_elapsed) - - print("binary_search result:", binary_result) - print("binary_search records:", run_binary_search.records) - print("binary_search average:", run_binary_search.last_elapsed) - - if run_binary_search.last_elapsed > 0: - ratio = run_linear_search.last_elapsed / run_binary_search.last_elapsed - print("linear / binary ratio:", ratio) - - -if __name__ == "__main__": - main() diff --git a/weeks/week-17/solutions/1114405023/search.py b/weeks/week-17/solutions/1114405023/search.py deleted file mode 100644 index abf84c997..000000000 --- a/weeks/week-17/solutions/1114405023/search.py +++ /dev/null @@ -1,78 +0,0 @@ -""" -Week 17 - 0617 search.py - -提供兩種搜尋方式: -1. linear_search:線性搜尋 -2. binary_search:二分搜尋 - -注意: -binary_search 的前提是 data 必須已經由小到大排序。 -本版本若收到未排序資料,會 raise ValueError。 -""" - - -def _is_sorted(data): - """檢查資料是否已由小到大排序。""" - for i in range(len(data) - 1): - if data[i] > data[i + 1]: - return False - return True - - -def linear_search(data: list, target) -> int: - """ - 逐一比對資料,找到 target 就回傳 index,找不到回傳 -1。 - - Args: - data: 要搜尋的 list。 - target: 要尋找的目標值。 - - Returns: - int: 找到回傳 index,找不到回傳 -1。 - """ - for index, value in enumerate(data): - if value == target: - return index - - return -1 - - -def binary_search(data: list, target) -> int: - """ - 使用二分搜尋尋找 target。 - - 前提: - data 必須已經由小到大排序。 - - 未排序資料的行為: - 若 data 未排序,本函式會 raise ValueError, - 因為二分搜尋需要依靠排序結果判斷要往左半邊或右半邊尋找。 - - Args: - data: 已排序的 list。 - target: 要尋找的目標值。 - - Returns: - int: 找到回傳 index,找不到回傳 -1。 - - Raises: - ValueError: data 未排序時拋出。 - """ - if not _is_sorted(data): - raise ValueError("binary_search requires sorted data") - - left = 0 - right = len(data) - 1 - - while left <= right: - middle = (left + right) // 2 - - if data[middle] == target: - return middle - - if data[middle] < target: - left = middle + 1 - else: - right = middle - 1 - - return -1 diff --git a/weeks/week-17/solutions/1114405023/test_search.py b/weeks/week-17/solutions/1114405023/test_search.py deleted file mode 100644 index 43e8aa3ca..000000000 --- a/weeks/week-17/solutions/1114405023/test_search.py +++ /dev/null @@ -1,60 +0,0 @@ -""" -Week 17 - 0617 search.py 測試檔 -""" - -import unittest - -from search import linear_search, binary_search - - -class TestSearchFunctions(unittest.TestCase): - def test_linear_search_empty_list_should_return_minus_one(self): - """空 list 找不到任何資料,應回傳 -1。""" - self.assertEqual(linear_search([], 10), -1) - - def test_linear_search_find_first_item(self): - """linear_search 可以找到第一個元素。""" - self.assertEqual(linear_search([1, 2, 3], 1), 0) - - def test_linear_search_find_last_item(self): - """linear_search 可以找到最後一個元素。""" - self.assertEqual(linear_search([1, 2, 3], 3), 2) - - def test_linear_search_not_found(self): - """linear_search 找不到時回傳 -1。""" - self.assertEqual(linear_search([1, 2, 3], 99), -1) - - def test_binary_search_empty_list_should_return_minus_one(self): - """空 list 進行 binary_search 時應回傳 -1。""" - self.assertEqual(binary_search([], 10), -1) - - def test_binary_search_find_first_item(self): - """binary_search 可以找到第一個元素。""" - self.assertEqual(binary_search([1, 2, 3, 4, 5], 1), 0) - - def test_binary_search_find_last_item(self): - """binary_search 可以找到最後一個元素。""" - self.assertEqual(binary_search([1, 2, 3, 4, 5], 5), 4) - - def test_binary_search_not_found(self): - """binary_search 找不到時回傳 -1。""" - self.assertEqual(binary_search([1, 2, 3, 4, 5], 99), -1) - - def test_binary_search_unsorted_data_should_raise_value_error(self): - """binary_search 收到未排序資料時應 raise ValueError。""" - with self.assertRaises(ValueError): - binary_search([3, 1, 2], 1) - - def test_search_should_not_modify_original_data(self): - """linear_search 與 binary_search 都不可以修改原本的 data。""" - data = [1, 2, 3, 4, 5] - original = data.copy() - - linear_search(data, 3) - binary_search(data, 3) - - self.assertEqual(data, original) - - -if __name__ == "__main__": - unittest.main() diff --git a/weeks/week-17/solutions/1114405023/test_timing.py b/weeks/week-17/solutions/1114405023/test_timing.py deleted file mode 100644 index 813ecd652..000000000 --- a/weeks/week-17/solutions/1114405023/test_timing.py +++ /dev/null @@ -1,70 +0,0 @@ -""" -Week 17 - 0617 timeit 測試檔 -紅燈階段:先寫測試,再建立 timing.py。 -""" - -import unittest - -from timing import timeit - - -class TestTimeitDecorator(unittest.TestCase): - def test_return_value_should_not_change(self): - """被裝飾函式的回傳值應該保持不變。""" - - @timeit() - def add(a, b): - """回傳兩數相加。""" - return a + b - - result = add(2, 3) - - self.assertEqual(result, 5) - - def test_repeat_one_should_create_one_record(self): - """repeat=1 時,records 應該只新增一筆時間紀錄。""" - - @timeit(repeat=1) - def get_number(): - return 10 - - result = get_number() - - self.assertEqual(result, 10) - self.assertEqual(len(get_number.records), 1) - self.assertIsInstance(get_number.last_elapsed, float) - - def test_default_repeat_should_create_three_records(self): - """預設 repeat=3,所以每次呼叫應該新增三筆時間紀錄。""" - - @timeit() - def get_number(): - return 100 - - get_number() - - self.assertEqual(len(get_number.records), 3) - self.assertIsInstance(get_number.last_elapsed, float) - - def test_invalid_repeat_should_raise_value_error(self): - """repeat < 1 時,應該使用 raise ValueError,不可以用 assert。""" - - with self.assertRaises(ValueError): - @timeit(repeat=0) - def bad_func(): - return 1 - - def test_should_keep_function_metadata(self): - """使用 functools.wraps 保留原函式的 __name__ 與 __doc__。""" - - @timeit() - def sample_func(): - """這是測試用函式。""" - return 1 - - self.assertEqual(sample_func.__name__, "sample_func") - self.assertEqual(sample_func.__doc__, "這是測試用函式。") - - -if __name__ == "__main__": - unittest.main() diff --git a/weeks/week-17/solutions/1114405023/timing.py b/weeks/week-17/solutions/1114405023/timing.py deleted file mode 100644 index 18b974b17..000000000 --- a/weeks/week-17/solutions/1114405023/timing.py +++ /dev/null @@ -1,63 +0,0 @@ -""" -Week 17 - 0617 timing.py - -提供 timeit 裝飾器: -- 可用 @timeit() 或 @timeit(repeat=次數) -- 每次呼叫會實際執行 repeat 次 -- 每次耗時記錄到 wrapper.records -- 本次平均耗時記錄到 wrapper.last_elapsed -""" - -from functools import wraps -from time import perf_counter - - -def timeit(func=None, *, repeat=3): - """ - 計算函式執行時間的裝飾器。 - - Args: - func: 被裝飾的函式。 - repeat: 每次呼叫時要重複執行的次數,預設為 3。 - - Raises: - ValueError: repeat 小於 1 時拋出。 - - Returns: - 裝飾後的函式,且保留原本函式的回傳值。 - """ - # 輸入驗證要用 raise,不使用 assert,避免最佳化模式造成檢查失效。 - if repeat < 1: - raise ValueError("repeat must be greater than or equal to 1") - - def decorator(real_func): - @wraps(real_func) - def wrapper(*args, **kwargs): - total_elapsed = 0.0 - result = None - - for _ in range(repeat): - start = perf_counter() - result = real_func(*args, **kwargs) - end = perf_counter() - - elapsed = end - start - wrapper.records.append(elapsed) - total_elapsed += elapsed - - wrapper.last_elapsed = total_elapsed / repeat - return result - - # records 用來保存每一次實際執行的耗時紀錄。 - wrapper.records = [] - - # last_elapsed 用來保存最近一次呼叫的平均耗時。 - wrapper.last_elapsed = 0.0 - - return wrapper - - # 支援 @timeit 與 @timeit() 兩種寫法。 - if func is None: - return decorator - - return decorator(func) From 1579b032204ca59e63e5b2ca7fa93bea93687e27 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 18:29:25 +0800 Subject: [PATCH 08/20] test: add data cleaning tests --- .../1114405023/test_p1_data_cleaning.py | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/test_p1_data_cleaning.py diff --git a/weeks/week-18/solutions/1114405023/test_p1_data_cleaning.py b/weeks/week-18/solutions/1114405023/test_p1_data_cleaning.py new file mode 100644 index 000000000..6549413d8 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/test_p1_data_cleaning.py @@ -0,0 +1,33 @@ +""" +第一題測試:資料清理 +""" + +import unittest + +from p1_data_cleaning import clean_numbers, solve + + +class TestDataCleaning(unittest.TestCase): + def test_clean_numbers_should_remove_duplicates_filter_and_sort(self): + numbers = [10, 3, 10, 5, -5] + self.assertEqual(clean_numbers(numbers), [-5, 5, 10]) + + def test_clean_numbers_should_return_empty_when_no_match(self): + self.assertEqual(clean_numbers([1, 2, 3, 4]), []) + + def test_clean_numbers_should_not_modify_original_list(self): + numbers = [10, 5, 10, 3] + original = numbers.copy() + + clean_numbers(numbers) + + self.assertEqual(numbers, original) + + def test_solve_multiple_groups(self): + input_text = "5\n10 3 10 5 -5\n4\n1 2 3 4\n0\n" + expected = "-5 5 10\nNONE" + self.assertEqual(solve(input_text), expected) + + +if __name__ == "__main__": + unittest.main() From cab4722162e14021f01914fba01c078a930c39a7 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 18:31:25 +0800 Subject: [PATCH 09/20] feat: implement data cleaning --- .../solutions/1114405023/p1_data_cleaning.py | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/p1_data_cleaning.py diff --git a/weeks/week-18/solutions/1114405023/p1_data_cleaning.py b/weeks/week-18/solutions/1114405023/p1_data_cleaning.py new file mode 100644 index 000000000..6c7b242f8 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/p1_data_cleaning.py @@ -0,0 +1,63 @@ +""" +第一題:資料清理 Data Cleaning +學號後兩碼 23,個位數 u = 3,所以 D = 5。 + +需求: +1. 讀取多組整數序列。 +2. 每組先去除重複值,保留第一次出現順序。 +3. 只保留可以被 D 整除的數字。 +4. 將結果由小到大排序後輸出。 +5. 若結果為空,輸出 NONE。 +""" + +import sys + +D = 5 + + +def clean_numbers(numbers, divisor=D): + """去除重複、保留可被 divisor 整除的數字,最後排序。""" + seen = set() + unique_numbers = [] + + for value in numbers: + if value not in seen: + seen.add(value) + unique_numbers.append(value) + + filtered = [value for value in unique_numbers if value % divisor == 0] + return sorted(filtered) + + +def solve(input_text): + """處理題目的多組輸入格式。""" + tokens = input_text.split() + index = 0 + outputs = [] + + while index < len(tokens): + n = int(tokens[index]) + index += 1 + + if n == 0: + break + + numbers = [int(tokens[index + i]) for i in range(n)] + index += n + + result = clean_numbers(numbers) + + if result: + outputs.append(" ".join(str(value) for value in result)) + else: + outputs.append("NONE") + + return "\n".join(outputs) + + +def main(): + sys.stdout.write(solve(sys.stdin.read())) + + +if __name__ == "__main__": + main() From ee42df6d60983ee5af682c87e82df779c8e85cf3 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 18:38:48 +0800 Subject: [PATCH 10/20] test: add caesar cipher tests --- .../1114405023/test_p2_caesar_cipher.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/test_p2_caesar_cipher.py diff --git a/weeks/week-18/solutions/1114405023/test_p2_caesar_cipher.py b/weeks/week-18/solutions/1114405023/test_p2_caesar_cipher.py new file mode 100644 index 000000000..894ccca64 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/test_p2_caesar_cipher.py @@ -0,0 +1,27 @@ +""" +第二題測試:凱撒密碼 +""" + +import unittest + +from p2_caesar_cipher import caesar_cipher, shift_char + + +class TestCaesarCipher(unittest.TestCase): + def test_uppercase_should_wrap(self): + self.assertEqual(shift_char("Z"), "D") + + def test_lowercase_should_wrap(self): + self.assertEqual(shift_char("z"), "d") + + def test_non_letter_should_not_change(self): + self.assertEqual(caesar_cipher("123 !?"), "123 !?") + + def test_sample_with_shift_four(self): + input_text = "Hello, NPU!\nabc XYZ\n" + expected = "Lipps, RTY!\nefg BCD\n" + self.assertEqual(caesar_cipher(input_text), expected) + + +if __name__ == "__main__": + unittest.main() From 3f20ce609f3806f71d10c988e41c6dda3e1178d0 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 18:43:02 +0800 Subject: [PATCH 11/20] feat: implement caesar cipher --- .../solutions/1114405023/p2_caesar_cipher.py | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/p2_caesar_cipher.py diff --git a/weeks/week-18/solutions/1114405023/p2_caesar_cipher.py b/weeks/week-18/solutions/1114405023/p2_caesar_cipher.py new file mode 100644 index 000000000..95b014a2c --- /dev/null +++ b/weeks/week-18/solutions/1114405023/p2_caesar_cipher.py @@ -0,0 +1,43 @@ +""" +第二題:凱撒密碼 Caesar Cipher +學號後兩碼 23,個位數 u = 3,所以 SHIFT = 4。 + +需求: +1. 讀取多行文字直到 EOF。 +2. 大寫 A-Z 依 SHIFT 位移並循環。 +3. 小寫 a-z 依 SHIFT 位移並循環。 +4. 非英文字母保持不變。 +""" + +import sys + +SHIFT = 4 + + +def shift_char(ch, shift=SHIFT): + """位移單一字元;非英文字母保持不變。""" + if "A" <= ch <= "Z": + return chr((ord(ch) - ord("A") + shift) % 26 + ord("A")) + + if "a" <= ch <= "z": + return chr((ord(ch) - ord("a") + shift) % 26 + ord("a")) + + return ch + + +def caesar_cipher(text, shift=SHIFT): + """對整段文字套用凱撒位移。""" + return "".join(shift_char(ch, shift) for ch in text) + + +def solve(input_text): + """處理 EOF 前所有輸入。""" + return caesar_cipher(input_text) + + +def main(): + sys.stdout.write(solve(sys.stdin.read())) + + +if __name__ == "__main__": + main() From da0f87bf52335a9a20a09ff278e2e9ac73c854c7 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 18:48:02 +0800 Subject: [PATCH 12/20] test: add digit root tests --- .../1114405023/test_p3_digit_root_base.py | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/test_p3_digit_root_base.py diff --git a/weeks/week-18/solutions/1114405023/test_p3_digit_root_base.py b/weeks/week-18/solutions/1114405023/test_p3_digit_root_base.py new file mode 100644 index 000000000..418258262 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/test_p3_digit_root_base.py @@ -0,0 +1,32 @@ +""" +第三題測試:任意進位的數字根 +""" + +import unittest + +from p3_digit_root_base import digit_root, solve, sum_digits_in_base + + +class TestDigitRootBase(unittest.TestCase): + def test_zero_should_return_zero(self): + self.assertEqual(digit_root(0), 0) + + def test_value_smaller_than_base_should_return_itself(self): + self.assertEqual(digit_root(2), 2) + + def test_sum_digits_in_base_three(self): + # 8 的三進位是 22,所以 2 + 2 = 4 + self.assertEqual(sum_digits_in_base(8), 4) + + def test_digit_root_base_three(self): + # 8 -> base3: 22 -> 4;4 -> base3: 11 -> 2 + self.assertEqual(digit_root(8), 2) + + def test_solve_multiple_lines(self): + input_text = "0\n8\n63\n" + expected = "0\n2\n1" + self.assertEqual(solve(input_text), expected) + + +if __name__ == "__main__": + unittest.main() From d8c5f93b255fd7fff8197bd94361668c4ccfb383 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 19:15:26 +0800 Subject: [PATCH 13/20] feat: implement digit root --- .../1114405023/p3_digit_root_base.py | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/p3_digit_root_base.py diff --git a/weeks/week-18/solutions/1114405023/p3_digit_root_base.py b/weeks/week-18/solutions/1114405023/p3_digit_root_base.py new file mode 100644 index 000000000..cf382fb45 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/p3_digit_root_base.py @@ -0,0 +1,91 @@ +""" +第三題:任意進位的數字根 + +學號後兩碼 23,所以本題 base = 3。 + +需求: +1. 每行輸入一個十進位非負整數,直到 EOF。 +2. 將數字視為 base 進位下的數字,計算各位數字總和。 +3. 重複相加,直到結果小於 base。 +4. 輸出最後的數字根。 +""" + +import sys + +BASE = 3 + + +def sum_digits_in_base(value, base=BASE): + """ + 計算 value 在指定 base 下的各位數字總和。 + + 例如: + value = 8, base = 3 + 8 的三進位是 22 + 所以回傳 2 + 2 = 4 + """ + if value < 0: + raise ValueError("value must be non-negative") + + if value == 0: + return 0 + + total = 0 + + while value > 0: + total += value % base + value //= base + + return total + + +def digit_root(value, base=BASE): + """ + 計算任意進位的數字根。 + + Args: + value: 十進位非負整數。 + base: 進位基底,本題固定為 3。 + + Returns: + int: 最後小於 base 的數字根。 + + Raises: + ValueError: value 為負數時拋出。 + """ + if value < 0: + raise ValueError("value must be non-negative") + + while value >= base: + value = sum_digits_in_base(value, base) + + return value + + +def solve(input_text): + """ + 處理多行輸入直到 EOF。 + + 空行會略過。 + 每一行輸出一個數字根。 + """ + outputs = [] + + for line in input_text.splitlines(): + line = line.strip() + + if line == "": + continue + + value = int(line) + outputs.append(str(digit_root(value))) + + return "\n".join(outputs) + + +def main(): + sys.stdout.write(solve(sys.stdin.read())) + + +if __name__ == "__main__": + main() \ No newline at end of file From 10a70e6a401bd7a4c1cbe74a904581f7717f4e8b Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 19:16:58 +0800 Subject: [PATCH 14/20] test: add binary search performance tests --- .../1114405023/test_p4_binary_search_perf.py | 130 ++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/test_p4_binary_search_perf.py diff --git a/weeks/week-18/solutions/1114405023/test_p4_binary_search_perf.py b/weeks/week-18/solutions/1114405023/test_p4_binary_search_perf.py new file mode 100644 index 000000000..b7f0e11a0 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/test_p4_binary_search_perf.py @@ -0,0 +1,130 @@ +""" +第四題測試:二分搜尋效能 + +本題參數: +- 陣列大小至少 10^5 +- 搜尋目標 K = 123 +- 比較 linear search 與 binary search 的比較次數與搜尋時間 +""" + +import unittest + +from p4_binary_search_perf import ( + DATA_SIZE, + K, + make_test_data, + linear_search_with_count, + binary_search_with_count, + benchmark_search, +) + + +class TestBinarySearchPerformance(unittest.TestCase): + def test_data_size_should_be_at_least_100000(self): + """效能測試陣列長度至少要 10^5。""" + self.assertGreaterEqual(DATA_SIZE, 100000) + + def test_make_test_data_should_be_sorted_and_contain_target(self): + """測試資料要已排序,且包含 K = 123。""" + data = make_test_data() + + self.assertGreaterEqual(len(data), 100000) + self.assertIn(K, data) + self.assertEqual(data, sorted(data)) + + def test_linear_search_found_should_return_index_and_comparisons(self): + """linear search 找到目標時,要回傳 index 與比較次數。""" + data = [0, 0, 123] + + index, comparisons = linear_search_with_count(data, K) + + self.assertEqual(index, 2) + self.assertEqual(comparisons, 3) + + def test_linear_search_not_found_should_return_minus_one(self): + """linear search 找不到目標時,要回傳 -1 與比較次數。""" + data = [0, 0, 0] + + index, comparisons = linear_search_with_count(data, K) + + self.assertEqual(index, -1) + self.assertEqual(comparisons, 3) + + def test_binary_search_found_should_return_index_and_comparisons(self): + """binary search 找到目標時,要回傳 index 與比較次數。""" + data = [0, 0, 0, 123] + + index, comparisons = binary_search_with_count(data, K) + + self.assertEqual(index, 3) + self.assertGreaterEqual(comparisons, 1) + + def test_binary_search_not_found_should_return_minus_one(self): + """binary search 找不到目標時,要回傳 -1 與比較次數。""" + data = [0, 0, 0, 0] + + index, comparisons = binary_search_with_count(data, K) + + self.assertEqual(index, -1) + self.assertGreaterEqual(comparisons, 1) + + def test_binary_search_empty_list_should_return_minus_one(self): + """空 list 搜尋不到資料,應回傳 -1。""" + index, comparisons = binary_search_with_count([], K) + + self.assertEqual(index, -1) + self.assertEqual(comparisons, 0) + + def test_binary_search_unsorted_data_should_return_minus_one(self): + """未排序資料不 raise error,依本次規格回傳 -1。""" + data = [123, 0, 5] + + index, comparisons = binary_search_with_count(data, K) + + self.assertEqual(index, -1) + self.assertGreaterEqual(comparisons, 0) + + def test_binary_search_duplicate_target_can_return_any_matching_index(self): + """如果有兩個相同的目標值,找到任一個正確 index 即可。""" + data = [0, 0, 123, 123, 200] + + index, comparisons = binary_search_with_count(data, K) + + self.assertIn(index, [2, 3]) + self.assertEqual(data[index], K) + self.assertGreaterEqual(comparisons, 1) + + def test_search_functions_should_not_modify_original_data(self): + """兩種搜尋都不可以修改原始資料。""" + data = [0, 0, 123] + original = data.copy() + + linear_search_with_count(data, K) + binary_search_with_count(data, K) + + self.assertEqual(data, original) + + def test_benchmark_should_return_times_and_comparisons(self): + """benchmark 要回傳兩種搜尋法的時間與比較次數。""" + data = make_test_data() + + result = benchmark_search(data, K, repeat=3) + + self.assertIn("linear_index", result) + self.assertIn("linear_comparisons", result) + self.assertIn("linear_time", result) + self.assertIn("binary_index", result) + self.assertIn("binary_comparisons", result) + self.assertIn("binary_time", result) + + self.assertIsInstance(result["linear_time"], float) + self.assertIsInstance(result["binary_time"], float) + self.assertGreaterEqual(result["linear_time"], 0) + self.assertGreaterEqual(result["binary_time"], 0) + + self.assertGreaterEqual(result["linear_comparisons"], 1) + self.assertGreaterEqual(result["binary_comparisons"], 1) + + +if __name__ == "__main__": + unittest.main() \ No newline at end of file From 5e38f4c36b1123b6b8f23fae66dd6f1fcae39196 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 19:49:06 +0800 Subject: [PATCH 15/20] feat: compare search cases and generate radar chart --- .../solutions/1114405023/assets/radar.png | Bin 0 -> 117345 bytes .../1114405023/p4_binary_search_perf.py | 416 ++++++++++++++++++ 2 files changed, 416 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/assets/radar.png create mode 100644 weeks/week-18/solutions/1114405023/p4_binary_search_perf.py diff --git a/weeks/week-18/solutions/1114405023/assets/radar.png b/weeks/week-18/solutions/1114405023/assets/radar.png new file mode 100644 index 0000000000000000000000000000000000000000..f18ec38802dc4a3174010d5648e5a477fb24a3d9 GIT binary patch literal 117345 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 literal 0 HcmV?d00001 diff --git a/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py b/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py new file mode 100644 index 000000000..3b4a4036e --- /dev/null +++ b/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py @@ -0,0 +1,416 @@ +""" +第四題:二分搜尋效能 + +本題參數: +- 陣列大小至少 10^5 +- 搜尋目標 K = 123 +- 測試資料使用升冪陣列 +- 比較 linear search 與 binary search 的比較次數與搜尋時間 +- 分別測 best、middle、worst、not_found 四種情境 +- 執行主程式時會自動產生 assets/radar.png + +設計重點: +1. 資料先建立好,不把建立資料算進搜尋時間。 +2. 搜尋函式找到目標後立刻 return。 +3. benchmark 只量搜尋函式本身。 +4. binary search 的前提是資料已排序。 +""" + +import math +import sys +from pathlib import Path +from time import perf_counter + + + +DATA_SIZE = 100000 +K = 123 + + +def make_test_data_with_target_at(target_index, size=DATA_SIZE, target=K): + """ + 建立升冪測試資料,並讓 target 出現在指定 index。 + + Args: + target_index: 目標值要出現的位置。 + size: 陣列長度。 + target: 搜尋目標。 + + Returns: + list[int]: 升冪整數陣列。 + """ + if size < 1: + return [] + + if target_index < 0 or target_index >= size: + raise ValueError("target_index out of range") + + start = target - target_index + return list(range(start, start + size)) + + +def make_test_data(size=DATA_SIZE, target=K): + """ + 建立預設測試資料。 + + 預設讓 target 位於最後一個位置,也就是 worst case。 + """ + return make_test_data_with_target_at(size - 1, size, target) + + +def make_not_found_data(size=DATA_SIZE, target=K): + """ + 建立 not_found 測試資料。 + + 資料長度至少 10^5,且保持升冪。 + 所有資料都大於 target,所以 target 不存在於陣列中。 + """ + if size < 1: + return [] + + return list(range(target + 1, target + 1 + size)) + + +def is_ascending(data): + """ + 檢查資料是否為升冪。 + + 這裡使用非遞減判斷: + 例如 [1, 2, 2, 3] 也視為可搜尋的排序資料。 + """ + for index in range(len(data) - 1): + if data[index] > data[index + 1]: + return False + + return True + + +def linear_search_with_count(data, target=K): + """ + 線性搜尋。 + + Returns: + tuple[int, int]: + 找到時回傳 (index, comparison_count) + 找不到時回傳 (-1, comparison_count) + """ + comparisons = 0 + + for index, value in enumerate(data): + comparisons += 1 + + if value == target: + return index, comparisons + + return -1, comparisons + + +def binary_search_with_count(data, target=K, check_sorted=True): + """ + 二分搜尋。 + + binary search 的前提是 data 已排序。 + 若 check_sorted=True,會先檢查資料是否升冪。 + 若資料未排序,依本次規格回傳 (-1, 0)。 + + Returns: + tuple[int, int]: + 找到時回傳 (index, comparison_count) + 找不到時回傳 (-1, comparison_count) + """ + if check_sorted and not is_ascending(data): + return -1, 0 + + left = 0 + right = len(data) - 1 + comparisons = 0 + + while left <= right: + middle = (left + right) // 2 + comparisons += 1 + + if data[middle] == target: + return middle, comparisons + + if data[middle] < target: + left = middle + 1 + else: + right = middle - 1 + + return -1, comparisons + + +def average_time(func, repeat=5): + """ + 計算函式平均執行時間。 + + Args: + func: 不需要參數的函式。 + repeat: 重複執行次數。 + + Returns: + tuple[object, float]: + 回傳最後一次執行結果,以及平均時間。 + """ + if repeat < 1: + raise ValueError("repeat must be >= 1") + + result = None + total_time = 0.0 + + for _ in range(repeat): + start = perf_counter() + result = func() + end = perf_counter() + + total_time += end - start + + average = total_time / repeat + return result, average + + +def benchmark_search(data, target=K, repeat=5): + """ + 比較 linear search 與 binary search 的時間與比較次數。 + + 注意: + data 應該先在外部建立好。 + benchmark 不把資料建立、輸入、輸出算進搜尋時間。 + + binary search 在 benchmark 裡不重複檢查排序, + 因為測試資料已由產生函式保證升冪。 + """ + linear_result, linear_time = average_time( + lambda: linear_search_with_count(data, target), + repeat=repeat, + ) + + binary_result, binary_time = average_time( + lambda: binary_search_with_count(data, target, check_sorted=False), + repeat=repeat, + ) + + linear_index, linear_comparisons = linear_result + binary_index, binary_comparisons = binary_result + + return { + "linear_index": linear_index, + "linear_comparisons": linear_comparisons, + "linear_time": linear_time, + "binary_index": binary_index, + "binary_comparisons": binary_comparisons, + "binary_time": binary_time, + } + + +def benchmark_cases(size=DATA_SIZE, target=K, repeat=5): + """ + 比較 best / middle / worst / not_found 四種情境。 + """ + case_specs = [ + ("best", make_test_data_with_target_at(0, size, target), 0), + ("middle", make_test_data_with_target_at(size // 2, size, target), size // 2), + ("worst", make_test_data_with_target_at(size - 1, size, target), size - 1), + ("not_found", make_not_found_data(size, target), -1), + ] + + results = [] + + for case_name, data, target_index in case_specs: + result = benchmark_search(data, target, repeat) + + results.append( + { + "case": case_name, + "data_size": len(data), + "target": target, + "target_index": target_index, + **result, + } + ) + + return results + + +def format_case_result(result): + """ + 將單一 case 的 benchmark 結果格式化成文字。 + """ + lines = [ + f"case={result['case']}", + f"data_size={result['data_size']}", + f"target={result['target']}", + f"target_index={result['target_index']}", + f"linear_index={result['linear_index']}", + f"linear_comparisons={result['linear_comparisons']}", + f"linear_time={result['linear_time']}", + f"binary_index={result['binary_index']}", + f"binary_comparisons={result['binary_comparisons']}", + f"binary_time={result['binary_time']}", + ] + + return "\n".join(lines) + + +def normalize_smaller_better(value, best_value): + """ + 越小越好的正規化。 + + score = best_value / value + + 同一個維度中,數值最小者分數為 1.0。 + """ + if value <= 0: + return 0.0 + + return best_value / value + + +def build_radar_scores(results): + """ + 將 best / middle / worst / not_found 的 benchmark 結果轉成雷達圖分數。 + """ + labels = [ + "BestCmp", + "MiddleCmp", + "WorstCmp", + "NotFoundCmp", + "BestTime", + "MiddleTime", + "WorstTime", + "NotFoundTime", + ] + + case_map = {item["case"]: item for item in results} + + linear_values = [ + case_map["best"]["linear_comparisons"], + case_map["middle"]["linear_comparisons"], + case_map["worst"]["linear_comparisons"], + case_map["not_found"]["linear_comparisons"], + case_map["best"]["linear_time"], + case_map["middle"]["linear_time"], + case_map["worst"]["linear_time"], + case_map["not_found"]["linear_time"], + ] + + binary_values = [ + case_map["best"]["binary_comparisons"], + case_map["middle"]["binary_comparisons"], + case_map["worst"]["binary_comparisons"], + case_map["not_found"]["binary_comparisons"], + case_map["best"]["binary_time"], + case_map["middle"]["binary_time"], + case_map["worst"]["binary_time"], + case_map["not_found"]["binary_time"], + ] + + linear_scores = [] + binary_scores = [] + + for linear_value, binary_value in zip(linear_values, binary_values): + best_value = min(linear_value, binary_value) + + linear_scores.append(normalize_smaller_better(linear_value, best_value)) + binary_scores.append(normalize_smaller_better(binary_value, best_value)) + + return labels, linear_scores, binary_scores + + +def save_radar_chart(results, output_path="assets/radar.png"): + """ + 依照 benchmark 結果產生雷達圖。 + """ + import matplotlib + + matplotlib.use("Agg") + + import matplotlib.pyplot as plt + + labels, linear_scores, binary_scores = build_radar_scores(results) + + count = len(labels) + angles = [2 * math.pi * i / count for i in range(count)] + + # 雷達圖需要首尾閉合。 + angles_closed = angles + [angles[0]] + linear_closed = linear_scores + [linear_scores[0]] + binary_closed = binary_scores + [binary_scores[0]] + + fig = plt.figure(figsize=(8, 8)) + ax = fig.add_subplot(111, polar=True) + + ax.plot(angles_closed, linear_closed, marker="o", label="Linear Search") + ax.fill(angles_closed, linear_closed, alpha=0.15) + + ax.plot(angles_closed, binary_closed, marker="o", label="Binary Search") + ax.fill(angles_closed, binary_closed, alpha=0.15) + + ax.set_xticks(angles) + ax.set_xticklabels(labels) + ax.set_ylim(0, 1.05) + ax.set_title("Search Performance Radar") + ax.legend(loc="upper right", bbox_to_anchor=(1.25, 1.10)) + + output_path = Path(output_path) + output_path.parent.mkdir(parents=True, exist_ok=True) + + fig.savefig(output_path, bbox_inches="tight") + plt.close(fig) + + return output_path + + +def solve(input_text): + """ + 處理手動輸入。 + + 若沒有輸入: + 自動執行 best / middle / worst / not_found 四種情境, + 每組資料長度皆為 100000, + 並產生 assets/radar.png。 + + 若有輸入: + 輸入格式為: + 第一行 n + 第二行 n 個升冪整數 + + 這時只針對該組資料做一次 benchmark。 + """ + tokens = input_text.split() + + if tokens: + n = int(tokens[0]) + data = [int(value) for value in tokens[1 : 1 + n]] + + result = benchmark_search(data, K, repeat=5) + + output_lines = [ + "case=custom", + f"data_size={len(data)}", + f"target={K}", + f"linear_index={result['linear_index']}", + f"linear_comparisons={result['linear_comparisons']}", + f"linear_time={result['linear_time']}", + f"binary_index={result['binary_index']}", + f"binary_comparisons={result['binary_comparisons']}", + f"binary_time={result['binary_time']}", + ] + + return "\n".join(output_lines) + + results = benchmark_cases(DATA_SIZE, K, repeat=5) + blocks = [format_case_result(result) for result in results] + + radar_path = save_radar_chart(results) + blocks.append(f"radar={radar_path}") + + return "\n\n".join(blocks) + + +def main(): + sys.stdout.write(solve(sys.stdin.read())) + + +if __name__ == "__main__": + main() \ No newline at end of file From c5222c3c087c11cea132643b3dd14aa4bd636045 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 20:00:52 +0800 Subject: [PATCH 16/20] refactor: use timeit for search benchmark --- .../solutions/1114405023/assets/radar.png | Bin 117345 -> 117115 bytes .../1114405023/p4_binary_search_perf.py | 45 ++++++------------ 2 files changed, 15 insertions(+), 30 deletions(-) diff --git a/weeks/week-18/solutions/1114405023/assets/radar.png b/weeks/week-18/solutions/1114405023/assets/radar.png index f18ec38802dc4a3174010d5648e5a477fb24a3d9..ad1cc72e1a5bf233b48d2aa43eb2a2a655187239 100644 GIT binary patch literal 117115 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 literal 117345 zcmbTecQ}{(A3shiDoRqx2&Y6OG7=ftWhQ%T*clmFp-`w$Mnaj{tH>rvrOaeyQ}#|q z_V00@&-s3TfBvrPcdo0ea^BtV`+kk*^RZrc;AItgs@?RvNk~YjE?tzlLPA0&MMAQz zfnq0qvaPAP0lx`5$?7<%+nG7JTy-!dQNHSAf78zCrsXx3+oleVmUg!Mr-e`RonoTP_o4Zuc+!=WxET6>j(1%)zg4K^& zN`S>ou$P4R6aJcJOXK&yKT%T!Z)g4APi1_MNnZT-vlPt(7pZY0|Ngsk|6d<{-r+>{ zzl#+|SD9Q$ZE17jmtneb_3AyXOzxKJY!thQ>jdaYs?lD#a^*{Xeb#tNfJl93=Mhy^ zRRQ`2Zf5rXzPEKZ8*AFFU!Q+;b@eS>&^}JIqCCPklv1gxqB3%i{Ak+uvl<`Uv-QWj zi+FN!a_~$vbaY?-{{GcGxhUBCmXmmBHH8~Dj_;FL=Y99?osO>V;NYO7tLr(QiiIo6 zLetMy7sjP6EG$ZjmY0|1lbWB~E-fuNO?O4iR&Kqc(NFKnGu`u2#Q8&Gqe>&KmQQBC zP>`H&Qqr;BG8gmV+K7mExw{UW7?_YWTg4(MxJTiSZn%$y?gh% zy1VnaFIcp636pde+DIogzjpg$CgMEd7ZGvr{OzgY92@WT-{eL{M)fg5A>Y1Tjux_0 z+1lLDEw*QU_UxHv-_fMzFKe@vs*etFzs}41(9sd;(&v_{!O#>d=26#?@y~IremrtkKG=H}+5&XaOQw!L&` zZ_>q_wfWH8{4_*jv-pGaq?5>kyV#{mmtLi&{+X-Z=h!5+{4HBw$iTpWQ^Uo%Ql;Rj zzdw0zsq-;W(HG50@_#0CE4R%pb{Kcq*V$&r$H%9{u*hU5bL?LEw941(u-my_&*cS! zC(X0)2BX8WDhWACi<*n(6OWJZyRHmJ3OkKaOG-*UrWdSjm3CMdQ(Ik}tofE8E$lEv zf%*Lz=e;=?WgdIR#@N81{)MpPxjTP(tvhmtdrBOYp7RctZj`T1WY)htA9;XX!25ewLORP_a`_yFE`DliQhifcsI|Vn z9xl)9sSy|y#JyPj>Cs`XyLp&S)1My$AC{GsZR6OnW5>fpj@tR*x(M6e(v!Du-+uV= z<;(9mhUZNOKip55_E?_DerwyS*O_k~;?QB}auN$i;lhQxd@eHvpGg?B)#{ze(*AoN1_cGt(9>tEFLm1`PXq@Bs+~}J9{<*&S?bN3 zH)`b-6%qbN-7jLUzEH*WV`#%WjJ*wi&(B|BWMmBYm?@DLcAFn^&K$ba#=qR<@q=BbTY&7ozw~Yn_LQ z=hZ8`shct7&+K&>&mjJ(rA3{X2OnSG2+Nj~lO-i39X6G&zpt@zaC})1=P@kRI3nS7 zCw*B-jn;H&s#78Iv?1-`!-qdrRY{J2OYqIJAC&rJA@I!I;A{U6Rf&yPZ|(Yx-sI(7 zNl}i`N*U#lk-mKSa=eVJY?S!&pNCEl``=OtI@ED}k0|N=RTHAUbKlWBE&XJ*O%hvK z91jy;oOe+nRq*s?lJGJh4aYjf&p3X44pNVG{TX=0dFsa-=`;NN{1swrG=k`UzUMlgv%!H_@O#V~8o=FHLustj&~tt*!l8Hv8^6y3VZsL9>m#}N=!c@h-PPAp}=9^JrcMf-&$C)<15bh9L!apyc zujLY5?s2@?^)^ucsM{-pCRGZxBE#PEzlMi*n9wT}dT)6>JEiMWQBg78o@*@eSnk+p z<4dxEfhu3hqoQ;Y5)#<7V=bxs-a97=p))zv-L@#uJH%t8Bqg=&&qzaccXteWjz5Y` z*ozki$jEG!9Kk@J|`np@_%@C()%J*OQNW zFHPynX0~x&|NOYbw3{fLB!DwF(&wK%p-wig^eXb4@$&Mjy-P|)`%)zpE01UmwE#c| zFSrdyXw%|ry*5@)D#x7Vc1}S(7)Ccy%gWA1ot)~aDuNM_qLrBLaQAh5&%q0U0Rfk3Wj8$Rot!jgN+)wB z-Q{x*F*0U3jeV1B9#@FF=Q)<(Ps_uT+r2bKT8lN1jVDSjF4hSQ4%XU9MgIybKir)= z$5ep+ARhN-|2sp{@M`~kTqrp^eI<#~k6~9RIDhu6)|=O_i*w}1tnl;Zai>~+yNcxE zl9Gt7K6J5WtAg5e^;FxHJAM{vIbx6O1n48m|1pfR)mJs*P*-hg4?A3|(Vs1zpQ9Oj zG{KjAU$j@;)29g}wM46tRg*Xn=eeZIcH+cHslJ-pQ)1?d%gVTtk(cN9Ty^StYk7U5sn9kx`#||AjgqlZ9P5mBIMXXV`wdtahr%v6dd&VugK35HF{mi|OY$s*> z>(@^JfBWZ4dX$Wejy`?*l#<~rrH6-ydWlx1X;1O3{7T!06>DY<_-zCYF|gB_+aGSsy=s?3t^e7qGaTzQ$%g ztuWD3V12l=vr}|qp+(4Wcn$UPg{WKTnd_gQciAsaM!$G*r@AlA+Vl6P!?=4~=hEfN z)Rh}c3|!hdrxx|@x;IY)SN~pEkjZSjcJ=Dj=&Zyc;aCyphp%28mkT*+n9+;v1AM(v z>bV6F*W)o;aZXq`Y68ly}G&;H#SCt1;-L-dbPWe%q z_n$uP;NjtExj~`X7W@AF1u&~0d8UfV1sf_+9Y134Qx|BZs=QR{?GSkxj7k0dl|7Ev zu1}PJ|M&MCCK>A~`9oDC#9!tRYzo+Zvor606ubqYClWg*(R@kw96D7z zxYV(Cv1|zwEGM_~VPenRZ?-`;ZtiR)=d#jLBW*KFOE*KeuYWjCmGhN-f5h|d%V?Z; z<6Fy?vEDMF)2B~AkBa(@7TP~2SiZD)I_hZQ&>K^?S%uAKMqVqX_%+NRJ|ZX0kt=xZ zBZZOM@IfaLCi#$~rl4X3U}rpMe;1>2fofRHW9eg8S9DRoS4@073rME0_ogT+zhFVx zP{Go|LbfCfu|M$0+>HvwlWw*I!%l|Yw=j!Wjo$#Y} zk+V*@+Www;)2@?L;Ih?sztD^P)+Q8s`5C*;p-FXcua8emJj~6VW$F;L=@I}(_#A#x z{kfj4h>9BK1xnz!%z*Rr^f!orWIm*sDH@VdqdEFFVoLKf94do zKO?k<4$W^Y_d8-iw73{*7S!Nbi1|cIzJ`Swa#W0%pPCS6^Y5=N4ZDlGD1iF@d=u@s$No|YD{u&}^j>o~1j z96ISpLqjw7`*->`#}X!X_SBf*)Z4diomu?WljXw6!V=%Qkr%6WY8NBhuQ$0`4pgdN zt-Vs6`vU=se*d^0@*Cjt8KPm)&cD)wrSGLL5RrdZYnU9Sf3+9bs;`y zZEdZ-($M}O<7u&_;8tcqwf0+2K+|5xgm~mHHoC{FKAolL4#Ma6_Y;l6{bu505ltqdA zi-qYrk)8_N^8pnRM>NrcRYLZaZk zq@wa}@W^B+t2A510YI~AKqPRe9*4h?a!HbE;gg3#^^5JVrtg`s8wT}|&up6?jx?q@ zdeo>r^~yNbDj`Xb?>qX+rn@k?T|15A{Q2{xx2J2P1+D*rR)Ro~zPAv_yV=PXebz>g zyE+{rjq_|%A@hwOZ;j8ypsPz}R!~V2JqY7?tz|)Z$%~ltXia)g3!t zKO{yXL~MypG4eFqKmYj5&DpnX=6VKqsJ!V#Jt;3Q*C}ye<9YWt(Xy<#_}uO3E={X| z1QfBJ9>#1fYfdf>j)BUp4ZCEq!>lr$i~AOTzN1!MdZ9RaO@%dxDQlc&K+jZ6GF~Oe zA@hBbf#AWS%E~Qgbw@miv35JkjTbm(OuMjED~DVVy>knJWmA>Z@4AeAOHhi_)@(b9 zg7Le~Z82@=fgxv(F~i|E$+pS!Dr3+?)L zDDjkyv0{pl0dC#81>U%4sxzM)Urr$BUt?nzbB!wg4*2e~cX6rd?~em>`U6lIQQ}{P zzk!Io6m}c|k9nV_mSpeX@DI3eYilb*W4o5-NK;&sp-ZnUD)LI@)|$ln#>UsLUk7pf zS;m!{5BMKOv;jnwfT4|H4gqKR(3tL^!!Vw|{WyY4TT4;(gY-VJkD+Xe6npokV1lRm zE8{>{^@?hVYUJYK#sZ}`8ACF*Wh3k#zq+A9l+s8{LZK3M_um%mz}x#VSBWI zrIfq72)oJ)3<%l!toIgI$L45#RCR`C=5t}k6W*IE>}a<&pFZ7Bjdgzr@QXEG1#XSY z*{4s}*VjMiH{T2K;vAuIq2Zk1=MMw3HWo6N0i+xH6(T{XJEFfo9(a|U{2R5Y{V(Ud zl)w!=eyYKSTxL%0j|KnACw;EJs8E{^i?0kF2n`E6$;tVluI>@>2)Or{)33>$In*y+ zqyRo8lrP$Y2L}NofT0zgt#ftW_+Y2S0{$PYFj7TjL;06*ovR|R>&YRQ2X>$Ei|?&yCF`38T!@;Zo}60G)5*1@{~}YYf_K1O0>W(J3G5R z?=8=x-s`t$Wr>CH`&UiO(Uu}RWANhY^RwmEdw9w(pvl?V+TvDtuYC+~nC-5q@i&k2 ze1;jlTe-CvV^rb(8!FHIcSW8vx2JTbrl#mbU3nqT{B!EmROxN9@~zD^N+yw3+Al>Q z(pG#=K+|GmA07IQy1;KgZ~-&?Vd!g^C7@A3(5=H#6l&u1$$V>(|I>3h{6Q2NU!I3_ zbs^n)#;;i2bVEOMJpcax6x07-(s9P+n>SC<2R%TqY;#hdc!A~60?m#yUH|_GvBLsb zdXP!RM@B~Eu*D!^1dN{%7Z*Ry&VGQNUeA}iLfE(JJ@x@W%jeIZcWP^E6YcQlr$^SM zmYPJT`d8zYc)asm5n1qN+NQOD#>(ln$ z$Pkg%Ww@O`9Ij-Fe$zAmvIKQcku%C)z*zmVGzQ|sX9 z2tXfi-V~dBvpNPNFGUG4k%D|7UDvsvx=QXWaUP zZdq7ZNGPx1F;Nqujw6)d0iW?5K)O&3>LJbPT2*dtZk9uxfEY*0&dz>9HMSl_sDZyp zRDI%>rKKe_o!?l$y{|VWJ90*9(V0`>5_S)Aba8JAL!t7RmPu(MwJ0V1ubQM9hAk&ul}pKw{g z&S#k_a5@$f+p8vOSk9+Ax!umwGx~HjO$NIWpH9U#0PE_Ve}hgikQ5?*4c|y~T}Tv} z8e(7*1JF2zK*AR$J3{V}k<&0U8)pO)I}a-G(rkZIeH6dj`tKUuH`jK6ZKu?nGJeO1 zUA?+A?NNOj1bQCB8|Bj-R1Ue|lu`L}lM+Noy!1f=HeKOunc4>q z9{dzz_wFlpb0b)eVq3mx-63$KD&VUsz^X3|4TNlboQ>@bRGq!d;`I<_^d`>F;V$4+ zJfmVb`x>J`01?zhm%5HZC8(&>F7@5r`cdaya>h6D`3$8fK3NDOYMXz5?NeXDddNlx zl)I#=s{J{LA@$t(^IU}9iA@(VHfGWC3mQWfILAq>5N*8zt7LHNVYE7eYet|haA6rf z3=0eUUg6=w241UM?)qk1cqzA0xz5+RI`y93-UwFd2R*NQj~qEdsICM>z0mpAGVJ?1 zPmfPsU3vf_xekLLc9=qxQ?R#x{c~U-p1|1(MnPc#UBE@D#qH82 zHS2uMeNCO1aFT=LGInXWkI%M(_ZAxAi9LC}yYpy=tDimOtNVRIh+TGtL&wuVccRR< z=`G4DmtMBkoBVurlu6nPgcyohv~#a7aU2EXb)Ab(GsJ)|je%+4c z`0;;*zwvi*asAG5%lGf!f0&t>nP=6;sjdqxDFPLv|7{=Ul`C7X;0k(PICL%!Rq>Tq zdAEMawahv?Iv&K{H-(a$To@x@8OmqXnikW(w$P%=6(TwxFuqAhBK!93OHNDsqOkCFn>p6n3HBS!ZuWA+-XsgZHTuV<#XC=@;1!7jzhr znM}54r||0#f9>;_g*x#(Ab^7CZhpHC5Mmj;fpa1ve5fpt$}VVVfCd~Q85$kshY)n= zv_Sx*Hw-c)k9&Xy`3}Ph4<9|k^X)^uhAiMP_2Uel?FK#P;Ly-Vh%XnFm51B3jVrE} zK|@#UjT7@YOMnQh3V1s{`;W<)n3{fq_>8qXjOK1u<+DR6=4`{;hVRLWQ394U;OCHS zLfB(nw?X7Wg)-QY`<6Pf>ickYSzm-kRN@kC#i)9re`W0UXSYprD(w2--GMVfLiit_ z4ja$CC)@Yhyy+-Jf7?<+aA9Q$4>vbb``3DW-m*%uX-=cS~i&fT7(L%#rS*c^mIVFvhvGI|db zm*(I>*{fGsq30T>Ph)fl(RzH7&=!FL10Ov~ijThwg>~|QeUW9$PDMqVE;Fy7!Q2&5ssa)yuT>vT~q}9h7oS7x~`HEB}r9Pm8tttDF0{0+!shp!0?pf#9x9ze9O}1Cqb?GjE$hUhgyy*WcNba&;F zNO`Gtc|hd*0bL004J$tU{`2PtF!v0Fs_wq*UA#AqMv@BE1s&owW?`meG**8n9|>?d zp?d?nMPZ)6DXs&W)IUE{-I@Xl8-d0Y-ql!JyZbImCQ(SiJ&u9%-Lkg_-WD&O(TlV0 zw!VJdvF^6yc*m~Rj*Rl^n%omaW2sHR@);T)e&aH0#K*@+v3qwStmcK8-WdD_Q?LeV z)!gFZaBI3cxmzim3wq1be1&;x(eLpj^>TF+yU02^sZ`mKznwVPX(T?34Z*97tVI7CY z#(LEmC1kLKu~D$f2*Wt?!G_Lrp42L|?X_CH1{`vnh2<_RF5+i1P}gG~9FSF0*s+^| zA?C_5DWN{YwI#gfwhYbfJ9fOmvWzLrym93L0MoN^Hv^Bec^QqR1XyaZXdSdPEfK6_ zV5}f*Xy7EPIWh68_DbA{*k5Oj*zI?fe9Y?ToGz(S^jsVzi*kgo;Nvt6-&|&mQ zMp4%%=;tp0r=q*c?E1ye+Vv?pISF9d-@rf>*^GjX;i+$YdBQr?QxcYM-b9!a@S@d5 zM)iz{WuN#0t-TJ*g!nGc)rB(=%UC@PF+%ws%eMGmil89w74KT-?!J91keHODNab7> zwUCiLRPsB9nO63=J3fyd z?IGp_1&dgsuV26Bvy%V|hVptu%w3?py}jtp%}TEgok}k;GV;C0F}uGR-hq)JDee;SMcWY z9zc$lT^7yD&G=dm+?%XLxVX|{;w$&AbO+!md z`z=}V@LN6ZCh@gXs-nMT?oS?+3fR5p$o8sz86A|vMkF5l7Ng@iCw657p^tzbl`nN! zqh?J9yFaC;4@&GAj3@w~qR)bU`3<;D9CCNG?L#0BDDXpIVc-lsw>ct2rsH`lM-i3_KC3ozee>oXDgjB~G{(!R@e7gT7laRYX&GMr*#l|X(wk3Y5c9Jk1 zh}2LkJztihhKBCe1A=$q2Lbfje2>f^j8hfKv^ukSOBY2)9lT-j;(wRlf#+;&Y&0l$ z-G4cf`kO_LA){tMj5_W8_4PZajmiV^^Z(c!HjVg?!OCREbL>X(xnXA3?xZfmG%_{y zI5lhrl+UF34Rh5CXHT`?ro?2EG{mj+2WKlKOH4q zketGaO#y!XvcU%QZ|F-XYeX}zs!C{WD&ll>a(ab@@f7y`=Oa{)Ld zRW)t|4HVwc0VXEpn>Vvgjtz~BKvLG_q;z$2YtGQ*B6`Uc(ke*D{P`J20<&7i2|F4y zs`=eIsb##_e((boSw9e&(lU=hF?5xWZEbA}<%rIxz&`=0L`S9pjH+)KwwA}YPqTn|pvU?z_(y)tlLJYVJ(73bG zTLQL#Ak&LDVaJ_!4{_@~-}^;An9*{zv$|S(Z)4rX%(m!lKZCG*a5IYc8{)iH1Hq`! zr(PEna36f!Rb;0M1^xHpV#M+VJVeA3>;ahy_#Da!sYAENzOj-J9|6Bmt`NmD|6N^e zA0N~!NS06gXZM~x&<`J3?w45P5atJXCSTnt`~@~rixi@PZ( zp4cDvqy8C8qybxxV5`8^d3bkqW^OLLuQroisUL`0%dg_|?Ac?bZA!GW55 zlQ&^hj$V(t^eKvYFw^w=!GgVKm3^mPahV49ecSS+IHKV=opH>T_A#LA5djNowBlD- zu7bTXm^V!&6q7`S;o)IaQSav;LU6_RcS$K3&piR$)b>$zlgajN3nA_Bx?>zGX!CKI z=D`dhs$qwif#4D97TABo;U$QLvr$Tb|Fmv@9}&eCE$ zHvWo$RnxaU@}|!Xgoj5)=0SRl4)>8$(aQiQzzxqDKd~D+%64MD4yJJIhKqC!Uqd_~ zR#Xe9{}D5dy>dzWD~!B*vxkzp{<$iYGs#?LBR1~4`6%a-HlQq&)ykO@)-&M^ZPmgZ zxyGshUI0);cmt0`?d`o4ZJUTGa3K5*j>AaQ^?PqMKnBqTPJ#QiFxwvo1%}V$Jqe6x ztI|Nh&lUn#G&E#@9zn=c^l#nzO(m`JwZVkfM1Wp-G2HJ^w$`Jls3Rb*Cju*JoL0NL z3kO{@50`vPGfy`$<)u@q?64}ZDClB%@G2C>)j=Sm6ykTt=~N;zFU35bElzgiLunyg zb1*_W%o0lAKgW;1N{L~|p4dz5iJqr0)(N9TD@#Wb_ksa2hcymT!NA3p8EtD6afSAN zV&XsZfBvAUU~jHpMZct8eS`!59^Q#sE&qPQZ*DZ(CAN<| zJ80Dy^r1P(Ctf9$f5$%%ArWO$mgw&6Y^&R0pP!#kq++1BnPZz1d<(>z4|&>>6!dtj zlf(@&)YjJzVX@x;oWsLN5XluNJrAHB4GauiZfVHm^{q15E!^?oB}S8AVodLiJues! zlh1$kZ|jRYwngT7PtWWsdDT9tG2Snaefy0{R+e7IUG{A$nT|J@5zAY?`}+5{TiebF zrhgwn-pqJ8`q}zTUb@$B-jtkX>Fn;lZf&j4^Pm^OiTUb%60h&9I1t)fyreH3zZvDm z+H%eJylYoAP^pKBlrS$Gh-=WSPU#muCTJ;C5njmeF#Q5kQ_Yoya(gIul40EfSwwF( zeEnKgUq4mq`#Ur)bK|b2HiepX8%g-LEZv_!r;O~A+0(hR>Z!UopUXybkjLQ|1GY+DdCvBMSmgph&Yp-sA-`jxp~otH_WWJwjvyg z4t=wvdCN?7wlQM;lh}dx#F~o7P%*??rFd!XARi5z}6Kd!!2Zw7A z0f+<^q6QsKe{lbjs1-6~5ip(6d;TJbg|M1A+@!}0Lcxf3w%s|$aSZ)V#Qt>2@X!$A z7nULxr+0}L{Id|wOFys>XEm!@&;0z5T*30)Z}RbNCa)cN)HOva?gc$%Kk`kGZqFY+ z%1*`eWHnwsVGI`{Q=dh3U+5mR;+VHJ&PmlcNGr?A&R)~{NSo%#fWkST`wvJ?kdym& z{n_jzD{fE`yt}9HmvS$_<4Vj(*BZGD#74&Ol zM9bVqO+jHdnD$SI&k0~7m%>h*ahtyZ0S#sfp!h6WMtxw3==DEoj1_RhP|}(8f|g{-tD{ykdB-ly(u% z3N_;f^NY@Haus^Ezjj~!75_`do{Ga|EkpWi|5uRni;9X|i!N8ReVziCfg%(6!=H#* zBq32oByB)za~rA1Xr%&5rO+oAe?YzcJ734Mf`kCdo>^@;k$y~RZ(O~dKcG(IJ|Q!A zQtbt~ytf9~<=UrQ!$H!m*52D@$^SfDF4j0lVaP2(mFT6G%T`-qUvio3-g0_{4EIdM zZ^4TN#KJsw%okIj&dVnx#Ixvf13SxlE0}O){!1VNjho{e36I6xd^FlN8pwtVoifdw zR(6oE4-f;sjuK5tFA!iJ>-GR#udSA>5_AL!1VG(wSeDL0f5R^Zsda1!zuoq*byD}6 zUV2q(gZ-R^VR~6+D~rYli@U|%twxD|1Gt78-+dc5{&v+MD)(vzRnA^H&<8~BOl)m~ z%gW9pZ~`vST5IhHVR8kI&R=9T30)JF>N@Vy@4LbiN#({mha(VX@kZN3Er?O=O1)x-KOOqQmc>pRRcO z5;yDa4tnjfrjXHzy+Pb85emQ|i1LN+iiiru&ukd)$H5U9%(Jt>?b~OGv;mPlLGJh` z5)EcUU!FqhYIAB)Lb*kxg6}@FZ`EDsZ@9RCZBOycX}+kiZEKMqHrbwpy?SO@|GqMn z{_dT!^ySRU5#$Lpt5N|ghDF(vhpdQHvB`MHIbK57Oeq3sVxY15Eih{4=b z(`J-7)?mVMr7r75{04{f?io4Bww7Sd_?B@cG1{n5Cc4 z5_U^CJACPG+nql!$0+eKqz6XJv;isBd~YG#CluxiHrV^I)3QxF4Hp5e$_F#0x!T75#Nids-uwchoEm{6&y%J zbG7+L@?wC=w8Y+cM3%VN?BazG!6&1BA_isV>ftdy)vkqBI*O4f5R|wShF1hE!^l+Qb zMC;^+qb^Q-0=bx4z$sU#M3w+pL4{vUctK)!K-nU8cyMqqVevt^ZVj1B;_*py#%!T_qv~q31lNHK14YT3h=bwu5Dm<7!S)kC?b+ZYYI{yT`~Wfp7w|O1 zqMyV@PmVOoXg)H4P0r07%N+WUy_;?XZEDP?JH z@en>KZVm?;$N-hikQNp6qLBseI{@6*$_EFCkee7qoB|NL2u8G_P|m*ykL$R(?nZOq zz!^Hq6#o7Ko3q&t{Pb;POBH)q&HhAOHM||f>crtkNm?c+*!59Ay+CrzD*cT8l=lSf zuhMM=^&j?j?bY@O6zy)kxyBiY;NfC;%Bxp^l6ONwRD+hoW0BKD3hvFdPrH#1`a~p+ zh=!LXM(h#*`^0DG+~$vCVnv7(JNFM84Mb=grN4<7au#74ZHhzAJ{SqsmI7)-M{|B# zvvMkXi7*=MTstKBxrA$2xh$Z&f5NbV2jFh5cHPjGrHt4!mQ(NEQT|Y;fyWqvFY&^6Qs*B%o!QzcEJe=#uWRC4WbAV!#126iNI9@) zr!T3ou`$9(Zwd;spDq#81(77*y5qEw=b|Q(^7r*h0i?h#NyFGBh$$9$oR@2tfLbapl!3FZR`Rq>*xr4@5XDKLa$o?CpG_ zSR_qlXF}$%p-)v0nIFR)V z3#GDBLOEI>U2u<_*2A~_6W@w_>*9IUx%u<&zF%u28QQNmc|xLC-C3L>f_GxDr+*?^ zX7pHYc-h~~M{jS_?J3L=Y%j0XLh-wEM-&+`j)zh>{soasM^|(9+XY!Q9mGG0iN$^< zGNgmm{vC0wucat%?IF;^3H+Ey=^$|xgY7@zT;@)(`V1*!cHht zP*5PVo2=KZmQ3mH{N1-=PunGGg>$abF;~A?QU7R-8`ZZ%W#PNlmhgzZJ-y=~sYP~c z!lReW{wE6Tmfp>0aBs0Mx{JXiF>TM%1$_ATyFd&ztr>t6h=YEK4^cm`5I+J}k+_b& zba5SeDxcx}x!~u|YtU5!f`V{jr~OCgC})Jn{=KK}dn&S=A9P6Ax$cf_@NUpVOV#It z=7cEE<^3@zw~3+$AfP-JaV|S&xXsWY|0NWaHo>DJiLd<@Z;59_A3w|AGg) z;hA^s*>fH8Hjb*4bS?4tQMX+}r_~&TO^PhTePjpCnqnIe{K#}3(?$C;Z+yXe_Us{? zqC=YT0m#_Kk)=cqYUYHcO_^-6Bo*$W+gDO6_Ihq-jA^wvkf~R(SBi~x$7x1&cI|T; z{-tvJ(`Fsl-T-6`^d*{g>jWy8*@${9o!aSp46h|b1O`hX8-m2hwHV1idmQO{0 z)u%MB;aD3`*^%Ye7|Z8&sgm0hG7sK(AGkPCAk!JBT^qBg=@IC&>Rae#FbWk0T^b^* zIu;njO=1y1Rp{z^^5n^TMV<=6oBxX-%)eou%A8}gQUVslvXYTYdJ2d_`2UdQbY7cC z7Bp^;jEInhD~tuD!U78sgiU+$pKSfY zo5XR!Dx7126Y&^8ShM>bwCW6^+=ddt>XYgzPte^{sOk8o+5aPF3R0 zT7S^9MW`54vUg-wNZdM~8-9L`XrU}R!mS2tRyw{^QrdO6js9RgefQh%pGcyC+PPLl z8L*0py?p+hj&J}%LiXLecdxCz8!BKurowG9yNHhO1_h$#nNJ0qu;lZI8}h*vy8a3h z(kXX6gOut&*sAUYe$=Qq=;&w8oFM`kjWiuGyQuSMOtxr#R4&x6^3ih(Op+y3$6JoN zJKF2-r}4|V#_^!VJEKD8qn^X(;t)h~}-g;;l zMt(W=%B)-a67(tD&>+SGwD15O9fBbG1ydgAFQRKx`EU-zx7Hp1y)8%Lw)T?mWgGy% zIDz8`#4d218{lN#sqHZ6gh&bU&p7IVcG_$;Syg2xxsy>Z-DoT9_Nszgn99TuIcbHY z{yrb0gHKqT7-WU*9eleK!;iQm_vHF_Dbk8k*Js+z-^;iHZUXC1*ky(hq6XrR8g<)G zYVV6=fZ@e_XYL+liWnl7@$YOLv@dsl!${1)7FkVVi1-XtDAXp2V)>X*SaBNc z62z`do3q8x>~JH*UO;jbIl8tD-#vz`j9a=?7XsIE!pnAmMoI2#&6MTKjNYE$@TDSc zlj^83*-E-q)MrY)y_Y=#x2;}al4vIK!oZ^Epyc7OIE)Ph^3;ddHjo#?$(h}V3=tyE zlP9ZZwyRO7N#Is~o+TFX;QhloMYc>ZAWkBWtrM}&w+?9>AZ%FfI8k%K#Kfc^hv^F2 z_ok|Mvi9~zXkTTTnvHz>X(UMERv7kmU#+CiQ|YV3YBAEZrnRM?^jjg2CkGE=G78P}c+W|03Sx1_Wx+|4yv` z&L1kG#eUx)*wIAmNpx(>uD2%FR8&hxMg7OWYt3<0Rmr;IoU7ENJj)G=AEoU# z_DqWIl8QLKkyUze@+;Nl7yoKAG4ib^i!06(fR6*LJuQtRFE3B2qE6G(^C}M6A2^}( zq>pe1*l-&RcnQG}P@M@9GsL0G$IKG%6g=($o)85Zw@nmi*x!Q#m;F;$8Y;GvZ|zw- zB&|irEi+cLA;$Z7!+e)&StQd!4~|MNoH$oX|NR%DZ-{mqHWji5b2Um&y<9+QV!ykEz#|Eacqy&Ji)Kh`bCDO^QS=fe$eoV1sICSRaT+yYPMh>Ib8kJ8iZW5qTgm@Vs?MhKyQ{ z`|IN6^TqZH3MKN^6ij>XE#E6~ZYao&4P()unr|8W$YVdn{^ioUD}6tW3L-h?HbpwC zEd}TioB9RQ5Z(}RPMmW(@HEsWeB+(XmC^cW!AFrs?&)4iTReVg`KUgm#F1yESkWkm zu5%4S{R6+$oy88XtgH|bc;FbqV+0bM9MSj@sggc8I;X%JiC z{QUXhf64lsJWnKBve7E2^t7}N5iJ7eZ>~oyZ$mUyB~Dx!9ks8o4=2g#VFYk?YDb(I z8yL!+m@E3hq+R>+4m2nq=55xg(bmRf$0gGq+<2+&5s=s}srF3I%#1YKKdnMW+;Fnz zQ~*R|7;}CAtvK+ALxeebP1T4ynl--o8fonH6=6&_r2ms$;9N}~rwH6>4daZ60)X%R z!C@mUOP8m<{x+Q(X`@Y+Fn0x)r>piH$5`9E0n3KG=YgA$KFQ+l2pbiD+-c)ab-jdlVd2csMhZ zzFhS_)e@i_f~yK8F67Shz9TNag;s}e(3-MKrXAv}e-Jh~I2Mwe8nQf_zBgu%*Xzc0 z=8VQchfM8Uv-zQ~L>>?nvh8J)606KhR22a_;yn>?V25FF|ElAu%*q=)>U^8dV1ECP zWhO>ls?s|kriW0{*(IP&bS?!lgtBNnIw|L@uyTD%-9!6elAi7CE++O1HNOYO43m^k zJ+k(%D?o}+UcQF2vjeP<4(FC1CcZ}W6sP#q*w*$-Q9#L~CxL;F5DTF^;n)|E7SnW) z%g0ej$jQ$iRIRM7b!=X>U;QUwRd#wqnAt74r$G4ak(384b)}A;($ZLe!Cx-j`(@oK zSUBI($`_&UVi=c!m_ZJh2>OlY*X`seX9Qh8rS~=fh$tFywzuDxp?!ZWcRF>I?O2$K0=n9y&Z>(eO`x`QW-lM%YsW zF~))h`+~?XnKliDvxjg(8z2w|LW!eZ#2XOUCKEo@)bJx|l?S`4z)CaXMLms_fB}u4 zOocj-rgd(`XF@WDBu6La?i4Y_e&!4kwZW~MM)BnW=iX8-ar->}!8MG%NOpQF*2?Zl zS{QZ#*(W!9t0Vvc4QP(TzI%Ga1D&(x^+%;Z3n3j zx#ZZffqy2QTghqsCictT8Nnsahyw`LkQ1JNjx|4N&&);ydEO<88YZ)HZcLViVH-f62Y~l#cc;iGo@{o zPWug2Yu7Rq_?GWvz;aPo&h9Y!9zG3zrCk4a7r|^94 zkxe+OYPOxn*#V%x>rk79P!Czpohv35q{TVZA`w+JTH;_TYmbt>!oGNE5$8QyYqB$lC$en;q=)twckJ{x^@gHwfE!@{+0_!i2(?n?e=vfR&Kd$F2(HM%Leq_F+50LV|XWF1D zXoEv?&J(l*??#yL{rmR{Ta-v3^5FXhAzKUspXP|MXZTS&`)p@bW0#eao5vZ$79{=t zeGyQl7CUSPZ)*{B{gq1AWggBr42Y82z|ULG z4)>q;S6$9}rhi^??aV}}%nY|xVGwax3dxY_#>QY|MYL8&oe{7iPM#qJKs-0XJjCow z@Ce(S$_R(R15j+4+`fX8cqCql;!hla#gPcjiO7sZju(gk;Cvf7LeMztXq3;I#>=pD zXOFR8btvgX?Sh<`YoYJj$or4|@oV`sK7JMf0`!Zkl^$DE2fTb|nlh!Y@5wh=K0K!@ z|JRH6g--6?YGeb`fU zM@jcxC7>F%%MKQZ8aVy~!>zX6o>e9YJ49KbU5t>?6(VvC%a(#4?Cu%!bpz|L5Qv_% zwJZNEXDU$foe8m5tT(9S_X-LGkt8CJ)7aRUzO6Yg9U)n}LD)vhmI`Loo#egw9H&p4 zAr6buhP<*02%xnsN6-CVuLouS79YHM=g8@oB#ze3gDp?FOn&@hA$;K_HQu##^9AeF z8M>lFJ5Q5r8Qqnu@Um~y`TLgYW*oWjNx|=;cwn$s8GCzP$h`K_-Y0)AIE6G?ypy!2(pGqi#d{i8mO*5w}DT6Y={Y@2xdv zBK`}+E7WtEi|Y{_gAn=)k_1s`wDO33PCy- z3-lOp5EkgQ>*~VltJVVa$ZSFb{Sxa^29-kjpggAl@>f zh+b-c`?eYU9mKc~y;P||eZ#AGcC)L-mV2@xKNEH|!O9710tO{2*S~fZaj>dLbTW-&H+Y*F4%i4-w?D>ZwY({6Mfd5Cyk}>f zYdJ2s-SX{(2&?ovpJoZEGI_S`ZPM<(PksJjD%l}>W8~12=m>cQ_r1F!^8%DFjXGW9 zO#R8@ux_y1zv=ibmJ?4mns-fwsF?JpZ(oWPZMsM2{Nb_hnZT*@$(u75oVJl)qY-vE z5%ufM;d9QLH0Gh-1InIAUb8xMn9t#2UE?vXqPyij*LFWzq*>T~)oVm#d zx#C$HXTBXtM}xO06_5Jyl%`AD?a9w9(8XB_B0Qw8uaBzm8O7PQQtb$m9?ifR#Cc_$ z0YN@pTBq>l5$psU)Tvr1w)X$rJF~Wj1$q!vwW~HZ${=OHqBS<%#Gx|89Er?mb+s>X z&LKM5YSr_SY8xy+;{9SooYJ;88ZW1MilQBJG_~1+h*G%WT_*@CCId9c$jI2QE?6RG z=ZixhFlR9>pWiBfby|c90l@0^e)n^5P6|MY;AW48YHH{qN>-6HIAkV@hpA5u`nQ40b~p&djO>Xtg4gv^d( zi=p@i98^|?2<%ebk%^ZZAbW|!$kN!98LuK|Qh+7PG=U{Islw~X6K)5!4%#7m@$S}Q zfxHI2tXk_`^{k{c9o4~M{iiCbSKl-`ZB5KwHA|`Lsi$ddsk&)~#z86{WirX^@Z*>6C6kx>1l0 z=@bxYDFG>w1}Q1&k`j<^knS!;1Zn-|+UI$HeCN8(k8}1G7i-=3j4{U;lQle`%}UyV zQ&qQE%7ODa=k1ZZky}wo|9A^p9ti3fo0N9Wj8fQQxfHVvl-E?L{(Qz!SyR>8J4)eF zk}6fCQI$A+c!KF|Hrh*3B6kn+Rrp88zn7?H+b! z#OH@2?cEcoh?)Q1kf%>3;7ovdGV{sQ8%>waI(wF%B%|v_4UaSr^@d&&o%s_ zfu9ARG!BY*2s;w+Tb@D00d%3B!w|*%{O>vN{}2N!nCs>JobiB{m>5wH;{PNtut97< zKJ>yQAP52vh^(R4%w|?hZUKQ-YWEugdX)EkFUTQAfgfQUcoEGQij zRfR?h832=@6zhiG)wO*UsQKg=lDtcxW7&kCy#aIa`&zF+i3Cn^hM$T7v_SAdpmA5t z7*HF7PUQw#C~JE@3=gL2U6??io`>gw!q3kSJzx(&B0mb|Au@4H+=8<1EtRN^O(WbV z_|3Vl9zka^o}{ApAd=l{4nc097C~${KnwB>xTnMcD8M|J0zAr_RRe&!XuLF~jTQljZD92s(vsXp`#i*%d!7i)e}>!A+7g{r3SfLS8=5j({it z?9O4J55us^y*+El{Oqp~e0Bi0b5#UFLPHlTC_#d02?YcHm!~IiQSx@J53XR`+$Yw1ilc!`P)L&NyV;DUxwavw2Nx^^JLVYb^V9L&eweZE8EWO zP)T!6@}5CfI@Yq+{d1CBE?C`z4xK}Q~U6Wb-93a*ecVS={V6F zBm0#$lWun-s_>%#zeoO=e}R?D(|Gs3$<|C1Ui7o`U03%%VOmYXAe(Mrr^`WktGtW?P<0SAPx<4kkmhAnRbvX7zKxC& z2DYhgT){9Wb8;70{5&{OppOOK|IGOQVu2bxkfRiXbA*l1vY_nPI(`Z9TMkHFC~l;U zMGtxrLJ+u=SwiiL@SP_ooIvJ_z<;GiJCW8p8CUmV z28s#J3)$gyjA}Aw_fR1_4wGo1pdaJ1jxX{!MrU5}Olc1k+XDOu`NAJ0i*RaTwB0^; zIf$oq4%QS-IfJIB2zjraID`gB?3bAmu1yvVW%9vl;q?Dp+ET9w9qq30Rg8S z@DiB)`WNm&w95u60o<)n0HY9BM?9g6wqs&6wMIc5Jv$C>+Y{;QL1AI~-DE7m^ z2Z`5+;1(3;IY1Z9Gx3CmVj1oVA!3&)Duwjrss_zo-0?s^e}r`qmtT-JdyrTXuKUraEtVQ3r3^e)J;-492q{&w%C>^tHW5 zS8mY0jeG9zsGz z0&0Wn_E+!}lmRRNeC(j~qDFYT9wI?k`jBd1*p&{TNDP!s$V-QMjJACR>~>9}b_>jr zru$Q)C>vWO=&OGN6CR(OycfP(5BxkWo6|Yu$0C!F6n=z$XFf9o(y49Gfa8fC;X~eK z4*v>cEM=n|D0?7mHZMUg&j(u^7*m8o(mQ*bf&77AzkX$bl?C|H#3S|owd>f8jL7^8r|dyrLs27VUw{fHc$wW_%tI#XGoco;RfngE*>(VO$wjK6_@h`7R> z(K4SL9>kvQFNLZlNyW$-WvsS6F`j#{Gp&UoF`?+d>HLs8iO7j;%4v<_F8vc{X2vjR z0h_4?=f<*b;<;KYoT&QgUw999%wq`KZif}9+>=_r6fv}#or`$-BITEHt@aW6aeizZ z<+k9NG)44!ZFk(>+wfKB7w-t(yv^!FprUq*n(IVv$YNnc-LL^1ciha4uYOSl!M~=1~}_I2QmKE@%ij4KOmX> zg14suA{Y3_p70gDfO=zJ?*|Se?mydza384Bk_H$XWnC$FH81!J~^M$h!@)-!pyZKwL2Pn*+wdod($ zNo}b*ewvAhkg>j%6MMAhqh7Z2tGtG@Yrcn+pQ+k1tNG8Lt)p9fvgu~xlS?o8O;fU& zA@Y6_^_sScPQP9!IJ5HV%-5}=vNY+ZEjU%jIBTXE(r!evX83&{95!KdJtwQx&8JaOdSM8@E5TSUM$g%LG7d9$R_J+4A?gvl?%> z>q`!^wRi8*2Rb7~*!l+?Ju2EK+mk^rb4Gq92 zDWEz73$rl(Cl-8cM1X{_=)k183yMb8laI;x+24VIYSRH35+u}|WzFaJp_wSFx}go) z8=!-}1^fol4tN_4SvGC&x>MO08{Nvdmw6y%(Z+5#? z=H_&rco)X72}Q?GI7e@0b8!hC!8qm4PXURvkj4NkX()e3K>Q3{W7wNFnc!ALLN1~D zb$U7(0th#luD|@V*8}C>!LL{OrdiNBr7dI zZiP!BAP%!#2wzP(3cmI_KcT~%0yk2~jNXNvn!)(TNq}gVfFsj4jVGdr&k4X)s=4EZ z07t2$tw2_Vjz!Cg_E81la;y4O3$e2X4A<_U9%&AK4 z@W_shYho*#uzedsP_yo`-v1u=E-NHkDY;%(@BP@vSR&=Sg3DH{Qo2Q{&FCus3IU84 zc$xdf$=0o=zJ`8W#;7k#UF>&Rp$9TMhpF%-P=fQetN-soUx3B%R|G$Uim)Dp`mDJs zaG~1*(SS?+;NP@_jQ{`GL-wfaheFCV_P`xN_qt7C_G#o(Vwz6(89b$7?^i3$@jz`4 zCPNClwa0(i9_i8#z--^B(7Mv=fHj&#f`yd)`V?<8{E1Gkfl+`#xFWlm!bz(nB_%KPEMC;7m#Hqxt6YhE?bjdZsUP6zj)DHo?=5Hh~Qs zY8G<|&M<|e!F;v#R?KB=Y;3y8n;%-QDw~N73$&@^i>{3rS4hJbYnpL5X5Ik!;oCpQT<5&kT)VoNpFpqczJt8d`wow zvu;Xf;A@{G#L3S(X~Dne+*KoO>YKXOdq}7Tz<6ex-A38RmkL}k?EhkBU!?gf4vw}Ym}YNk7x@yA=PN}ZcPDxjD? z3r_N8s^q*KdCKShZD{PKcS`usV@7*g5V!r)OEabwQwF*_t>nNsy5idZMFyoN{Sjk=t zn~t9J4|_=9zox@`wiczOE+dFIt!x-ucICV4%Nv^yEC^HHNtl%5X7r&YIhVf#S)XP- z+(%y4j5@4shWz!V9V?~R`B>?tZ@COB@85BCv`>KtT=~noZtuVIx!yge_1jsZ7MR9? z(>sPZV9(`MRmJgnh}$oC97Qd@x`=B0(NLtmLo7Lti##zxXoW)V*8lnLWCEN>Le-cC zG+v-5K|E|ZKAMufk-CtL>lblGS$D}~|MOZ_w0KdQ@#fR4nl}c0y{v0?>f~XCdIB?g zt3S6DiTLHJxK<62VW}HH%pK4AX*llP2vlnuYQG6hezI}ar`$9(GHcQLYpz~4$@Mr@ zlrX>Zs%``hdZ0i2^I= zC7)&7SWho|rZv6g^)H4_6>$q0pMZ3*1GM7Ke#60g`7SKncyQD|c-61$Sg~@GYv-WbMNbhY3Zj7)1tjDB{EI&A$ebPK ztt#+6`p!Orz&s41Ng+Uh!bqzKuik?Ei4h#IEKc}xU9ckqir3ZST^VLfhCL17$Cq7` zD%ZDPM=!bcDUMp;Li?Kr5x-h7zaxiW+ElzNV6dp34J*6L0l5_MIuJ`HSOI8rVcG6@ z*4_GT=H15AQl1xUZ0#GL-erp)(gLAAncaB2Xq~SVpAT0^1$FYZEuR{qEC6f^S^*Lr zok`)D^=jIJHT`jDW)M?<#I0l)1~a{$?*CJyYkokOji8M>gh}cskWbWGSfAX6**{=H zVAdi9zbOop8xQ+dMBKjDf<9usJK<2aBoj!%U+~!O^D#)y>6?_lRqAQ&Yzx^~ zu!q3WcjwTCQKGKptV?;YiyEM-XErsAuT0A@W||cW4ei>-|_> zDeA90@8tHmWZQyQ7jT9|pt0qf6Q#u{O2odkSg_~$?VNCu{pk)4{z)`YNU5E2=cdVo zuCRn6xs9+sfU5)KIOOcYz@)bLk2`Ha2eeGxFdaLCH)=KcV`GvHgVu&0!r)f~;zj^! zaO(RCMnm3xT~EnEi0M1_)ra<`yc-2YHN=1|7385{e^`>N9>+U zFD!`&Ns%_ioJjz}2a*Ccw|`QlwdsPf)Cx?g&B06! z@hJl4rB*u;iKHeU`~s46baZt9lzdpF$0*axictA=*H3?K(srd8t?Wu5l?G4)9EOL>}}!)$7OdIOd+EUDs z#gJTi3$y7l0E=H9ZM8v!_T8)uN}Ii=MBQ+;dOjHRU8;9N)@kz)GeYo=N9@{>-KD4z zhRx2~+~6aW33nj(yiL8NQ|WlN^jwx|pvlO3q{C>Tawq%tgxiMu)#jgQ%9d-_UoNN} zgDMVL4TE@tt@kCFS}?ZP1Q%ef`F*OR2f8JK5Q6nN7%@d0Dks=|I6UIB|E!u`;1k^W z@@=Z}Mp`Jx>_moal#YQWCpPBk$=M!l>yd4E<)AJ{$ zc`D(mq~=#|8^QwvZ?yb9XGOqYP)~FVTF~y?5*#Hk&zsyuxJ>#biLfci*#7CDSVqOG zJJStGWv|p2LAX5zAx=RtC$^HZX_hxmZz-tYRw-_cE8g+ua|;eNCo;j5con5ZS*Su1 z-ReH6>$Pa~o>RI-!Rf1n6+wuhby5-;IG5|!?+{38Qo~t%4A&LZax^e2hY}Tx&oJ4v zcP1%2NAB7?N5xz>{^|d%QR?i3*1p%62Pr4u!wO94k2FfCp3|Af6M&=gm@QMo!!EV|_seSrWzfA{*cl2(O$l zx;U%_zkqe1GjSos0~A4Ipy7iSs$SBKg`9ivrl>+|v)&FFo=ymU{H1GYr}T9mi`tCG z5_7Q;cj_qwQzDa-Lva0-4;;&rZg9}r#K`7kK_31xPZ8D>)3(g5kg8mh_k#NYg`Igw zeecI7LIHWqciYzI`xqip!{27YpFbFCaA@fXyC4`~;kVRWk!Wd#9UM za-{~btwz!>R0#-2Rn;gw+wt_kWKcg;U1Uv|XYz4y$+hr{!Hr^NZ`?GMcTV3E7+MP6 zi!!ZFd+&%0d@BM|xl;?EBc;f$HDrHvz1~S1XlhA55Lvw}zWWWNrZwSw41Kvb+xj<9! zN6K5EjUY}nn3Eph%feyQ&;efC!3j|~Rld5gj)m#w-}e}TJ-T|jqdCE1!qJ`1Tdsur z2A+M_yan$>$__H*5u`a{ICwDqz`%;HejQZM$<|+8WxWwx7K$Y|$XL1FY7IyIm%B^+ zP@D6pIm2^Z;hVO;RElwLt-h6^x!4{zGMxmxRE~M(LD663s;q1dhGUQ}HBUPh!IY;S z7T6&$8W{d%!YDA|C^85?LFVn74&{A_k$|%zi)TiFH3Ux&19^}D*6o%ymKvIxJ0is6emH^O$T}zAljxf-|z$m7DVd3vLy!(3G%=S#go2I7b z649!DqZPl+-_KEYKVY*M3iJGvrkI&r%ZglEdp zHyZ<_iRB!4R$tvRn4GoW1b=V1CvPGn8Gv8?bst$e05yfkVK+S#b~<&B{%6!t8VA0P zAQigZD_%nQDxXWw54@g~Qg4c?@sJc>b6W=A{G4;EZpJ%=R zD_o)hDTh4V4eWYV1E6n#42%xCDUdgHUoc9ugTy%==+rQ>?0`uClzp0~G(sRyLS87? zgp%{xxbC9a^60z_R{3XrKatbbJGuU*otRHzN0l9X$s8$TqT)4u8rq$NcgxPSuc+Wt z_NT{fvao%haILhV1T&ZO8S6R=3fc0{GTi5W!vd#ocfm>t2#<`=AgO9g#J4l%}RqAQq&+D1p%h%d9M|)VSa3-)lzx zg}PsdqwYk>s&p8wW#nwaBf=cQ=nApIc!P`>r3EDDcQb5QHWea(Cb zlW>^fc76sP1b9sc?_lBKZ6a5{B_vi83RjQz_$jmzq}*lY8AZ0bsJk+Ru-HVP6p+n~2rEFw4XZE0VNee21# zIJR$s#Zy2+uwYuCuhryS1ifY4GbOH6A$i!WzS<6APB(LM(`RT`NRsN6<8E;2uvn8 z+6#&{S@_w-4CuV7Fq7CsOf`Us1uG7<3QB>R;0#O%u12#I8zz&S8#H)S z^(ch4sja*1y)=}1S*EHQkoa=Rdy^)HA52 zYoV<|fQY;{L{03q%yAks7-18DPX=OQ3iLkAiDNKy<^=Ir2=*OG7_Z-}Rz+7MbvBzo zG5X>e3&Y5GWO)UGsz|zlQ&|OMCSdxd^l9#zP}US>Ed`ZMc4;WBj2ch_+ZIEIme)7LAp_bKv)Leb|7GjMNaCaY z3Eue{N+G3}?wv0m+61UL(5!4(&!k@BU!+zV@8Yh056IDps)8l3ppY^EGgqK~8wWSL zKz2bqQIOdv;^p3Q)?=gW8ATKX}ujb(X0_Aw6 zFW8^VYUL^K*xVl7#-VtlvL-zz(@=Gom5_mEq2<|DhM&D$Ud5TO^cim;rLKI}lMVXT zopH;xQd3K7$|jWj$Q)y9JX1f^+6~?rj{h@m1`0Ota!5Y)L2g4vh`{wMhrb#*W-Hoo z%xC~XGJ{7e*006{T?^&}2^eaFJP3h*RWloMi!7ssT`rcL?(OK`?(JtczF4j#-Z?t5 zUX1)U_=k6%fmT`+(uUQKec9+?lobv$d;$_VHTGvN@;DOZs2K*4v$^QQ`d@SUCgRMi zUqe&?+!H*#^1e=K7UJ+2)p@54rFdRQcZ%xrjmcc?@Xy)>x@v;>L`=Xi=() zgYo1qfe%cVZ{$`i#BWHo_*?keG+5^XO&@GbzJb*ZY_)|N`QM4(KfvDvz&gImibq== zD;S@jPNLu%bbEeRyU!516Tm)@gTYP#P%lXsDtxXj3rWZN$?4{qTAJApF?@W3^CL56 z*I=&Wo*|}@{@LhgzS_ibF=*3ppoH1JJsuAT!=4Cf-&sU5@BBw~Mah_-!D3eAjr!~q z2iK}z)mhwiCt6ro;Bi<;g~J;j9^PvdEt_Kk<}k=kDWIFy5gITD)g=P+en||L7{S^g zGg#$DA~c1F^q^D#NIV>A;GbhTNaXm(wCxO;zZdbrOL;ITs<^46l(wrwvId21p3J;hQz^W@IG|;_8 zn>6&d^RKTQ@~-kYrguxA!@C6CvzUfC`%Cj$tki<-}u+VC@V1Qbv;{&1N{^Hd416-pBU6rMLVA<$x{g zGw3EJ7H)x2#T_&Q)|b_`A=#~qa)Yr3s(+V_*0l%&46&YDyZKO&=RBn(;ark(3lgUU z=O+Z~MC9Ond^M78%4tFgF!zO}GQadkG@uxxmncXFun?KELs<$d1QOtY!@f$WR<=fS zvGiZyP<*lF!RL~{s;5BSktPByj)fKO33{dT4SccM|4BP}1K_cHN-pe1Qa-;N%Qt`0 zZ`Qp}Hh6Ktfgz#NfE7gLM;66Fef?$IutQt1eVRZ85QhOCM3`Sd3WkqjVet)AlTfR# z0VSZ|%PmY=6b#AZ??}Ul*gOKwC^}j1Y;gmO>)%p~sUYVZe9k&ZL1hzR`qL5W11*o+ zT(_erMAABvKk~c`I$s@|s#iP#8%7fIyb*lzC53_(G;fs-7eed_KTGu6uZ#DB76_@@%84Jj(0~J$-|zrDbGNAfIo!S+47R7_l``bB6<$ zPpg6&JX$cDsW@C6_7R*6NaUu)*+aeW@XeHHO_&y>;^I(C2aNlpjg88Af72gHzJ&|;7;v4l{Ry}GEhMv?3&5Sl0aRcfy?R_Y6OKQE; zR)a90c;LuY=!)RO(U|eiYtUC+*nCKzSr`rpvh7=5;*nYEBG%$O7HJLVHXdi$scIAOETEZQ z*|1W&AYDjs-dAydN=u;T1f#j(n&c!yJO=x2D@`D-LJOm&Tb%z{_X!ZB%NJfR7z5Gy zKZFm7t19huVEq{b<3q>+Kszi)?$I8pHoS0_A3OyHbWQb4a5m7JWqY4!ZyEmpbrbp#@_nvzAf(NO0giT>sB zPH>LtnRh*SnpgqmDt2{5gsgeESEKqSL?J*`6gEy@gUz5E2&D~ZZhc0u=p7fTru_e5 z;hIlxuqvu8#i@3ys9NINXqQu!5hmOT8Lc>cBSP@xH={i&Z-R{aT`riqKNy8eEp0FH z(CcRB8VSiWTv4HLx1FO7AX*l)v2%nHxB%hI#_HkC+xu=N-ySQASfN0%^*RcWo>2ON6HUfKB$=UNQSPjme9! zlImO*GhKrZrsgJZll3|Sf+3@tt|{Dd#VH+*-@6qUD>d(yomm72mXHj(1Eb48UfhNzGW_fEn1W$%FTF?y9@?yMMt3W509%!7&*{y|KqU#& zTl7g12Z36{J2P$I_yu-Guo(vUF;exrKu<*&GO*#O8IHT6T^2r0G-}q%=P>4gWr6<4 z**8)9Tj`2S1B8WB{wqo=2eguZdoML!w0`|@cu?1yqFg{{!pw0mFlSSJ>-IS61Aaj% zooCQ9SNx9X?qz4-{*M+~@f#Bis(^C1YHVwcDeBH=bMUZe<+ZAw#FjhuEqbqDn{HMN zxoNLpvrV!r-mxV+hrr4--v6-_O)X!rEdLkaiGGoVDfML9zIgzcr};vSCi?vu|LMUe z)FN!7K`#xe5?Sz?gi*+PX};N;IYdta+~;Qy0JBY4{1%G~coD}gsI{TJ zmJXIw1?3>{4nek-?;b+)nlY`l9K($1Q)L(Lu7%XzbxVCMs|tLh+3|mYuS&jS%L&_3 z>?=M?u>`hkkB)Z-5M>49;$N=20U-q#cOFc_P+$#z|2{>>#?<;q8DbfN{ zR+d*BXZIC@X$D4EX}8k(?@FUz2UAz1d56t+)Iie*FWNq>=!^_%M5_dh5@aPNqL_46 z3bwipVwJb7_wQ!|H3bo|KuW5dJ4Tj-yqM(!iyUw~|I|UM?XNs$azciGgfjQfJy+-1 z_jIV{fe;h?@jpbS@dt|9xTp?V#(1$v#UW-nTsojx^UE2e?!T}xdLrj`j6NUsF1@mU z?z(#A_@sJ1|I&_ePIDq*^mgEfg@pNYoxdZ+)ZNjRTIJr+2Mh`%l3ggZ*fL)mi~Hv3?hv2=ig& z46Q&o__PFgws8!5`|0nAreNKvNAau^8qN+A{^3S*IxYiQ z1I@tA83yD!8k~v)y{nS4xJ*OOzJ43M4iji-7ad{Hc)&oIea_=v!}O(^nxJbH3i1u* zQnps3`>4F%bFRETkq3NOyb;)96+?>-_KOImZmsQ|&4Z81LKx}uU%y!`N9B7VZLD!JN?Q>kalW$Y zq`AlbC9S`>#eYIq3`Gw@@fYVyNgw#L z;4SL=%8x=tetO`?;I{C|ZiDmwT57%JqZ4bFmd&w8GWlcWVEx_M^(&}b6xO?^0`vM& zl`75qd30Lh5P%8-L3E4|l*^p|B1sEE*GW#lDDMWyUu;{ zZnPP;;Ylt3C?C`w%&d|WG1yF?-+;EYM@`GvE3NI!maI_z-eTLEZ#HPS96MUidYdXU z*BifaOvd6lwq8#;Lx*(8;?G3IElP^@9A6yi57@;i8OwthJ9C?*r)MR#G%8-xThnhk zpD!b`W7uZ@l!WyqkV@-+4+>A$I#7d0T{Aa4d*>SiTa%D^`^}WaOGb}5r%)Zbg4)`o zkdRwIA0teUz=*ol%i-=YdD&H#?+hp^uPeSaSLT?F!0=R9ogcnXcg5qOCFVvOeXrkR zQWREu42-=U4fldmn+slljqK244Hy@9{TMqsr}_N>tA)8WuKeewisXUy3HVpdJp0M* zh;GUmdk9QV4lDS$qPnM$^tCv+MbKza7#?TiOAr}zB?EK)TBFC$Zx)p-j|PE(-Usv8 z`u&<&AFDKR&PD>NEY4NLf8&AQ85Z2S9qcgScPK$!^@cxEGap7oY5jI~YB1|m*16f- zY2h(E&MPh@C*~d+*T1G)@y;}iKh$Gz=yCEsRaTf|y`k%$=;2XOdAUW-Un2x-x%Xny zZ?h{pqs8Vp2W*(F`0Q@p-dXsT%bR`ntth66Zi+F4EgfI5M7s|(uO!s@<>j#z6;4yz;@3#V2e%c-gg2s1<yx2YX#1#%mTnVegm%@N zC8tfWN4_=C;}!eqs51OGr4-XAl*#X7b5nFpI_*jh{ri+SI?~qrQaK~=R8lXW_nSx< zPLFpkG`KsfuXaCC!oRnFqkn{s8Ed}=ZTNdr6q_~6gUd%4HPT-%!&h|}6rMv9k8C)v zs;&m9MAnu72p{d{>SFKO*DZhkOo)yeN3V@*(($5p{+kS$QO9;Z>jSd+*;yr1Q`6Is z4$3gu8|Gy7wZ0ToOnqD=6D8PDdeKF=n=B>s!aUzfKkyMSlA)w>kSQD8u$$ND>bkf) zvRhSbWY}$ub=af$mV{2e^Y)QYI9Hs2i#0*trWvv&!(Zl^LW`~Uv+BKHYiz8i zf3D9vz&^u^7#RE;g3I@_AlutG$h=bzLPgBw5o-Aq*<*zuwI|m0_wObqslHE^*K*W!CI zA&(pG=lU<U2c`Gu0AkF38dmP|eWjQc}Ht z%!p7!fqc`18G8Ya^+Pa{=>un~6{%g+fN5APLaSn6aJS`rqRbPLaMLG39W^xxYikyZ z-)wtpqCW{w7SB)GtaW_e5B@cApR92jowHl%Cm5q*>WDePj?!lq8~@rUZ0lHOnA-gL zb%MDd#MN7~JZ)^^?-;n^o(uY_T~mtS-X_1jyicjM=djiB+y!;^%jZ=Af^i+JvW4p^ ztnsN>WRFnd=IW4zoj_NG3i~}EqOIgqvY=Lc2L_EGy(XrnfAHX^<1%W#2D+cWFm;DhO7smmPe%k_S&Rj61%q}0JPa_GK+u6n$J;#_}c zHojEv?dmD!GMnWqQMWBu@SA*F)Aged5K7 zc2_t!)anBTQ-JKu^7`HR<(_G#cAa#T{V=Ri7(jr5Y#Yoa_7b{G`QV!EZf|EbH5vW- z@9}P-p~)zaDJ_ctXt3M&6UV5VTp8dUlZYamE z=fxyb6is2%hU7(0Y#2W=68@<@PNP6*$-(km&E%F^_F6fOIKww-XJrQ@7Z(JQc9TO3}OQ^~UgvS!?9AAf47@D9lWK%zqy5(-d!W#uPej0=Nk zi>&xM<>g9#EOIm~bqNt6x3O`yixd-eIT}tzc)s{o$O}rHHwn%3z&2DAB+2+hM60G) zQjrx(bAG$E{mdfvb2gi+H=@?^IyGWqx2o?*VyE41Y*#SXAWP{hx>GwP=$j?1sc_^& zfEp3>US1_Fqib~K@rQ<6o|cw45bjnQy|KH(Xu1TxICEq3N!j5V9@9y8Jh||E$50OX zQ?QsrocK6s#hGB6Ff@Rop_ms(pk?X!%0pqVag%QQVcWRsl{e!SgLo2)flTnl3FZdFOBB zq;fq7g)>Zts)A1_|4!OQlE;>eO#MUL*Q`8_g;^~n@1HTJf4Th8-%%c%zZmw#rz2Y4 zNupu&{nj;MQ(dfEem!MCRz@b+vxEtbKioU{7cbc9>FL9xD}g|)CLlrc9)&hYGNz`6 z@5h(lDt`|`#h5u_jB96+f&z%S8a|PqC3Di$js=p~Dsw85<#Wx}$cIX2_#Q1Rb|1Wd`CAvlL-*&i z%^!DFZgKlu-IP~fNKz@Abb%8vHaXb^4WEzI*&bqR0m7#L&VfF-40k+!0o7)(WzU1{KkM;(%i2BJPlHG*eRnPPvLp8(RXgj?)942Ls)x9bm!_bD-;u&W841A5x_HwGK;{E-v2?+@iQ?G*WfTg2j3}EX+kE$Ni zpgX|bdI%6xCv5+21r8#_g7oVc;OnJ2na#aP{6_KG?l4CCD!K55^$#jDbL+Q@DK4MX zumz1cK7DBP^034aDoNx{B1H}_e;W(_DOQt8UqFECcQ&?62dhXA_wU0q+y&u3e>u^~ z=lBo(CHwRDM$FQvn8dPBM%n`~TmZv6a9L<;ZGAoTR@eY6`ya8SI)Wt48BicDKE4f8 zteXJ`(r`pgVXJ`8Pwz!~CMLNN&nN!iQFl50jAmJvXNIMy>linxqP8?GZo>?%STgxT zhpOd2&YxQ2qcg%CEWhV4wiw&Pl(sQZvsCQj!^TM0)IOy2LhVvBaOhZ%Av4@ewlvl? zC!Bg>@ZPU*Xeb3p(h3R~$ju>*=-lkW^ML6fxcWRLQK^Gf0X>6*8~$ii2U+IVB~Iyr zRME>}buu6w-zYuivQBT8l$1n9MsmVNZ)$x~Sh%J@{9xDz%OPoI+aIQb8#CGS7) zeqQ<8+MHV$w^}tOwskuKQ=WK0^=2iy!n8hv`muNMY z-;gQ*`cHiuj80j^P(n&>_fv(B|ex)CSD>LDZ7y!RQri zzvD74gQ%~zHJXfB$AqOD?F(*ZtHabgVNUEu}|3l2%NVmN{=g z_8~(b7yEqR7X!5j*{_thk~qFDp;ji*x34#x%X#|gP+qmKw(<2bJ!THje-vEncdPsJ zUdm^cv#5q`h_r~reA~4G$0O`7p2ER#IwtQ0%mhs1LR7O zacJuJ2Zagby)@KP;=e(^n##j}H;VC;`pl6`>Y1m%O$ee~Z0!8fLQ}UJ_?9G8)S+IpUYQ^*t zJ{{~SNM8nK-hY7vys|O5zUX`UsYtaxR`)T01e8 ztNFLQc_LF6mi4yTWTB`)LUJWCSH_H?^VTebKaH8Acc{8<)92TNe+g=SlwzIrIunJ{ z>~enbA;PYe@Ofl-{Dkx7&szq7g@XhGx?U-s>!R2Hm!WxidBa)vpbh&~;@}&RakXdp zs78ebof>&E#Fq*XcS@=Zc?mDgRu@q`W=SMzQ>9yqA8A2E_uQ3cr!W=e()a5gmS&hK&N zqt0pqAu*Ie0gynksk|U!kO?D;X19iEJG)NLhWrLWH#_iO@rWEW3G^%)E>6x?=;hlT zUj4q?S-I`?`?e#)Y()b!rtdr{m)n1n{Zrl-a4OW zU$4+u33%~N9RJXYhw%5|sDQOS>BWxll-_)J`yHVypx1;1*w#u`!sn<^oTcLJEv(G`Lf%|XCmPFKQVqNM7`xnDhrQea zuHyy~r8Rbq!gUGVSaRxtna~UxGalZO1gHl+^o~o5G}cS3ej#7R z0-i5w!U`OUK{CPt?G|IiD&EzVlan*k$_IqXfMB5A<+mp;D-w5mGoc)FdR*o=00WIK z1*Wu*R$u1r^FMtGhr&^fGJS{d#C) zYx^)|;A39i`EbQSUPT3A4b-bMEI|?$xS(D3w7jv_gm)MC{Ew86maezk+tnRVl;Uz7p zk!e{cr-wIg+;H{qU?q3pN}+-3dC7vu%t= zVxi(R0_0$}m;Du6u_A7&ro}&R@KsByr8>cQIoU$pyswMZU!A2rZ<>DlPv)?h1*#J- zulfUH9~DrilSarmnTrC^4bSgX3X)lR4D%G+-RrbL*ZZaLL_0od6@lwUefBTdbjHKS zcmEIL0H2v&9$c{a`1r60*&u7rR5ZVE+LZaWE;RCON(%FV?CbBI=lHnW`HMR~XHdwd z5sgjA72LDkGJEEW#zFn6g^5JM_xNDvWL`87bLh1aRWRo<$^+fcC`A*BZfV9jj2ZoV3GX2fkA=x@`pYAIoFcM~2p<}M8hM7UWI)!8s&BRhoQaL_#`RV;1Z>xMriBdVrBt#ET)C}?mz-L6BklIsE+C-he z>`su5eL$>=JX;9sziYCU(H8h3P#>`{GiPRJO9pi><2JIfvgW|$3zeFVYDuwg2m{W^ zZ_uTjPYJ=T#g}9j*DcZh(em#VY?LjiYn3oJzXygXz_&b~YB-QeG)IQTva;XC6Mk0- zz4!L_7RGL06*-l}u0Fy2_3JNV@1Z)&fHFxZA8G);MA=wHHczOh3o7+qiKS=1(5mU< z`vH5a2RrP;I%p$z9FHULdA*$Bwjcy&C9RTd*o z0{An{U#JHNLE{GK-AAiS=+41L5U9}?QxyjtfHu`>{?Y7j?6|7s5P=8sqz@q%K4&Sj zF}GG=^s>%o4iLw;v0@18l(}Peuj_Dm;pKTq{xdaub%M33_7t&@x1z@3E)kh^6#pL6 z$b-oY0i6fxJBEi)Vnft&5=scxUwFA&g4pvtJ!T|C|9TBh|LgYUCBzVvN$f0ar2<*% z3nT{sbbaiMPM0yl3@Xfe!lYK-GC1H!Gqie&RRvpmriLbm)9NJ(j?WD=hv2Gk^wH9* zttDZgW`#2-0If_!_AI^DVdBb~f^Tcd}>s$6EoYu10bER~hRDnR1`M+rLV zA1)BD9+F3ey99&nPd$VWL;>wr8sNgvqOK-1j-RaD zH&Y5bV*1vfcV&@6JD^+1nK8w@tW1plH4IQ~?f8w)`K4(ezNfFIXK12c)4U{c7u{cI zKE+dYc7I)rO9d~-3Vu2Y@d?R&4vvj?N*v1`Ef;AI1_;q5q2Rdehryx*R27To-)o7Z zYIWIoczMI-Xe?Ck*>fFEic5<`o&@{CYw1B!_)29jsVqC6_Je*V_4qDQ^sn#Y1-SDE zhjJQnL!}1hL#f5G(1i}T?7WAYnwIT#FRM`uC`F{-%#lGE1l+TN(o$_h>mxWJ7|5!N z?VX*&a<}UeRy08|8HjmX-Fl({6zHlv%{4U$S9anA=a5Hbpuay=5Aa>9dzg)(-4lVv2Dk{XGbAhrOfQ3KvdIVIPZS)~8Z^?N9M8ww^2Q!F=Thh@qkPPwf zny-xC^ct@{`33Mdw$Q*Yx`LAH3zrz(D!Q)sQr&b8uyN_Y6BQ(&su~*Yz|ezuc^@)2 zj0^x$W<17xG2f5?NI^_wBsPNrk`O1=h8zIL7rR`>!^ZPdt6PQfz9p_iMdRR(fxv@Pk!gqiqAMdlxi5ROikWJ3)+& z0HemQ+fMfz7GM_)A8X6j? z6_sRVzW{59z_h$U$8QI9bK#Kx@b{u>nmbvWG()h$gs()XrtT(E1OxwXBe~)l*)q4G4{iit%>v9i~ zbKAE>^SYXc$B#V`_6JXSWsWE!Mts%0LF9Q`&#~~`@bK~3Z|9n1Nf9*kc>ehHHJO($ zUy_oN_VxEux?T&3zFEerr1W6GIRG}I5X90+LB`5=Z12^?PdZXlpCBqHRA0WuWtN((ZEO0Zf=03J-S294mpFU%OXFQ9_Hti$G(7KRQ%yjoRWo2X($A8r=}0hi(o^ zlzq3Y^WmT0bir`xj^5tAI~9>3gHtSD+XJRVe_O*VFdBM$$)U>YOTGNB=gaurZ@(8^ zW<%-lT!=+e+uICh*ip^Qph9)f>13uKR>=R-GV=fon%iIaXBq=c*yN;TYguTA-TcJN zu_R)Kg7_q;fLVVBK`s<|1PqN_=&UEf&xwV{n}q=$kPy05BgZrNvbL5HhEW6ryvJQ6 z5tb*Q0-4Uj#F_Kv3Z;_uEequ0-UCwNZT$8!?X>D>8%;pjbj?_LZgcMbeNHWBf-|Pq zSsueFYpZX@k{Li%55kI}uV0HAJur|Y29FSZE8^r&*~xsI)bvNU>hr!yU%l=d>~vpO z_Tzw)zz-anHFM$T`kWk&x4*p6*3lsYJgDecxnklcbe=O(1XMgWbVj&h;B;R7<8*8; zX&*5WiE^Q_yu38ZLcB-I&-&_Fei@M7+Q)xB{5z&@D+vuEWQc(Qo!PbD?pBZx0C_+| zLqmK_&oeW-3Fs~1HkB6IC@L-{0mF}t%?n{|Sha98Mlrv>J_A0t?Kt-!mHz$pbvIYZ za}b{2C?VKYSX9IzAn*lw9*z@lk=FMu3*){A%gn)fwJs0gc+N0Pj*)5hYrY@GKKrN9=JQ2&q!V+#cwYqz@#;)4$ zZpS6bx-$h=VVjD4_emiQ&_2te9!j1xw{!AiYJyVz?;Nw3@}_hS3U72vdhM?qThp^+ zRG8zbg!J?npxu#A4XhQa>d_%Y8X#(fKHnaWSimC+cbU#XwlmZ!IyyQLF*0$nvCQAN zi^|FzLD>tiVnR|<3n+VT-?{Ux?7`m)5Wy@93pzA1;sx((`=|SZbcAC<0AyqmQBzv- z=aqEnSM##=6&^PV4(1vP*`mxO0p1YV@Vg+F7-utkvTOPPfiPi9W`V5-eJ@7n(7OMd$NR`jjFDm*Xh%s($9Oi$FI=AtPNf>+|2*UcG-7YJ_TpgvC_$=346`wK|Q;Kqy|m==_dw{QpRz8}ubrlRntIk5>8 zkUOX02kZheAD1?6=EDOe;J!1w2ecI52?njKt=R#83V&?+MCe`wS+FU7vhx1G31-Rg zB&+u-)Iflh<#NfTHj{qy9L10x(3>Y$j5515iLKHpp5de`xktE!TCjdhNpH{5Mu=HZ z#W?YpxsspNXk%nxQ4$;#lx$y~|E%gdM31Kx$vGqT5>@0+IDI6_){-_c7yDetkJ&t# zUs%}D)ioBfhm5PTa2+c@e%QiVBELVWgT~b>Bm`FZeB?8!3td5R0^ro)=@4C+7#Vjd zhh$FeRY!Kq6SR&q=GR<%iDbLA^^lajI#kdLl5z$-XKoYq=e21hF;GXTb1EuLi@ZcR zACOKT^Ru99KIHTrOktC+`IvFx}Q(QT&jcul^Ip1xnq5A<8BXs=mHbD{am2K6kI zb>P-7x)J-{Qb^#!g;Y6TH!Bqx;;)ZHzfL`ExG!bbC12e+V0jd{Kml#9txM{-HWpWCC=6*LO8v)rD27Bzqfe9*Oe?#m^5yprAgY1FAo?Bmj+; z_2AgQ6aoWY`DWQ2t*jIlU3HN9AIy<_Ez0L?N?=xCor9NEuL7Ax9pNjN4O_L_l4lz> zHm*kwjPt4|+XqCnjouh+n~*C)upWb$r_HgdJ?5ej*XS3oJxR@DqVyI_!T^y|VoD_dU9g|AlWOn0^UL)7blRky0A7@+%T`uyzQuDce1 zC?J6xfZ9W-?`Xu=2qnNTUgqY8LZlhMg5rQLJGr^Feb4Y0R?teUfpL-ku!2Wc(49(S z(c7nyp)Qbj)HpBTNJd6xXK$Y~_-asj*+UvG^cOHAQJOUhp|4$L2*zmlcl4S+ewL<{ zxC1;U2hYF*tp*G!3$A-T`(0Ip?*-?v;A~1RGsBFI+6zlS)<}-=dj?bH&*|oMTvk@+ zC|+9jT#uIN>drw?jr)1R;(0zn_K} z%1v+hJbh7duPzga?tf6b5re_?>sO78p1jD@d9GhW9xJ*oSN^ju)V4(wKur({+34P* zx=kd8o5|wGkk&RRDTL+%HPChaxpDurl(v=$mE&{q2(>WAyick9%ym|@+R--)xW)LB zla?GRt^J8!Z8<;(==Y;iVE1cP@z<;3FHv{R=BmzP^k`LIejFB7e(P&}2MQH{x{;dL z5);V^(}S_Vey62g%9_{}?Qx&+nH@B~OtEU7u2G%VpHC4=^0RF2ldip6v69iFs_ik22 zvln!#**Yp+zc;c4q$E#hR#gm%%pGM#SgfSo4NC3vxyl*_4j`epXwy3B>UxhCnAPpA zN9xf28||2<8{*e8Z|<`6nXEU;cny;z=+FN4=hi|F%~%{RrfyHe3d#@Y_2ITGIv{1e z3U#K6iV7(?xd77%;NzK4VOUg^J!dz|k@9Ydl z#v3{I;68vbC2y23xw~V&*}79fznTEZh*hzK z#?Ow+BR_s4*Dq3;e?4=F5-i~Ga|WlUS)n@%f$mI9>{^BCO8rhxZdn-)Zv0Qx;Y9eS zF(`In|J7Fo`+$d)I=O-flP)FD z5kOoMye8dprB{Lb?EY^SL{Sl%O9xMEGnI(h9-zWA*|sZxT_4bpA9dbnKIz1%96LXsprod52_Yci6Bcf_sn|c-pNoXSO#nK; zU@MQW_t*1d3YHI~aJ@nCBD(d=Wf# z(a$45^>iRgAEr??Nw%`EN`aU`NP5l_9(ucoZt2@gN|$(4G#RTyF2h~v8;Dd(>D%!7 z-9?gZnOebTPoyjP&atY3m_df$6Om}PhB1nJ|3Z$nw7Rnnt;=o}98P*dL1Ax?rSsC?H~^NzIG0gjuv!vlD!|LVUFX{%HwS-chh3`dXpqGI@+2% z<>S3e5%JT}-GZZVRcC+Jcm1c2Qs}ptU&T5g!*S~8fc#Lvns$HGHWNV5KJW^FMp_@5 z@0}=Kut&E=QyEgK6_tGT?vfBLoIl*xFc3uW1zyS>MLVIg#SwPK`XfC|Z zj<^I@OA=FWYG?Fk-T0Sq4&Zhr`lRIPTn8OKy;ap;klgPTo|?GOc*ezzB=Sx`Ll%%W zQ1PfiGU(+V##IDEt+M#OwnqAnUzr_d*kom~s<9_A#VvXC<3D1XL}N7BA>q5#x$5p$ zb4PxrnSlX}iHV8k#eg$mz8HroZ20?fTDC;qAZ4aGr&=G2gu2geKE_b2RIa zcD&IxJwa`3l-fQ}A#63*D!Fc`s%{f2@WFj9+9WrJPb{i3nHDOyj(7Ltf&$8;<|_Jx z>l7|h4%JdjA3d%!oIDb4k=etXQhE-%F>^H5hicfu^XN1X_AOgQ71j& zc2xFpfNzV@p)^fN=+$GC@`}OJ=g$$(aNsU}*=21$poB=6t9@7p=+&nJI|v|nU^ zh~@Ao_&uD%48LWG#W4CbtSWpl0AIhl^TWQgRQ3gDTt-z%%8M?p{xeQ=)|XbyjZ&K4 z121fG2c#w{rY8V5%0|P_eXQ$upk7XjX)~;uch45XpEhg!Ob;BA;hmg^oRBfSxV#K| zQsTQJcsZ3uZU$Z)x#7zKH>m6Q+bED@vEKjHPqcTkn4|}xC<~x!49xhTPS0<$d<8yqryeONEr6v5DDw@yQ!Y zkb&%s9J!`oNZHAm*#1XSyC`iQYS5S1Apt$FbI#veaVI7r z`Tp}~W_eR#w?i&KEM(^-nSbv?l<+7Bjj-+4tDI>8%|J$dL&@#v$P0^u2hl2xx7PN~ zHr&*6b}q6h>qAN)L^e6RYe$9U#i02Aory)orG{_)Sk9e;drR+WLn!dj0JXu17_r+t zgFwhi!6Y~@=^KEo8K$L&$Z*uB`G!X`$PSRuoU^x?n&&V;DRYCo@1_MFRHv8RDhWY^ z4ZrGqgsJUXvzcrI>BjHNRDZ**y&hc&Zm8N|RjL7E>$++jY)4uM|oo`mNsutNvRG7(&`A?9j zr-z%jI~Y@iBOGRZ#l~t2mf{*7^LB3MN$o*???;#q+a(;lMe?Py(;t|{S7l|(bu)iU zdw=c{fcONir$2{>v~eF+i;7jfjFrvUO~}O-p~c88DbY5Fj}h!FB8y3~PlcV{w|BN_ zdCqgWrur|Mbwo`1%C+TFS1~0iTXYm$T(vne$ zH#XPHa<(}8QfI$>P;oZDyp~P`VpSx&9&YsEh|fR|CZ?up>F9JD;CQ*YbB3L9JICHW zJ}k@J+aB<8J)n5G3u*e59&?x;#Y0zQkXe@Bd{hD{`=E0b$QAh3`G36>z8?ji#6E;Z zLMjF}Y#%9jy-jN%osBk*g^9@qkOIgNfU4(@_q}`b9@5Pk_^hR@%M+V59^_H!k(Z-$ z3}U)}5;#-eWNX?2`v`(KC$4cR7P~q;dw!u)=PJ}QfoSrEvx#&CJSFEtDi>-of%FON-+d>hO`)uel`04t}7^SWHWo(lfx8&&4%`#rSTM2 zUd=J2X^kBBV{)Ui#YEC4%tv!l6(2+DLsoN$r>4PVUY)1!_XwZ*Zl14`_v9DCz#oiN z`;8hsZ`JyGK44mBCMW2Xj=~CLRJV)}i8GOwyBb?md_0e+=$3SE+w1D-FM!weAmbFF zlR0Rj2)=yn+TfgiHK^i|Bb#~pq?tr`5yW7N{TkM6{AoPz-{#0_Lcd>!d3FLGf*2 z+wUlDH4fT2bz$ynoR1+MXp!Y|<2d3Dm(THd&gyCt9Ly9$EY=qmlR}3drBagLoe7k;3&CI4MH){!T;j~JV3sbZ3r>DDk?1o zS&uK2)`S3K;R%O!h2NG9GMo?&W?eTop;PctY5b=7((QSk{G~U?(5#~-@4xVxL zV=g+HJTYOZr#}hLy>j2!`I9n8r~Lc+l)v(+Vz-cMA2xp1p3#B_SI_lq{&L%yLqdW! zPTecRcMWJdR%o7q(u1P_j;-#w<*cA>El8QVJ9G@b25Lk{0N)7Qrda{2uM*0b(?R7F z7+A+4YH4Ps3F;X4hTqA^ITsXz#tf<^+aqf#1Z%6dASWveXQZ5viQhZh>It}>UO+D5 zXnt45i{I;;HFM-Eze)ovU3$?i3zAEAy>9Gl7ewtUWJceWJ#I1}DG(N5W0xIhPbMD1 zxLL?UQTy^uZOl~Fmu*(7vmAx@>FW=u6Ee$JT*{AyzO@k&>Cx7Ll2~2i{<02<6o{qa zCjIm055Nc>Pz3-vnq60Sy?;MO=)LA55m7Uq&+9J@R)8~uu*a*7(Xq>~M6fd=EMXh~ z2Oh|_+~41aOVsNZrT*P_ffF&Sp5TT0OUBaGt7oj1tLNU@2Ux;&-w{gdp~?VdMN0LC z=Yq6_VV_d?bZ;45KG~Fp(#fW(cTH&Tt(v}jT%BpcAaSc>iyDP;%Jfk*4#)c+_ZRMJ z_<-$mM~5{Gn{Pf_T$u@Yq}Cy)PAg(9g2>+dKbu#SSE#c-^eN9m*1!@Hdopz5XlIAr z+VUI@YlRwAMdb{jSWS{@GQfNDQ{al7*Ll9!v5E12^}QD+eWg|3rI+pe`W-f5g)DpS zR3|lK=|?yi$tew8vwA~3NR33Lol^tQVrXTRpPSopRxIIbPd&zxvdP>jZ&_GexpnLL zeCwv`M=Oy8IE$ehhIU38E-g4K1*n=Yn3P;D9)1HJPbD+xX2>hPr0`6Kw{r9H7MEIB z{%a|@7j1L&G`GyNaUpZ}R?_@`OM@ahtg`%avr(5S6wzHxZ9)kB5Tr}TZQfB7*noem zQ7{Y$3|;Lj&!F;xtasDYyk2_O@#FSdI;B23NpU@E9?3eRvLE5aM0)nimoKBBsn>P1 zIyW3n1p*UzfrUMFj}sCec78J)vNSFpzS~4VAGs;5{FxKmCl0V$HWVpPecsyglL&7G z5ncjJ?^EQiZ6b2qY47dsZnY9AeD8sQ@)v~T(Zz*f z7l5&bX?v}#$_DD!(c~z0aWcdx0#iOAr{qg)yTxl0xORDe$|_v17;^;&T9|3aTE`|Z zWCy*m%?s}d)ft(qy8hr1UGwA+UA$X6YB1c@ml7sHLL3=oRA5DepB4Lw0h|||U}Gq{ z9uObkHqP<+c7&8$MClpy<5Q*|@GGp>PCq~Oe?+Jn67_%Vbf5$l&ij{OP2DYTx)n}Pjme3;W(QzA zyCNyEgv%I2+tE?~bPoUuw+Y^ZXNu_0F6}c=-i*S<+YKMdJ6i-w4-JJ0b`H`jzacr^ zx#~2%PX7GwACd%1s!<~RNGui~ilkRXMa0m)aRNFI6_T2@&7Ag?E5wM?qKGi9+X1j> zZKNE&jYX%0R8)w9G~(pH>#^)>c};$Pehb-BGpovCY|Da0U^uYFiv_(|XhwG#L(-om zZuW?y~VIjLvp<9py z_uVj2PE(UI^w*ktdKB;Y8(Xd^xG~Ln0_+{CliAg+l^VqU(vTxI0K_~wuYDtPL`e#s zd_&<<*;YQOrka_jA-**@gP;M`J(`-@avVLZ4?Mj30Q*AhjI9$oDk_Q{UJ`r`2yP09 zv6IWS=@+%>0HM?QK}2`w@Fw;r?tOJ{Ej?Wjw}^W9DFoVm{aWX#g3l?y$Y8J_ zlyU?UPaYY1_+H)pHrvWKZx9*x|J*3`8mJt8WRkD+j<&t;p}e)Hv%ncaQ2bxK z2rr&sf@a1h(mRIz;dn>O0!UjT((3p-b(C{o?A@2Gu@t&z^v=pl+8i{M;G?+U_Fe$J zAI<3%qMQ1xv*-YkmKY3A-aqQ8+Gsx9tEo1fIm`P%s=V!NDqtJiJ3BHSRspq%m1O^b z55pV3Yv5l4u>gRAk@#_!Sg#$>WsMS7*fwF-eCEU5-FrYen>Pgfj&1+)rsT^}HoR6# zp%G~DKD2t`9r>3WuTBryO4V7jlhxNJdZiX5JNW{T`Cv7a{+yW8qoO9Uv!ouQDa$bqo3Lr8o z`a&X2`$n*`EWU~+^TJH4$ZcyI4-)%7O(h+6uO z2YaDcJ}dxL3@S2m)(m;oeMqoe23y4(^57tWF1gu|hUgrzVP}Ot93gramSceVy+F2# zOgmoc$^3!i_fvy15f0V2)zyHGJ)Eb+T-nammHR0UKp@b;zeDZu9{F}P4;O79d?!eh zjK$v-7smi5v0NUD=3q$?ws9OAfFtA1yIzuRfSFnd4K(B+$YeU*$;3KmDEJr*QAbmZOA!{uZm4`{# zIB?u}PZiGj7};^sd1nvE`~tVBvz$RjG(**c#jZt5d@ zW2ox4VdAUOy&wUQC4l(ap>>j(BleHh9<_}onlFEf7p3_XSNZ-}Q9N1El7DB`rT5`Y z@xR0W;S@J++@JIUz1H^jT}jtbkD-NglCH?XLCv}WwFja+0EPV#1+>b5FnCPdsTNgK zT&F*5;QkL>GnPns$`u7;k@;0PcvZ0NL>O9jEKgJV5gXv3P)4j`_5TBBE9C@B{LZX! z#FOA$)>hk{`jV*J$zOQpv~H$61yPTgQHpNRuOYIqFb1mq^wdbUk`}mIS2QLn)a^I5 z=6*_hH&6V?0o_g(h+YIf|NixB)>{_3M1|EY(1B=O6#>WY79dDS3L*%RxM2Z4A(k;R zsmWQX!v=OhNIrd19S#fN=H@11=SuN`JC102k?{B4Uhc4SRJ@5^b3H&A#l)Hk@;x^cdcGyTy6qDf>QIHsI1LB!Pr~%iSFffRFnY3w;~(3ob9}ZA8wo}!M6d}k z{*}7bO8ZnB9D@7W!SNk-5QGzmDMNcqy5|UXCLJpR;Ru>E1j~cy%M7qOPd+&LD}S(< z#Qu}k+0Bjo9phpR;Ccl1FhaKWjNi5Hi zwNz9E<@DDqW${E+^~Cpo)O5lHJAwBJk!ikc?gn)Qi73~mgcubFYU=-rIb9%B5eIXM zxK>_wV4+1wCBg ze#OARK+8`C%wyq^y25Kr$$x3^q-^_3d{v^z?}>FsLB#m|CBtm3f?VIPD-xM&13iM z^&5RmlQPQRV@~;2y@fVXACP^()gP8n+<_?o0FPzo=PzyA!srgL=vDad^b^>_$ZYxB zTcN-cJcSgoTzrr&(lW*I*yWP`3Qz!iqo|0LS1S>PqwbQ0(%~WWHqOq@s=%Z--40-7by{VzvcD}Ekm*ZH4ZG8?GgcM-aaY6oB<3Oh ztzhQu5$4}-mrHkhGUafcaRwJa>?AHFb)L5Q9->D9a(xG~MLmE+58ezt-#0Y$$@jw# zx65^&3+kn{OKB~Kw*Z&`6l%NMJva%HY|CK~joXL6_Zok{cBiBi^$E5vhi)oeeB<^z z4q_gZ!#NB}=iz6HG)Bm813Q$FSfR($-)>zcF2>o$}SM& z1a&cN34P<=((XH0K#MSvlLpzkpH}bS1sOSzSBlDg-dlu8n2~fEn z(zVAdAQlpFadANZ5g|x-nsB`fkY0&QS*e zRZ4xHMOir@cE5%{W(XPcaW+)> zY3(&<65NiY9!#(G;gHuw8^RG!nst;7`0t%ITZIEDF(D7=KITNjp(JFJ zbEwn~H~6_b4JzJbv2O}RrpmJPVO_6@+5)q1e!7Otl00RPTYB$i%95j5*+?be7D#Xv z@c$Gg6u18CivbHq`eOKwSJu}}Xawj={nB}VO$W{|<*<39F)Iv6$Ph%=3vY+!YiVc@ z0{&S|VH5`Wi|&y3_& z0I9gxh0Vu_i5R#7L7!sy*HIKYU%;}V&jG^tGC)g^eK{~S#e%$iDSu3{$?F&I-kBJe zJ!5-I2~PqO{W_q&p^2kCP+q;9Y!BS>=Ziw203Z-5xtA76PO^JG1|`03LnRLMiynev zbjqAJz*u3$h>hj;XuXzw&14op%h>*Y1Ar92{|bclgMen z+n`(;tMw{CkPL@-G^Snu=FRmgv>^$s8qlGSA@3U=@d{L`a76-O=qpWDcuBtWHLnP} zCpG)0gpVz;Y6f-#$!B&r-55AoeR(`O7^>#0egY6b@b;hym@_jjON7; zDp~S5a5SndJiB-u@yXy`Q=y)~zN7s7ro;>dt^I=sABwg^!40i>3?}4TfAHvE4 z(P;7d>y)Lj3$}@8kx= z?QeH61lUn>L>#(3@b(t(?(S}qM}~ z%1`)?V1MuSQ}oER1Jm4xYLI9W6}()dGCyvvpAg@XP4Z4Ag3?A)0Zs-4D;Bs#phfab zfvC1%zg1E%(h}+fXQfbJFhR0nVPO#h-v!_SHda=rB3ghJzzZqBlqPz7+~4;Dp*q%7 z6HNst1^zTD2Sh%`MC^JCqxzdD{AhT?@K~R_y5#>5+5Vy&UXUc5EvSaZpAN57uAws&vU%R_+{I=#9aV(6Cr-!cb!6Ns~%#@7= z(!~QSb@eIXH|w{ z6DTinNlB1-oiE=BCk6xwG#ao=jC@)IMMVva|KDGO zisGCnE$Jz+_dQ8Y7Wm?Ca6JcKVu=v0by0{bSZ5KZ%xB<}r6zA6uR2Nf!8pOM0iSb^ zB@^ooF}>)bhb*MIyv%h^DLtliy+_#pSRL?@Jf4))q$F+aJfh5d+cR|k@;{`)7^7Bv z#uu`l*)yiMbj%ipHG%Y1T~PeqF2om6+h0mZM(bE$#EC>7J7G2@47ozaed{iK>d-aY zH0Tbv02@?ex8IHgy-lWsYm2QDZ0aAIa)dKyX4M=B7A2+P`LMud)t(06CK z7f}H#zMYl=C;*bQ@6idGWv98=Lg9+cfpM!Ye(_orN@S2vL5;vzMwl#g;|hSKV6iBo z>I~@v_k1tqf%2fnojBX3pQ74&dP;L4;UE{o6fP;1&)1#4;dhXJCN6WafER5|`aCAE zFq*x%TlxA1I`eM}h&rjPhmw-f-P3X7n5p~e2!d#-kF69cXu5g8U5rdkK`zk=BNTWh zm;a|Jh9-Xw`1@}a?W_xvUcHEp7n)e@fHlC9plD=55HPUf{FNXm14-HCffByd#Fd@|!A>Nt#N1xY z9m1DD!~w#kuR=n0f8W?FEf+kdIY+C%W!-lh(i*I_Jb9Kg#3PcfdPRz?Kwmolx|h5H z+*eHoS3j=F(5Z1a6|%t1S)!8QlURqzkd&Ukk;nyGq7Z(8bCqsQFT$|^{n!b{5e*<~ zAY~5;7lky=U)c6Ws7GtJzg&>{Mss5HVTS8m#x3%KA zQ*1uZc^i&Qcgo4RfF=u**YOe3+e&Vx=ovT|eqOw;m8go*=Cb#H1@TjnPwi`^GlUdJ zueECg{+!{rL!Duk%c6}C&c zj(!CGoJV2l*6}tyB5(R8{NTG+;C&r1zh`D<76~vtPDv>&I+h0U$UlMF1!xH{U?=pD z>R1E)fhC`EvOQov2#)ij?I=4wo*c%=_c`NwKS;-O7PoifjR!`Qk22HbMfj5XX19Vz z?FAgX-Eu{@SDCGJ?_F}dC~ST6rod8UA6hAiU5g5|?SdD3>{_;|4ClMoUb!q!MKg`# zu|?8Eu}v`4Z{PQ=NK6q#SZM9d;>^L90Fr`l2P*COfck<0!h%76OO!Dj(opYHvlhR9 zpZ5G{kyrljuR&h&K{84Zf{kXwVoGGUpZ%JU$%G6}LaxE`#JlzRg8Al(y_ zmX`keX$1UPBST{pmvxL4B{z&NI|q4d(l~9>#i?^B zDLev6j#eDb;joDZ$p%WG@In@6jNs&eTl@juAI*IL*X2E}L#!_Ou3I8@JSHaD|I_F{ z2E)3<+(!52rU=M!XMtx{Ef~xh{Em!LLJnr|CWEzWWMfAk13M5_(Ryakg$Js~B6ZYv z@AoYP)DBnRKR8sTf+=(691mKXnjQNP^pIuP1dHv^p=1hzzOgZ_prE5qI!3%L)U2lG z8Zn=_I}rdNEr}|T`)Nbdh|OmQ-|_{0F}dRF9anM7T@bdx-QG=n+FMZebvP_%$t@Ek zR_Jx$D#9Ifew%VB)W+}FY`U-im(I!CqjiSOrPlP`eoSE@-(4>+AP;1ZQXudZf$V5}CU)$mE(#1Oh53(HS629ho?VqV&=+Ybm!`icis0iGJ<);(u-_%T}S-E z@lo#a%e*|W5yQOb#ut6-m$L`I!_P7?_REm+7n{@c_I_)Va{)fD(XQhQyW*gjPJ7$i z66GPyY$ixIjAE~ni1(3Z26nX95|wI`vq`#lFD1Nv_}v}^0E%2_U}CMORFMQRrOHKM zqirEE=)#hN?Io-pj{6qnd6p(5DJV*6rzuO8T%xy2F3$}A=L1T`gV4akjG2$koit|W z&0wA(GBUlf@p#kL)Y6jx4)yucx^){ct-FGG6QL-;_I3&&DPWF?lRFe)*A&pfJyl`x zI(plonX+NfI@y!^kf)7ejHDTrVuH3 zi$01hHdajfl49}QP#%>i1}0`k$If-xHCXkccxP5g6uAa5u|rf2_Z!rZdzR46*2(`}zER43}UnQ_oQt zu7rXVRAlf6|99&F!laaLhhYgOS|N}SDTSF<)paEapt$Xq+$1GvQsZTWk|G7{gN*v;5=?-lBlKi4)aL9 zv;THghB$A`+7oHT{d&qD6?}BcQxUU358Ms~dVnCEt!w%Wd}t6fP+F=halpw6SESL1 zlhH+1b};m*s$ySk)&Nimt~jG>_Il_5aF43xV3GD7#SX1WO3GNO`~yMg(V;@xxDpm& z?KPZVdYa0HBPyQsXa4hJt4pGb-tUpWA2Ayz;G zfHTm{2A5x9OMye8zJ!6k=xIO@Bs#D`PD~O1lfH?Gm@(HjyG#5^pEGviffsrnaKg55 z`)pcq$Ygehv5H5CyNaogS9)KYfBN&Lk~ajx^w>}<9(G50=~ z(&v^*&gO+bDpK-25P|zuOw}zdpk-cO`i79A!YEdqv%<}Q9s0PN5;u&+vNEzEwQrD~ zwr^VQQ&WEFE5i2~o4dW)K7dsuAB$)izbwYURI#__Prx_ zuOJ4}O;R}HqSH%@GHppXKdGicU<@uiKA1^PPoM8{^4#CR90V+%E!IeftYX zDJMI7lP@7@=&C2neU+kKGCW_3m(U3U0j7T9f1aCL$8@;IZg>t+%EIRikzK#Yb>3M0 z`6W7fqIWsu>IpruE=9)NY1Oikq$f|nFrx9l_W<0@!$w^@ZC9z>Alm@$02-nXVA^kM zZ@=y0vV+t`Q3h3LU_p4Kq)hwGs)*RDx@ae@A1Zc7q8a@&{EtpE@p!?Ub{=F5E=%i=`jiuB79!;VN78|1BAhPtJ%UY zFuum8tb_SHDE+kn!*_{2uLY6UimtpZ5+YN$Y$7TmRa^C`f;p$s;z-wTFBBu7Qr-kh)8A@b!{Jrw6@; z6R5Pa)}GW*uV47ox7d|uUc{v(D5$9dikgB_mNdmj-AaUZ(%)sJ|F*ZsAx6&6y}j*r zmyoz_Mc|ONa3^3yKm_rCcWOhCRFH9(7-8du^S@t%wTg_7&o6diBH(f$f~INqhD4PI zCkF>!OzR7$5*UGDmE+6~E|h#tRIQ~Dv@`0t{S+o)tj^BNav~y^0dxf1vYId}@E8Q6 z!+qyv<7n*7^8sP_g@2ypgUE|FuSi~-sNBA}`gWHd5<49@LgbMYu%~vSU*D39{7}Mw z)^fjPcJkzrt?I%5M?cOQ2qZ;@&sTGVr~q=H5)%CoJsQZ&gG6sUfAMa!W^@#aoET?f z9=`={A}MX2BzX98mH$>7A`uyJJ3;-!Y*;&UlcyS=-Tx+XP_v!vjYkUb37ijpdRV_gWn-i!B76W8q2>|4SZwsrAE2grnH9)6Yltf?(p zcl81O`vrHQF;_`Y1df$kw;15uVY0`aiFZ0bj6kmf=>3dI=r2luRbY7lashZImn_Dh!xX52tu4_Z!SH%2z;fA@8Hz!0`Uqw0Y8!Ady`iJ+^@@eqQhxR+=LD5~v4rQNH z)%b!u4|t{8{iEW)A*j>1OWC)L2PbkrM#`QyW}fDekx7O32djuQ<#4AKZ6#_Z<`scj z%pU^_3nHF559uSTrWf6XbQ)kbEL#_b(7y5Cn?ejQDUU+r(XG0V_Vv5KzM zfV>Iyy^nmL^;1+RW%`t03Wm11sk)rGGl&p;neEQ;TmiQhxHq3brJ0Ly0c{eJ$qjyO z4Hh@}Ck(}K9vD;rLx0f1xtUoc*b!oa;8B$U{Q}+JW$^zXrM2^R;={Uq(e6pkv0e8{9PfQ1(T3xyDb9!3|i^;@V{{2H1%7$-PRMXVoYt$Hd8=HBs@W@N0U zbTnxX`~eUEF5Y(;(*6|6AWY zd#s@Jrl8Ljrw|V5RN?2`*c250ZhnA`aVS!%S`|^h{uB^=>Ux^CYoo zSpj(=>60YrUmEUjlX;9&Aj>g`RVl?ZZ5{T}Uv^kVYZLSd!C($~1jAwTcq5@J76Fviu>DgO+d?LHs6h7B|Q z7+zIVG@Jq=`=pgc^k1WyfNmeMpR}m}gNjkV z)lky;yu43-HFF&l#G{rJ5$(p!R#&Zh{PDrV4%|^pw=SHz2j9g`dIGOXMUB)Iiqn9e;3pl4J4NGMMl4@w+#;5gp{ex=I%Fh#R403k{KS1aJW$o3pme zB3kBV!qeHYX~f+4YQG3x)vnGihf#6FuJS!$>%63sd1f*HERU4arDkR1DcTOFIGo;+ zBrbh?`hYO>&6QYiFTglH2qvM8qtE~_0^~0yZzD-Hh74693w(Hy$RG3lsknMvd^{aS z6Fymfto&2wC&cUxH(5wDt7yU=vUOJt!JRLXJ?FVzF6~oac1p$8L{O3teA_3DhiUqB z@WrxCq{uOsemHG&X>OICeV|VN6Z}mef{i#yp$daA2k7h&?PN9`JN{~Fv3f3W53O*L z`P)KJ+EdJDuXbfEr;L_4eYLGq`le2n`b$ht@%;;GtIw>^8eY%AB30x33x~$?J?b1j zWT)xM)gN%KO#TBpucFhxRo#Hw9nSf*O=+z}BU)D8XjGRXmlmdAkpD{rRgPzf6`JWn z=qa&FmqI%147r?!XqX(UEI?#K|D^V8PQWBcxl%NJP?jDfIr^JtS+w|&4?JNl#CIK= zk5fKRWO{riae4ofq*fwGS|ISTg}0rA5On%Rl?+BP(x-g061p8oKnA5;JWPxOj7R?^ z+R%dUG^}k=8z)!&t_F1{VfU zi_6v=l_lIy)Vl-mL&i_h(U6k%R9e5&(nmIv!xJ6Pms$Lok_!KfF>wx}Fg{Su7V^wa zt_6h_Kr|lM1epV9?8kkNf@Plx+E&SlFglzZ68DWsVPFbN8#>cnq%~oL1C@OwTz+W2 zx66&gY(b(Ba&B1%1zAdva7jd+k?@C3H;oB`J4Z)T1ir+QUQYiPeSNEM#h-UByy&ie(Tf)212L0xo;L`s z3Wv)I-i)&_cv~2Yzp{{I|TTGbXPTL z`ZuMVw}bh+(}^_T@;P0!bxe#o<5LnIk9^{w&rPs5mw>;b7_Ybj#f@qcuOP zT)M8Mqp(%oHRTC01(snu3gtXS2frJ& zzA!HvS-4wkWWajkHg}bW>MQhsa}`73WE z$-vJ`o%?AJxC8p>SZkWID|*OJ8oEYMHif5qu1khO$nO+ahohvfI%x5M@h>vdT=kZH zYw=n@o_kt+hExh-K=0KlfHV!?z4?^dH)-W;gO}*-ubg>wo~Q6{vEe^VKw~0W7Is_o z(`R%Sc2Tc#**78Lr>1ZdHg}ZLzcsQVsSn~DRcCjk4f;mZcXla|nvxO*WtxVWYQnjI zjrA{m=}d`nMsLqHpsAodW`jRL#hUZVQ<@n*G^T#~UwcCtcR@maQjal7SCI&#I;+th zMHYIL9kuxqd4Ehld}6XIZfd3y-U_7q^(gR;LYz7@DVG(7hvd7ZhB>f9B6^!{r4E(m zepvj|YH$pk!zEb!L4{$ZQD}CtkvB0@4_yB8Vg&^RG8LRFY~w}nCrDc%a`QkHe@uP$ zX}VQ8Pko5a2xuS^wSj*%02N(rWeEF_N zIT0iL9jN1-A}3acgqs(R7HJKyR^a>7NyHm-Ab-VD*YD7=Z<~>!%LB3<%nGf}HY)3o za8)g$9{n$xz5*(%tovI+y1S7^LK*?-?glAo0SPIkLrDP%36Tbo7HOm#5mZ7zLR3<^ zB}Mr5o%jFEnpta{#qd1$+;jHX@r#xSqI^J6x_?sz`C4)#^y>w^&)+2=!beH0>wBGm z2OSn)r2`R;B~m-Yv4MimGU)UQnz!N`L8SizLF~wXzn}69G$5q55B*q>!Z4C388&{q zgS`5mv*v*8akfH(?!V4;cV4W_jEngoO~yf2cZR|?72Ci=D(&aA6b?LW7cDw zZj2|@^bOQyQac|em)dmWZ4k@nJ`Sgml=rxhENKlf}^+aUqWXaLjS#n@N_1jF7{XLtA2gHL=i z8yA4tu>cA!@=x$xsltg!K zQLl_JPS|({F*z64h5TtyS)06TwE~3b51{9RP;CJ&c?pjVW4BKup_kryIVwaQpZ(IT zg=y4)ehb}nz^)&Hc;hR8EJ2SP1yQ>Kd665^(z)G7I&AzgE5kUkiAOx%fX5B0s`4ej|i zch(v1Z*{QEN@goe1EHndMA$_*)3nq2I6vwai*7Vg%jyx@=YMCkk{5cIS+uSf=MCY= zALkCwQLFbg}eg-C_MU~w7#VFlhayq=Kb zy1XwNCw`)fliOe6{>=?Je*ki)FcP;1${}Dc!DeBmGJ$JoAu8^_@BxVY<&(}UDX3PPrm9MAcziy6xn5D# z5zvGQXi-i8e7AudFm!lw19!y1T@-%qbRlvD!6U%EjqoY}@QXOKK+Jj4Bk%jw?ZJcf z1-q;-4)6gmlDE{^0vgm3_~c^FQ+A$S2L=QuN6sS>B%*=ajEop)=lFxF1z>7f;mG}h zQ*HqO=x8Yo0Aoo)GcvowhaNMob68PkJa?eu?}YXrv-Q2~L<IH8N}m6QIK$tzM`5ed@7=%JX+2!` z95}zYG6wc{BVl-lKTa$AYSYwl6FvJ?6|0()J%>*GoV?&c#HuHXl>23r3$s^}$jUXLznfN*KsC)l^JqqT%-bN8Jt6oKeOJi3?he&^@w49U zV$xa9t(vqTs};M;(AU8_f4UT_b`=LUXlm)+Pm58c<3*m_wHeix_NON}-nfi%KsE3F zcjguHhadNs)l<7zjs6&E%<=mhb|1y=nLYgbM}}0IPiK!?iqxE)hH=f#@585qRsYPY zPU*rWO`l6y20MwRM9BmVAEvQ5R{G5S(?Qq$V=5u~&@E4P+Fh>)&2E41aJ0SBeEfWU zcHzru#-i7tSc%v@Z$oUx&dc$eQ;7gnMW&O$S*e;zgc;T~a8K|xJ8S|oJnF6( zIulT3M0WK0dI#S?i^oDw?{~Nnuko17cd#sYH9w1uMV)&$4bjABYg!JBm~_CPdcm`n zr*MR`$j)g)UCE~e59MM3n@aTi#NW?27Eh#{9A!+spO7i+z8P_OLe`w#^t3%_k?U|# zljM2Xiqv(C58-Zdx-~i0kG;~4dF#I}k7$srdF&hgT*hAY7ZR)B3&G^L6BXgD+}Uth z-+wjW!EkaJc@o4flW==#L^pfHURA8*Pe|m~prB`OY{u?BTrA5A#eD)(-%Hr`ULbvc z0NnU}5H!&P>0(g*@&h%#85rKr|2X$7&i!CF6%WpX(Mn0HHOQls3V;#Ef!^)k+5m6@ zyONI4At{RNBv?-vr9iMGxC#Y;12mux;Ba>W?+vKtKB=$vlCrb$nxquLfV-e0$37{kkA_@0QBiizSgYC z>48DcnX(>qH}Os%$vm~@@_KVCZ-;{j3!TGOGghoz|2tc{MGrs@33r;72%t?!7?*&^ zE+ewA5^Z^3kL&=idkxSs*|?(UJj*0Hh4>Y_aElF*Gy;P)FcIPM$1_h;oks zp-%I!e^$8z!5K;hJGZIbgUkjqBd;rF;Ke2q699zMV0^Y0>>0z|Vn>=UnjN?#ijVdA z)PxRBsvLCA+Z;|LPfxdRCVC%;S1G{F#?6|XUJbS5HwEg=5Lkhghho>WUbc< zurn8Zk!`B4|8>FTz_ow<(ZM%!cTadaxUR$95_HZ!HDX-;jW5&C8(60YY7phm`{|z| z{}b^_fpdkJ{ZxCcr~?omwp zQH!a}-I12wy5Fy~f|e%aLk=A#W4tNvQwrp?u5Uk%e!|!s(gq8HEDoaFlNWqUegFP_ zkd_T>4|xs`vp>MNTKnnN((AZeiy+%m4DCQ5d|qCjbdCeB2l$JtlXF>FSf!f%@HG;b^5F9Ct^pWJY)n>w;4LOj}0G@sp2NpPAhjrzT&h zYq3JREs<63kb~nVhb#p0db91flydX;#&7G3h&msSNVh}7q+JHEHT>t>*S0LkO5+P&sW zNoLn;*hBnns8>Iq1lL4ckB^NZ?i7%n;zJ*?1Pn(Y{eN)xm+w`Y| zvHef?Z;{wBn_8p_9QAA#Vp>lbs02o_;`iD2SPKDCAgfC5oSAXN$pPjlH6VKfA%oHI z4yqhj#{jFV94r1WT$mq+hd~USW4id19F8L>kPL%S&+Sb~d4?VTf7h=5c8{^ui;x5b zK9;5($+CQr2iq?lG_izv%HLIjVJQ?yU`tqRoyEKtHWTXNhMM~5mb7DtgkxIKewR?y z3sXaNZ7(|R15$?^j*sD)$*7Md=m}Jw`4M8!%!O+3g>9t~WuQ}Qv>l`Sk2ZdLi2@pWndf7)gfaR95t^S@K1|_uJ{@QJ+>fP}$XJ#3()sR_(3UxZYb4k%14b;% z3@_(A*yPNr`h<~x0#(4YdR|Z#^iRVYz5F(~J+{r0h}tA2DkftGgClxw_z4=*}UpPhl6|NU_Z(SW_Tw{~Rnv46G zEM{WxGN{LvsP1VJ31*0L$+%5}c23Za?}zjJhjD>{>sR5Yl6iSOrBgN;kxX_2%xcMj z@9Jc+v{=I=`;<5QFJoOTe_0OtbJr2BqAO7yfhK_axvi?>6E-Wj=fI&Yy#r0kXzx8= z_xqnwYlc=jo@W1p%vDTEY?5qnDDXl9Rw`#3bt-?{W2T37Hf0+wzt8U3NE1uA{Gy&3 z52GK~3Z{)XIx)r-MoO3C1R)(ldRhFRS#%W^kuV)3Li ze%5F=3`m|;H<>=+icFeub+ETr9Ggxu75+=z@R?NJ>D}L}l}q#GPCBd+d6`PRY06oJ0`?wtKXprQHJmF^jIlh0%*Ry!R8Sy+oiXzP~ z!nTl^ii(=BkveuS66;`|RDdiCpHd3_oYU!o=+d9J33XH8SZO5DLk>V-Fk50Fnh-=f zUC_yc@hEC6JlGzVR{W}pCcZcLb9U!Bu58ZND#$bS{jI`YbH$>}x&<7I@WQ7j7JhMj zN=cY`&kB~Cce0t{8Mv$>?}lDO;gWE!F{w7Ige(eUIjCD1-XLj+)b~S&E~&dr5ykKn zRCP03|Nps=uHC-Hs|o(8BtIR(i%R}O7r`NTp?Z!K%>{V@RQ~EG&>8l>E0|hL70a{#g6@^W1#; z@|Amh_BD~ne$z^0VH&Mz*5`rYKOTa$ijg6Cd=5@<QE&dYZoHiY6c#8S_rCfT{HD+Qj=i&2 z2KOr{g8cKk&{fbPUz!lUD}v2bbf$|8$e;di2M{)V2ECWpQ=2s=VMOvG($^YxTi&DH zh=2?eBga@IZ3)De*Xe2SXCw=(pWPs|jAK#@6L~MUkMUmR@T{VsXl~W#_|G4hn>hrN zx)3t(#n9+#=wa!m6X{D#0q6l>BF>f^a!&bXOsuhNn(>*xodq+(SRx48_x(*Qp8mDE zrfZO^3wptiB3=w%jvnG%H-NRW#Cu@Cs(&?-!P8*Pv`BA z3IK#IsJRh|g7Fk&r6tZ&f1K`77TgGv^y7`H#}GStpQMkm6udW4#6P`3`rY1CnkQl+ zER!M}dij9tAjS~8{@OPC1{G{L{|+bho+ZG3h5cs3MwQE`xX+(&bs~F)#YVi`?IK|REDV=1qRE2FHL9co&o0>VyNHr7EVAi+vH(MlTAn!AcGE->cNea`22TI;=VS~8H?ho`Oo*^zRXCqaf}7H?D>#=A zINu#ug&M?5f6-}ei?E!&fakvjv=yB1iSDAp|MGo-@z=Eyu*n1s18A&3`!DuGGz<8_ z0ivx!`Lt|M(@^}zb{X_X-PGD${5Nle^5{mR$3$}!?T zk+TfnZ8~eFH&YKl1DpykMY*u!28T%Q@a2nq@)#`4|DH6}5O4L0pFPPr$*N~l zw`*%?oLI{aQw}qK44<+s{ljeXxGpg8aKvV+Zk)y#+9AfqFP$k8=PhMtT}3B_6M!Be zWzpo+SoqR{bMGB%0C@61J59P#^@fBU0){X8FnyXQpEIu)@?OQeKN+ie7Mxmhb?rHzs=J!{@ zXol^NdwxVmMM3ks2*B9|{R=U$D9Nmc9(_y1`e*i|^NdKM*32TQM;=dt_XT_VMw`6pV9nZ**~a(wT~8tEIyH!7>Ue4-+2_Hp zyrn;CpZ>iHFWyes34!)JP%Vs>c=z&)tHqF5snIXCCoQZEAC-@N#a%Doc7#=?hE;a| zU2Yh5NWUPu$d#u%WzNbkZ!I~C)bj%<$6oW?jx2x409Gj@i88csKkxP>VGN&&FX!SU zc!KT5nxx0v!{A^Tc$YOUA$ckn4xT(MzNHs)B&w3$6hS!acpmiEn;~R#;L}Q%}#sod_NLei#6A z;;fEINJwZWm|^&Wut;<_{VRVL2oWKGc|GlWL}s6VRveMRn+87fFsSZ6A1EJWA**i7 zAi5zaNCN5SnvekR+g{!FnRfc+YOyD!SZKeo(C(pa_=P62GD#$ZLm-#4S^Exs5j#XC zkmiexjAOv?=K5pYJ8so2`gH)NCWwt^K>N?osAx{u^lyra%3h}mmsWVb&1|#ME+GX_ zw+U8EHH4&B|L$(70lgZy81j0#NtqG4vTdwPVXSJPy&xdAR&p@J1VCseUg^w)js@#1 zVlto*g6~36je&oPkw`4u)-g=pToxCY?>U{n$E*xi5iyb~`S>(m;SuQl|I3ZW5faeS z4}b61m?W{Py|}A_P!@DYjQ&!ws_AEQ09q25BbL9^2rxl61p1UfB0~_B2#AA@Er$IjC8CZ1$4uer;z#ia-Sfk4fZ$V2fHjTnNMTc%aqyC$;YF z*@!CF1swq(Wa?&sst<}~D0Utmx+0NG6YxxBR3&|NGvB_kXO`iFg`K~fQ^~K7XdJYc z2m0YMwp#L|Y3?@|&{4l&iAcbS!__98jCq!rAe)@;u1YU|VghVCd)5!1{fPM#M=8OM z&^4xLi|0bR_KlM79-H4GN4}uI1Qf9Fv1XN`$li?Z?cUp~CX%lsavzGo1@MGP>B&a? z0m-acB}Kbs6%G?{(1mGGk#!dqUjC~qt7Br}O28VWU8o9B4|)d79irwJ0<;Zo?c=jn z&+?b_m=XHi>tcMBZ|Wvj+$Z6A(in^v!z16KD4cQQXlZDAfVo#3I|~XETnFK@!Up6K z9OWHhf!{S$Q`2&TLHE31%!!KOxP~9A8|YDh@T8Cr$U!Uz^kycs9Is-mFqy*G9gA(( zbiHpY*ipQsaAf`>PHB8K`me9mSK%z>^0pW{V5gw+2Q^+AL??nnMwJ&9cbWL0ShMLr z-0?<5)9v<%39?(o?8rD}_b}oui;A!wehz#h*sXl1^obgnSXjt@cDkktAnm#(-A`|- z!inSzgzgDU%nGTxne%aLc=NBx=rCJ7V&nPyGVt#tW7pGkH2cSUfY5|#B17RA74q4$ zGy`yx0qf0w=^r$!Nde?TW*E#i0&O!y9o+;0d>oOW$}D3WwPO?D_Bkl%$LuC-vH(AP z&{MDc7zf3^r0+%g%dX>at$`zB5@x4!O|~cuf4p_N z`gnBDW*(0a6_y(9F?InYh4!ZG(1}CdbkR?~tS`!-sSKoj1k@-dP~MT5o|*~*Ih9Ut z;fMiy2NFy%x&&mK1IKcG_pYV>nV5WO%!d6NHpOuPC6iY)oS(En{&^l)%F%~?5m=ex zDgSvC=n#q;Bl15W9OedK7d;`_d?}-!03<1Je#KzznKEHfE#9%&$$j>b!@3EOM%aWB;|7N^IQ-AO;#K=*8b|ccSPj_UVbJutR3=D16 z^gc|)97wQahjzC1EILtMZ0l34<2)ZjK_nJot~^PGe{F4jUGHA!8<4VqphwiU9|G-F zJ$;e@n|ZM^F}6XVBlagMK}d zL*3Jk0OC#NK>>U|LPBHzkCgLzY;BAE=FP#t#3VOio}NX?H+@+zlGY6U$Ix}ObtCi! zs5Nk@Yo-w@m3B#Dphnpffr|LV<4ID-1nVEk%;!-9j^7@Ma8chnM^j{#9kBG<*|dIt zI<bUp8*Yhp@%IvvKFEir#IFL^B2(k_9Z;TOBg6$LmduE&4XXQKm!m($?Z%I zWbj}QPk#1=Zi(l*D`-h{0|W^=0ZNbRTYFN>es88o7Vwu+`0|LCd4dj)po5XsSj1p? zFZCY@<1Zs@qCy>C)`&Q6{x6JlCD zoq8C_kH6sR?ygcbRl%i*H)rDst>11@7HbH3Kq)K9q~k9t@C4`+D1sudhX#PwaHtH8 zjI^%8g3uwm3jqa%MZYu-d)mnI_dmWXIi3x3%8)(~PI_rw+|ka5FxAS`?OjA@C@Ami zW~cQv2IIqyK_3_;8esdhRq3)StH1&AZ%{`^>>*>nE$1fdw8!lma%U-fKSTdc9Ls`n zluAfQhcm@T284J=N`bjCMCc`v1Hw2rN#tQx2)9Yu&W9&A9_h9d0nfq~6l(v=_l*n^ zh)RWYN10t42LWLBx z-@)xcN^B@o={oCx76W^s2_AW6bc2kiyZb-J=}Qhq69zF*r~!5p^M9>Tbh4~3VC$A& zPSFbM0qHzIZ8h1)C+;wYbMR=p-NryK2;Yd*1#AZRm&W!i0hR+G{L15PGUQRL!AIE)A#DuxUno zZ|ds${g>)v7ea3JI#a{cr;I|^A z0+7B>0?m3?A=D4xmMoE@t>-=Fp_n>M5g`PmP#ktmN}cYA1)HPPyHF=(H4~MG&~Dig z1mNo zisKF<;2DxH+`_#F2V!T|2jYg#$o$r4`qcXw#ls;#XG|3gPHq6Jxy~=jGCxL_HA>h_ zZ1dJfGn8XJzjML0vg09wP@5W)(uxX$l`!DIQs!uvWbzAm+Hp)2 z`}g!u$Oi>U{`8MCHBsBjlf-^-R<%f$e4=6|5E~}mFF8(ONQe{9Vt6a zq+Gy8TD#2y^Zdq@0{_s^xoOXjwQMuVZx8)*B|RTL+6``hbGXsADphfXzL3E`hhG&; zi(y7jkx~d0D^dmqZPkxs_x?Dv*3^pWWYD9CpB<*|HuT$qvUOMS2O=0|{5d*$k(;}7 z+J$bDtjLTGYJ&RUPq(%upYI+VJnHmc~H7W@3vW7sq`q4Rx0C8o=?(X6av-cQ~<7NB3p(+9hX>-Ju5 zP$V;li{IgkKYg}-^KZ>f>aXWLY$LMPsDEyEZT^ZPp7O6#u9_MLJuTyxfijHK^2w}; z=8VGsH8W0L885&UAX*g-v5fiFt>L91rR!77BuqC11c*aJLkSop#a6ukU0fuw4%&Ug zj*N;D6c+CL`0-htLWTg;c~INiHE6%i`Q!J#sqRN3&qHSaE^hav^`c`XJt02v zSnq@72qztX(yZgVFks%M;C&yh9H08_{o$_*^jYR~W%=akmp^hLbR{#})$HJIef z|MrabG(t`VyUnvf^3EnI=%YM~i=(x&TUP`1EPk4JhDp&@0H$?y$=1)N_-be412+o` z53hbb{zX_ADh02ZFuopk&vJ|+R`c8Y;3Bj2qt$n4l`Bm>(d>5Nm=pZyo7UFvGXlw6&h@>iI)8JgmXOCPCIP)bUu>z{Wt3j0i1V z5?3PBX%2h$C*I4OZ@05Bpu~q8PQdqF;5OTDPEcqCJXwBbcOJbXDeZuEu4)AO-5VqY z3h*F`a!=jvMN7Jc=2TbngPL77{fFmzoMh0H8=spCTEsNI)UmAJX2d6+5h9(#dq%K7 zpi)xM(*G~n%8^};w9HVQge6?uE(C{rwPb#?sHnCqLB7#{}* zQo^xr;^ueoJb>vyo(ELo9YM1Os7#O8*-~O5YMcDngY2cXy z2I8^_TED^*=|K&~-ajdLT^8p*_)ezUbCPu}E2yphjbd~%34QF0?R{$}Lv7KIw;4pE64v<2-Q@*!C}(z zvrh&6Map7)XCgsSoQ&g4Djr)^gb?GC_$$osm#7^J9z!|~?AFVDbuexRCUBxD_kosO zot$&SDxQ#}Tkt5T(Wn=FEtZNv3{xSKg}K-`QN|6;+*L`197Wg*9UUDY;DP9m-OSnC z-A$ZyR;ro`>f3b86ZC}(2jsW zar&V=HwmkI;jw&fG8PIv38=6-fKw2dZGF6=+oVXBxYN>4uaT5@dyEMsb<#KK_JBy| z?oK8;eWF&M-`x_9h#kt057HIm$8JMmigGPDMDf5v+W)`#*2J;FSV=*d1T7SXPl zR0l{YkPaC{Xa&cnDR37S7PJ%W9Y8O`-!SV@jkM}3{JFr?dFx|gO{(uY9}WD>deM^{ zFHuoZogO?8KakO6(Y<6mTQW6)pSXI<`ud7uxkmRPAh)jcr zeg7h4bIAcPFL5yMXKF#FIP9%$Ez~!lq2Z&?`nST&qWq{%HB53~B87=9`-oOmlKeAE z^)b#GXU@xM2-ctl#Lma(K6_&BWdsu-NV*csDXxu}Guk(pL5r&TfwB|eEkPUc1s3+L zZlS!gL^}xMu(`lCxj5*dt}fBPfBzmf2e$D-kGs3O8!|VsJE_#i;zNpw6v-UTqorxG59yS zf$pB(uO)2E{JyGu<^h`*Gd4+aHl9CbH}rHmtA3>IeIU24mdRk`jxlfYC>VIzhXP{% z@E7Q5@&PEv^o(ca04O2uTr#46r_ z<}3Mv{Py;Ld+g<9buOfnppJ(3;g^bv-uCAaoLE*>Dxnqok1{y7&S=+A3z}sg=39%- z28G7;_W+p~CKxA8Ue)fPG|wU-5ik_E-`rX=b3;cxthJ>D3m3O;-2yhoyFTv_7mh*V zn52@or223vDk=F}_-D%(K=Sh9d?VJhJ!WI@dD_Q@M}(kVA!c_%u9mc?WuP4;pS-Zx z`D7Ni{B~Eg3~I$>ao}A;!+b+7_}KUB7c)J!HAvyEub&KAjwfYv#k0%I9O2SB~ zR7*%66fA3N1(Cg}@cc%H4G4yV%X?lyLBY*DS~|MtV@~#dettB}-dc9>-B?5IKyXy= z+e6f)dz4Xq3_@>LO(AxK3P~r{{xezdqU4RD--Y2sL11VO6s@pKz#=0E87_SAm8p5OTtMdU_Im z+6Pk9mGB^>pXlUyK5Za>}(OT&07Vy zmt?OjTW7o2##k7v{$cHd4ax2@G^qQ*S!|o(Yzd!Gp}QibMaR>#hBM~QoA>Y2!R-&4 zdpYz&&kyTsfv>l=u~F;)+Z|K|fGj;!BZnPE-{-VQWn5|2|NBdpo5a-kH*6G!X6NCq5vWTq^t>Z_KzCxOz;lBYKq+;G8HHTF9R)IB*8VEi^Ysidbz43OpSfdNMvW?w!~@B`sexWN|TO-J-WH??1c1f&ax<8x`rxaP`!U{ES zQtOv5T&OTP6kOc7JYN|#zJ`kBc z{5+C_V|Sy8M4&~Cphnxt8O9##J3GhE51JMUS2_(wP$QH3o>}85lhU^z@9N6XmKv(R z9F8w3ysM+-GLkw%sg^YF1S>FM=`m(Nlu2;zF1F#>DEaZrGsva-RM0!_X;lp&cE z8R`0%a`hrsHult5hmp+dlEhGF+|Srg{pPEAQ;rPwtlC{m)xVWr;F}g>^3imx1h}x|$JiH9C&=d+E5&CH#1PXRvO7p13vv;-; z|9iIZCJ~l`{|9`Lv#8$8PMfjo3zO!<)V!f871i!PzPlpucx&tY0k?b{fRZ4?14tR5 zsNxJfAtc!hN59LeOv7RA?r-7fSYn6f0g zqxtx8!@w{`Lw!9F9o?25K6Bss4Vy-i!g$hZ4q{-x!Uc|2k&{z57o%Lr1Z*f^vBOT4 z`i#K|*XW&-(ktzFf})Dhj|+d-np)rXsRp&z!(r@l6+b_bW0mXC%+eHm!zfT)_~z-y z=WLvvN35J8x-AUS?U<5I|5j@NAh5Kuq69Ksbqb!y?@r9Z2Sz%0UC*Rq#T?0nag(wn zkeW1m72W%beUl6)AfULzWG)A~nGjPX@6akuxMC>CoJP>=!77v(rI3-!KL{T9Jn*{* zYM(fvWi3ZvScr@yyckwhkC&uu3cZEOjg(WQlnkl?7F2z_k%u9eocZ(jr!QU|qWTJ^ z48rYq9h_&5J_;h1u8?Cri;sVdT-%@@4flp2*JSDly*VRm3op())#no0UAd2;?;Hlu zdO(bqFbPhP1B_>A5jgWO9)NMm*W$z5 z59c_C7SYq$lo>fZ7a}PSz`kPk(L-pcLSq^l)e>S{Q=-Pe$Nv0Usb3_^rk*iKJ`t&7 z)HOL-Fi0zsuxt3xy`ZbUImZMXl7M$zZAytw> zt|HxF7k2oQ`uR6;7^MKgfQ6g;(@cSwmVp5&oNLj_6i-J8grXxD!Jzm7oCRWlN6wd` zcMB*oKOzB_d$^!ufmk(Nd|3GUwUdjBw};_7tpeR7&@l-PZih33S4TV~{X#}s4)$Hl zi*8jC;l>j!D~pE?i<$ZNO|i2j_^=BHz2+Wzh4GU{DaQxhGtn@~=Zh0s6yxPMTdr(K z;}Sa|ZjK4lBXp^H@~%7sKPW2gzB8)W5LG8M#??7GC*a(HTSwX z!nv{ViU}_yK_4KF8D+Hy+V2O)nxDnq@I@i5?sgJJ-uO%SqA-AjOK_N=KcvB&{T`g# zGQ*?{DmhcT0pfdKB`0fWSez!fjO{sW8`QVB$_6B})NfvYpU)_;_t=J4kLi*}HSN;^ zd;3U|Ixf;$^tNfjwQR-1a9GV8g~}5|2|s@R{K$t>8{CM(v`Y?~YP-NqtF66#|KtQR zIq3AmH={(p9`f?VqEsW;7eK=bF{*&wqIG5gdN5D`I^4~eW`z<4y01$2?&Z`e)copu z=*e+2E{l_0_!?Bo6M6v9oQ$Bb2P5O!nU>xAj1p3n;A3sbm@BpM<0S$1_#7+$L zbYsv@@c(2N7EV1oT-8yq51XfACeDli;syu`p2BW*llVpYX-W371uW^BPKs+O##28n zen3(H{nur#JGM>}bq?qQn#D@TCNA6882K9MN(&r4C_Xde+^XzoPp9vH{5gh@gL{8E zyiJWmL7J)hxBJ0!PZfbSf00)XBgI1qu?G*2AEaL$qZfq%!3L`XE^hzjy{u|J4PPwb zl>_UeW`Hd*ED(9+Gv*9aKYvQMwv=kg`}v7+r46;GbY=4L&-#|~-0~eNi9Y>HL`$Kn zS4kU+?<$-Y9A>D_*8D)=%|K*Lduc*cLPrL!;U1N-+Ux4#w8a*mm-pF|NazE4#=($ON27mOKM7VWe!+VCKe! znaUair^VzgA&CXF1KHOR8YplX2w~8p;fsof1{kIKV?)Dv7_NH?F_FTl0WvYDb0Ue>yZ>D* zsiLl))!W(Mv9;Aa~2?`XZM3_K~b=J^$&5$j6XicC$mM5+J7#k`f=LDP1WCyz0a9bi#o)j@W9px9hFMxWvQ~P(xg58F(tmZ3yQ{ z8e4Xof@=NxF440=@9Fz>Da`AWiK7!UyVWid-ygBbk@l;gdv3I`!c5?F!N zaP%jDxrQW6s#Z-tG*kuxy-!+yjF#bbUnW@9mgQs(SM3Pc!{8*y@V=Q#7Fw^y6>zsv zKsqbFlvO%wMREIuaiN2pvv6dC+jE*9Zy_4N0EUKiYxhg}oFVjT#@)u>L$tzU*vpNEFjr}D^a?VuaR{dHs!-bVd%Gf#ao0fjfy+hGYft7y zw{?C&!Bc2oBULF($>0HCHKA%tdGTUl{v*0g0P-zi6N|%cMGV2+BxHc14`{;YA7+}Z zFBPFu2JOBA=>E+VWSeY%gF>mBfEOYv2is7k#&Y%xbS<*Q-QM!+(T>qv{aZ;Yf*HJ9 zm9EA4uVb3AiFrmeyUcIbZJNPLf6%sI9{P0Np2{g|>Q?wdE_M8&J=9B6s<%h~cL1N$wa{R{?Smi~Vz!Dnzy1(bU z!$or#;pYq<{BQ+sF5>R9*+~5URsN&%p+)vspp-pnENv_z!SSOQ{wJTc4+W;GT z&*sxpXRfT4>VU2f4Y@;3f^}8385cFC`EN7wu1maBV^g@)gT5(l#P6Wyr(ylg?h&9C zf;4Xd9yyTShXRV6Bt%5>FX%_$hJ{AIXnKG9zvJ(~xSe33)x_HQbXG`pdwF$rAXCJ} zq}8WVYjxnm2WV~e0*o-6#XA_VH;|@G<&c;E#ZeCE;>NNqfv(o;>}5`v9tr#W(fZrI zwGyi~N|mNQ*kyl@*Mw5#gN9}3c z6{<5|={bpX8-4bxCQ5Shh232pTie&;wjSgZagl)Z`~5j%X-hX7@kEClE=vQ|D)irD zL_-r(g$--`(_>}9hreM{EXCjcS-qa)$j8Um)7$&t;lo@AtyZuLpyT`Jq;>xM)&4`z z@w@*E1~vhBm@cyxEpI=irR2xRqXwBY@TZA;F2KC3W@S|QEi;psm2riln+u^8h2hs( zp^smiv3W++AI1D{FOa3N+}71CFW7TC-L2}zmMMhd4Vb;jSy`L<*hO^^$w80|I^ED1 z)*hRfPz(xc(~`l3rU)#rH@JRlL*mCDY~d}ugfT32VgdCPs9RKMtp+-uh$WGBLnCb} zi@f$#NrU;^z9Poo6gqm%5PuemxXrXj%^D=a%4NDqRMelv{nz^ejX1MoV8QK#gJ(#>+q&f}1%G2~qs;X1CQwAF(revtH0mVle(@I99P+;RIfPhY{ zt0xjyNsZ3yeLbl3!|Rq3yeUkD2P1=N3ySwX+h(_#=1~)QZj#Mqxg8ZBG>DdM(Xz6!6tJO z;TO=>;T3)EO<6=rH{T26MW1w$mOr1fZfvfN*R9CnD>b;i8Hn=y-6L$*#2`P0`!t(A)&RP~q;z1>rO%^A z0#r`&AB*Vkm!%77C?9P%OdSm0*#(}$QLyHOvj`Hc?{F_~ZbF0jxyu)vc;C1?-pX(W z^|{D-hMyHS*X6yuHKm&HLmYk(Mb6YR4gIGlxplX z3J8#hkB@&Rz-=#}us(1wAOy3l7m4XF=l+-+8#V9?Z_EW3JHS?Xk#5`@HbFJ~S*zc* zrq;%t4YS;=FY2u}yBbMOaDY#maCK$rOIaEBVN=QIKTZ6GTqjq}S%!l3ivvl`7_8iF zf2B&li@NQ@+x=ww-pw(uc<&viGCH2XZYtVMQ$<6KU!>N09R8ZR_`^U&+*gC}VI7Hm$dAB2jW zt!Sa2ZiwCC%h`IPTJM}z*Xv!H!ma?t`5Drq{jKMB*g9&wye9^=`3$&(1AFK6yyeoY zA_MUTdShuxS&gLs@wQON?o2LRiffxn zmH|AgytxWaPY7WII9>fdcH`y4=j?TLy;%*AC&zBip1OxzZ>W@d^C80P=c2ehyK;*w zhnR}k1Hm_jy=RH?k8V+&FC4imxaail$TZ&K1Sf7lk44{``T@wh0z)n-AJLC6#26j5 zKKv;IrmeDNhPBXc9>8G760$!|@NxjOr35^D8z^~*=Hx-i?(2ISQ2X64nlTv}8Iw~| zAbIw*B)X*wdr7^_-cy+_KIflsy^d6OV;TqKbnErbf{QF-?w%6Rny-IExYwVH1MQ@> z4MvhWMFQ&@vj-bnj)0!XIyMrLbhcGfmaOnHPvF0-Q`vz0d-VJ{9z#Bcyi=`3yn+Y)FI6$bM|Sd^xwa~4FgQkoKA>Di1t!qjuz=$ zp5x{3JJW~{5RjlBjyFRg1^qoeE34i4(m54)NGPKKYAnw2$W+p0(QK+ek zp>)04Da(Ib5dQ22fIlRo*}Rvq2@f7u-1129f(KhAq?EzE6c{x?bK#2~LuuVHg%lg) zxWGJ)9PJx6OzJ>K5!$RnNK*(%-GJT|{dWtf0{cM7kAr0P{cr!moChA0Mt4C(iU58d z5-+fR1uF>vLW2ah|Vr>hROn4>w15JE+N6*^sHT zITMKUxqXpo-W-!vKouSix#AKYt+-=dr|Mm0l$V)Q9N6+W^eXxvTzXtNCZ%56PZ*w1 z|It(F7xZK^CnYNAldX-}!HW}LtjoVq%#Bx3(@lowNO9wn@tmawbR#5rx#(bj*>&gA zh#e(*YR=A*7%0Zg!BOS@O_bs-SA}@nTVWKMg;if~I zz`VO~Chv#c&&1FZj7j}Vn!xQ)*CAS0NN$`N7Y&pOn7r0(p8pZc@%zs!U^oGJk0;3` zTshXQ-#*>Sa2jQ^FC-9RLQkLl%(|J$;XW2lZZ{?LO2l?9wr|W_@I%6<#K<`6kyL@W z9Az4(f7JDiVqN&MTVpp`d)w6j=3=Lbny8C)*QtAu{`)kuDRp}6ZQW%#uGG!bK<4MD z9c=|K&6zZy9k|yi0NhVWQ8DcKWM3x+{p9B6LWL(Lejo`mKZxeJmm?0%Vu{1DRpmaB zvu969hiS#jmrFN`P4NLjBW8>j{Q8jc&e0i7WMX0>fgl|?FuJm>?>u^UoJII=1VNd4 zT7+qeZo-iGxgpB0jjM?J9TW9{Pvx&g93{{8#~F&^Heee|HVr!iOqYY!e!^C%9B?`*JlWqR387zqwrXH?w>RRsupo z&NRikuHhnL=i+(}!5o2!fwCkaCG9!aZwGk00NGdfA7rzVrOOmQ5q)vx{ivtZI-6ke ztec8g0GJcR%b`S_o11&bCexX8jW--Q6KGwbeNowp?*~NkzWEQ`w{GtE(0?nvhsh&1)CnaCTD$c?1%oOS%(*xxMSbmov5hS>zX@j z?o8oWd8=;O-<}_XRQULeOif>$ZaypP7+VT8=2PV45g(NJ#lT%KaSnqN??Z@Z`l3_M z!B?tZ!>uQ87K z`t=YM{mNtS2PkEkth8?S2K_7v-HE5m;b8ZZ81pq1;yvoN{?2h9mb+BQ6{XCw{h-uF zYDPzE&u_JoIsH>ddqYnz{N@Vp?B8$0iRw^qCA8JMINUv>a3p7W&FGZQiLl0(jAK%y z2}+xG6!aM8!Ptp4N+V4NpkyRE?k*yGdSIk~wiCC;-r7lGQX80K9K_5eapvgdA+&)&FS1!b{{a(p_o%xX|L+An^YpYvIMX}; z<+%x|E&KY3-6SMbG&C|uzOhDs@|;XJ7K@pi+Y{51X<1nO{ry|&)Uw+(^9x>G7tohYQA{1)?!ZgjU3JBIV-DCmCUW7KcUrTcPzU;zmQf{{z4Pt8uzu5 zydln4_l(&=J?%4)a6OZ8m0{aT=Q-&8_Yo)Rou}uzf;q@jI1El`fkDaAOv9g$d%b29 z^d*(DU@~wmwY%HCGWqf7&xhGq5f@#yvG-kGU?zx^l$-S*{%)mbAOSWz2qT7@5_bQq zY3u2!hkoti>w?Y0`fcw4x}npHTvq*ujKk*p`F&h5$33*9*_y_$m#7lss0B(Eu7FZ8 zXRONq_!0J^D$$9kk*veT+oylz?@#!8*6Gh#E&kbw!nv2N)h*|TkF{CH-X#W*KDu}a zDAmY>(_FV~AW0!+Z-1fXaR2)9tGV=Wtx=76-j$wKY20UwxpSA}Ik=UyeScm4mLPA< z<3)3G;6-^A`URPtj()1oQ|VTQos;{wX-gISqi_WdZi z6+8DdSJJg|`?BEJ{FhJcHpCY+Cazw-d|pp41~)o*mK~_hB9|M(`JpHSkDqspe1{#8 z9RK&rVdx?n84cw|Zvh?rZ%1Xv-@Ut{r6ro8GaK_#HHrQ7>0pRaes-I7 z>}x=a!*c+PBn^<7=Ah>zzi&g=AZ@9}ed+l%ZOsjCve>KX$wxX#J*Oy@xq7%J6bQlwaebt47~Svs?&H;+jnHj>&Q={|3bwxCh=pvr{N_MIuOz$L2s~ zZ%;tFW`Fz%(^{k#tmAhoT7o{n~ znFu-JVQNK!1pW%&s&+A#=~i7TbNgyV;6JP)Or=!wJnipj@1u z?uV8O#S9Mkjem>yeZ(+%(f>V_OavD`Zj{6C!eZ1l!qFM+X5cX1WoLgwea7M`teUC) z=KDs&aH&#)M%GdBK=p)h6qKzWLLf-;&@$p<_%+R92z7MD4#)6V8vYD>^2nWsB=|D` zJs*%Pq&;Wn`!fu2qM+&|N~PVZ4dXEN5eQ^try?=Eq1SnBrmgI2A#3A_lgbhDQmb`p zcAKjc3=COm*VxXS2|>*XiO`WF;SLz*hV-Y-lfJZ!wr-`m0zN*mPLbul`<>3&NoTS) z8s9GKRyfn<)#N_Uvhx|uQVHc@=9s@-H@);S4(+3%ylZNT!4T9840qdB*Ovbfl4>Gb zm}pg_)Hr0?CJ|Ce6ak1%t9v(JQd|sOA61S_ZK4}+FUZ-}1cW;H1?paLROjV`28LsH@E)Z=q`hp2B?wHR;Vt@4n zYl2_DmdAKvh?^+=noEFo&ns27$kJ|lD4vI2ncFwDrhg-Cqzj}V zcN0I%s6%^Tw8rhbDdf^Mf4D-O82HL$H&=Yth6aB$llOSxL^(lE!92jaonAl5{NBAq z+>(;(v$D?EOyZ~bq%9f1v=|SpHa|w%ys$+k8e{@48PQQJio=q^-B(%av}S%h5b3A? zgzZI^R>u7Hx03sHGN}@)7Q72-8sg$dl3)wN6Jb8e<(>k)1q7q96XC7s(JB4# zvfS~q;0zfiaz$Mb_?p?H`R-Lrj4I~)f+xVM+JF^3P9x?1@xa4>=tRWphgCa{I;6U~ zg{n5)c$Q0X_@%1%H7XJvo27k!AE`6FKgrg3(NFBd$Dajt0W#Z@`u151Y)fJ2FJ+FH zi=Jg@O!eY?2t*px)K3r+$RGp=)n((1K#+`*B}O9D&7GZ=q!YXZgC#0wjFxWsw>X7P zj+OQ4?5riaI;JDxYwElqc_Fo0X*nNsdX1LJuN(_OSIW)zIW&W^LLI8>uM@NnHok=$g9jz;6@UHT5^-C_+UziBOZsM9kpTC!eSX!42@3cAL{rfG1xuTL{i?~p0|{lpZ%^o=-lps)TV%HU?NFsEhmQZ2wctt{Ns?-yTA8G@|I(|1d@6#ZfS#C;u_h+&g8oQZ*;{4eFa_!6`h=AA z*2eOW;_WG{1+-W{nFv0OL>%fX#M5H^kdd(p3wMmqn;ZsF9e=^c)YSA%TH4Iy?gD$Q zUKVonC3++bI4;ZryN;cbLutXc_Mjp_AJje z%UOQdA#UBKWidepYPDh3i=YBo9Mx!ZiOXkP^&zp<3B`_9&X@A9SWProO+G$8BLoG3 zILQ1}M(E7&*Pr2o@0K4gg}zHO^VW7^%&d{oXziAH&rWy#H-8@$sa#7sP0pC0QP=6` zPd1!Vp$*=V%J{S9RgaR8rqL!ZPWH`}nXH+Ic(|WJXV=(PN1|Qa@2iQg_qU}%_SDm( zjd*(V`8O_k?=vzK;x1FMuvoOMf-|XMaft%N*D}6Ob60uai&z`(m1;rfa)6o8yXXIO zB(T1qpsLhX5)6%oS1LF*)@Afd?nvKo^S0dPV_DsXTtRP6-ewx3dshu^`O<~kNlo|r zcS)Z;nNwXKGsnd!{_pH<=Tj%+wzoYg8{v|*7IZ`CvCI0Hg~7m78>1&X=HU{-zvC^j z{$*RE;!{n=Xs%#az!<{&s)qee%epV+i4nEF?g=<9IceCq!%mw}5&@yaD7xuS^1vmb z$fSJPSTZ&`iUb$R{O>W)LpZ0;?}&^K2QKVQz869Vj$b_v-MT$I9s9`L-1i;P-jBI` zqL4;xFU=FV5ax|X+neEDe0a>ibL&98WMrV-GzM6sPk_!YC?H^P+VZA6I7Y~H@DhI5 zly;ks=a+5pm#vQp-hWVt>q?PBMs;qsa(@oM$4HY$|I4#JaOjZF<3Ib=Q`-6Tio?+S zi;0Q75oIBb==;FetfkZ%2E0OpUvc{`^B#SEVf}+7yWvm&l*bJHLr9Tu^F^7Y@NP;I zoT3`*B&P(o*X@AsZSjYRQ2KjbK|#bP5oIZw@>6(4s1G26>Aq>W3d#kt))nN6{u!Jk zDbMwit5w3KxYEB|T9e_jaW66>Fe0LUc6K%^lEf|<7qgX>Raent!EyIL^}GAt@-=sZ zmrIjx`d0WC^h#DjL5w$-Ixja_9_ZNv*M!tNTI;eK?M~6MUlx0RxbtK%+p`_b>t{Hk zw*x#MF*7}GrR>PvhPllkxqS`^(xqi{6KXsT4i8WhkYIcD?XDR5+sIZ*OzUDxZnk;*k^FCM#9!EV|Gk zD*l}vlYS9~8-^U3|A|NLAikKu>=4P+)Jb$pUN2q@)*sKXxrH``S?=g4x_|Xv%#mN8 z3oZL78mOeK{6A;In?E+T$xqi8 zd+}9p$YWx*nD~*e45VI8C_>N1~OYd&G2i~*;BMf;e=H*P&sbwv-Y5Z zhpg=`WT?P-Lz;9`YgG+Zdlx=_$s;~;#x|(023ht=v}Z1f-=fC@;$}u}9?Gvrbs32{ zkRr7r#+CqvO24pdttg=CtSy}Qq$bNIZOPGj_>p}WFf-@H6#a)dq*=O`?Dv4yfe-_c z1fplfL^zc$ud{87csbvFwWD@6`D@`xCU2Sq>lN_B94FIWuKWZn+EV)^W?7)_$wWMKmh&B; z^gM9r!j%g>Q)K#AuxLa+{pPHv)C-cUvzqDRb91aj>xEV;RVTms-Tc8lyMXi(7|4*p z$+L;auz$~w$X2;od+pn6bmQ($<3kZAt&`wzbzxyjn&5x{xzTS}%-ifo=8JB&@=9O& zOTeZHKH!4&aP39^3kkOVDw6);6uY=9s#~6Z*=?5pdAAhFRHKv&CGu)wV_U$olJD6Q z@pr8#8?$f$m)A8meq3eTFSUN+ke(eI91IVMm8sWzd*Mt2Tz7wQ?#u&eH5BR*wx$Nu z1n~LUvuCJj_xawBkFXI-E(r@g@(jWjiwijyg+eSlu>gQUfn0^O1`UWYTCyiq(*c97 zc&kILd;uB>AdSTvJ(_cCF?LjbPc_SDm*2rAKTKZ0m;(dB+qZAghKk=_ zendcG@$pBqb8_y-aHb?D4~E>(8^Wl765`li9@b;e)S5=De@#P!4=RYSR6L#*VgKwr}{A@~(@gh9_AV6N|qV`ndE-kVlvfPq!|~=Exe(1PmVgV(hB? zYk$j*yM0D=?4Wvq(B&s(1)`Yuq-n@YdXan;;q2q^h$x*o}{EdulXjZlg7qN2=J1~e<)+U zeLg5UXtOrx}!`_BXFQTYuW*UlHS?;&23zFS0a)LPNPb(j6;NX8{FojFlP~ z&rm@`K62a15&InQ-+LR`WY5xqYDs_y*+;?tZTucIifB@Zr~A8mZUCw^u06AhM+GHb zmxS;yOeq)(rFMsrs0ay*zoKSo-uysk`&#%7%ftR1_oTxp!Qu+fWW3AD@gLJ7N7Z0G z1&M;F@hPD#Wz9LK)$OtUr~6+Ti$Rdz*40&;eWyXr+QR}j5@zj!1(@l%_%pO@os($0 z(a7}Y z{QxIX*7CJ{nI<~VfqdB2@jx(e7+Q0G>^4u8c9R%$!w64KfOWl(2b?HhUZU#loIVm* znAN5xMFeH{oVg>>aTeM4wXT7MuHz-G1FRMlXXE&OM}8ZrAp5&){MbIBiNArn;VLAP z9~sZ=y>c5;=_D`Q<7O(|A^?KYy(XcV6e8 z=1EVocz%&)S2c`1&iCZ04ER|&0<>wkAS3YFY;a{5&P&QF@JZl!R(ic6MY*Z^w0#E3Qhl~ST zY7yzBU_mFQsiz$nq~U$=xSVIf2>rc)fbj6U^Jnrb1|W7RuDq%yG4>h4K3l4m1%YW| zuFc=!YJ$uW*1w(lu%g_3x5*#FM@nu%`?0;-_ybfwy;97JNghqs`hlkIJrx$1+yJp%+QF z;KNZX%(f{RbxP2y+Io0$x(zWJd!Ve4tBX2u|DUIPouGx`NGWfl#_{8a-e#VVpks-? zzf(oc8V?&mc}QXxFaIm29kH92oUMP60P1?5nrc+-eK1~SiTuDpLYZdq*xdu7C(Q0( z-Yw5Xmg7mER(MuHNEOq1`7|@1;FWH~zYjM3}M(p0K%9d3n1b1p*8?Jl1-np!MG*W|_i zd18f$>)CB_UIyvokmnitXQ)4`Ty}50R*3+YFK$akVI4i@d8+| zTB1_Ba=Poklw3!Xa1yGb=~faE4kenI5_dRE8k&QitUDE-eXK5q({*-{=Jffcv%Cz- zqO=+t%9|}2n-t=)Qoo{*5HUADU)RvU&c|o|oZXfM$JNH#a&UAs5_|odI#o2!`SUez{TN?4f1j|JUwv9Nvp zJ=U_xThZ;E+S80fKBtDy-ZNk{OAO*i77RpLDP3XL!$@+fWgz2&Bqb+5K796n>J8|G z{D15<6~keAM|V%dpMb6TdHss=$6r`5p!{=lw0Iq&_PMyeh;A?P02sJLMMNIkhSd5tk#hDBIzu!O2HF&2z7e{K`@;AY zLOHxSOpRBb+|vr6tF-qSr(&FJD38$Cym46xGjK`UM(OVCjk#^vbsm+w{`C7dsDwXu zT_(gPNVyRrWKEGFe#+119=NUEXxLgEx_^0*6Ru}4j=@1eM};p*kSn~Z!ie|>WgE7{ znDL^ZW74xEdz6YxehGu;&;khYBk%t0p^9h1`blrzY{R$(ESg@2c`+rovT+#;rl>9Y zx3Lqg4UzmBuo*t($l^QxusAwh(JiWmSLx%U{a1eUsI&}{q3`Fou#1*vaHL4YM(e(g`$pU;yd21_(v0f+x#Two#e%4h9n-{>xO0J^Habt2Po)oS^$oFdKo zBesPO)r%0h`O?2M@6z#A{;!70`Wf%TcqZcR@1WiFu*^cXN_~i0&M0#rRpq9M!%-ul z@Vmbm-@MO>)!QJWmM(>ImHObYlwLY-!Rr`T18^tRofjLz8RB@PR!V!nb2$q1uCvS{ zP2q*Wom7qokm%W_{ahuaCu6U55H7(bCf4Ihy{BRt@R7))ANTXo&X+@fc=v`^FX-NB z=ebAT9Xn?$7_78#hd$vM* za9B+)U?5eQ-uU)WA;S}22|damR$V7q6g<={%yO4BpYk|aKa_>n^k6$R-JtC9=M&)C zN9B3di;ciJ2xF>a*4{uSTK;R@O^o?G~k*4 zFu9rhfd})Cdh_IdH*C3Q#6~UQG!~Z6)aJwnd~=yclPicVpH+zv{9pmxonnxaGUVX< zY;x}8+{5_|BV*a4LV4p!Gp);}w@hCJ$POe-25fUI>05IcJqAS~@sPBPpNmI%5OY&` z@41`8Wk<{7^rWK<>nQ`YH?eP|s?oQc- zp9+5$ztK?haZ4F&mlT%rByVmfDodrEP!Sq&${$&L-a}m%@QJkAWcjI)>p`jK^Dckh zCP!Zk;;{YQ>!qD$jOxoav`S*}`&D9k5~bf2Dq|@uioz_KLWe&kq2j*_D#xdwsQL@9 zLylqf9+0+7^g}{jvnL!EO%z4+Abxx{JE9dOC4HMX=gnFk)4wtyaLKi-`$Y1x;A|Jwb66Z74Ly?tv4wyFK{`* zsu#$7*tU232A$OEIMh%-mdT0VXC>Of@1Rj}X~rh|XUst>~_$YZofB-$dU>fFQD=B^;Ij0cho!huK_nc5XQ1sbuG#4z%c849E~c=?qoU%9E+t#c$1ur+vdOdAu~<`;Qvspgi^{>GORG z91_44NmlKtM|Y6NpC~cYao|b6X9D#tT(QBDe_j|Rk1!or)7$xMPrBY-hC`~itI}b+ z%|^Bo2qh&ImE2V^cpQvOObA{n1fv^?gVD_dG#6hSz&wnP!sy1K8mY~!rcNmQ%zHk1 z;Tr)yK0+Vo{xY;WnmlD|G_#>6f<(n=>hpO^i`#YTkYoKbVE?DS^B*<4vClz^G*W#F ze&>GebxKYJNRq^S8KX6Pziqb=K6{EfTQiORCDOF;KdyxY{3`k9@}n(vrg?ALlE;i% zE?#`<-^^)T?GZlmLd5w?Fq?~o)!|LA`03l19m*G3WQOuBG2Ay?c!8flTUb3@4}*LSo%sb}e~T z@;QfZ*fO#Xf(i1c<#Tpzi2chW9%!r&;2aO`Sx!M8-AEXWEJ9<1WA1 zhN|NBpF3Kd%qM1fx?DJ^dzglc5>&|*uxl#Eop*kghB~|B3w8L{9@Bc0anG_s# zbF7h~Bln*`se#`A<1(d{wrWsQ;%D@NP=y&nIlVSgrtsU8#rspnU{lKIz8ma0Oh*du zCBJ_kS5_8#Jw>BCq?k}|od^T3(yAi?Ged|JbdI}`T#f4<@3_Ud}(zZP5l2Vy|vHe?e3if{{G>ep=LEOmDKk;AMU zz%fdGB>*XI;8>cv_qL68Gw$L!XtiVX#W!(jRHTG%m{*B%K;RZ1W(nm5MQfHlko>306ZUM|OcG&}U6gdT|UC{3K!B<&E#Zz&f@ufgeSk@QdpkAi`#XVBfmy|+qM6w{VwSSNxLbr6Nlf8 z#hgw=4l7Lf2x2t4F?R(`Xy4<3rk>n;pjs?%dAJRB%N-TE*ypmf0p!FIC7OZS;%!Y$ zdQ81QRL<_;y3x;MNv7t)JOVofO-#M()Pih1>H( zWKkDzL{(*>ZlyN;e(~27xtcP`wN6w@Bm2%o4!QsMY!=<&pcV?!6}gF;A58;w9p<6r zB|huieC$@#>6UYC#IcBcHZA4ED}Mo8&yR)b&!N=)@hA-=72)ERm6mqZRSIc3@}2*| zJ8;^{&)n?m)FG71PWk8>@%q7pBhxN4e-(zg*%=?6)sH_=jSf|Glxuz2=fKBccCG4) z#8#*xlB&w~#}0_(@igBDDP{YoUj>c?V28H4Q}}KtQKu49Z7ID~sXR_XTvLs(U)b&V zr8a)59TO19TNQ(p53|}ZJ`vuON4GqJzpL-)3xQ2j^f=sr5EWj{4o)`xHGKZjUJVha z(5qA)-FLt9hzQUh5ze%d-c!DLx=eII^VGGZrZ*4zTLLbB{(Z4!)ZXmMpc#xQZqPTj}En?t6T`TV1g+WZZ#`4gZD zg~55Z{8@6u9+DqFKP58OrppE&EzMwM{jOsujk+~%`j?y9YV*0VlHLBdz>WY`cj%ql z#yLgbO5~+|35qitxFFP2a$U0E=i`8_pf z#HmpM(TM$1f*OWAZniCU^LzT#%Gz2E4t*kL(ZV9bJzm_)t8dtx$HzJm6iB{mB}hcO zd+p|;nzCiiRo!glZiD4SH0h^IzgLr&=f2%mM=XcOd-{vd>)l)8`Nx!32a}f1*C{mb zo8~~0KfG)P5H}~c=RNL1;K~rT)9}&{iwXGRiABwNX>{F0+@R-uyIH^Eyo%(?;Ld)# zk$pw!2QjS?Oj&n{g9xEL@}4CTQ;tj7@rqGV%t<-vlOZ@xppvGlN0b7~Ap}>DU8CT9 zjThyqnWh0=3E@r^!!OT%8@YLJ=VX>qGSBd-Ps7c->-GRTGs_nf|9Bgc%J_nUu*8d@ z!y~u#wT7_S0HEwITkHFC2Pd<0YF&Uu6#kvXz4wf}FP1fyvf+ETuHM%C0)QrCK z$_I9p(-!nkUJermO>{E9|H<(idiIIBIigtTz^S&ugm|KasnvXvZh{gdD|NXuVA1;I z@~ZKTGYk8hK3|GtC1XxWOo;_mNWL^bzOY)iV*jJR$DXUU?(!aoV3(>}mX!3nhZY;+ zih8=^wnH$`m3!|H#Jpfxdmg1BWamN2q6TK7au#K9l2z0dE|IBQ7GP>Qg|B=i{3`c4 zA6?@;2(Jzi$o=cr-6to1@jOenf{`((Z@8DAoN)v{y}p=ZxN;{>%6+hC#aHLCl2P8t z(iX*M10zHCuI7}~nVz&5_8X0{vd%p%^h;{b<5cZ7ew^s~{k;IU+@JmusIdr}Q)ezh zP>IpwBK>ykkQ=_gz2gAMkVo$b!(~hQG>rxwi;`;in!lhp#ot9dmgXm$V`yzY=Briu zd_|P-STL`T_5Y{)*xB3=@&lhpkbb{M9iQ?TiFD=wFb>2aLk^UEN+cw#b(@K&&>hqm z4c0levDPf4e|RR-f=!;wuSL^c)zV@>!ZD;#B#F@(qL8q$1abVWqE$P~BZiaiONqR< zn=In&=5b6~!w!B`Q`59F7jAn{#31Ej(aP?=U{`wpB)$WUkUAn~Ovc~AU_`i%`lY{K zSEVBPamIEb3lu)JYbk729vPt>-E7^BI!OjfdIGD~E?!E9NoJnSMXDtaBj|9SU^;iGebDJ%{6w z$3EP@jdB~_8QT`^f*lAOE3R%h7PfYg&x|E`i?P3GSL$gI_kN)4&^qF7q29iIsVRM? zw=kF(zFv&suFx%s^2kV2aaC@_QtyhCzyXhxpNG{4Z(uP_f6@SPj~qI`DGm|g!v|c3 zvkO4z`9k!J&g-GFEzOxU3Dh_ycHgDF-m#M9XhTI6xqJg2I-~0kJ~Y@q%L&1;=5{Bg zOKO5SRe2wQQLkU>cX$v%#Oqm4sDl4|;q9G0r43`|P227}>kx`eK+tM^nK-aIrWwxc zx%%!Jul-{Cjh{0!W9db|@prNNF8I(v5d)45XV98kq+EVMcNDyeIMBlj-@|`|@=8TF z()2B=f-D5h?zyMkt$tGtfgdPWD|AG}bxt@;2^mE{p?-E(N?L~8LI0UbS!{;`Bd$FR zH^#t*z8n$6Lfw4wGw~+eG(_1)>3x~X<9%2(yMn z#vVQUN39{C$jRT4E36nzi4||Hp{I1Wo`23YP3?2~p?70?fS!pIzyk-WitXp8|Mj2? z#oF@LNErj06T3LTEp2%{$6it3eV8y$hxsUtu{jTRhw&qb6-| zhOOk0gwVmRM=Jk`IN~!h{PCXOeC^8b|A3Ll#CTtqjVXO>r|w7m(p1wE-Rw$3JZh4w z9H^;!p|iCWIfvL)18{Y4pZGU7H`hfA_47aIrvC47^8R+mi9URF#s*P!%o{JtyA8){<+xj#$`_kxhEKWoYr;t>aaEB9_NBR`T7lAV)m7+p3W|5ONx{62mELl8S5cA zw*U1$iP%-srFyXFp~W$P+#TtHOk1wHA+73;rnK$XpMo}#fkvD4%=4=goNe7ARrq8d zZTG*h5|y^JM)<*X>qCc^G~&*e6Db%z`(%$9yZSZ!5Tu&9({gI`pl^H`IiAg+z~tLR z{{K->M9jQ+OzhVB1QOi;_T0;8@>aRO%OH=c%(vp?9TO8mNmsgD@`splT!hl_wfxPS zM<9N^Wn;6@wV&}1T|Pze4mld51h6}*v9Xur9nTV8X{{dC`Z1Dnl}AfIiRJvssgnhq{M1!WcsE~pE0RGvGON@w_46kiE+~xGf$e45Z{*n_y+J@~ zCa^!OthJ>3-iI{OD=^XWCQ*|RHI!z_lQRbo=5=bigATT}6^8A2y0?%v_$R$?v$s^h zma2pThqNt>Gmt@B+v+h&iuv+{(vpZ+7f_@JzO7}2=8u!FwRDb8ZS>&lZK3CUl*WAG zA0GN9F5)`2qAQF*^e#;Q1|W=t&Mv2|{gNwBVY%@1m;Cnv2}ea4++=RIy}l+|$~^A3 z=OzZG4j^PDN1^TKt#S4w}2j3;0}3KEWBq6~wyxE2J!nzC$06 zs0(nD{r+s0d!^eZnL;)0f8vJ9%e)sDqSA`vCk%BrIOv{{UKl&1IORfN9K7Ch74rN1 z_6oSaKn}6<^Ea_6HDKsCF|FJlks4isd~bPe6`1>ElH3>BnJo<`GsIeVUP7;VBLNCnz_vUfc~2*@3)Jx z2Iq=ZJlX{#cAgxlHu>6)k#=298Mr92t;Uo$7m}nNHt^?nIZ1%_^i=flPy*IPT!zTJ znnR|-;Mmxm&PBcpEb)%Z^4qvdTSS*CO(nJ-Ui+zFk<8mg3a1Rr01Z+^rE7P*CUZ(Zs97Ox0y-&3Yo zFm(H}w`-pb!^tq7dy{Y8r^F(Nb-c=RDDj|AW}h!``5RlUJP_B|?57B(J1lQ@iOftV z_Qtc|9PPn@0hw=)k4)q$xE^IC{muJvH8%;hEXetvt|>AL3Y@XyD(z3>y~??`jD zH|c7o##ctMo((ED9fx!O@G_H`N9GA%^yQO6W+tBF3_U*F%LR3%@+!B47z@|u8ptUq zMhCVw^Sh2KQuTV+EggKv2a|4#)K(O6i{fA=XgHOb9nOKl4!s>x^?wG(Zf=MFs9!fy zgKfJck`%rC^dztdujMZVP_w8y+68E4u#yo(=e2yBtL?oia9d+w1l8cZ0kMk)L3~`v z-6YTcoNwr_i$2}mnM|m~MFt#C>+0$PX(f+VHIaSe#(EZ36_Q8-qpjnPwd}W_pk`)n z#+>@-y4WbYJwYxM6wEHZRJ{Cqe5iTL0=7Kf)|0D$F>Cc!Rc?b-jfw%xR3?i`^ad*Z zEB#$c+U7i7)aA+7hILh?!&21~ybvYvtLF*%!lK~?+Z}P+hga{(Q{+kiUAsKTM)8+)?G%xnRWi4DT~KxFM|y~PqXKIJjXoqIG^~TrqUZ@kLR9zFlb=8 zwWe?I`@)Go;#3jB60u=V!PO(U7LkeCpGcEUf5#VR1%IEs3{18v-ckB29Ng^Jn{4yc&ExCi6@GwW13ql?xDzmlAXCaV=nIJDsv{eNGEQpw!eNfs&US~w=<^aB}-81 zW#-3BUqvL)tq`6~^B;M>wYBe?I8gRD#@~y&l@Bs7yy*8QAC*Yqz|hdg6*Uo;xBwLU zsV3dV2(=Ge{rh*)3Y+bFQEk9?$#p<5%}%hoTdwnLC&UrTcdQQ~HJYHknGeao;c<<0 zPS|;QDXUo2%%yT@L@B8u)kD7HThR3z%18gQbY95ig@Y=j$P9`$ne!x4EpK26KUnj?WE{8~rz2lBK> zDJA~duId(5T|NIEI_ArlFMoy#F)7Mw5As-8mF9{Z@ssYvy4fTbg{$!x>F((sAl*t1 zUwbQY4b28z`Jj!cS*YcZA1kS6$Z{0yLBRYX1;tgkb`{EEJZ4$H8CF*H-#i_ca4nra zdHqNu>1tR9i&fcP9}CwPh1<}C5y1lRgAwM(^@5S&C9sN__kZNUe@sNfd%&z;zARl3t!kW?_s?vdC}1&V7TkK4Ms72d>(98+h*VtJuz zeOit~=5&KmUTbUrMNFUsMLIf3Mer8h85;|~EIi_u<3`y}EHu=-VyrDa@Y<1OIFzYf z3zFbost+M<7R_qnb z{2y&}U)7B(;`?501%}ZwlHL6zl}{ZnrMWNc9nF=a4i|QouP~yo+5JL7laHoOy_`dS zm(SzcBv=!TzkF`x0sdiC@n=c}868j@7?y?oG|D}{AnsyQ^ z7mhsYsS;@g6Dtp3NF{&E_|yV;W=n)#;z9ppK3Oyqmpmy=b@LexM^CsTcQe~PCAKYh zj2$sXq6qMRu)xC;lVhL$N^E&7#aGs_=Zs|+E?7(R)16Smyam%g?N@*F$O5MVT1}`@ z=q8WbYR8fSSCyng3SjznSVRDXP#vOE#N$fGlh{1jw|xGm0^INvdCZbAwtnZoygUEF!F{X!?}rP2z!xo3;lJys9XlR;7ask5=V&Vo&I9`;K)0zk1I+$S+~Z>XRaT#N_t~I;97One~mKXmJ}#v z?5#)lB^D_CsHmqE9PL;G**25q?gr|jETSh34#x`yvKEeycu5 z?z%p+VXI*bRonM&|8gTPE}^Fdv#b?6s-L!DQcHGpw_#$5 zNdU&X^{g$Btl3i^`cK>umK*gzBG+o}>JmA<=jd%S!NR(xVI9_`Du-_>mm@E86bTr*G+^dUFPuN|{!TJ`kzd|R6%wYOA! zOe7vP7}_g(3)8{m@q>goiGW`%$~N*$Ujk?fBOZ7j&`S(Rac{x0^&sG}o;TZ&5`zW} z4kUmv!6JIma~I^_tn9RZom@CL`!`e6%KDk;p{E@ubH^*Pw9;sxnTQbkcXx*2GX~sX zjbshEu1r=9F32I=+6pRWDIqaQT5@CrpLg_#vhfM8z5DJ@KUgwwDhLEB)UCadYn1s`+iunjDU#$>|TM*Kq<009!59gWaPc~pF{ z6@a0C|2PcNs_=?QYz)R^5%QBg ze-F8L+y?2N1zz*hn&;gqrnhM(R0(x5HpxdAYE*?2*R3jl+23oq;x<$efS{lQgYtpmZaLF0>g1ZoL zUTx6Ne$Xc-@M-cWwr3E*Gaze=2vi_M#gEH}nC+$FCAMB&ocvNH@Va3<=!To}wEyY8 zmt3d8CH6ca{W;l|pmEG=&+Fj$OjiA`rrQI_RBRe!LuHk0G~cY)hf_b7w(nE>TGXoZ zc*U;b*xa<*IOm%@r`Mfm1tFC|4mo^Vh{^5U3=7nkWwsxsj(PIySVx9_3-a542TWnt z^%SoR-k>*NE(AI*8bop@tPft5x@tQd(0gIRX)Q6#w?9QY9~+)8obk93{F zi5_m2s~^U)^En4Xmrbl&BV~xBZiG^xNG0;hkoMOAgVAWfy`7M&8~_jppQ8o3TK`q; zF+SAX_0$TRpqR#>N5z0zL!dm2#fO{mhO26yAA1 z7M)zPcIrQtk8Er#k!3$JGoymBaR{-L_|=0b+o*?M80_rr14BZpw@{k~e<6fQzuHs& z&d;+$)Qu>-m~?@{d9`cTzOTf>mv>-KwR(;7+K&Ndb>qjV4<14~Gl%xUs(ja>6UZe# zo>5#uWaxoMRDpN~Uf^O#{uHW+sXhduOO+D8uG8TiUhRXiY7CUY?Uyr`Yd$f@Z;}bkyu!3_Hef;-G zbKOPmW4s>7582uNpJ*5)6>ycL1U3I|!$-EY6%QdJiYWR=aB7g8JC-Iz)xQ&Xg<*$Y z)He%++~EKneJe-H#K;=-Cj6+@n257v;oi*>(xp;fZt3k=mg75Tb7%^N?L)5(}{~8j#h=)oQ6n?soAn<|8O0^>U>V@2E{X(lg`d?9&bYy zH}Mmp+66WLg*Fa;4#H#x)(atiL#UzOW@lTie;RPq-DwBR9L`b3t>vzJeS~2O_zwBL zePeJlAbHtWYFsYkhj!Z1i_WWvuEmrJ^_o&qI!pr~tg=iZy_P$nFab$9_f>)AYj<}Y zl6PnEHPMNzuaomPx63$44|2Rwd{_9@Vn9aUUf)X7I8Ko0>hG@s)C|UY{X^KQxQmUEoOJv~ zI){iz==!>&P;SZBaw{O$L{@dW$SUOK*8fC-^aQu*}C@Y~Ux z!FZ|4zQoLbYF0`w><=hQKFv>eeQfc%lP-LpUrC0gjHF)A2)F!oER~#BDr+CQbhwEqF|NYK&&UJOpF`m!!yr0*&U-#?2WgOQgR-ZT$9|xUAxSLFtEUj1U zJfrb3;e+sB_KNxx-ZS8lWW# zIUq8yJar#P2!;r{?4Sd}jv-dJ41K1X;HNkFqjM#49j|u;2G-OOod-j)=ieR7n*;%P zEOCNVUs;pgi9BGQCYApuDY^=o2l(=EO9th!yTFsDHyrzHLFjgvKoiC~sl)Ns?dAE= z;-fK@Z~Kx|T?C^8n(9!0Xo~}GoD+mY>^oeVGq6Apie7H_b#Ycp}8jh~SY<`#yJbG^K)(95C4Dm~FfG{sFo67@3$q)hH4R&JS~&j5#p zx(T-_W8e7;z>Qk~Z~zJY=`glw%a-8ubnybWF-z#uQPXdJ;y6`MWxVFilr~hPeGA%c z)0~S8_jkIo6fa0xyuM>~ckOv@FT3t%5O)yZI)0ntFoTfi^mc4YUL31G^Rp$S+M=}X z$PpwmDOERpjD54_ahvb2GS*j@pWO7fwR6HFHSIz=M6HV zIwC&SE8II>7@69$LlwfUWZpOq0BUr?*<( zm{FplA9`k-W1Ee3+IOy;ckOs|=hF55c)vJ7^~lgl-%g)d04eM7UWeSg*#k|XuE&?t zw#Mrn#|j{JDah;p3(vZ;M%~77_h*fsriw#YG$!Y90stU5aa)X>H$e8L(#IRNo3P9S zIVqes8bXI?!;Z)c@$;L>)2-FWkJ7}dYqYejtYrt#pzJRpTCT1$8;1O$CjSU)`D9{8 zA|6TZSkdnt3*E%VrgiR|OQU{#ef=qj<7j%8z?ern&9E9Rz&wt(-dhVgMa70U$5K`K zqpl0Yt`8iUlzTxfUL!T_W%6J(*7&d-m?LR#rL>QoSkMiEosGoDd18)PUte z;Cn(}>o{MpbIo_sOWKgKq^faMwuXr}{IPgRz2ul&LvbEt;r4sY4D%!P0^fREe=3i% z1O6GcdRDO?6;S+s=!GP(UZ&-j4V4-S(`Vy+7cPlzuGwJciG9q~UhpaUA(?O>d!bpZfz{Tc%`_n6T9ILA?DFxoF>(hJs_@v{d zV;wq^pT8E4DgXZ1#VzmSKr8%QOQhmn;()op5p&9gQGYY=hViT*cKDBJ4Ayj3Z^+&B zC`;{hgF6Cr_gVvd8>_x1q~D5}W3LZqhvwnjz`kCSXlxT;eHT3OnW~weR}ylJf6gWk zn|tu`Q9NM!?PCzvciU*+2=^YrV@T!!(2{}`0(zGUYX!qJPvlm6)OCMfnk?UpzLNjv z#^2(3S=U$1`OrR{#O~o^tmgXGoSLI*IlrYb?o`so#CGC8J~XNp4Q(# z<8ku0%MWeVF*(;|b8gOCAFZ<|u|6GvY9RTDQO&5&JXPs6=yhB>X}Ic$Ulu=}@#xW` zhhHp73;?r-0_7n1{$WZ&yLR1z-Y-^OZ-j)bF|EAKEnIj7_PT_I@J}~S@^A0cvpdmB zu9Oje5EzZ+m?a&-mmr30-mqZ<6;;d6+vlF2z7rj-4xS}IP3}&+s_y5GN7~OaKI*)? z>U>URMg7gHi$~Y!f`( zt$p^mpt1gRkP?UU>P~_C!VPqMPVV%U|-Ju*`LOD(buSlCqJl-nBJ#Y6?AOWQB zUm$%W{6epHj%OjKCAX1L_ls7+IgP6vZrqAI_eFAwYm1n?)vN^WGQQ5y$tgVLAoiwvP}C~+IKZsa3c)nx>`oA=zzsoJ7frf3jJCR-O<;G-Ogb9O zpJw+Z3)bs=$RP1&c%k5=a zK>{A{81s!HyBp9#fwCcigjO*COxo=a`ynXFzC~OHv{g>10by=8z2>@uLvGzlgb&AT zr(Zn2arTB|Ni{6ow~L6}KoM5FFt`h#uDqlzm{45-NBX4O4~><^`6&;r5m`OE!m6mF zapPOvy0D8OgQ-{xER3ugs~W3sv8hg}mgjen2&)qfd(0%b`7rC|mqDjrC?}py(B2U~ zmw0+-iNgus(9=8Iia69`g^CN>ze!y^y<;`pS!6Sq->udkZDc0HKc0t9JeR{~iwwSF zaLumgKHgZd66870wMk)pDEGk z>rdoibAZ6{ZtV{12;v3rZAdUrlDhXsdJf-b>1`Vv9nN^1_JOMFJOTPYJ=hfz8u|-m zdB@z^(-Bts1nRhw*SDEm6KNNa-!XI87U>Rl`U_XNHd9C{{Z`Ed#;g|RbS zKjy+r?s6Uw|M~AZ#n?aHiEelc>ES7gw9o?18RO}1EO(xJ3_>%4rWFQpu zfoTH+10wj3o)xF@gx!nw35MDC#m)SyCX;ao&3mG%=}t{)|9+QrE) zZd{ws<}KXJr}_`?KJ*h5EvA0jA3wKr30^K0aDooOKDV%N zW%p&xPH>S4ON;dTju`Cbe&&z|B8@JQDhDMTY_blJ!|wqMASo-p+yaC@jQ_D%LNLhM zvB(AkX6p1R+nnHnU*^ZN3m=))ZeqD7{CJo90Su2QbWcojiX6g>ySTiv{5JuY(;{cr zIBtB|bo|&cI@q#7>m(lL6u~B|{_A+U@KzHy7Srj$CZ?id;LQIn1JZ%KPUvhLKrWxa zG)l(1=rknq$>Uij z)Bf8OEwx3n;Z!Xc^~SVx?FuR}xuuUT78XIs_r$*%B0ZXImo8RhZGx;zX=zUBJ^|i_ zIpqp#kKLzq^PPHGE$<%->U|_tZc>CBf*Az3FmHIaWLV0Ucl|#>{QF+jmU?&1o zIoQrZiz=?X*+g4M2Sp$U>`C0wwb3$d_Ie8jng_7qc70?kbe4kH-h!thQA`XrHUT(n zZ4IF;L5S!>wx++1DQxRVFr{5}=0T&r;P6V(`&J>R>((|+7}T%N1gk*4>Y~zpU(xi{ zKX!ol<{3O@gw3;SmTH-qnKS)XeStd?t}eVgyJuT+9k%NjI#3hhG11~T>d(_-p~}H* zt8@e#F+|mXaN3DL8>;X><6cnXBuW@qzyygS=z8tv!-4mAWVwi&1oiC&=o+{$e_z+O;1)e2}pFS;#ud zXfdP!`mT)c#4VF?G)#`*7Rya71n{{t;k;#5Ah0u!<`0SaBFxw$L&|!0M5vQHaq(JF z`X|QCGzNX<>z@~DnErI*Gt0v)_&eF&yTEhp)2eEB0T^y`?iNg<%f(BJubf`H_=AH= zEXdJzT#BaV;Ntp4wnd4&%vi~)A^^LaDI%>2R1=qipED9cSu0B>=n$%>&Px5N&jRT z1|+_3-0SGwgOI2L`#TMy8cCU4lO_Snb|=_%|CrX!PwGFd678=LZo&6wUTs=CZBp}v znZp$k>mkK0yX)7Q1LH4`a!a#jDzmD06GZ^>Prr@lZrZX}+c6&0#vU5jZ+D2KqRCRv z7NQE$Fj*#Z;6N34&hTd@zq8_i0CSe>Dr*}(GjDj+^_Vf`1&=42<=zzFVdrIZ^N7r| z-0Tc2eW$i=Q^bG6R51~wzh1IuGT~h6LnL;G+p=%r#05fozPx*ug{stv5Tcrxc;u@f zD0R%)c^@E7L7|F?-4}#wnE=-jDVpY3?zMS&str7OHfeK|P~+*%r>H7CC>BfaIBXeQ zHU)Y@^c{hVa(pE_PE8ByewlO_GxhjwHSuL~#Z=5j$kLy}b)@YhxZ@{*JQ4AWAsaKW zm|u}O?)QeF>2`-oZqO-KyMcg`OdcP(82W{2D+3MSk|Sr&vaR3pvQO!g)|O!}#+gE@ zWyaue;a68MU2b<_HRhX*jg4CW zq}}!bNLPcMOpQ;R_vA4i&jEgtEPZD(<7Eox!}w^|-Z*%4obTV*0kuqC?`=7E!CcVq=E3eh8$YYRaXs8+1 zKL2|7UO6Y<%c4HVM!}q_Mc+LC+FFhE^nG{Rh~Mas;S*R&C$B%YL`dHWm3tfgQ4o#E ztV;d_`g>BHk+nBaY5+{)x-kVr3rZ{<9zQ+~ZpY=Qnv;!Z=&8lae>R&wJEE9$R&B6# zQuLH_T8+!=NedKKDw|mwuS8n;J*H>kWj^-6%FnT6S5#S^|D8JsE zID#O8B?@SRjGhwPU$JjzI)B^W)sYSl!v`)uS0|d+Safb^y>R4%U{uyQ|Iy7Z2Mcyp z8ou58<&krYW!rVj!99wDo1-Ha_qV1cNm}2oHA;${Z9IGaaZ8xM*neb zZ5|8X#q>m5EXL`;xQ8N7vs&%`$%U9+|H^5_&avtFv}>tqM!hO@)_lhwV>5T=r6$G3 zpanMD*9($POO#)wQq4Jp*`-f1Drdat;!`io7Z0RoWW@2NW@a7|?Z65m8W#fQlL0r; zw5Xg{*b!uZabwVjtJwen&;oo0j!+K3Fd#nOWv1y*v0*LHqf?28Whxx=MpK#9MrB<> z!cV2&W}FQ8Ws>q`Q$Wv%K_`WfN>#0Fbh!7TrbsLO&12lN9BX@duTIPcnmjX7FEo6o zPqR)7yL!lV0163S8_GSzu1ON+ae#DOUMje?Pj0%RA3dcv-Ki z^J(oyAHUSg^5+X>)!CwHYK#2F9?Usx3>tn`M6EG;T8Zo8&LNKQ;$ua#!ZMVGo+Wp# zO1YTOL_y^os{l=rrN}YHKGWyOq$lHI{Wj#7kf^B767>8w>H!h#<7|h_Fl>^aX)#CP ze+xX2R_jc)C!@C%=xR!^o3PV0y+l0nS zI-1~qB>C#)+VevXX)irQGJASH(CVFX+Qj7r)*`KKf8(BHm59A+ zw!RWmFf*EmUs%imhX4TAP=5u)kTGbifG_|9%Lq8Xk))4JvDdC*{6V>AHwFde-hk>k zRy#jnPEd)HkO!*hYfnWil~&&qevz8G4Pca6`Sou2h%`CrpEL63xN&=lQdYll&zAk! z4ecp{t2ehsF*-V0#-WD_mxehw z3tSN&C^X5!N7vYEM2aA0kEl1QPRZbE<~H1XIu6dzKQt8u!6agVo{KAO5a>J2Qt)R*I2(8H`udO0)d>f&MB%Km zC?#Sw0oyY~c?t8+T=@UI@~y4CuuK2-_qR45TU-6b9XC;bVov?CNn@BIQ-#}YHt@cj z*{_Z+PP68X+z+S{UOo}g@;VW_ykjBj$Kp5MirV1ITV%a2&%tW5X7UFt>9Nf;F*TJn zDD%Zqk`U+s8j%DI>xxek?-*EA8EDBvqQY$<-59)ECjkuI1y@sVI;p4D>HGKZr?s@M z)?XBmk$D8xYvquHo1!hZ_g}XISv-$-`LQ=DPlXMN)_>(JJtj6Fjw{+_`c{ijhm5xQuTA-8rESOo$r`a_`|!yVKJq>&CNkPD%{dSr0kq}_2tzD-g0d!#;_ge7`PB`Y6u(^}C_?7QEGcR`bZ}hI)cJI_Oo1)w9 zn1#a2?ZSq!{Kp^B@vND7S*LQ8C7;1cy}M;qxm0Z6YpS`}=-{GlncASQE>o?I^clPn zW@h}rABkiomRhI(O7GuKG&4x~L@rJHl`em#vg!>*O*}H4E}*lPSX#mQ=-&!XJJKTP zEyoDmdr?WP0mDi2Q5EMsVaZ)z3+&xlv!q^_YXtI5xVl7&SUf9t?SCsxr>azL6LeR+ zsn71gYO@p%%ggKWd;Y$c{OUVBy%8p$*rdbTl$)C?;XP*`z2vLKb`Aag_*`$eq)m$i zInakg+0B}q*7F~zKybuR+0l zqniiTDM``<`ro~~Q6pY4EIOJK2x3rh@Q+`Vcg-trXV|pvg&ro+D14~k<+?g&dYE>P z=~0%AJv$#@VnH~jcyKF2B`dcueP|I1W5kXwa5ZQj;~Byvo`GAoF(Z1Xv(AHL*J!yJ zMfM+!dvxsB;}XO!tiO?M=i?JZm2idakWVMqqHs*DwpAd7{JQeFMYAQ!E~Un}O*4-% z@W+LnMECgL1az-O6-zYL9R!nqELX4y-r^eLd}j2#y)D8e_=9?J&kl+s2ackj?#FN- zr`iK=2EsR#+3J7()W9MMu%X)>t_5-(vk@hFjEAh$^DDLsr(_;ttEwPPiN1a>CFd0x^ayF{u+U>V?K1C^c zc|>>>(FlvXFjL#0q@)xby9(wTu(kX6KYBF6K?C~*Xz9$TQBV+ihB@|2Um50ov#jZp zm6DdmGX7E65UT|<2|@&N&?~s*>=~I~wpR;F{L@spogDph_u*upU%GlJO`{&8U#=Rj-r7X^9(Lh$!DJ#UDH%}otnF&=W zc?E^)PoK`WWnGe9W}C)jirh=+zrZXWPlSq!YARmSF>J(o*RS?$t+)pA>bOR8N;9@E z%pUr2l}`1Gl>HLrfeHSB5}nEzLq3muj;rUdjPCDlwvonrv6Y+?@RtDMe5kDK?KUeo z%#V~vcnJU%Z$rt1yjuuLHm<(>L2sxLesuMKD-g09SpV|iSrK0ovMDD08qSXRN>vXJ z8H5d(bOAK4_v6?_5hFtr{Jr$fYtxJ8Drr2FzwKjpVP??4v(WyQ9vE@{`efkXPo?LJ z`H^Z1L8Wu+%-YwEGiKU_6{SFk9cdDl6>C7K6qJ?a(9zL}ZZZWPjmp*!t77&}PUd}| z9(<0G$z1hz-xkEuf!D0;FwP0VVu-jUK{)mD9G`ztGLvFwfC97Q!qg?esYI*~;`T}L z`wWZ>B)K|LYd1E<4|6aV95#}U8t3h@DWF%sJQSsJw3ABM?Zuh_!wb#sHmS0Uk~TXJ z%-*x)d*7OAg%6(qlRmIP07%#rA9?sx#2b_a5F&`3Cw9poO|P=L@a7;bf9-aaqqLka zU%w`+kX9pY*%*4keaZA>Pb1bO}Y0^p}3v4Gw1|LTAhCZTi77OZHk$h>jj|0`iQ{+!L zFkvQx`}VQ9x%qcCp$(9!ao0e7B3T$A+!{AGx9Dd6AeMJRxHvf(pM`yO@_!jH59q&h zgoj^Jvcb~UzM$cc^Zf@80QX$a%#?(yD}qy&pAl_#jKAFqQ}A~+^=uSu0Rz!ZULn_w z(-mEnnRtU3JVh3A+LoS-9&C0W5PA4U*XaAe;DwR}Pd&JKpx=SEbl0Ch2n7sx?%Z*` z(~lVedr~`llVA^scuUaYb=XuOEjv+VNvXw0j(h`fcG>Ns}sW&Z$?Fph%d?7 zeHGii`*}vjov&ZD2swm_X;dlmpip9d=ZR5$k=7qlqg!6ovM|Q4;aPFrHFo@f4U6?o zov7kX!vQmvE}vV^*tg~`4-fAu#Ak;3m>?!;NW#QAn@dD&6-zn>-1Yy0ASyPR@=NHbSq&7qP1*$ zzL`I0fF41tK3L>t8E_^KoJ^Ri{9_K322i{HU~58_H!;z~8YaAx-90_^RZo?)Mx`Wf zDqiNTGNQC99^v4<`&3%zXyM5b#pWY22U)&JrP`*47csZB@zO{QUY0Z4Ake;E!zXK| z=84F9EJ4CeD*)9lMNQqU`1tq^#e;B+=mJb|0a)dUhZ6p2?X{F!V(e@D6(KYJu*Y*mVTNoMgEyswA_k+ zzJu`9XmN(Rt9NEoB)9mSh-Xy2xmId^aJcS8U4hg~+8~G77bEGE<|F#&?O=lW91jyS zO0ae@zrtf_^U=EmKU6St_mbWKX;BD9UhwKDXxbjc;zJsi1ql$)z^c~Ga}*@h_22tT zh}((lrPQxR1_qq)5WqwE22NK5zZ#arw+RS5^UL~SYkRdky3r@(@uz}{#5A3#FCW`q zUHRR*ZYqzjv3~uv)t59+Dtgi;s_0O*e~Oi;n&5QE%E>tck3T#NtGc+63CXUW^PRI5 zq&q+f^B%dfa_Ub5RL$>i~FO7EvIirXZ+bBLdzBHLp^NBGX-?qN1SwznRx(Y6BcO`tahS z6mI=_fsX%Rydc8Kx_i;lHAv!fDAE2A6cnb}jvbrnG&zK(El%NbUVN3Q1Wf+U%Pf># z>p3T5kovAuvG7z;KXs#C!rZEsRY+My%k!E?Mu8F46v?wGv%2T{UBcE0rerELe|E?f z^X|WFYukq?3gd(8U`c^ABC6gwT;DO_ee)^t$G{}IrNpnKPi>>Y*h!%v7N}K4urQ@Q zdGc>xkFX!NN?JnAw;G9m#Ax$Zmj?HKY74|C;F!cLjDzDQ1XPRE3mvaZleR`Mb*Ut6 z;=Q{R3uClpgOAy7n)H4q-h8U7x`@L&{Jmo3 zJXkD{m*ONfGn&T8!#gqAn-M!n%g=S2ybB=<3!W<&&rW_fumjq1e8Zta#pg@}~RbCz5xajxz zQ+|cHP$_C^kNl>%XsJKWvN&s=L4PsqRaI48usD#On%V;mfgVtqO2MCnsz@l9oxE;t zm3H#TTr=BHGx{D*Z_b2oqISCR$^XF}pf)mck5f3Vgy97|Z%j-~Xqb6EljpI1z2hs> zXCi|($42$DFDduG3bBf4(>42G)WzENGC511C3V+T^VOg-KmQCPZl`JgJx-0k*Qs$0 z33-FqsHPU!ck%M&?FdK6H{=3;IiAEzSmLKdRx!aTAbxAaQye4L*LBoV{6Y2yQOgY^ zvmNTjZ+~T6^q5Sg4X)%7>g}EjpYALE_yW6`4#$MHmX?8*(v&=o$rTz8PGzsd+zkg* zhAr5q)w5%>eh-RUdP&i4{gE)&IXIcqW^UB0cKH2=L)INvd@f&~sB~sl#Ph;D0iKJr z>(`$j?<&P;yshZVbU5U|$ytY-D=DQ2MCyxSD-rk~`-UiNLYgHCEy#ipIcxkAcuksSFqj0vB2D zs{BL7sD;LGe)tq=PUVb8`=1`uhn5?czZ< zStP4)yaRi#A`L69%$b9AwVUuIL4PBYZA_V8s)=U*;R)s7;D8)7u$zr6ELTgw@%8n^ zzs$656(7_{jn4XQ=YM;%%jb`bcaz>%=}B13U08jf!xi*dNM!MN5vVH^kqUR0o_4jZ zGaL5lQuy_DC>otVWM##;182&s|@>9g*Y@39{*Pnexn-86WJp2~J1Dv>8MA9v_Y% zSbx_0HOaR84;cq@qj{fw4!Yy^LUNx{_uYVqr|%yn4i+hWjCYBx?D!96QH@w0Q~EP7 zFtDe=X|!EN-@pI?YhZ)T^71mbW8hB|xtU-xfv|b-=5>{t-dGI4ymz|hjS}jcdVfvAzbBYZj8GSwZf7kvnl|UI8l9Q9u2SNU_ zA3r!z(f%-bXg$m2M61lcp)Y!9K%O2Jc~#az2D9f6ABW#F*GLDL%;yJ zdwie9f7^OnR=ljhB}*^6^Jq zTWOPvulk4wyh|JMDhz)AOqfqXJ9b%SeuHyX>gtz|MvP}!H>-Ydf2l})=oA7}0pGB5 zaWO|2jktI^Px?!^yn{OGQ!@Wi5D%FQjIgvjf$SpT&~p$+wi4YQyS)3Gq8e6J+6hXO z7B}LbiL8g0Jy{?C%+fVDNZwPD#uJZ(kGiRQ0Cp6(?mDjgS4IBoBK&(n@MrK4T-uc%PZA;76WcoEbsuxyP!O%d$2G?D69z1-T0GrKZX+n_#}I5Wd|#Yw~Gq8+LqXpsjfD|r2vXv zRX)W=oE)Kv!@mEDVacioiz@9AfE~0Bhamn&^f?Hv8{}_z)9o>@U_i`!xbM^( z5Ld9T#5wq6SC=xn>gQkTCf0ZL^f;<$eY?01!YHacU0L0Fn&Myg&IN5butkC+v(>x) zuL}f_^9SY)4GqO;qL}FhJO}u3JVJ-X~qLQcOrt%3qEtK2xtqNRhCOh-yOYc`{nA#zdhry?s{K|xgHQ|&RQ0X-o$h!=@b3yG1X=#!1~ zy{M>4h{Cr*ze89f#&q&mbtHWyvV&LDK+Ex&($1vSrP+?v4Ieb#`YJ4I^?T(?E^#UO z#vHpRgttxw98Mr+Gh(M``45UC*af{wMdim6pCl|OsHa;0A%wNBVXEeWbm=N5-506% zAANl;zu(Wrv;0oeHna`Mlq{wJ=8u{h|2UIZ86}~_g->iqqr*l|SyXQrlg`*o5;8Rk zqv@F0o`{owg#G~3adt_|P^v_Ahx5WV2IJ*{qa|g2xpw_ge!=&*zDxU*fLx4+Pz9lT ze0suQMMr7*`C)13R!N#EpDU`gd$dTTYq?f!(NlG2dnA25x{!^BP6@CZrLxL(n`o*y zximktqdK7{$Um@6Y_m7^BaUfm<`i}UYM`-UMW|%IfrQDw5L9cLg>^!837m)%kN1U; z%WG)J`~CQ`0K1Eow3+;};QXSZ+2?0+_94-tHQl~^rAKJ_Khz=d2MyfAiww$)f@LVE zsHizDara51208v7tapu_9{B`qa&WS-;41wj%CV`jaU5$A|5!Juu`y*nYH$BWaOzod zvikT2RoZ$Cx%h+B26#e?mnPLg2}IujqcjK*7SP4TRcI#j5z8R&p^1r+EAU|KWhT5tB6z0ajGJ7k- ztv)~8!@wyW3SI~t(_rrQ#;scCc?nels7^p{v3vOISM|L}zw+zXuk$1%|Ly$x%2pbmUZfZdRhJuL5f!BZLg<`=o0njaq7FU};3 z`X?`*Lcfh0);GM;`l1(}b)Wd&S8+A@IRl|%Z*#TYH9}2R&@boJ&tzZAv+Vt%qmj7A;K#S%wz(&R04Gj!# z)nEL8VgomaKEMJzJ@5~Gwkfa21(Q3_vsdJ%s=9g&wOQBs(kH01fzDx13r$T$W#u}^ zpg>bcd~PAR0uZKyt7}Dd^^3~x;o(pmc`_{cbbrSIIXQFb=-n`bDYMv{&}0pD$h@w) zc+SgLt|Xz`#4`i%0Uo^4)+IFmXr^4|7SnJv7#PU!FFTIn0;w}0q5E$6(OD%I*^YC~ z3H2ATMO@5hYIK~Io{lbqic3eQ+1ULYzUu}Ik|S7Dr_6-z(G?kYnkOYYy-WUE_t)xX zZM@Xv`1pIAo}ZeB@M;a5A%_OvLd#FXHGe}3{|SHI(?wp{e}85;KrZ0lpD9Ue^zY9f zt`d;%|M^SLQ^3Wg7duPYZd=K3=pgmPjhb;ZUERICf%O-&LN8_O(=c*;cy{cbr}r4x zBtV%k#GLWuCVN+iVWEAv-_l4*!r_dZ(nNiJ9J{mAo(kmWB|2odt-*_N6k!700hg@v z4G@8Ov?w*PVTq&_du ze3w0I9%8MKhleNX+%4RbdXwr<+-Ae;m|sGNMFSdI7eo;SA4yt~g$sYmb)KQg$;nPL z!+Ox!P=*U@TwELpzJT6qW^G&EtbrMs;=;goV9CID6CqoQWicU*m>W@1TcGpTj{R30 z=nQOtV+2)tXZsP+Oa;smcz~fsmZJ>Wzdwh*qSl0C3oC0msH=4W)buzKurzoKbvi8* zlRBUV6WBCwOgV)QpHeww-}QctkY-#cfHffT*q)C;t^KlS6nE>O-97RWML{e!3@V(u zJY%hy!3eP^4SN^Bc|?15bmHW*I(TCIZh#(w6+_zA4V&thQb(qNO4d9-%ik)$>-%#^nOT4 zL}aauSmA(f0!~+F1Qs3f>9p9WuVU*wlBm0qMFJFQZ_y9WjCIzbMNiA6!I>=kZgD9F zPbCQ#4^x6pvwa-(L(}BvV&H7P_mMkxB-X%^f)A!AM1l(A*9jnZ4xk#YC8`#{lILKW z_ekpUW(thH2;~UkaWq%K@rnZgw8v+`8N{nK?26vG&uOrZhvI{lk+Ep7U(&X1ALOUk zz6U3@20ytvh>le>n@IGNp#f@RqN+wFKBzEvOR8f+Ohln^i^#HT&*-RclN5OszY9qs z8#p||p#_o$Gngo>b=|=VHL#1LCr^_9fQN=fj;*rJBItm)#l*x6u~{9tss!RUj^ZgT zEz_+|E-n|Q2I?a#@g&H+mk^a8bTtlX_v}gq<)Rmh9-!n>uuEAtQk%QDxKKa{fgChM zvfWStZ})GtNqY9|!%is@1B*_QaAKH*;s&T2<^jxPV?|18(^a4Ypd=GtQ3B9GZtT_t znbvu>Ln?{&x;$R)?o;jzZ}8sW0OU?oaFSsL28diJ!JFgjo~Q(hnz((p&)AdMYBTSI zz7w1|gWKDW+=d3Z#iJq;ffi&*YILB+%^+Snc)9RYYuv4^cM>zab<8}#jbbsoL0N3# zx18PQ#lgvmgf^VfI8qtPEf@JeSUL(154<=OE;Q8^d#4xv=Ch%b?46tF#W2dyJ~uzV z?YR&>XOH8*2(*hFbZnucBhL9u>(3Dc+PxYuP|T(QIPZ1(eS(l`@C7oCzi3gX3vb&N zfOmdnpwr~^X;n*0A-oxQZzr%4KSQet1REr!i1>I-F!-?3t?gGEOP1zwPlzHbiV|d1 zqP|H;iY>3m5$>`6-|M(-oGy&fnTV`?~(BF9Z{FJZFnu7nrzv|SPz1tBXNMvQV|G&}(c|y2o)f;P$kYhsr jeEvNty8i!v>HI3SYmv6~WLyvh{yKI@<6xSqX~6#h;Nuql diff --git a/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py b/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py index 3b4a4036e..d9030e720 100644 --- a/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py +++ b/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py @@ -7,21 +7,14 @@ - 測試資料使用升冪陣列 - 比較 linear search 與 binary search 的比較次數與搜尋時間 - 分別測 best、middle、worst、not_found 四種情境 +- 使用 Python 標準庫 timeit 量測搜尋時間 - 執行主程式時會自動產生 assets/radar.png - -設計重點: -1. 資料先建立好,不把建立資料算進搜尋時間。 -2. 搜尋函式找到目標後立刻 return。 -3. benchmark 只量搜尋函式本身。 -4. binary search 的前提是資料已排序。 """ import math import sys +import timeit as timeit_module from pathlib import Path -from time import perf_counter - - DATA_SIZE = 100000 K = 123 @@ -30,14 +23,6 @@ def make_test_data_with_target_at(target_index, size=DATA_SIZE, target=K): """ 建立升冪測試資料,並讓 target 出現在指定 index。 - - Args: - target_index: 目標值要出現的位置。 - size: 陣列長度。 - target: 搜尋目標。 - - Returns: - list[int]: 升冪整數陣列。 """ if size < 1: return [] @@ -142,11 +127,12 @@ def binary_search_with_count(data, target=K, check_sorted=True): def average_time(func, repeat=5): """ - 計算函式平均執行時間。 + 使用 Python 標準庫 timeit.repeat() 計算平均執行時間。 - Args: - func: 不需要參數的函式。 - repeat: 重複執行次數。 + 注意: + - number=1 表示每次 timeit 只執行一次 func。 + - repeat=5 表示重複量測 5 次。 + - result 另外執行一次取得結果,不把輸出或資料建立算進搜尋時間。 Returns: tuple[object, float]: @@ -155,17 +141,15 @@ def average_time(func, repeat=5): if repeat < 1: raise ValueError("repeat must be >= 1") - result = None - total_time = 0.0 - - for _ in range(repeat): - start = perf_counter() - result = func() - end = perf_counter() + result = func() - total_time += end - start + records = timeit_module.repeat( + stmt=func, + repeat=repeat, + number=1, + ) - average = total_time / repeat + average = sum(records) / len(records) return result, average @@ -320,6 +304,7 @@ def build_radar_scores(results): def save_radar_chart(results, output_path="assets/radar.png"): """ 依照 benchmark 結果產生雷達圖。 + matplotlib 延後 import,避免測試搜尋函式時因套件問題失敗。 """ import matplotlib From 8e4fb0b73b55e977f2790211f1e9c55b7e49b02e Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 20:05:54 +0800 Subject: [PATCH 17/20] docs: add cpe mock reports --- weeks/week-18/solutions/1114405023/AI_Log.md | 107 ++++ weeks/week-18/solutions/1114405023/README.md | 304 +++++++++++ .../week-18/solutions/1114405023/TEST_LOG.md | 502 ++++++++++++++++++ 3 files changed, 913 insertions(+) create mode 100644 weeks/week-18/solutions/1114405023/AI_Log.md create mode 100644 weeks/week-18/solutions/1114405023/README.md create mode 100644 weeks/week-18/solutions/1114405023/TEST_LOG.md diff --git a/weeks/week-18/solutions/1114405023/AI_Log.md b/weeks/week-18/solutions/1114405023/AI_Log.md new file mode 100644 index 000000000..261813905 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/AI_Log.md @@ -0,0 +1,107 @@ +# AI_LOG.md + +## CPE 模擬實戰 AI 協作紀錄 + +## 基本資料 + +* 學號後兩碼:`23` +* 個位數:`3` +* 十位數:`2` + +## 依學號決定的參數 + +| 題目 | 參數 | 數值 | +| ----------- | ------- | --: | +| 第一題:資料清理 | `D` | 5 | +| 第二題:凱撒密碼 | `SHIFT` | 4 | +| 第三題:任意進位數字根 | `base` | 3 | +| 第四題:二分搜尋效能 | `K` | 123 | + +--- + +# 使用 AI 的目的 + +本次使用 AI 協助完成 CPE 模擬實戰四題,包含: + +1. 讀懂題目需求 +2. 依照學號後兩碼推算參數 +3. 依照 Week-17 流程先寫測試,再實作程式 +4. 建立紅燈與綠燈測試紀錄 +5. 討論 edge case +6. 討論二分搜尋效能比較方式 +7. 產生 `README.md` +8. 產生 `TEST_LOG.md` +9. 整理 `AI_LOG.md` + +--- + +# AI 反問我什麼 / 我怎麼回答 + +--- + +## 第一題:資料清理 Data Cleaning + +| AI 反問內容 | 我的回答 | +| ------------------------------------------ | ----------------------------------------------------------- | +| `clean_numbers(numbers, divisor=5)` 要回傳什麼? | 回傳處理後的整數 list,也就是 `list[int]` | +| `numbers` 可以是空 list 嗎? | 可以 | +| `numbers` 可以有負數嗎? | 可以處理負數 | +| `numbers` 可以有重複值嗎? | 可以有重複值 | +| 如果沒有符合 divisor 的數字,要怎麼處理? | 函式回傳空 list,主程式輸出 `NONE` | +| edge case 要測什麼? | 重複值、負數、沒有符合條件、原資料不能被修改 | +| 什麼情況算第一題綠燈成功? | `test_p1_data_cleaning.py` 全部通過,且輸入 `3 / 1 3 5 / 0` 時輸出 `5` | + +--- + +## 第二題:凱撒密碼 Caesar Cipher + +| AI 反問內容 | 我的回答 | +| ------------------------------------- | ----------------------------------------------- | +| `caesar_cipher(text, shift=4)` 要回傳什麼? | 回傳加密後的字串,型別是 `str` | +| 輸入可以有空白嗎? | 可以 | +| 輸入可以有數字與標點符號嗎? | 可以 | +| 輸入可以有多行文字嗎? | 可以 | +| 非英文字母要怎麼處理? | 非英文字母保持原樣,不做位移,也不丟出錯誤 | +| edge case 要測什麼? | 大寫、小寫、`Z/z` 循環位移、非字母保留、多行 EOF | +| 什麼情況算第二題綠燈成功? | `test_p2_caesar_cipher.py` 全部通過,且輸入 `z` 時輸出 `d` | + +--- + +## 第三題:任意進位的數字根 + +| AI 反問內容 | 我的回答 | +| ---------------------------------- | ------------------------------------------ | +| `digit_root(value, base=3)` 要回傳什麼? | 回傳最後的數字根,型別是 `int` | +| `value = 0` 可以嗎? | 可以,輸出 `0` | +| `value` 可以是負數嗎? | 不接受負數 | +| 輸入有空行時怎麼辦? | 空行略過 | +| 如果 `value < 0` 要怎麼處理? | `raise ValueError` | +| edge case 要測什麼? | `0`、小於 base 的數、需要多次相加的數、`-5` | +| 什麼情況算第三題綠燈成功? | `test_p3_digit_root_base.py` 全部通過,沒有 error | + +--- + +## 第四題:二分搜尋效能 Binary Search Performance + +| AI 反問內容 | 我的回答 | +| --------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `linear_search_with_count(data, target=123)` 要回傳什麼? | 回傳 index 與比較次數 | +| `binary_search_with_count(data, target=123)` 要回傳什麼? | 回傳 index 與比較次數 | +| 效能比較要記錄什麼? | 記錄兩種搜尋法的搜尋時間,以及比較次數 | +| `data` 可以是空 list 嗎? | 可以 | +| 找不到 target 時要怎麼處理? | 回傳未找到該筆資料,也就是 index 為 `-1` | +| 如果 `data` 沒排序時要怎麼處理? | 視為無法正確搜尋,回傳 `-1` | +| edge case 要測什麼? | 找到、找不到、空 list、未排序資料、有兩個相同整數、不修改原資料 | +| 陣列大小至少要多少? | 至少 `10^5`,所以使用 `DATA_SIZE = 100000` | +| 題目要求的陣列排序方式是什麼? | 升冪陣列 | +| 為了比較 best / middle / worst,要怎麼設計資料? | 固定 `K = 123`,產生不同升冪陣列,讓 `K` 分別位在 index `0`、`50000`、`99999` | +| not_found case 要怎麼設計? | 建立長度 `100000` 的升冪陣列,但不包含 `K = 123` | +| 搜尋計時要包含資料建立、輸入、輸出嗎? | 不包含,benchmark 只量搜尋函式本身 | +| 兩種搜尋法共同的提速方式是什麼? | 資料先建立好、找到就立刻 return、不把 input / print / 建資料算進時間、使用相同資料與 repeat 次數 | +| 雷達圖要比較哪些項目? | `BestCmp`、`MiddleCmp`、`WorstCmp`、`NotFoundCmp`、`BestTime`、`MiddleTime`、`WorstTime`、`NotFoundTime` | +| 雷達圖正規化方式是什麼? | 比較次數與時間都是越小越好,所以用「越小越好」的正規化方式 | +| 什麼情況算第四題綠燈成功? | `test_p4_binary_search_perf.py` 全部通過,能輸出 best / middle / worst / not_found 的比較次數與時間,並產生 `assets/radar.png` | + +--- + + diff --git a/weeks/week-18/solutions/1114405023/README.md b/weeks/week-18/solutions/1114405023/README.md new file mode 100644 index 000000000..46d958caa --- /dev/null +++ b/weeks/week-18/solutions/1114405023/README.md @@ -0,0 +1,304 @@ +# 第四題:二分搜尋效能比較 + +## 題目目標 + +本題目標是比較 **linear search** 與 **binary search** 在不同搜尋情境下的效能差異。 + +本題依照學號後兩碼 `23` 設定: + +| 參數 | 數值 | +| -------- | -----: | +| 搜尋目標 `K` | 123 | +| 陣列大小 | 100000 | +| 陣列排序 | 升冪排序 | + +--- + +## 程式檔案 + +本題主要檔案如下: + +| 檔案 | 說明 | +| ------------------------------- | ---------------------- | +| `p4_binary_search_perf.py` | 第四題主程式,包含搜尋、效能比較與雷達圖產生 | +| `test_p4_binary_search_perf.py` | 第四題測試檔 | +| `assets/radar.png` | 搜尋效能雷達圖 | + +--- + +## 實作內容 + +本題實作兩種搜尋法: + +### 1. Linear Search + +`linear_search_with_count(data, target=123)` + +線性搜尋會從陣列第一個元素開始逐一比對,直到找到目標值或搜尋完整個陣列。 + +回傳格式: + +```python +(index, comparison_count) +``` + +其中: + +* `index`:找到時回傳目標所在位置 +* 找不到時回傳 `-1` +* `comparison_count`:搜尋過程中的比較次數 + +--- + +### 2. Binary Search + +`binary_search_with_count(data, target=123)` + +二分搜尋的前提是資料必須已經升冪排序。 +每次會檢查中間位置,並依照比較結果縮小搜尋範圍。 + +回傳格式: + +```python +(index, comparison_count) +``` + +其中: + +* `index`:找到時回傳目標所在位置 +* 找不到時回傳 `-1` +* `comparison_count`:搜尋過程中的比較次數 + +--- + +## 效能比較設計 + +本題使用長度為 `100000` 的升冪陣列,並固定搜尋目標: + +```text +K = 123 +``` + +為了觀察不同情況下的搜尋效能,本題設計四種 case: + +| Case | 說明 | target index | +| --------- | -------------- | -----------: | +| best | `K` 位於陣列第一個位置 | 0 | +| middle | `K` 位於陣列中間位置 | 50000 | +| worst | `K` 位於陣列最後一個位置 | 99999 | +| not_found | 陣列中不存在 `K` | -1 | + +--- + +## 效能測試結果 + +執行: + +```bash +python .\p4_binary_search_perf.py +``` + +在等待輸入時按: + +```text +Ctrl + Z +Enter +``` + +程式會自動產生四組測試資料並輸出結果。 + +### 測試結果 + +```text +case=best +data_size=100000 +target=123 +target_index=0 +linear_index=0 +linear_comparisons=1 +linear_time=2.6999972760677337e-06 +binary_index=0 +binary_comparisons=16 +binary_time=5.6799966841936115e-06 + +case=middle +data_size=100000 +target=123 +target_index=50000 +linear_index=50000 +linear_comparisons=50001 +linear_time=0.0074086999928113075 +binary_index=50000 +binary_comparisons=16 +binary_time=6.579997716471553e-06 + +case=worst +data_size=100000 +target=123 +target_index=99999 +linear_index=99999 +linear_comparisons=100000 +linear_time=0.013151360000483692 +binary_index=99999 +binary_comparisons=17 +binary_time=5.439994856715202e-06 +``` + +not_found case 會輸出 `linear_index=-1` 與 `binary_index=-1`,代表目標值不存在於陣列中。 + +--- + +## 效能分析 + +### Linear Search + +linear search 的比較次數會受到目標位置影響很大。 + +| Case | Linear Search 比較次數 | +| --------- | -----------------: | +| best | 1 | +| middle | 50001 | +| worst | 100000 | +| not_found | 100000 | + +當目標值在陣列最前面時,linear search 只需要比較一次,因此是最佳情況。 +但如果目標值在中間、最後,或根本不存在,linear search 就需要掃過大量資料。 + +--- + +### Binary Search + +binary search 的比較次數相對穩定。 + +| Case | Binary Search 比較次數 | +| --------- | -----------------: | +| best | 約 16 | +| middle | 約 16 | +| worst | 約 17 | +| not_found | 約 16~17 | + +binary search 每次都會將搜尋範圍縮小一半,所以即使資料量達到 `100000`,比較次數仍然維持在約 `16~17` 次。 + +--- + +## 搜尋提速方式 + +本題比較時採用以下共同提速方式,避免測量到搜尋以外的成本: + +1. 資料先建立好,不把建立陣列的時間算進搜尋時間。 +2. 不把 `input()` 與 `print()` 算進搜尋時間。 +3. 找到目標後立刻 `return`,不做多餘比較。 +4. 使用相同資料量、相同目標值與相同 repeat 次數。 +5. binary search 的資料事先保證升冪排序,不在 benchmark 中重複排序。 + +--- + +## 雷達圖說明 + +本題會產生: + +```text +assets/radar.png +``` + +雷達圖用來比較 linear search 與 binary search 在不同指標下的表現。 + +雷達圖維度包含: + +| 維度 | 說明 | +| -------------- | -------------------- | +| `BestCmp` | best case 的比較次數 | +| `MiddleCmp` | middle case 的比較次數 | +| `WorstCmp` | worst case 的比較次數 | +| `NotFoundCmp` | not_found case 的比較次數 | +| `BestTime` | best case 的搜尋時間 | +| `MiddleTime` | middle case 的搜尋時間 | +| `WorstTime` | worst case 的搜尋時間 | +| `NotFoundTime` | not_found case 的搜尋時間 | + +--- + +## 正規化邏輯 + +因為「比較次數」與「搜尋時間」都是越小越好,所以本題使用 smaller-is-better 的正規化方式: + +```text +score = best_value / value +``` + +其中: + +* `best_value` 是同一個維度中較小的數值 +* 分數越接近 `1.0`,代表該搜尋法在該維度表現越好 +* 同一個維度中表現最好的搜尋法分數會是 `1.0` + +例如在 worst case 中: + +```text +linear_comparisons = 100000 +binary_comparisons = 17 +``` + +所以: + +```text +binary score = 17 / 17 = 1.0 +linear score = 17 / 100000 = 0.00017 +``` + +這代表 binary search 在 worst case 的比較次數表現明顯優於 linear search。 + +--- + +## 執行方式 + +### 執行測試 + +```bash +python .\test_p4_binary_search_perf.py +``` + +### 執行主程式並產生雷達圖 + +```bash +python .\p4_binary_search_perf.py +``` + +等待輸入時按: + +```text +Ctrl + Z +Enter +``` + +成功後會產生: + +```text +assets/radar.png +``` + +--- + +## 測試結果 + +```text +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.074s + +OK +``` + +代表第四題測試全部通過。 + +--- + +## 結論 + +本題結果顯示: + +1. linear search 在 best case 表現很好,因為目標值一開始就被找到。 +2. linear search 在 middle、worst 與 not_found case 中需要大量比較。 +3. binary search 在升冪陣列中表現穩定,即使資料量為 `100000`,比較次數仍約為 `16~17` 次。 +4. 若資料已排序,binary search 在大資料量搜尋時比 linear search 更有效率。 +5. 若只看 best case,linear search 可能比 binary search 快;但整體來看,binary search 在多數情境下更穩定。 diff --git a/weeks/week-18/solutions/1114405023/TEST_LOG.md b/weeks/week-18/solutions/1114405023/TEST_LOG.md new file mode 100644 index 000000000..e7f372026 --- /dev/null +++ b/weeks/week-18/solutions/1114405023/TEST_LOG.md @@ -0,0 +1,502 @@ +# TEST_LOG.md + +## CPE 模擬實戰測試紀錄 + +## 基本資料 + +* 學號後兩碼:`23` +* 個位數:`3` +* 十位數:`2` + +## 參數設定 + +| 題目 | 參數 | 數值 | +| ----------- | ------- | --: | +| 第一題:資料清理 | `D` | 5 | +| 第二題:凱撒密碼 | `SHIFT` | 4 | +| 第三題:任意進位數字根 | `base` | 3 | +| 第四題:二分搜尋效能 | `K` | 123 | + +--- + +# 第一題:資料清理 Data Cleaning + +## 紅燈測試 + +### 測試指令 + +```bash +python .\test_p1_data_cleaning.py +``` + +### 測試結果 + +```text +Traceback (most recent call last): + File "test_p1_data_cleaning.py", line 7, in + from p1_data_cleaning import clean_numbers, solve +ModuleNotFoundError: No module named 'p1_data_cleaning' +``` + +### 判斷 + +紅燈成功。 +原因是 `test_p1_data_cleaning.py` 已建立,但 `p1_data_cleaning.py` 尚未建立或尚未實作。 + +--- + +## 綠燈測試 + +### 測試指令 + +```bash +python .\test_p1_data_cleaning.py +``` + +### 測試結果 + +```text +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.001s + +OK +``` + +### 判斷 + +第一題綠燈成功。 +代表資料清理功能可正常處理: + +* 去除重複值 +* 保留第一次出現順序 +* 篩選可被 `D = 5` 整除的數字 +* 排序輸出 +* 沒有符合條件時輸出 `NONE` + +--- + +## 手動測試 + +### 測試指令 + +```bash +python .\p1_data_cleaning.py +``` + +### 測試輸入 + +```text +3 +1 3 5 +0 +``` + +### 預期輸出 + +```text +5 +``` + +### 判斷 + +手動測試成功。 +因為 `1 3 5` 中只有 `5` 可以被 `D = 5` 整除。 + +--- + +# 第二題:凱撒密碼 Caesar Cipher + +## 紅燈測試 + +### 測試指令 + +```bash +python .\test_p2_caesar_cipher.py +``` + +### 測試結果 + +```text +Traceback (most recent call last): + File "test_p2_caesar_cipher.py", line 7, in + from p2_caesar_cipher import caesar_cipher, shift_char +ModuleNotFoundError: No module named 'p2_caesar_cipher' +``` + +### 判斷 + +紅燈成功。 +原因是 `test_p2_caesar_cipher.py` 已建立,但 `p2_caesar_cipher.py` 尚未建立或尚未實作。 + +--- + +## 綠燈測試 + +### 測試指令 + +```bash +python .\test_p2_caesar_cipher.py +``` + +### 測試結果 + +```text +.... +---------------------------------------------------------------------- +Ran 4 tests in 0.001s + +OK +``` + +### 判斷 + +第二題綠燈成功。 +代表凱撒密碼功能可正常處理: + +* 大寫字母位移 +* 小寫字母位移 +* `Z/z` 循環位移 +* 非英文字母保持原樣 +* 多行輸入直到 EOF + +--- + +## 手動測試 + +### 測試指令 + +```bash +python .\p2_caesar_cipher.py +``` + +### 測試輸入 + +```text +Hello, NPU +abc XYZ +``` + +### 實際輸出 + +```text +Lipps, RTY +efg BCD +``` + +### 判斷 + +手動測試成功。 +因為本題 `SHIFT = 4`,所以: + +* `Hello` → `Lipps` +* `NPU` → `RTY` +* `abc` → `efg` +* `XYZ` → `BCD` + +--- + +# 第三題:任意進位的數字根 + +## 紅燈測試 + +### 測試指令 + +```bash +python .\test_p3_digit_root_base.py +``` + +### 測試結果 + +```text +Traceback (most recent call last): + File "test_p3_digit_root_base.py", line 7, in + from p3_digit_root_base import digit_root, solve, sum_digits_in_base +ModuleNotFoundError: No module named 'p3_digit_root_base' +``` + +### 判斷 + +紅燈成功。 +原因是 `test_p3_digit_root_base.py` 已建立,但 `p3_digit_root_base.py` 尚未建立或尚未實作。 + +--- + +## 綠燈測試 + +### 測試指令 + +```bash +python .\test_p3_digit_root_base.py +``` + +### 測試結果 + +```text +..... +---------------------------------------------------------------------- +Ran 5 tests in 0.001s + +OK +``` + +### 判斷 + +第三題綠燈成功。 +代表任意進位數字根功能可正常處理: + +* `0` +* 小於 `base` 的數字 +* 需要重複做各位數字相加的數字 +* 多行輸入直到 EOF +* 負數例外處理 + +--- + +## 手動測試 + +### 測試指令 + +```bash +python .\p3_digit_root_base.py +``` + +### 測試輸入 + +```text +0 +8 +64 +``` + +### 實際輸出 + +```text +0 +2 +2 +``` + +### 判斷 + +手動測試成功。 +本題 `base = 3`。 + +說明: + +* `0` 的數字根為 `0` +* `8` 的三進位是 `22`,`2 + 2 = 4`,`4` 的三進位是 `11`,`1 + 1 = 2` +* `64` 經過 base 3 數字根運算後結果為 `2` + +--- + +# 第四題:二分搜尋效能 Binary Search Performance + +## 紅燈測試 + +### 測試指令 + +```bash +python .\test_p4_binary_search_perf.py +``` + +### 測試結果 + +```text +Traceback (most recent call last): + File "test_p4_binary_search_perf.py", line 7, in + from p4_binary_search_perf import ( +ModuleNotFoundError: No module named 'p4_binary_search_perf' +``` + +### 判斷 + +紅燈成功。 +原因是 `test_p4_binary_search_perf.py` 已建立,但 `p4_binary_search_perf.py` 尚未建立或尚未實作。 + +--- + +## 綠燈測試 + +### 測試指令 + +```bash +python .\test_p4_binary_search_perf.py +``` + +### 測試結果 + +```text +........... +---------------------------------------------------------------------- +Ran 11 tests in 0.074s + +OK +``` + +### 判斷 + +第四題綠燈成功。 +代表二分搜尋效能程式可正常處理: + +* 陣列長度至少 `10^5` +* 升冪陣列 +* `K = 123` +* linear search 比較次數 +* binary search 比較次數 +* 搜尋時間統計 +* best case +* middle case +* worst case +* not_found case +* 不修改原始資料 + +--- + +## 效能測試:best / middle / worst / not_found + +### 測試指令 + +```bash +python .\p4_binary_search_perf.py +``` + +執行後在等待輸入時按: + +```text +Ctrl + Z +Enter +``` + +### 實際輸出 + +```text +case=best +data_size=100000 +target=123 +target_index=0 +linear_index=0 +linear_comparisons=1 +linear_time=2.6999972760677337e-06 +binary_index=0 +binary_comparisons=16 +binary_time=5.6799966841936115e-06 + +case=middle +data_size=100000 +target=123 +target_index=50000 +linear_index=50000 +linear_comparisons=50001 +linear_time=0.0074086999928113075 +binary_index=50000 +binary_comparisons=16 +binary_time=6.579997716471553e-06 + +case=worst +data_size=100000 +target=123 +target_index=99999 +linear_index=99999 +linear_comparisons=100000 +linear_time=0.013151360000483692 +binary_index=99999 +binary_comparisons=17 +binary_time=5.439994856715202e-06 + +case=not_found +data_size=100000 +target=123 +target_index=-1 +linear_index=-1 +linear_comparisons=100000 +binary_index=-1 +``` + +### 判斷 + +第四題效能比較成功。 + +觀察結果: + +| Case | Linear Search 比較次數 | Binary Search 比較次數 | 判斷 | +| --------- | -----------------: | -----------------: | ---------------------- | +| best | 1 | 16 | Linear 在 best case 較有利 | +| middle | 50001 | 16 | Binary 明顯較有效率 | +| worst | 100000 | 17 | Binary 明顯較有效率 | +| not_found | 100000 | 約 16~17 | Binary 明顯較有效率 | + +結論: + +* linear search 的比較次數會受到目標位置影響。 +* target 在最前面時,linear search 最快。 +* target 在中間或最後面時,linear search 需要大量比較。 +* not_found 時,linear search 必須掃完整個陣列。 +* binary search 因為每次都將搜尋範圍砍半,所以比較次數穩定維持在約 `16~17` 次。 + +--- + +## 雷達圖產生測試 + +### 測試指令 + +```bash +python .\p4_binary_search_perf.py +``` + +### 產生結果 + +```text +radar=assets/radar.png +``` + +### 檔案位置 + +```text +assets/radar.png +``` + +### 判斷 + +雷達圖成功產生。 + +雷達圖比較項目包含: + +* `BestCmp` +* `MiddleCmp` +* `WorstCmp` +* `NotFoundCmp` +* `BestTime` +* `MiddleTime` +* `WorstTime` +* `NotFoundTime` + +比較次數與執行時間皆使用「越小越好」的正規化方式,因此分數越接近 `1.0` 表示該搜尋法在該項目表現越好。 + +--- + +# 總測試指令 + +```bash +python .\test_p1_data_cleaning.py +python .\test_p2_caesar_cipher.py +python .\test_p3_digit_root_base.py +python .\test_p4_binary_search_perf.py +python .\p4_binary_search_perf.py +``` + +--- + +# 總結 + +本次完成 CPE 模擬實戰四題測試與驗收: + +| 題目 | 測試檔 | 結果 | +| ----------- | ------------------------------- | ---------------------- | +| 第一題:資料清理 | `test_p1_data_cleaning.py` | OK | +| 第二題:凱撒密碼 | `test_p2_caesar_cipher.py` | OK | +| 第三題:任意進位數字根 | `test_p3_digit_root_base.py` | OK | +| 第四題:二分搜尋效能 | `test_p4_binary_search_perf.py` | OK | +| 第四題:雷達圖 | `p4_binary_search_perf.py` | 已產生 `assets/radar.png` | + + From 06b33470c3aaca16dc4769dd36d8044e725c2463 Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 20:09:16 +0800 Subject: [PATCH 18/20] feat: report fastest search method --- .../solutions/1114405023/assets/radar.png | Bin 117115 -> 116832 bytes .../1114405023/p4_binary_search_perf.py | 23 ++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/weeks/week-18/solutions/1114405023/assets/radar.png b/weeks/week-18/solutions/1114405023/assets/radar.png index ad1cc72e1a5bf233b48d2aa43eb2a2a655187239..43bd2e8561a7f32509d6aa3f55b099c624b323bd 100644 GIT binary patch literal 116832 zcmbrmc{rDA`#r1)DN#{T87gJSkcea`87d(WWmd@?nP(MB3Js)^d7CnmAwoz=nP)PV zd6p^TyRQ8_-|z7r$9ufT?~mUf?Y*-KxeYs{sd*dj3hni|EaNM*dAEw5N@@%JQAb(XbnEoT z>vesj4y@;nr}kMN*-XFV!j8JTGhr7`POv`Q>c#y0yoaP&<$>1MCylBP{dn8ex+Ja@ z&FOoeUYeTSi(XoYeV1LwI`UumYrMq{umAiPy`uj{_W%4;=EcD?=l=aHb?xtS^th9M zfA8e~>7!Sh?5O^8vE0C7{nK&vjdmh38*UmJdaEZUH@I<7Zzk9AaXzEMP*-37?c2A6 zkrW@wAB~NSmX?-6%$0T%NB;Z04O{xyBlbqoWj}4&(bOLqv+kg-&w4Wc$yjwEqg9nVXxl z`?<5WCTNYeV^Hk)X6b()E2{J9kX2M3_maq=|L-$LJuntxZc4hQ+T3AmwPVMQ8e^e- zqE-=K=Gg!HSs`Z1=o0@Iua|Avy!RhDer!(=bBCUq8pA=kC%OIA^>uZ*BPsc&@97%T zo&MaS+_ujrKmQc&V04#{86V};e|_wTPPnD2aCR3vrc#0f_yr|nEk z-|Cg6beeVYQ`T*uq-SB#?fXhaNf}jZd{IPRUfy|b^jou@hs77&cPA{`WO8nISXo&; zJ??$WYG^_+y0&|C^x{Nk!L<+8F|G5AjEu7S`Vp-;JYE6;wDNVieaTWx^JPk_E0ycM zxTU|)>Rfz*9}g!fcXoERw6rv|uAbrLam&)TnHf|W&l};(bC{^o^H?eCDSdb?*NRMmwSO5J-uVrlXlPmrG?Zw~UFO+{|)5)srIeu#^E}5j0|8oB+`7^ z-M;z)^;F%;Pxm&Y=j6nx#wm@qq(_(B$hPcKDso>*%gijTt`0a7=6JuPM7q8@m{&`V zte&-XNqc+9)UU50O;zh!G7Psc`#td6D^i!NC1P%F-jZ$6&gizZGT${dHD$26{MYN@ z!}>fsGfFy^A5pT8)3UQurdId($#pu9@V31-@$~bfU0q%MxVkvPxac_CkT6oH-bhZ3 zfuP5#>;3!pTXOFlobU3GT3MPOSY4VJ2zBUW=i*9eT2j^4eiGF%8u&orLtb88q6WY7 z>~LAUN_0z_!G@};s*m%XE{&bpN^xgXn_s+nb3t8w7k&0pEL`w z&T=T3&emx9@>DM>v0=`1QDWA6w{G`qqp%(R2$+P7=?}{L|E`HV z>$)_Svy5dCpKG}h`!zTy=$ON}_BIyr@;Aa}qHc>qDk>@(qXQoX!fteablP{y{)zwo zQ@T?&i1@m?x`mO{qLkL=H>1@_*D@VPl5-q~VuF1hJu)csWkd{IS`a;)Qh-IM)mLvwLfoI#cZ53F!gwgh#)Dk!QiO%FF`%kHFrl!7RZebC0_bx>r zmR19S%l*@Gs<(_L!u)5h%4|r%rKja-MrFVi|T_V9)IZ?e*)|2j)){F8R)l zcjWWn498CV>g^4@^Xm&&}rF2qBldq7JcyOUwrLj*KKC zyBOkZ(hM7A4DF()*LVJjQx>RYS#af!t*si8SzvkjIm4C3*&z4O3O&!U_8gvP&z{9L zFD0fHUS^P0X-d^gwH>OHP0!3!Eh#MxLWpLSWdHj0D=0pmGe$Awgl}kQDEXqFHq{ap zk!K&KEG{E}B7cNQXyF*EynXvNu>E$v;v+x5f?nZe+*;7TUv6)&PQIMnx}QjAyj6Hd zz5~zMhug0F{P~k%@7}#JHUm`^IbH59pUe!^*}E~Wx$fM>Z1kD}|;#~33Y zz~UPc64Lwo_dn#Z$SzzLV&?gox@Vjmb^4s&-*e0y<(r}QCRQGfNizOSqvYWN1FaLHr}M#&<77KwKh73nv= z;%9;9UmWJ5lbE^WZDHP?t(cycCQxu9xIN1(cs=LezkhwBv|Yn>GjCPeEu}P%kVV~e z>0?1b(Ds9JoLhGDsaf0DD9$G&tRgpYA!}Fc)^oknXrb1hmG|=d+RGGKIn>s}*fAM- z`9Gg`DkI0cb$FL|I{u>l;eW4o>dCzxYfG&7u9>m+;8(Bq)UV*U8nc4PxzYl)WWsQTh9UmKgWf;SLE4^ypr;e zOw>rF?4J6{YJ{Y|yznc4!n`Ao9G{?{KeY>&rxnywv>&~Au@lFpVEFy#!~&(h)Z#!c zRmaIQAVus!mN# zc2|mY-7I}T>pD{_e^pZxc|h5pRmxqK^;UJ5;`QqX9`EAq{ZlP$0}PfVg#WtcW{KiIZkv&UWG*6=%%N7d2M8IUocQl)+`%tOk_G~eJDU`RTL3Z&|8RF_N&z>yzkMG zFnv7HPlqnIE6(oHJ`cv~YMEGBSt;t(G74PgGj4v{v2Xu=#hf#qlmo!oNyeg;;W%~u`HL5?u`f6Ur0l%6>K74tgNX?{aZ!FWrn`q*QxF+i#qAy)5oykKROCV1n^Ry@d`y@EH-c`v1EW?fhp2pociSd|bxb&4nFr}cNn=!3yD zw6s_9Y=@!-Z5gXSbt0qs1_V^o%Fj^r)ylJ8u@wuwjQsz(tc(jgtBTah{c%_Dab`dA ztl76akaLPXsTgHd7(9z378Vz|w{PFhxET8MX~flQ*L02@u;s$f5s`h38hTg6#l^YB zCE3_c*P3Qk0FtCGxq2DDg7cStsUp$c<`s(|?R?Mq4jfOgK+m3r?)?saaiF zQk1H$s#2#g{L^3Q8x=qC2xl*M2P>;bS@Qe$YFwP0m&7F`f^bD1kCoYA>(Q2DhQGe} zF=lJ6N}^P_?JQb%MP2lOrPGJQH8j zghR|D=bzFStmj@_Q9;AQ!vhd?HOrKd1XpUo95V+8hk4ukM=lcuyIowCXsTVxpR!}y z(-3$glEG$NM~@y76MLf)E!Q(RXl&YSnsxDw(4*hKfAh%QOv$o9?B&^ynJ#vAbcFU- zhSYzsF>-ZtQyd#>%i0h>*)}-qOtN-KNeO`77u>X&nOX0zU#W}v%qPsRdQW_>ZVR%s zL3E=MObtc{=-LEL>^!1GzjyC4j($?g^C>% z#G|3^$a}hA(0+Mg%F)Foy3sT}BSVlek<-KfYXIvJVPUdi8iNj}Pg5W{6khN0Sp9nh z<@XdHA788ma_#q_gpX#?cuc004koAa{-S50+aXlo~MTea~mLK$ZZ<@aV!iMNK^a-Zr7p9f#_ z^UzSgC{B$64=2ZOKYk=NWOsCQq#9>tXBS2lEIS1SYA2=4G^i?1Ay$vs^j}<@p9lyE z*}H4kF7btKPYpL(evg9h-%DS1

t#PZz})g*iRIpZ<6AAKDlyzWXs9e}FW#D^%$# z;4i6H1iWLz4~mNJxpda4tI#byE2}T7S@+U_P!ac*Tu@Mu+7f`H zym|BH*a?TRwlaX$Z%E+_y^r~gTQfMCnh-jf4?yQue4CRqJa$U^ghXf62pAdfS<5kJ zWsbij6e(W!gNgY;Q`D{XO1E#1Gj8$7%g_HcG2v0){^q33VPOC3h?t8ZCupgtr~t9Q zAdIR?ythov&ws`4dT-f1U4AgY>Ua6GM5VIiC)JWmPc~3(vzjQFufwulxNu=%aU}I5 zLTxBBC3f+Knc4Rrua7&8e;B|)ja3epd@JP<7A+qjXgA!zEfF5V0V;Dx2bBY#dWfY6 z2Xdh39va&G34c*OefpCyD}dbh#o3Y9$BnjCORarOD0u%q5C=a|vVS_$s;_wfCHdFD zfJX9w^+BBD=C{gY{r$I?BR@0^s$IHt$$NswMJ`?3DzN%%q1sZW>qMfm{GZCPgWYpW}- zkKLdgX-=hTcoqV1k!{|3Ir65Hl9H0QMG)1;nVA`$IU6T}T|I+>81cEU*pvqM7$wSejVLbtdg(y6niw4sc}Y*ja~o#Hqv10w$u+hw`*maM=AvKF}5964%3bq0mm6F zZ%Wp3>haz^h*0v4s=*3>@!!8Ce!_tuhq=+#<@usDjspkoJ9Ih?_^K>c4Aw?dd91C7 z1c*;lCnO|@iiy<~y1C#`+;9$0`nF1<2FPa`s0N%5Wrq$QELW5Yc=w#}@AD+JFpW%e zo$ZU>=}AdjQdjr<#Svv)hs9vI=rbyTJiDH2y*F0z-ZGpzP<3iTCb4n)+mUd3CZ=nx zao6pkM{M0E`V?fR9!ZvFghwsd({qD_%iPV`;l_`Ds!p}Ewyx6`V!oDb&cv&gofI^r z#_ZSc+tr9&y?EgQjYZr04?|b~;4Zdc$G&|(Q1nu%^&4w* zEcI9%yVt$s)2YDm^m+0`Xl!kIz|rZ^7(R$xT3Qjr<20NQcQHWW;>DYYEXLS9rb5g| zd3jL-W3zjEudia!UXOjCX6LrF%B6Gga>^XB-8C?+U_5?PA%Jb3dGF@+S-BOn>jSLM zbB%xc^oi$!O@3aUZf#S6i-S8@s@ZLupSgFQ>=hY*v&1Bze>&#ET?cTG%M%*HjjUU? zY|(Y>*@QpdJnrhP&F{nxL9V(8C(+Rt}+H z_YtDpkf6GiMSPElh)7kK#P<}PdB$&TNYfDo2{I}}r zfzOY2CTZo2zhf-pHUqCFbc<{vG8QFD6R9!&`%ac%NzDuo^@O>M8+?1t0UlPDenTEq z^?SQzkxqiiBaL5!gXMUd@1As$@0Bk)!+Z+V1RhZ+mkkF z85!6APWRz*X(hjo9zFW%lmj1~{*9y#(*1KiJd$QoA@K{{eVr5K2O$a3KL z@fQe>xGIfjyQ8@3HI04D-TKr_*!hS?XfTb;ISqMi3IzYf%a?K{CR~z|l0UJ{Ki&v` zx4kD3ulgF*`f8f~Iv$Obf8M`mfZzZXOV{A43$%shrLMJpXcB<4^^mFD*H#?Bcg8Qw zk6<%7L`7dAUjoT)#Od3-ZCgL!y1>YvqGzCoPMZs*Kyx1_%qF zaJos$a;n>tE{c=p-o1N3$E~*EK&=^O&3w8ZD|TV7)8{iXGr@`2jvjq-?8X;0r!IGQ zck$JQUmu~g5du#RTDZsRYY??JAbk)tJ^`KmoolyzWWxPv+; zr8QKSX*~55zWSK$;3duX#>F@W#yC~Um3MYaQ>zFwm%aU^@E;La?acY}o8y$j4|8(H zmk2vZ|4gb_0rq#{D|vFpfUCdKMs z1)D`~!`n{EheaA|!px?w!Jbrfhe561zZZgn>J<}X=v|hUrODgb*@fP$nncOyAPr#tbxw$V8CaXeE9S3e9xZ>}hfqOi0Uo2WPHbF@RARBB--itIo zGu{z`=n2Von*M$M0UfJX+rD~n9(Kf8#Zik8p~=%B$t$xd7IS7-XWXcawFhM zuHLO%haq8*^Q$qo28!(@+0iRxvM|0Br8K{oClBkZlP@AB7 zgoqIJ)wGlwAhbdqqlQS@~BH2@u}gM-7q zef!9b*VfiDvMd#?tpt4fbXr?mJ9lk$2`Mi1M{0i_$-$o$nMJMG5HO>ynO_@FEKWdz zX)SOOk(HH=okK-ZbIeRV>REiZ);Q_%8YD60RNVp)UPF?0pf|3qOnBtx=1$fr@Lw?r z!Fir2OY*)#cUsr9Z0@5_R>6bPOCLZ=Uh?ZHfs{;6PUeog>7f*Ky3OmLRC~t6a1fn> z+uR6@Vi|(RXjf4#D+-1H8D(HTO! z4=cX;CpRyT+uq*3qPy5LC^uKMeq|TGZW5N0bEGL*704>iI7_n+m9GME5ky2#oI~Ho zk000NJ6LkCv!B63rmt7a<<9c1Uj~qGjuZ#tKFN40Zn zX54^u87Jn!J$>`@^QUnT-n0>s^5b*`PxH_5+GzP8`>{4Iu#5{2x9tyvhItiQo!&($ zelT&OQA5(zaQun&3qtAFvB?jRT#UEwa+`l$7%uLV(c9M-6ZrDwn>Hx-$IHHbI}c{_ zari|4kJr&e{zktgHk*hiL#>$u!t*X=U3J0@qcXDWUdI1WZr$?)-;W^kT9?M%U+5p}zUcj+PGbp7bG!n!irOi@9qnW0w2y5ZG z(DM*?eEimrJviy4Il`l!6cG_|7j!+C)LLY=`WplrVksW^`$O525TB_z3$;rC_>$Q% z#+zR8WeRoYq;UNg2D^U-6^kl5-0Zopo>Frj0gr(?C%KLd(jC-*SNY?4k9G3xx6{*G zRerS_ZK<8f0%E2>^RTq5D;zx^B59^U;zZ!oj?6Ob-mQ1+Km$ULrmMZBMc_`aOyS}% z5AL%RrB~E(lFh6s>BB84zzI?7-_$rBec)F8sYR>Tp<&9PA!}TF03tLe7gvw}sqy&9 zTr3ZCqU(#R04RpFQL={)AHJ-ueev40Rz}s_Q?`S5v$C>=mT=oOF$%kXf~K|>A@%*M z7^&kf^ZQqL6z)HzmsTqVM|^ec#)BbG6A&1bb~?}EPtc3?DD207p1*VF7^JB!1Wm0i z|Di+rp=>ar0UjV+5=U=CME%eLgxR5ngq;!YuloD@ts$}!GD3mCH5&E=hK0-r#UZ2( z$6y^bEp2kcA4e33LA2{Akj@Q}Mc#@#J%^ULPQbK*^MqxmHaj&0K?1v?YmJFc{g95e zAMGE~kTuRgN;j^L^&46O`bEVnfihZbmRew6`86n;Y z$T8D~cpjRqqN3VNEiA5+XAnXct*r(1+-4ck*lM@iz;xH!dlQ-vaajEyua0>det&t) zr0x(w?5g3Uw*}Oq(sKs|j3P-h%a`f+Eh1y@U}7Q)G{ET`WAmbRr{1Yk`6F{%xC@mc z3e~TKO1g6qfT6MpJMm9i+EZNrMQEtvxpUOe72^Qrh(d(p0;+f)ZCOY$UqP&(EWTlx z=;=9wx(?CmRRYA5ypq;4C}>epQG3uBbNG3Oil{R;zC1Y=D*TaIR^|4vlXjjIKR^HI z*q9=F{6~xC6dgvEdNlXysZN}}dGiojNPLu@>yp)7RF`&3`zy@jcQr=T8mFbDMIg>9+R>2Qi{9E#M9^L5%1ZzeF)ZzoXQ@!SzmR43W#qY< zYt^GTA$9cV*1LENB3`AZqsjOPGNE2(5zb3L#1P@EP;sZ}2TMaO=?9^tAK>8`$%~d2 zKI6+l%`U?TB>3PZuT}<>b8No(qCRREu%8bUsE1f38{h}s<8L{AFSB35K3-X1(Ff*2 zQXnkg57Hr;86`k2sjaEgQCri~(}SE@g2Vli5;AW~Q{SlPgw8QSR1(Mnp$A2I7ZeO7>? zga8AO#jSe;J~ecrFrT>nvm6hPipFMOU@$nlNK?N-@c3~^rHKNKW17ejB?#4)Lbp>$ zu}N3c*I$x*)1EG%2&S(`cC*I~ca%7-Ce9(}O?)oW*@k64bSLHmt={6T1*l@zUkAy`KOGKTR~F23uaVWbefu^6h-i@r z8rQHLIBWae(%K?y|G9gMYk64-lkEq`plakh~AI z>lRQp8Xr|NuOcGYC|I0+Z&U*GF!6`6Mx zhN7oKToW(@O#b=v3ly(lTsA*w_R|KsOSp{y7Ks|uED~F!*fw^ipyp_`2v8Sj72JyN zJ}T;*(7ds+=G-N>f9i+MDJc8`Ifz52TtwKnp~0A;?{I1oqcnBxP1-#IcX7`D6jQM_ z*lBpt`(6BBk~sK4^~2{ZFcojy9!Um79t0E`&Qr)r$?#ARJn$bMkIcbi`k(HGq_DNA zoloERzijd#G3jty;BeS=Y{E}Vj^32{50`7$E10aHreV1DfN%t2D-zStmCcNgkN0;u zz??T-6ghI`)~46YNB&~~LTY`Sn8-s6L=7Aph2DJMEzj87M*I))J~-Gt!^6&{ve#l< zv;X6Y+RY%#E+G+$1DQAOYy3%DM`vnouF&A=%m1+*F@kR>#U+m1_Mt4Vs2F~5@J!!- z?}M8C&A$Kf9eEjB|G$3vKWx_Luso^mgpx*md-mTe;-fduT!A6$Oj%jkKQS@r8lQ1@ zmqe{a+EZJYm$LvMgXxAwR5?6eJOk5qHCSKB<21Vc@?n3tO@M=qMDJcAv89zB{x8D+r7McN`oRa8&EULhp`&BVH|NL_ZZB-MX7GyW*HudkWB+?vY zN767BdL!nxO)S(OvYaecK+fkx)`!qkgG<))qMumu43T0= zTwBIz=%S$Q&nR6Di5Bz;j*FO*VjH9;&E)Kqd~8|@stkt1&qo8hdw(_||=SSYFNSRSQNF_H`+;3)w* zL6W;I7&&12Mw348&GY9wh|~$ZL3jf)DK?vUwg>?Nd_J@X*&+8ntc@}ScR(xAi6xwq zXJh!ZXKSI`Qg461dUHpT#vy7Q9e{Xm`q02YnfdV!o{b0P<-g{Q$CAuKtbr;<6`sm} zi%reVM;VL1c61b^sub&1xr&qS_rYzcIP&%BVNBg<)z6wAg z+Q>J+Fo>xpC7%;#;Q@gf4e`Ko|8n&OT#;B5P|>X+Z!1hD_`b?Y8(!BvoinlJO8pmC zUW38I9ET32p&Q$jqVpX>5j8cnfOizuN@Q@y2r^KL5;9TA=;h0oujbs|kHvf8dBNs5 zbGPTD@4+*S#tqLRkI;P=`oN9E(M>wZ2R_p6J@EwMN6+Y}cC!wHG_?UG*{;S|P8zCh z`}84p5*HtYHNyX2-%{Ho7rnhe7v1OO1V=Qg*clOtsH;k2eNVSl@ZAu8mL_d=q&w}e|LaGF8W!~>f&Q)PwBTi#NfVR5_c3p zAvc6F5YDJFzjU(KMC$d4(nTL<^wIZT$PHmX^p6J-T09$Twe+ zuKvQhM!jXr4fyiVQt$^Z&l?XT>Ixfajj3*9mHYwZc{Tm|rkI$RCoB?gkQV9z3Zdu? z=eY=9P+@>T#Kp~>ci^}7q8s#U3N)M;rM>+8D(yVK#uTGVqq}vV@A|l$l5tt9QKL_e zV@fa0Ttt4(?GUomh+GS%N*&ph`8_;ZH}xx^J;PHzx(j_4P%#vv0v+IR*?Ypg8%XFT zwgjT6AXqItM-Nj|Ep;4}so6i%lF0p8gJXL2gEa>V>@Q?!LMDh?=+t;_v-Yk=qvkC^U3GS&^$()lv_ZowTyz7+u{V_=`VV>*_rfjSm(Zf3EL{ zlOB}NH_=HR*XG@)!%K}Tsj^wy+I|KkpULv{JR7Y|A;Qle(3q%^3Hu!wmNejvHC5`$vzh5>(i46_yU|jdDwst$r1aim5_)r5Z3;#ao`yOnA z?#Bb#z5m_@j$cz#l-!VPd8LS7bc?)3X)S9cr>aH0apagz&B_^LVG7e@j-0;I=g)t;a`v);0Xxn) zsA6|-?|ncYbSltRRQI@=QON3Q9J=LKvNCS@c}o;SMidBc2o|`Qu~?9w*+P6 zYR1jYkfZjaj1YZt^UlLU<))U-1z{gQid$P-Uo1W%CB+Ie1`ra@zMJi>t&JVEYnlru(i*4;JiVh*D|F?!93!9Pw6b~oG-otF4# zw4i0YmNHM#yXseQRpSrk(SCH>aQwKJI}zyXtnBSitW+_ZiV8CO0rX1&-M>X1K)0*} z=i!y0Aq@l^EbwM_nHNYFK8Lxn%48Q{w<5+hP@LC7COgm-c(-JA={$^Kw%yw9->a+9 z9dEO((PnWSmL23W68iK=s-ZS~q3am$li|S_CATemx6K75=Ec?TUEmOV$u4m=JtOIJ zV8M?UR==rybm;P=vnuPhiTSIaeP%hpEfMo3f|CZ@8msbg`tHWvrOzHe-h!ng#Vx#R zf)-j{1_ZLg)kQPt)YT|Yj$o3=bjHyi`<2iE-~mPyI_5Gr+LKu=c>|3qxQzdxZ!cg! zdKLI!B+pDljl~rLTX}go!@16A|J8juv=0QcI=(Qq(RxlUeaaf9D!8&u zI(UwMjAGyFHl^F^qjfEEY##cYud$=arMmLLBP()w;x}9+@VKZioHF4oF4q^BL<4gQ z4VP&oVZvrv+-6kJs%_|wT}Q(%a~4KxAGuKwJ6ANiUBRHxS|h6Q;ft>>Stb_h@GJyA z45QrcS`oxp(lgOW5$Ha6-Q|yf-OP~%rL?3~AB8N>niyX}_WmQYno;*NcQXsqyFL`V z(9l1ZsOPCxjf06U+_&;_flUV$6u#4V$fL_LJ2x?i&fihZ_dd}0_kk=D(E)uc1fE@o zFycy$#8o+`ZwU;V#lU^#$Rc}AnC}UYnA-z2KQWlf9T@+gxHuc&6zBwdZ%=XsZ%<8G zveDlZ_^vrKB1^?n`C)B$V`ozSaWi^uBcap1UBjFzb^edXQdVom^lA)uh&sM8(#z_u z(+>oHK*$h%&)KSfk+MiMXVsC&aRdO?rwdEeH{f+$M^rj)NjKJM$)T0CxaL z9@WVUBweo`KQ6L353&=UubFLrtyw4Wv8Jpx85G zwY=MIW?-i2@faU(V=q}>a+z>nKKRW$+kY9e&U2If` z#wGZ)`@6Q-^t+!5O(~`)V%+sSO~t8$>Vr=&TMpY6*~s%}yEt6hpz^SmvH7Iw=?Zy{ zdQ7gAmw!SbWAKGNYWPYEVzK)%f1!Ty{Y~(!Pa!)Ucb+jm%4?ZY{s1(O+~d`O>To0c ze_~;Us&UM$=_u(pJKNN#U%p&|{tl73aK^!%UTx!(5Eo}2-_-59ezQknv{d>CKNnv& zrNO-P(zEVSRkMzSEH>MOO!-EYs9ZmN&MWQa+7W+5vo<z;XjeQnH2of|W znlVtQM3H;Z@D^|=ycEFf0R#!6&c70O63ot?O|1(D!~y}G*lN%o~m~8U3tERs_4pwOJAlQk4c6$);?{@d8hit z^jhe~NNbJ{R_3A1zSh;+=5)hx{yVbvuWws)7*jN4LhNK@T#S|l&BbnQ1@}W|aHPym z7Da_rSU7NABqbdUa~|emabM_h)}kjny_2jWJp{y$vrSs01z}M7fUNY+?b}tFJEY_4 zpS^ig0WbqH9tEp1;vKz{M$syzI9Bz?totpT1G$$({N9TXR20A{P=kqVUD@=h7&TV6^YeTX*pDr;4%m2r>I5=@o_H ztlwE)xI-+e#3C&&u~$h2H2dFSs`vpcTq(}j0@M&jTnHc&^b>NlEKiBhJc!Za|wyiV!nm5wLF)T};r{>PQZ$+hm(I~-! znfHCZ{C*Ca(e`d%9&JUiaEwvGNfq5ZVp1Em3Ej}ope9Q4l8mwjfb*n-Q?#}k0_AK9 zp+o#uMsA?wix&V^W}ilJnsTe2r%9_GF{B$iAO$4LWnkINFb5t>1`>_4cb zen!knN;^icZCxsS5VbX{vSf!Qty)~sU%7^S&jsh*UKLCg-M_<;k=pJ(9t*RGTv8jf zm1@arxHkU-wpVQXIVGjT92_yaD@85&4*amF-ay`a!YUPpooo7go&ig!j3lX2O$_tc zU7PMt>&ODLp#LTo+W9;<_$xkn?)-V+^jB4`%{iu;S8fTtqZ-ZMeP;Q~?FjkM8KCx83Ta*e{Id<>eD$hv-Y$|0?c902S{V$BR}Iq!c*-T+(hCgfP+#K1#hBHqg?-r6Qj#dHd#IdM zX-arJ=3dZnn&HIOqa(_#^TV7)_IzlPBk`gdW0nO2Z*f(tbWrJ^6N?RT_sg@o1tMwu z>giEA;zn-nG;YrBD1M8W6|hss3@aFPVK8!aHC-#QmQ^XQsyck^7;q57+tAR>Tep73 zHFed#3WoeH7#^&C#>)57J=@;PzLafQ(rQam{dh+bC8Jjb7tKH8s&SQ}ZLaAXKNK91 z5vS;gy=(T1DIJ2&iO{P8d$uktE$!U1$ETpcEp%o8{tcLK9wTS`fq*%Mo?O#+*_+<< zQL*5yQT{LvP4$OZPD45uG;a~;uL@PLvKrH1s~@t36avrvX+Tz-v_p_^b_YN3Sb1>% z+V*`q$&?WdE4$l6vb?w5U~_z`xjAK>>C-cVm%RtrZ_)0%M(aJmCuGWYGY#c=QQi1Z z^i$s`tJP&EXpN#Sb4SC%!ZuP;HeGA{fGZ22%Se(O0D%*x5cW2or-L@I4ymOfBP!~^ zDojDdfP>Z<9dY}@5Ue?}QVzEjkOVyOJ->g;=`-?pAk(Gy|ng2fGyKU_%SAbdWokD zcR}VNe&c?V8zq7Iot?#qF9)uvUA&s~3=CcXhRJi$a!fO(wVoZ18xBzSz150W?P{al zkpJb6>t03V75n>Qc2g~yvv~(7lKmE!MpoJ0$9ps`y?a-<9NsW8OEADmoBr;;zB1zS z-tX{JCD9EOx9u?S6*DM5nb+X|IJuqz%}_Cv4!vY`ZIFS3IBJ-Jcp`TLmhu#pO#}K} zms>J7PCw_zPDKQWE&gKNyvy$pr*@PIWu$f9b>RjU-Aw}ldgk*(Nt96lg?YDAG7~lj z``3w`I<=F5K?Z#(Q#;#OtQ-2{KJb2e`uI>o#gT_lV`i}ituKV64Npk@)!3`^7cc&X ziHMA7WQonft?&wN$mcK_fd(aOW?{@Pf9j%(3d6a!NdMK(Nt>dTEOP9;(|U&QW!O9x z8@sM()^H~NZPcgMgQj=9cNQg@G2F}BrZVsd5Uaa2_V$voT;G+w%AsQ3#rj0yLzB8; z*hLKr6ZucypoJW3}`~ zfJ9Sn%0UKc5F$+V9gMCmuZvN54I43L65tC+Q|Bq}>+i?dfU>40Gfo* zezxvu`NOeqxxY8-;LB`!>)p0{HdRWGWP8{}eA^Uh?W?k%R(yH?p=Da_1x}mW>vZDc z4Rb?3A{+N#*0tcnhz?c(&V6I}#*_K#@=WRvlPU^V+`?oj-B5F?Uh zFi^pr5(>Fma-n+z`fn;`&Fc(r-P*Bxw>-Ka7_dZtGPbIT^Vlgjrq3y=@*X?ZKD3N8 zNBFOLb#6GJWY=6I)^rm^VES^ybo((gK6R@1X_t2!kF7>HyInoVmGU$wNY>R=oLB=e z658F}t-05N5B>;j;>X3|L^6m3vsLrAH%3sp_^?>N8bAxx;(xY6_e#7N458VW+{FQG*>ets zSJ*Nv)i#I=qhP;pzUW@2=o~>;LEx zhQ7&MEE?&W76(Nac&i?4;AtH35LDJSx2#nRUES5d`reOiu#sZ3w8*75bm=3&w{Jf` z9$V*zb*hQfzvfa#WqN@$mXtz!5#%r??bx+TooCZ!zED09*9EIi_a%$hd`G;D1&|Bw z>;yw24s0S|C`+vfVTkWtkcky=_z}3OfM})9o`pBwavw*UDqVcE)WaewH-Zo%bm!|0 z7;1oW*Xj>ZUpZ5Ja@KNk(3G>{QoGQu8hanH3k*UO z%nOgmqhK1Y3b<%;e*OrC4`6a&?wWuH^cz;`j-J)(*ks{|6=a0xSe%q!7@g~f={E{}4Odu}-W%6O$<1qk8$nb+8#M}; z1}bJ##kHTzH-t_vPXM(%k`hRs?fnfR>6x}&e?m7{!hG@&_3QIZTz1czT4pb)$7f$_ zJM(aVEo)LOnR~2X@MSN}s}r&1uJ^w8 zA)XuAk7GJ1m)6RW@#YsjobD^MGGh~)5+68ON4Xj_!JG!=cQY+*8BC6HsUkK>W3Gu#7l( z$alSweL}Rp25;Wdi4D7pP|$81IurkZ(>HHdZO=qQ?L|`WY&`jPMz$9* zn;*jfJ`gqgi4(j0K#}${F^!0$qH$vh%%K9Z?B`78uSP{r9AwcjJ+(2@PjR;IRtd-evTQswZW(3R8@zotwEWkmHEG6=1C->`{ zXgREy{XRt9ct7f>=-keIf7ead^JV9J&;hk6%sk_7#q1{se00)%Srjra2^l&0DA@gQ z%C`}(hE4yE9>_np_w}uL)6>4h5xPqzsmMY>aU~12yli^=cNDt25R?fX!~@9d>+6>u z^>$m$Wp>||;`Of#v4P!_-Bm66T3SZo3pTaKPbkkV%hRr&Z|Bd>UpSk?IXF!rdLl7% z{7R5g+`$tkUINuS!WpT|H)_s|Ru9kQcv%li9^3H4pe&hcH3HILvnh7=mie71Q|83kyY&ksku>>d|jHaB%YqiO^E`uq1y zw6ZjL>ih6|g(}SVPR`8Sgm6hfQA;6Ogw{K}WM145*h5_Jgz>>5PfCQaeG{7XKA6$Q zSo0YiJD?R)(dKnrG;dcG_OCozVPf!XyFC&4vf#GVWnNF-;lPcN&cA;i6Q(b-pg5b* zcI(&H&@Ty*@z>h(#<~=9UGucjRQ5}jQq$J{@r3C(nG7WMF}#Q){@Dup9ca%#I?MsZ z3a0qy(1X$W9faQGH#$&fVg-l;Lw!=uMNgh@-kx3Y>o^aNU(dJna<erq&tSh3J;;|)mMKN#De*i92X`HKyG0xNLtH^t#W<)3ohB_3|_{IKM=P+LtVeP{9Ie#+Kx*D&nv z!LG!zb9|xxZ3gefF8r=fzrEzJAFWA5H*A!s^TI^#c{W=EuDM6#_CBIdqCYEaEvWF{ zTT!}pjR_*LIGJ209#PDF3TK3aog=E%*5vQe9Pjxg*z$+*<`G2PNCJ!1rnxKfo-&?D z3fnn(ya42)Wv(6J&(0Z*q>M`I(Kkdo&G(^+%x*1Az2 z0t0OTQbGJ%F*{!(j|%Krz)%QU=_i&XiB-LMePg={o9w;7e-(ko;J|6S`!xpi?yR}r zocH_P+ZZV)qrx_Jm)YmP68-#Lz84Yg43G=Hv*-rZ8XrQN9tXW)aIglAM$&7+Bw8;p zP)hBrADZAOi!kUzJVO9Z!+$i1Z*MNAR{YEP^x;D)Ov=3Th(2v7JFFJc@tAF_yKL@O zWR1brja{47?d_VS4D5G!F(;I4{ZFx=snRuWI9<+W7Z^WlacP4=H0cGm<|r48C&bD< zgtg@rbT^m{mZ5n8HoS3TmG+4}d;h8NB!et@cgqiqERn%}V$5)34fbDeH&}BI``?h7 zz{GTTN6_ z8Q-Bd{b1 z7cx18EG#TIh1<2-odq?zA~ZD8x>h#5ZL?1A_~4y4uAFZ$Teuh)FS%J-@tl2>m^4HF zt_yz}PbAZNq0RG1(>7V;2;SvgvIJEt6mf^AP2B`X1FF-v|TM;|S;blyZz@+3s zKNCKDeG7|9yrf`idRlN~4u%_8J$k`tV$JRimr+@)UdtMt?JRp5Y#pf*y-Q+HfO*;F zUaY&~>+Qnw_b=`Ihv&gU7r^^4!>EesRS4$@D=)Icro=?%thi>TzFQ{w}Es=qXK^oV60oRtmkKC6D&O9szv{ zOwke<7UDsO-4dLAn3MPJ?$#&oT*A%YUU-GqKauxO=*~+9{avmz7J_M%@-CnVCa7V$ zh}Zt=O>d`k{}L~k-aOHSl4=Su2pjT-+bT<>AF>x*!zsB1DEs|`d97m@UV*^%tFO;H zIhoj?Ff#0i<1!*yg|-^e?eL-!vN)?4n+dUdBa2j(?=S(Z8Ae8Fvn{k7RC}seyl0h* zUB1FE1~b z|M>BHZFOQz)OA6Cyxjn=szBFchlhtpy&DGGD>JHxFPu9U0pk>SFnOhvnEj}aQrry) z(?l^rA8D_p47G|OY+;XY<9!()3kvYoqE6w7KWL`a00zQ_LX86tgRt<5IgC;eugQBb z>f@_p-iTQGMUM_M1vh#+1QlAe@X@`P~_@=k(c$rqpxkCMcz^amrm?NG`#OH zWlVhhvkgZW{X_xuTk%eeAxVfU#Kr`B_;v<{&(nS1dCUp&<5GduU<7?pBt2EU|t!JTiT zehRm$r*7JR4KvXDs3~y6!*7k?R-T=Ne#w^SlDBibR>nx<-+wS zAl#6N5eylEAueDluy0V&=v-V}5?M|)0O4NDM~Whi&@$Tuz5!JLQLb5AsZr<00_d2cM9q*C+Z-XsX+#U z!Ta-BI*HHF__zzY{{Lr{uEgY!H~S!)W6<&+L=MOmRAz}Wa0^xB zw#tSQDuem^H!|Bs0tEKTsx;hHjg5YPQTdyeiKJ)annurM9v#Fdkl(5(ppFaP3TS2i; zvA&F@K$M8?LUY9G$7St%K{30u%oNO%kEW+*e{O2Ku(B#0lAOhOqUq&T)4qM0o>5uq zadp`RTLgQ%C+F$sA8XzjM^2wVS!0p}Xxmt*o_7;0QATFt`Sa&TI}1Y4t^kuZdMW%c z_TuXj@&*7~TOoM5rIaQA9wL9_{rCMpjJmmXr}Z4 z{#8tM7;F~~Jyj{57oV6kHkj8-J>IDyNaixht^n837jr)czx^8SrF*{2Ac| zcXk5WD|xTq4+{$e{^~0*LV!-u`~KM_Xo8arY5_|i*g@S_I~?%D!vj$&fNqb7imC?= z*6$#=ygTvd41zU~R{(c8+8!7vhKo!jN0xe3(mCpgd?1eyIkXTTftseK&HsPDRpU); zYb&b~s6=qd_s7BQAXXx8awfDj+J2lc%jhqJess-=`$$PIDT6(3^N@rjQQOd1Sx)U1 zM!Plg7sf`fn)A{s2Hyt-N5xaI!g_kVd!OIf(7pmxeF46)nl20?8@CJnrSgr1`yUBq zj8OBusuYl7kq|DoUQRF_&QZ}Of%PdiX|!Z#8P3Uk5Y->x+3AI_zx|GMN)YH!_hXTZfnq`_S33XQMs95*-j#(3e!jWsBMNToeF z{LCFs&!tb7i4kcju&9VJ7;LmTD0GB+gBqCQb|u&@NOSO&K>`EDwhyK2;{;7P!`VYpxlCCf&EHm@c{@eA%9Lh-LgNQrbyd2pjS=;iH+KuDX zk&{z~3w91sFH?j+@erc>)|tClM(u=Xzw`aNtH)x;%{6HB@R38nIjV>q*P0yd-Cy50 z9Yf=e(`0$vJ9lo4P?mfhUVLP0>1#r>g9M83{e4>#}4;iTp6( z(dyt`?r(^c>+hJI0r)A_CyMFej6i%+h~V6ar9?_fs^;Hr9dfXSXYg6HVZ-kF4rgt# z#8Hhvsu|ojh~}&XrxSEGTgR4=R0h@ZY5v64C(yckrs!B-nnB|^J7F@9Cb_a%y}TP?&&jZFTr{SUXOIFaizv1bv}=B0pdfveul&BdCV z7MvVpaS(oI$jHvMw5oZiAJZ0#+FvT!t-P$`=Xhp-IEfOvXHf1_|-JBh>6% zJi-_qGeJZ;0tf8u9PMyhM7-oKiuTS4WT6?mMnzD*o%0j7U!m`f{fm&6-z7UHC;tMl zDe*y%TkxFi)^V#ask^(SHkdF%00KY}sYig-%+|(B<|GpVbA4!w<{$jfP z6%61_J`?;dtYB9V3Ay$hvNJ9K8^ZlF4HrH19XT-+kW_+?sgV7Ln2hX|X)&9G#1A21 zd@F83oSUCTXq+WfbnI63a44e(|4;axV9XJA-M>V?*O4k<2t>{GB#~ON?G5?B*XO zoOqrlN`&m5@Xr6dW0F+?bV+eiz5{@dP2JsL(3yZs3m}1};e*xd`j9Jo_d!x^ljG?q zKOAguBO$jYVj8( z7DN{H!uf>|vl>jyX+=zj5K!fIdH%-|O7h&?HLpL!knaQOBFK}a1{_mD<9-{Q$Uxq- z2obnIQvu4mPk@ICBGzHY$tF+<7^Rc^i2_GM0(edYoqh-*P(6gKJO!O5XPlCktLr21 zOCxG|MBfFS=wOZpHOO5JA$tf6h1?LOfcVzoxF{a}_iYqP0w0JBLPWI4YW}}WFtDPK zLZbxNN1r?YE@>p@>*>7ci{yH%9V|9_ug!;(t|bNS7Wf%x4b7_epWR5R39(uxi!r$u znLUnXfc4OrW@mJ8$u6`ZD)`ffN9O6x?L&m*Dw1gRqnB99nerDQ_D^dtSdujdZdR3` z<3(X!xAnW7OuOgl*3>>khIg7W%2P;M{!PEZI`w`8Cy>&`4rekBA9 z;zvJ)CAkisbofhz2dvpxD}(e(XnNP-r2t*Cj1Yk!p(5QC1X>qpg=mnVLF>RKBoqe^ zRs!BjqzDB4M?uB6R!Er^a^c?lZ?%Ka-Ou3Y$2%SWQ> zki1j~Tw;TNf>g5zcWCr6i3iUPSDOX^4f7BimId9VKNRONUe z1SfSa1}f7?q@>+0>~o&EYfKQFfur?|!m zUv+JU^AZH^`=kEz(m1_Was8Ng&(3Mw1mYAS-tGnjHf!B`dy3nem6Idjv-b$pRS3{s zU{YB0?deLqfg#*08d_eEDHZeCEu$X@k=Mvs1V(lR}ZqeULdYS5H14iMppcEjueN!uB^%CqNZ zdXxLQ>%5JsVT`?7LfKRm}WImkC{Dq;g1Kz5H<5 zfw(_M6ubbNqG+Ew$%U0wpH}zzj1Sw8X3}WFDmUz1Q7ymd?G?V)tueotdvSa5s;lF( z%tDhyfcxRi!gc=visL~jLF~UXu&-@y_5g1{Df8?$B0dK1+sWyeV~s1L;yI)4l49XM zxZx2}0gsI95oBfAOgr1#bNnxV@jZy9Hfc$yJyCV0wC8G*-d|^huSi4&RsMPIv=X8A zI-j2d_rX)8oIPFRoXn(%){tu^Y}<~@vQ_+AQFWBz8DwVcmk+zUc{|32`h|>^ndNG{ zmstx|sw~H4)ez=2n=EqUg5l&({{6AL4W%zVQ32f3dJc@z?z)IBu8stEcuXV; z1O3Q=oX&B|+aAw6&Q{enDc^YZVS zEZemuD_aG4$nrhU8142SuDcX8ryw}ezee=Dg4naxj6g|0+04FQ}!KJ-Jr}n~Ib0r0Mz({*IN$-WL02YLdv#wr}D0$V?a&^3!AFSIvV550KU# z(pwNzr1Bjr66As4wUBQj#9hh}Z08Sb3)LUQs)Atah$Rey5X&6P04{>U*aE;6FyY^I zxT$~VhaA`@_Wq=C>P&y3VK{WIIC+tz-WVS4>3i)n=(ApS@cw~pgLv@D>;7TL0W53A!Xtd2fN z9YgS(Ntmtxx2nyQ4JhOxj}tW1Ky69P_)sZ=ISmBtmrwQ;#vw>~Eu+@$EB=MV*d2~CbuB{6I;Ka`dK)}6E;2wcc;A^ zc{sX=d&>`8BIsbLl8Cw{IkDxO0VW$L=dZws4uBmi9@HMgenZ0Bo}C{VIM=L@l{xBy zJsljF!i&IhEF$5NAotCLiVtqpnjaojf{+pt9i0Oe!36IcCorXHfJo$I?m1rIVzlYz zXjRFAJtMldCESu?@gLOgDD(6aRzeRy($Y#P_}6s>*+ z`_TIx8lEus@2px?hi%_M(tM``??Jc!80?J?*M-5I3`_)givcSsXh?$z6P9qiI!>0n z093Z?3)?Ydj%WqF<*P%YW1+H(MrLC`CyC%;0KMmvz5?DAk@Z9U0FrCdbIp*X&8~q@ z#T=%ux9C4dU!Wgq1BV?2nOwuA2V(IFO3rfp+#hR*mY1RyK^t&$eoUdLY7Ni-9L?;g9DV_Gww|w@1KHH{S=^k1TGT)l!D421SNwF zBFF+ugc}lk1WcB}f~`J|LU;y>oV*kAY>*rlI=aNWww#=L1>bf|(KkYQDn+k@I5y}P zx;kZ8o*Ij_gl3MFyMz?AD4V3wKi~P4Rd(Ahha~j$+H_G0HR;q=ATIDRL&mvpWAC}Y z!w7UR(#|nDS?&5`pN?@w=>NQM-X+y1mq_SoTU*;8M6A}=b5zmIRLI|}0X#SrdWHkg zh@x)XFfX!Y4bHm;0=oxDdhaDf{nhPC$cYlaB2ij^QU%1KFze>2Tl#3EkJoJKHO@34 z1E-N6dCj@7HSJwiZCQB?0K4?RgK68pHaIgDGoSFOT5@W_tLg(6z;x;`Oi1AOYxVxL zYCRQBv+G8u)xEzmawrMjo>WQPi7Q{Ss4I~1{73GYgiiSB3OEf)0xzEdwGf<|I_D+o zmx$eOtZ!dzmZ&wZ5b5V0Qi1bu()B{yZkdP7r>5`jJ!d>iAE7 zrXqKphcwemI8`7_M;21&LKyV-%T#Rn?sK5W`z=L@8p1)1q=13GJwJqvBbZMVM?S*{ zaDis{>AE2l211eavgvf`UKz#Hv8~WR%r}rP-nPo z2@oRN7He$B@E z*6I6Q?+Q-}gTY0oo#POJ(~lS71`XmS_xa>TUq{Z!TfFO!f!F@FN)k})l8S_U zzauaq{^cw#2|kI#*AYC}JMzpaG!uM~R#BNOl^;#i?u7oIu1x;(6ZG-0k1rhjk0Xu3 zMf?@BpI8b}A>MR1H#dOBYI;aF;Vc9>NnR|l34;)HfN&vT%<%QNE&|yJu5tBx&OQ$s zv}}P9Mm%w}ic!7X?5wQ&G!IUd;2qtXkR0_O3f^plDrB)gnN6ID9C>+14y?MX_UdXp zG!JuMWy}apG!z73MwRj2ep)Tx96}AbeM^w!3p#3K-LcbY7N@$Kd3#T*h+QiOts1Tv(%FSyS!rFU?MSyX!O6JH}xouQi9`)e1(a8gza zXAmsN{Uizs<`ZP|qxKE{J0f}eIW&aN=BNk4;_&g6Enyzk{)l0o(hZKx(p2q47|OH= zOTq?r7wAo|iFa}-wlb(lWDEm@0obDw488y~fQ!4}WKDPKI+Nc(zLS|=INaolcUakU z1s|_&%3f*~X5l8IDw<}yKmA;Ik=%QW0X{^oPMO`-96r4EQbGfb{B7Gi)-stqU=8(v z&@NT@&jEY70OvvRuy-)30<8Uc5FO>So*t?S-V(SpTKfBoHmUK}qZYUECaRTHueu(} zFHL7}{zFYz@lgSB%(~n6G>p=vo*UF< z*+}Lka$Z5k6D_1H+B>Na8M;a=n+F~DY0LOji-n|}6^uCLpt8PJyYXYV>GoTbyRPd| zk&#i=qE|Kbe%B_f4$e~m1UKQk@&1u3>w=>Q@Z0Vj-xHz>{as5FaXnVEw4{P_%2C{# zwi*z(MJ2mnJdykO8F2_vQ4RnSh_q@Z;Lj|$ivbuOw0F`1<>4|FqniSBX!B6#+5*Q4 z($xD758;s8o0rp^dZjC}s4mn`s&4K;)4*OAK$p8M;W4k6-&ZE`E@N20yPfsxzY|KM z(^|na4+rrrE=4J@u*z}LUw4kc?wI=diW^JIU5Jskq50l~i35q}+M@ROC3Rtj%Kql_ zj?as>NgY#(L3PqLPhN-uTQ~O83_6%o;NB3i07QfpA43HrtdQRkw)Gd#F-YB|LQpmU zEyjNSjA2qi@~sjcI&0@nP!hP>k$!oK&gHa_-q<9s?)Eu4Fq(OO!BJ~Xi zG7x$<@i|pAY^?1oQ>$rOfdcDGMPjLoV`2~e80{Z|W zYTPgw6ha1&MR7zK=b38Dy%q2$!;!o;aL)F%bkyBXk+0DIwiUC+Ys~&09re)r(uZ4< z;a|=yM0O7Cl?R`VU3Q4e(6#pyd~c&~&bH2`r$?b=fp&n_1IbP?3V?hi ze;9Ox9F?GpIc>nvegow{Dfos!G7YDk1%U5k(y#k_dMu!s1)wGbBwQx{qF1&gUtkV-T5<31Rnk?=w2&p{?>eA$0Yx7nB&g&qHn&(ljeGsZG(?d0FyW8khf z=CpH~afaT7_2W);K+e= z2&$gi{cAKl=;;NK$V2IApRx~v=H{=rqte66RYSurAu+}eXw;nQwG~I19@J)pshXBg zwkhxQ9D211q#QX1U4Oyv#Lerls5};HNOlsenCYrWH zQRes%m^&!5!E^*vqgjR794M$zq@?W-xeMT+pgMgBN*~ty+nAVU_**`!NwyT??p76* z)_fGNqoW~D;RU2<>0eM~9ykO$qk_{Oho;X2Sya+VXc*bh1xTXb*qo!m!#j21Qq;Af zqP5@2j3%UYG0IesXn3*ou#t)R!lPm#ff6M?`{f^m`ribV9;mt@dP`?#AO-gONU60t za%fEuFZM%$}9|p$WNGjoQVEOlfihzp%7783BR}jeWqoizAr3lXirI=%wFz~En*0k*amQSgUqBvcV*{ghaB$J$46!L9?y znw^U)3qU-(3elRDbAoUdV+~y#1(1N9d6|=}lTl(2f$KIZo@G|ye0}sss6y`WBz0n> z=A4)c4SXD|C+A8&eGd&Oyav6oXUeYFyLMl}!oq^Vgi6N7G;j)z{YZfEG5}qzfa)I^ zXK1sTj#{+o8qy;^hT$7~(A50~>G#6?{JlaaP(O!5+6vNn-*+k^YKJTKYiRoNZ*fN{ zA6zYRtiMm}Lkc3%a2Pq#{XJE4MN3!a)c~E{s#Ujvr8`;mgq-$G{j2P6*k?@UqXub( zr`FdXkY@viiU8^XgA~e)reS!MHDqWYIgg;@nZ7GUBCnT#p3Z6yK-%r!eS%1WBzA*S~)8O2VfVoQ^RYu~3^t6iG%k2OhzftUdr7`ZhdxwfLx3)Ip3 zi1G@KW&jWRMim$pt-E6Mi2(%>hbbb@kO+3bOA_pz3Lq;Q*3KXR4xqEh|CX*E!J@bD zvX(z2y*`8JLc%9JC{_T|+c~PLPS@m#8upOvVqKaf>+eqc=f! z4as6w!&z#Fzvfcm60SCy9^UXoRcH?2lr6xrKOQ2A2mkc70AO`Un| z2}#pw9^zbY>+i@fssr^k`b^3W<=_L85vSf4x>hUtE+m;eKz?}BNXvyzK5^}n$^In! zu^clwU^7bw$}>1c03+;%Fu#JMBuHFF3IwoZS*yLdCu3B#_vqgc`eN*WXx^W$9Tm+XX=g^BsnF&hH&~xtrz_klH-lg)1YQ9v zEC_D$E4aahhK##IOyVG6`3~Q)?MM}6FOOhD;PdYV6gQ%*%%h@`6fBS6T7uVHct0(_ zX`$t?`XkqS*P2&kuiSCNr+oKFSR|ybNmN0V46OisMpgKXfKUvw-F^-4bNjVgR{5u5 z@vK*A=<-^;9ZP3~gGR0Az0FnXCQk_N_1gb|+*^>@*qbdO6TA>dXvZ7+0XUuhd!`C_ zrkfC~gH(i2wjjVVTx~i!L{KjR3roz&DX2MH`o!R}u;cZ;npZ@xV*6M2{w$1~2tUb& zE7!5mnj;yNv05WO#h<3@@P)hLs5U=Y(*@p^q7hr*8-pHY*=tNPq4%$C);f@arW(MH zW`r&1?JXFu1TpW$8<0@LMFA^GNcVaO%795O59c09NZ|RF8N%Je{bu0s5HMw=I)P(z zVcl*uCPE#L^}SpGApktC%bpS{nz$(M92(-&UpN#QfHlI_!1?ScJiVJ=5?MNLmr}QTw2YPx=}v z|GF0(H)u!>LMebGU{o)#r*#AkY8mihh=C4X+V{y;yzPR@gu$cH&i|GY<-4}2ZM45$ z__3c|Au16`1s`d7x0}u_?#U6AiDSF<{onF&X4r|93Ngi>kROwmPuKYioh7}mfk_4k z$`IJqdJaOJV`K4%hY8j;Ol;E>JidqRhBz)};23%j1@WB!Zvu$v)c=W$h68RHf_8@T z^*IHP_lQ;|u#?Q~XR$Ew!DKQuED9Wyba9_4g>m@!J2KfN?M5! zxa_5-Pc5xK7amE26RkpQYI?93(ta^6Bs@O^E#_uT9>xUPUc{CF?GniBJ|B2Pm=I#Hh9VrH zl~%XXP-x(hvI~HXj|`(h=wi?lo=+shEHH2#0E|gpSy^eby`cZT#;|2<)SE(pB5GSE zrUwAWzrk3G6EhXce;~4V%sPDtMYpWslSW<_&Ef{vO2-^$ufp3*{zOfcIa%Fg$dh}t z?Ox*eUiUTV$KXdchv4pY&suvYTjZAeGvfiX8|EV6mV-SX4A6fYV%7&PE?<9Cws@k< z?~gO$M$gU7rS$V5$hndJAqCImp?RKO?i%c(W%Br8;P+>ex9zQDAYFp^tYHQ^`L`#_ z_=KPCwi+t@ieF*u`b2ayx*?2JhIHm(bMUX`N?(VcV-;ZBfS@)o^gODNc0h0|IEf*S z9v?D=Y_`);8XwWqm2-d}fWfo-Fi(Zwb-oGiT*$iwef$sz1_h6HG5gBX?5#&VDL6Q8 zE&XcE{aR7Em_Ybqa;odEEQ|{6oSph~kzy1RZ_u_o3F(KcCKEZg(Wi{oH@p{3gdVUp z4dJn#V@C_$ODRu?C)Yxf;$X0}(X=mo6mYz+f#iZ;_g65AN~!3ZgC4Sq5e+_2%rNP# z=)fCHYhn=f3J!;+{-OkB0bIfPo$<|yH_9(VtfPLFR_k@js1WVBR^~z#U1nVO&cLuG z`n@8MY3q|cDn(dC2G&9xpg4_-+hD&nqN|gWtCyR5*F_dlB~$QIM6MH%H%?GTf(kAY zH;vu+VzqGSIV875VX7CllZqC$w-*USUW(&ffH{joiuL9xr0Nh<0kVp$6tJSUfC<=nTe5|yl#%Fb6 z`bDpj1o5p`$%q2D!Vpya@vVp~5$o`bdwThqY1MH-ivqY2z3g1vbtqrYxQ)?+Hj(>A zj$aCSf^Vq9HDPbZk3q3RYThBQaog@nLvz>aH8#r08eyYCjPQ&{dU1G+n>`gfkCxf<&N#0U*&CSpbKlXERLNoKToV+%G_4&c=T913&;#^jT1t*lbQ|l>WK* z@*V;C-D=}gVTDT?wfUy7(T{`*VH;C4(kYq~Z^=%4x+rTqdhCQ^4fO6f%i)NJv@esy zy)`flQqBbF9~q#VAO*obbZ>3eB##;IHQ-%s^(!-2R*IY;4^uu zlx@c?R4wsiVe?T$L?&%fbS0>&)y3?CxrC@Bs`gh5hs7_X{Xcv%zW~<5;O{=E{Jjkk zVf3r`CWCo^|74edj;aUL24YYa!tf9MAJH(E1ypo^%DsSbr*81mf2hfo7or8Q_XRSe z2pRAUMCz9>`O^A~-~$8^A!P2}D~z2UTb##9+ON>zTX6p$qm-E3+#QDx1^&{;;yv{S z(h6X{7zC@{_JN28>@1vIpg^^hn0MLP0uGNh+B@np&8(oJX{wpbHZn_8h#0=h2hk|k4kS;{J1(7yTlXdk;kz_o6dm|mw8TeqBR=^J)>uY1NUS=n-(o6HoaR)&B@V%2$gB zfqoSY)2`^qQxYWq@}+z`TI!{#OIrM|cqM0!V1@~ra)(p{g?phxeCtuH(X8#NvVHq7z`A0%4Y25D`58+hM$RHzI#^^s#6W z`700>fw^j#JaM>60VOhiFqg+Tv_X(OaEn=r^9{(XuK3hQ4&{WfeIoL=4~Bi#ZOUEb z`k1e$i+dSh&abxpmbOkIRdvKacQuinQujJIPwKk~ZI~l{Q*>q+L}YD&gkZi174%_i z=tAt;AY z-GMw$(2wOGOfe(Lm=H1sn#I8Q(6#S9B*FGoP|_H4<3n=pr)n#>5Y~z5UPr~Bk=tX3 zt9yY+?A@n$WHB9AZpuA*F;K&^rCH<7OSLOkSTz3y|OKUeB z?-MqO@`H|{-BtCA@DG4CH+8mB(qFfQDGGII@5>&Xwy~w!f=dp*45D61{Af8#>V89X zdDTkg*Pd)8y#|<;+<9_k3FKaA+6DS!p-Q>` zm>T+G(4@2oDeV^3?FxAChS=3Fs}^1T0qXGo8~ZZ$fruPzrJ$`Wd^qvbS4vb*E2qPx zr@te-tK^CZz1WNKmY|1qguAAij`bt$OP!Txqx z_UGqblAMYb>I|G4+ScIz&rKth~5ijTQ~1WKyp`5xwCe;JSHs zx14wO%FC#?@9_*8udMFj_eNtdt08GW$k0|#Z*NS!n@>Qkt(DOApm2O1lLOVK-PX_0 z;aX$tzeGKUNII?Hnh1a6VW(!S=fs-P#I>MWZ<;i#Vbb;y-{-dJvB(onx>^ow=~Au{ z839drs+|BPiX(}G;dgl)JtRq~;A*Slm?=X)obe~r$qGiB6w@26sya(qk?Oyp0x3&$P%JW0KcAzh@xoX0_I?|K$}Lo%R4^)>@yGNu@}Eo)ni=nZxeJaqHvlLQy}8PapCh*Ig!W z`}fdya%@mdE+>BR3yJw-dK*G=xuOl-mClu%B=R%^QW#BenpK01! zl6&IH_ZYo*$?Ad4Lnle5CFvWUd6LO4us-`e%xlrYaAdscgAEwFe|n)~_Vix{_YE}l=r zH~m=Q6~9>W^t0QhNlP!If2paW=8X$a+oJivl_Zuq###8Cv#{WT>(HpMtd|D0a!Pb* zz0kpMY@1^S$~6xA$EAS(;oD!KYZrkf%bd*DKpB4%(VStvlyj?8AfVa2nOm;dZzX_C zd~_evH`veS4G4ot(*G?A+BWM^il!BJw-F6dHvl>@4l#(vSlmL1%v*zNkEM}|_uX4Bku=$UylHWsK;;|SVW|D7b1flWCpqP&;@d|?i;=z@c!J_jtTD1{K980k zAN(q;5b``;I`(0r{h7SLeq;1Zy58^2uh3lo>zdylAAE(g5^=5q%04_XL7x6PlRhxa zSWD|V2!UaU1L^T1YY#Me`FqSm}DF_p}x}&<)W+u zFPlDTf0x_c*Xi>XWs+0c6U~1&jXF9~lJ)evK1YOit5zyr{=1LzvJ5ss3RX$Uk1$;DD>!#wg@!Vr zyc{11B(Y)@V(Q%dGd*{a0Jh@<7&#&K-vWSe-HhbuXu@Zwy=DhM!ElPG?j^PX&7$n0 zHj{orK-_X$JV_uzvUe<& z`vlNEu+(C^G}IRlA?liUAlue1vZ`{lB=<9Q-3aZ*o<($~;-IWly?epHa?T=J_41QW z&ocl!vY>MZIUM%K?_@ulEMG$o6O7K7tntWQv;=BTgNn`Pw)_bmx-Mhzy*LlZeDMHp zrw6=kc4=fD3pmHXa){1ba*yc6aP^BJH|g2Aj?z+NfiGp`5%T!AT5X=_n2dDzNm37P z2>CldrR3x|P!;-kllH?S!kcPDN!>WfwR!J}3velEtA795G&&Z35`jO2FMbC-%Bw|P z^o0lhfmSfD)YTtLRrCgWdT(JG6y)=f-0QI9S>lb^+S=*;7Pl>u%n`)xE_=;d*6vzJf}?Gi|dGrmYl4w3dwK5hm)0rUgdRq z(voZK)YM?NVL!$#L-fOT*HrvsX6FLxEYw6dR{q{zpp@bK_QA*6IIRtfW- zekXP=f*Wc!9C!jj-o}itqC1w3bmoQz8mq>KC9RgSFfhIpaiCaSgYsl!nFVx-#4I1* zipQX&vD;Xf-8u3+e)GD~EC(f5N^M$4>-*gzmq@t79C%~H35bk&$PsT6gkXlh zxxwG^C}BR{x^mlv9xHHJhL=UWQ@y=vuSHAERbZTBty_WPwWo2|vCKY~6ZihO46ZNq3LkYh>ygQpkWuO>3Y3 z3=;=Jp2ELtk@z^oY%j#$D3C%euRP73^2X%uY8bhsHH+9Kb)!4j8$!60%&p1sEqCccW!xL$*y z%HiYx2#6q;$g-DV;T|isv$bm^`qAJylZdylr+Z8NS&4YuXEl7U>(K|hmA*gzsfay( zQG9jQO6*&Fkt}M5IY|SKq}Nab!arX6I6ARc<5rNj%=OgUtA0%(jjuuyvCf~Cm6pO- zHYEM5*|`eq{N$@9Bu#=fhG8if8uMfrA@J-^-5dtLzzYU%c)D;fwp;_^e-R2)J^#q# zWABcR4oHtPMKR$C8qvQ0@@-m9=rK)i0}meRf1M)THU|LbBqp(UFS8T~E}4&31+ zN7%KHcQZH8TgBvJnV%gMn7P656MhJ!UdF}>nJNpOS-|oBX5Z~(8#OdL;?KLJ*fckk{vJVc*A=Q(f`BEjyZfnPq9u)(>y?OhqK}w3 zDnyESPH;xvpN`fnFxPgw-_(g0T*LfoTT?W3*Tvevl1*LR!%&>pEUpueN%D(wdy^rP*U27y;h$@NTe$!D*dS9gKk8QB&PL?a|3^6Ko=BI*&WG-&S6 zz+0aSUDxXv9Q3cDuw$Q3@2tXiTwas86t^iWjpc5XYXLE;P|6jfcDn zmc+=l9mRU!a%xDfkZSz`xl;zXIhokFm4S;4x-w|TytW?u26x(V+t`VD9(Ru;~%sJ;*S6>(&C`PxW?bZ#7iu zLDb2zC`-j>2JG{J@Y>vJjEw`&kHW`$OZ%Y3w3vpcTfCl7jKLl(@mD3!Y0FmM`l@ok zp%tfvKK@jSGaM^DMXxjy5^OwL&d&0DO)!E~`I2bws4u@XiQ0}x-yV#+*)@)LSv!;% zGhl>o_7wAQf&N)?Y%KD#!&ozQ*;d81n*hQQ48F}+p({?*x?ZmH);wynw9pWxU|O6g6=mWm zKG@N+$Q6S@gdP1-MlvqOaiM{hp!^tLNh0f3k`8*!&fccepc!7m-Rf1P5-UXsJ;*V9 z&a4Jh3fpkHA}J)hL3#@?Cs*4$Po@T*b--B5b`YD>v~{5eP0C@XV+#lgwZY!#Eq->y z+1|kE~MueWj%4aCR%jG773H$e|=3uMve6JJnJ{x*YK04r&*^OQu_LQV<6urNu3(hT=X4#1&|# z^2*9#m>9L;ni1a9bH~WYh$NBF#@gBqbh8Ib^p|4!-~7;nT%k5ZKLs+_1>SRq_*!zN zT|?)RIdnoWdVs!A#9!l!IpdYG;QosnM!v6LTMqoepueV=NwK+3ZQgq98_UHCH^N={ zdVb_7`IT(k(cpTsp4nY)pgqE$zA3}(dFKXmZ^=Sq+P>5v)k495{CI|Hs4s<0SrX*# ze07=@aTIx&)fz?x=oL`YmhfK=e*;FsCkVC(x%W{F%B-k1%&%Y7lV5szdhXTDokyFU zZyJP~{QU6Y12~G8*VeGaYuRPZmF;F=0h(Z`-|;AEYaj2BGHQFyQwp~{Fv$enrHptmyWJ`7p$~fXl zjQH?@DnCDe^_9tS%=_!O=?|=e0m^{de>saaHj(aQ)L9If!jd=JuV0Q-spYFT4;;^v3F#2#8*^c^3}{M5bKZ$7korbOe_HoaggdTX5oicBSm zxIAPaA?O~S&&)YjFJQv|e2%AVUm^tn1dWnhg?UmZFgcD4=vOo#m)cz{BsW6%`I8H3}N{s3!mf*Ohn1a$$5?$-Y?wK z+e=ABl~Gk?Fy#BLyA1;0J-`e~7eh*vhYN>F6TpE3O5`Sr*4Eh>M}(m-;XT)UBtYXc z^sm_DV_K{J)XYyMfdvcidWy*L-1q{Sf`-X8|MIG&(^E>WTi?UNo6FFejoYjS-424} zzmO6C+Od1|$m(|1z>~W-M(c5YUS$6|-u%__VOoJoh3~5&7Z(h*1+Jf;|AyZ+M}-%V znGc5v@DLmq->O$XI8abhE+9!~{~gKguV*#iZ)|NXLD|Oy@(ie_5r4&}Pn!1j_9&(Z z0p^XeFM~oWZUFs^RXB0+bl>Ec{=15Ci-pFbYbzefddxG5u(3JGud1qDi&OAOFW zOzwEM_xplqjs9#N3%T92%_o^q!PgjrTl$b(Dv)vY^~7_M7FJC;0+Pbn&)QBR$afbO zij&ull_9ss@DK4gi>?j#-$Orb{)RdwS7rs5GkXk1bEB}M-!QAiS>=}2mOh`=nB8{X zZlP{#`~_e4g|g3z-?t>W?9`V7GPwL7u9`w~1YZeOm1-yvDd;-E_udJd0ZBxwOW?n0 zAt50oNfS$4;st|5*mtc)3Tsc#xKKJ@_B6*q=sCN;e`n#>#?aV?C$rn719-7{F?L)0 zAu9zgzmR~l?NYz;p%H-t8F|Drh8GO-Sr56Bzf}jr8j$`u9of5sbMn5EL@v{0Z#e1^ z{i_*L*LE{G^18r(5XT0i@N^$O?A_aQg~J2}wc%c|d;D0t{HMiNq}g$WbR|qdt``jU zP|`)7?Y{}ks;^HL9JsAJ^mk#w9MG!wGJ((DGDYaH3d$?!UiiRKqNOXU-s?WNwK_?Y z&4ispu}S}Rzqw!8eS}Ed{F!uZjmXP846ph7+%N&&QD#!Br%wxO;a7SaKwgJO%mrNHnH%)x#lv=WnOTEb~4D99v#T4_b$^ zj&H$L42eO9!nkm;uN~eSOlG_ZL3Uk3O1Cc3^L67ox=Z_xYYCyS>%Oar?eQpvk-{Rc zEHL=Zarr&{I5lhY)#UFPQ1rYq&9#PNp*unB=iFG=dbQjBg* z-|ie5b0})!5)-k+OW9Y&Y;Z1Os|~AqK5@TzoxWNmm+$c7foY7ob^@Og3Oj=!iur3f zS17>8(vxFdP3wKME77-tZu9sosSH*S{|CX61+Svt48C7L%Hkdh?I9wG`u2_Pjmm@1 zE6AKhh!&t5biDb3feau9~_DnU~m?m zyA_(8C)}hIKA>uFtDE&-;WUG_XHy1J6gf~(!NPLy!%|-&?8c@wB1(**`FFH)C+Raq ztaXw}l!=fxq3dRb#R5K*&e$yCpSd`D7e>wtp#q`(?bb;qC*WV*FDj%z+(LSZhf&Z< zvZ!jf{>_FWU}tnPZ=PVb&zzaT8oIwCGwoI@q`n zar9<`BY>E9`zuD!d*)XA1pq@vE05gLDxMr%EQO~v@HXdQ1yl_*U?n^g?$cHw)V}$L z5@?vxQUQAh2U5wXi<3^7Rjt6k#IQi+qBR*_69%Jj`60HA7rGHnFiwS!PfSce)OUJx zjhxEj0JgaDTPf$tF|W5D6S6jAt3QkB;MYje0U#DWyRy0*qC|02s~XCV!bWSd4_ku2 z7VlOeBk=OR6~iiAyg2?z>bcN(g<>v!#rM|nq?w)cXz0<5kI8l z_8OuThS*uD%*<5EC-v~+0K!Fk*R2SrSl~%3z5G)uG`TKVVZpag=3g2=ne~E!M7NCQ zCMREy*|V@HW#8{Kl6vo7Y!VP4g%?q#s5axqw_edkc_d~+*T;HIqVVK58TKlX8>W=< zOTxryg;Wr56Zk_Tpq@ARqD;FYj7$;5p~~^haZ#g%HF?0Jl7%HgJdIe-FwIL8~QxNG6&!JP0Mx-00 zr4fNccOxM!Axc|-N`o|lh)7EbNC={cF#Ge~nKf(H%-ps9xUBWd7w`AJdq1^3YNh#9 zh0v}!`2FYYqiZ-TC~FK?;>*|x5;eJid4gSxI7Gs zuN>){efzlxwhUckx8jeg) z_d~ghAh(@Jg3hPmVX19tn2;ORzl@J*Jcs@Ts{ltlUkjO=;V>pbL_~zD z2p`81$_ggkJ9h@*Yx;FG`SzJZu$$X;t#Tv^a~}7yHS7fzqPcZ86u-aM5-SNmawuuC zk3Rpj6&_49`;gz49()0c>E8PIj&-|FcI9rLl(t8xX2MIn3FF76z=Re^2~#bn-&KW{@nzqnBnRU@tVIn@i9>6k0#X6NT8?is2q zkdcu=KtxnED_#UK6wjZF=4q7|AHd*6q2S=)7Whu0W={rEqDUuX6gI7PAd3RGS79B@9=9dQ5LN+ZmU7KS-D~= zn{XF_zBD|&`u}qK$~hooCFkVUwo$T25sD) z`f%5TX3(1iCiFo2_N-4cB%V} zcw}C^dieRX$;xm6BkWd65VZvYtg^;N3f0t4^|qH_+Um;JVYlWj(K9D=r+-3_v525O z06WLIUwm)Acz@88hV)J(Mgk!hpu^umBq?3j?+dW3vXbD0vBl-Y6z;-^V zOy0tG+TGJ5v4ACqLt=9T;;uoNDFL$k z6Za%Hf$;%(L`n|T^-gV6vMqJVph-Jg!oY<0hR&`+B>JU~)$44M2`6V|GDm^p_k3xBC3%!qb8?g4Mqy z^M0pUGpGa01ppN?rx>)L#&3dN{erO`FrxzU*MVWyxqA?yR8j;%-the^Vz^-TB+s*# zVTe2e{u6N=py?Kn9dH+%d>_7i8Gw0wl@7tce?cu+JsiUX2Kb61h_$K5I z`TX;6tzg3)xPRxnQXH*`7rGiw$8zwQBhT5lFBESSqS14;34Upz)fAU_R+lZCI*X)~ zxNq}X3a|AF|H4UPjOrf*mIQW4y~)OfgMdDbpLi7mHgUa|2U8stwYTs49bBBhhhAoP zA3e`MI9CPAPYAO^3a#o}_OPxBfKW8lw{7C;{5}NUN<8r&npI^Q88mGPDQr{%~oYe_)e+pYR zNO29SE+6av5VzG4uzlrNMT%C2#*iCtSMRc&=SscckeQj5kJ`DJ^Cc~j+SeV_k%HckWU8y=e796L|lQRPxdh9186z{ zVPT4OZ5AbP9X);e)KB`6aZLtW3~~d~KR;PBM{6*l7~w63hQPE}Bw7-yp7BB81r!s%9pAT&LC2cSBX{D(7|H#W4LJ*;xfcpRj4ZFD8D#;rKZq zYS*tdg-B>ogC~rxWM}Uh{}@r9;!aaYnCg^DB&1nGO*_@%->^6(;FSXDsDNZ69?(+x z7%DiXvNbs1h@yOY`pxhyVxpCBpTCg|96~z~FzETp@<)qEPGjT8WzW&s+53Lx@$V~Y zYI$0yIMTm5)*83>k?48cD~TT?8Z$=CmU5OcBa4>g!QZj2lX)w#Mi zCccgJ2LO<{!wK#6HB#SQV_)*xD@RpeZVJ2%4U!+aSca$*yWKbG0BU5yE(TtcYZTP< zHMj%R?t^j3Bu2)!fjtGU21t%B)Q}XX!7j(o&wsM*|W2q4IzEV81|ETfuwj$(v)%mQV^$tp6fB zWMbA`_4_xpOS3Zu!^(lV>(q3*gMoKVNWb3exb2Hk7NH_v__oSi#x}nS3kbk3AprsA zXS0l9P*DJ~1%PJNii{r{_&h+m#4jyf?eKT<%})`SsO&iL=6={G<)Ds>y%3S#Z)~4m z)*E&!(-yuqy?nx|%1UMtk%M2Z{%JB8dCM5?G0^x3F1Ul7;&|nP6PY|foquwg{Wm_) zfQ*8BNNwdy1|=`=5DT+ezKmRvQYzb6>OggNR*wWvzv}Z&FpDI>DjfYJ@nBlWw}J9Q zER%60;UT627q|eP;Tu0w3uWHI99b;6R^gjBW=+(|m0U1@&dMqb61@OnB!y%R;MHRr zFbKSU{``4FmC;5Bp9wj9CcTJ@2DvRoXNV@Oo!$cPJ+4I6CySt-_#)wu0#W0y!;dDBcYO>7`j-Z5%P4Hi2JrefjM{8Qgx)fR zdl?vLKg!bbI%L{-;_R@tR^YXK8?OJsU{d?+>3P-j=0S9^lQ=SoVCn!Dy28DCB0kMB zYduMd-jehHURguRw%7MyG2P?Gc&;x3KRPEUv6`RkW%)xyEQSQ&`GC$B_s<|{3r9x* zZ+0TCbD7M2{;UR3(N3HplOI1KK%AA;;x6ObFlumjOgySz6GUN`V(V4vI~9d9UvWi# zVYq(LB=EQIy{E&8K{^7Q29&9mO{nP|RPlrZS8uK7Q7Tzx=E}&pNbmIR4Tml29P;gE z>X<_M;r2|q->&BSXY}sS)cXNc3Skr0V8!!VJRrn{9?P%Q3;h14J-ZU>g*Jh(=5*ENyPTgDz^^D7g6k@pf3T09?F#> zm^;clOuYpq{k*&Q+V}5?-dvX?|W4>^_J&uS0l@#Uvnvsav2Wx21j3^f=y>jZ|S4EFYMXEUi)^?%I!;Z zT{~vU3n_4W;0;y!Q`ph!z^fo&jskWEL}LS7>OY}K);2YbhvOWKY%MTYuqXH!8S4u# zCK@Ksf}YL|guObPHWb*)e{IUMlx z!+L3R^X(>E4?;phfRyOxxW8+2T&yArmwu6BJi~DPw)5wQ=E-PJ%zma*S1c7xE_4Vt zg>E~229fXL=JGOy9Y+c2IWD`=jYj0?{uwJ6k4sPMGu}}04Ej;>^^wOmN-PewqhkCM zB4^p{+gDG|kY?-X!+lIR*#Zt{8S>qs6sA>yhkq$H9Vsq=%*`kOxfke`62LL;4nWSx z*qGq*k{sl-K5PAH0-|q8#7rP}vP&%ccV8E@xJTOgkya3&?cnUJ+vo$rB{*7kpfSgl zxEjjT2rKYR^UM&0($u`#!i5(U+{qbugj-dMC|Nkkgl7V%VBqBkXZv)26#_#FGp_Cs5E596%xO^ zUQ1*RcUw(s_PWp4lG9$o^ta&%bvq+(!NDb@6wbOJfC85q2AZz&M*&yoeh>LV&!t|WB`*LIIFWNkvT8H% zC%om$%N}9b@|$E7NXBz&W@a~tASj+5W_4AjWM*Clwi0ZB*}qxx+r&&sR?;mousg4O zXU@z}HZ&jEjaCv67G0PRpV0(esh5@h**Nw3lKM_<5;|TFC9SHfFcw9!fWg7`_T4}| znyqgapniR3jQARb^XT_UP`lKFau zhW|K7pHo1z`e7`_W9eCF^)znZrbWUsK_3G>9=slem!wGjbsk+anfCBur8v+2M9uvS zP%s%b2|dI?03LilaOS@P?*iprv!0$FYAP!2}TH?T_oRdL)DJlp6?pD66z{wdt&QviNnrEu4UNSATLCQeun3_Y(VAk z0PFH{rEB>8eO3)uS3cM`iWP|FOaW95;|`2CIy&0%leV$5WAF)q>C=EX>N0FY*SZ40 zzzTd&ofiBsPdZ}4X&C~n@l}sQ0ZYAk`*v>e@BuV{T2foWNJ$;R1e>BTidk44_u@r= z$b_LJ*17BK%qk;8pVmk5wYRtcc38lV;RQFCOFL%siwR-^bDIUI_kk}|kfcylFacaZ z{MSx2Z!%S6mF!|dWJkUH^hP^Kby84!FXs~&(UV&I>}?a*A2cyldoU1#z!C;Z0JIaE zySz#Uvu&V17Zeq3dMUeydBoe_)AI5KjN(CZDeprOj6hbjZY^kQYgVM+31{%-hqVJj zW&!bv&E|h=twaBUK*T4BfmB2D;0!qPrw(4yflPlQv#YOOQhZW$W-e)eW${0~P^TuVohZ#PseiPt`AaSY3jtO)c}w74kNrILhSU!T|j6>fVQ6-XT2G@|(P3 ztiaW*qs4cws+j!RJH@ocFvoFgE5v-U2N3eZ=g$G3OzFeh-hmC-2*watCf#{^Uj}H% zz4RV{6qLO>1LdC_9Plg2CoSuJU0wz%D|AvSFv|c4K*#d@ZV=1Sg+VPa&+0?k@NV6E z55ldyAnX+Sm5(2lV7!@RK3{K&q8#kxh#2|)*?}C1TQo1;mT^8-Uwq6$XH{X}D|Us8 zdA9dqznbD@6@K<8yC`rY08tq|$Z$+8A#@pi`}ExO$+zau5C!**nR+}p_RD}2&6Gq3L0;9U~*u4SV}lOQDE2CkHh@ zkWrR!a}Dkbm^a7E*M)$Mg8PoBEg05FVdE}*h{-bb#G@5;Awj+x5V1DQgAZ#ZRh>_# zF=lIfyJzDd_0c1Su-@X_?rtTZg!pOBb6tpo@)Hz$`g5ut2KX^6uN>1!T?D@F227bv zqVL{jgf6m}se>l(#)YaItg5_M`|Qw`9Jz-gA3jNt>- zo{b8Vg;xO57nhYqfUW!;5yg@n9(ai2wZtE0$-RhhukD1^(++rGXbBMMl^P}}nU%64 zqP^Ni%S5~PF{x%& zC4)m1z!xRS^xCxSY!x7FT3cIVKbi-umlfYsAtA4DHe@&hs^-TpUStgifA?xIj@A6M@0mMagJ*=YIr>+16Qm(~PA}*LPKJs4W7^)!FDLvPe zoa3+p5>tXiEuC> zO5(|qm=`=eO#)COhCRJ9#9iHpSneh#KrZgsYc&`_lt-j_JoYgQu;sU z_rw;_bn}%!3#9ejRzWvhNyR2Q$D3MyJ6%zeZ7E7 z!>~U*I`KzTdjYL3m5#PHUxpmx)KuaP%PlCd1$pBNTE<4bp_vR$(?>*qrr@G_F4WAO zl?i0#yYS4PG_`n|(B(Nu+5l;;c=ANbR=nsoCLqx5&I;#bK|tVAS! z%V~d~#!uhLtFJ|spzoBGg!O{KZ@BMLT!r)Y(hYUudfs7EoIbN(ht~`539Sw8G_5kX zvb1oLaDc`dnH2FKu09^BB9L}dWW;m{!oz{p&h1IuXvCX$@1t?Cv=+$(6iI}z0U@(2 zR>st?>o=M`we>)#n)54RN(9s#jfV;I?ytCq9!aqahI&>|eKwgMT4}u|KEnV{35&k2 zkjx}#bj<@UGrId38rm{w79UebGf|74;5yCWBrrTX=K1;*(=sr4FYWTnWEDDaL^YNfUzoxuUu{@4zIfNB-u`q;J>}(Er0F+SuD)JbWi` zi)Qs8U}|z~@Hi~q+O1SiEl+1SM*o8MeiFZ+>uPD$xfB6%g*;$hCo+B`7A{Yuf!zKT z(tP^_r}@#3nUi+L!p-U(92zv>TcF%R5M*Grt^O4QMM0PKtI1USzjR$OAAlNqZM)$0 zm77e_!d6+Lgh&~E#XP8v<>C|QXn|vfNF(NG-T=VaS)rQw#pe$yrk`tknxFy0usVW8 z19r-aj-`Y8Cq;3ce&i+zkuwSJtBo&&SuA=6ewrFl1PlSxyRUyPxqS9{dnT9hU`F;- z)@Z+M2Z#CspxOoC#?l`eKMRc}FulMDkgsdEs~H$vhNAza=`-V+L6DY0NASPS2s&o$ z;|0(}E>}0C-`V;Bok<_A5w!WAKZ6MM(n*^&6YJNXe&Qpa)%7iLX(<2B+QT<)+kYaO z=ZdH=zK$z){iE317DpZx0*2wa*UmyCb+N*6OXjHUVEbL*;gM_2D|)SCSHJKCey9~G zAh!s{;~|(9n<~ro>o@Ox_kbV6W)F95ds`uOH{*mB+zl6i+%L?o(7)mtHq2 zW|yNN6r(J6uod;Pujy{6*!KQIHr~^aomT})d^@OHW@bZRb%8&%C-@6%k~GrSfz^qU z$6yC0V=*4?g3b@=d?Ba+V$DJRv<&7Ll-(K{0Vp{kXZzI9^KTjAAj!e zg94Nx&$3t`tY@hR_Do@050Zm2kAyqt*>W^X*&njftLf>?jous{p#ry}RbD&27TnIu zhcSvio*23(D_6ANx=GE3{G&x4;hP_mJ4|eO8r{0p4xNnv?L4F3{85&V!VE2?F{NQOILpy!4+KctE8TwI@tb(!D4CWCErX>)0?pN>4|| z+xmm@@gLksg+b9r-N0&_n=`^b(niSje*OD*u=XRli8-9v!s=A`gS+S7E$xntjNVjy z_WJ(nhfx{v_a~WV27}j`hAQM%mOz$(jiVmMJ2!SfUhUYzm=Ju%t^3@sZ$gDvj2Cr9$G>eo6Fz!4l^Sy_{)ge1fFXJK*U9;TwHDFajsBN-9&Ii#`m z37%fVOiJO8;%(Fcx2I8pX+j|APaShfC4bDw#oGx9PyMCfKgyNba0_8^D=JbtSB zU*{3cHRO~`WCVbW3XhpB+Y3Y-1n1U?Y3S%+;$~`c;iE`@cnCLd-duaXI4{J^78sP9 z&egV&QR#eW8?NA%O#B}T6@i@JE1AObsL0Mhc}mSsFy5Fu%U@n{+RfuPxc<*9$4P7@ z_^@|)xImBxhwi|btA9^Gj|hvR)jWa`S`|b1P0ybzNygVA zxC?yW3`zDMofQj`nM_DAYg8>@1Un16oulp-kS0Rd++}r?5Q`)$6;W(I*VQEFZCa4B zel4wZHXE-4=`a|WYCEYbt`1}$1TaV9wAmT3^lpT{xQ|ai@n$&p$!QG7({yqz@zA0o zW{^a;U-3)V1***6o)g3iX@~G|fQ(Cee*#_+x(xQcG=Q`L$biE=?GW6uT8Y-tNRL59 zPjBlj9KiQJf+nsj3QC{u_*8;bDswg}o3rbpPVP;UQFb&p1 zh&S)0e!Izu66Rn)BZ1{UT0=&O!xsSh8IEm;uR^TKz?U=r{Dl1d!|^;Y>+p>)@uT&1 zb;FfP@a|@y&w#88roibfGjOV=awU-uNMK2F!r%mgKSUv9gaG_I`v(UR_I9_@sX0I) zv-s1`PX9zC%W<8$82p@Y+OFLTmEgb^U_+%F$NVD{9$h(u_vV*4MS;(!q`!tuFI;B= z^xWc2K-C8RrGr|s=hLpu3E(NoL&l+j@P8M^p%(y@_U6x>xigT3H|e?6G^r(fQuX8+ z3*@sQ$m`}za~3p-o?xZe8Faf3V+_~-Tw+x;F!(6&=h4d5c78PfBnid=AFgKauT~sMeB1VqLpTNw zL3FtTULx1^>-NBUh|?u9Dbojn^))pm1+A<5;cKv=nLj(Q3rnEawS$pQE-*+Nn(_n) z26$(Pc3;zAj_YcNxe?$Jumaag(3Z3L67-`B@bwWKt`EdQhX{QNJnSnD1=?VC9M6=( zACLLes)>d^VnUAt+C|DoE+jXO+v2q;(z^+#5uu89wqpW7>OBjdKfwP6hV{N$Ttkve z0&LmW8ZM(n+}i)V-JOyB!CAYP+Y{`ksCWV5s{s~_J7fh+TLUiJGI#0!>`3jWnhL zuHx0ow0+&&+`)w<`iW9RJDOVC%lWSx5a<%%>C-mTNUCZ@m#|5(v-MoDQsLLNyB205 z8yRv+m%M;=YjgC~_(PY5Lcl>j&VYGC=e0rG@KAWx0^{n9_#t@8Xf zu_S0C?OQ+2F_v1A)$UfJuxp3d{c!?F|r^b6ceEqndsaq}ar; z_Emr9{y~(L3u}${>QKAQNYwFfIBn?SjN=O1IQ)Lwxoh6&quz<=xgjJKo)jNXfON8N zf}6k1#UT`DVxpip)$jUccNqNlVAP=$oY`+FNUvZUT;k5@6dA zawfH5jLdQk8|72E7G5Jmth8*5xRe2kQi!1gMVSf|ReV`IaI=(eNpAJ8CcnK|@%F9x z=n+(L$nX1Ffpg9l&L&hnFVAI6J+F|sctzDoAyjW5i5l6EHzyP6vr%&33L5su0bdQ6 zQ}ypY+;V?4H9CSAGiuX2H6uvm!;IsYCUIK!f~hK^0Fpk67(OC8&m<#rC%t!}`Evmb zTZGxE$O8a~+E1E6QOl`L&B>_>YC?(70AEktk${To`!ju*_?-k;)`L<&b8;277__s;`D$H75m)czSRiW>c<_yWjT)t5`n;3Td9S{LjW&%rV1*M;pp*eN zhcluws6XbrcNBi_rD^-!QnC7x)eFLB&8BU1tJzIxfWT}BJzF)5wE^u3c6tk#M$5MC z-mcj+74KYj@ICoX_F}-r)qAb**C~A&)sXT&st>oOtX3ULm%c3aM zzXEcLi7tAT#6sG5a2FP0^QN4_IMd^`%%^B5@wdW zw|>rNv@IQ+t8IOD{;5GYy1Wb2XX6|E)ZYJ*YX;10+I>}^ja3*qF|_!w9rR-Ogq^op zvJt(=laebJBKzlX8~hB)BFke@sSh9a!KhO`F$-zPFNBG&J6Z9{D98n{w=XYl;xVY6 z2hx+!Q{i0Orp{`jD?W6PYunq%HrZe%B`S(r(ZkiY<%4{8;(?d>S9YX&fR(tt&AfdWJU(482NEm1S>eOA01azZ)!K&BJ9yC1*0#fqN@j&e_`E-R}$9imozngkg z1;P(r<0?T|0Ly~VJ{4X5yYG83oN(7YJmhZU)=ix$HUgF+Js_^+U$b7~xd9|}0ORbN zY2QDkx%27U5u&~FP)e4AKpOxC(D8KqY#D`=KxQb%f#}i4D}u6Ce=to=P0b3r{oZ=% zjp0v7M+jgwX1VuexJR>kQ$u)U zH^&+c)pGUnate{HQfDlcXQ1>x!4&+g%-)>HXR|WI`4OL>zV5rPS2%4>z{O)S{^@hfuK2 z15Z)@S4C7o6K?I`&BD=tuB7V*L>7Qd9O0Ln*o0YdkvEWZ$r1 zW-VIkT|TgL>Fa~d2^@5fg9gqMOTUA(i5{>Y-2|~0oc*jIoChz%{>z?|A>TJ0`i6J9 zR5>HM|MF4&M>GP~5M;aj^#?nS0eJ96BpxJ?61v_v*TzeVi5`w8OGkmIOFx5j@9?5x z6bb%KC5KMCp7p(CJCUg6-^F+UWK4h2G&VCC*iWNVW$Q|wUMebTD1ZzXL<$9hQK77i zdOHt9WvKJPjU7aWF}r${wtKH^Z6R5u6Y?5PhHz!SOsLqOsu-Dz!7W;mn7t--kx7=yZ4_D<<-Y^#-nW1u{pZa13-6l`{6vx~0;k8Ta$r*!zJ7lJAH1I5qU`nrxwI#a(OP-|_(y!bJG zAtcxt-XdrB^mv>80a0tOc(8#(P6PW?-JK44SA+tpbl$f9n`vV5ItmdHO7QR?cBO+3 zKXz3XP`xcLzshT_4~w_CBtZ)$}XE_#>{LmGF&GQrtO7(7A zMnt9zNl{Opy^cjhU?2#=vVF8*RUPw)m@!qj`vVIFiHBtVr>%zTC3j$W8nC7s8X8z& z=Pm3yXT`iwNSx1cSMl?c!nU@yUa1z19CiY9bdA8R+Knz@EH&zd>73UdXg^n1gTNahb!|kZgV(5}^o>P2(p7XJ+dLVKGP7*HfVaqV2n!*sTk2U5YpR6Zq z%!ff45;QIVuLl`H16jTW$J>xWz=tUO0C$8z6_Q_9i?Gm!0glD7x>XqpZ@w#7s4jZ! z2PiW^8{2Wh2RRF@Sdvh@A_zO0Ah^{u#fmPXtoSQS% zcbYTd6u7)I$N|Gu7c5V0ZEPSs%IKwgQSsP!cQ_7!Au-hVH)VobQo&%ttcrNB$xLGd zf892zwRLs91|*1kI<|bQUrg(>VvC*JtKX7JVk7Zfld@)+bFcmh|0Z>jt554;nlYhV zXf!h%{0E_;i2Vk#EcAc;5TLfQ@4i*5q7}Ua45kg+ZNCuv^A}C*v*>T}hW%_g!+1LD z`{&raZSgu!v}_B!Ccs@BTwL;6w*S9$I496DDfki&zxtPuZJdlKN?vD9gV(Cg2uniN z$*WUalE4ezC!n|$shM*JBelvQ%ofX3zs6ei{!E8O(Tvz8t&d}jZqN4Q@W>~e4r_9+ zDzP;qE>d~;SC>zt5BirD;EnVRXXo0w3n3X!`q}IKL!ejK1U+8FjUziNK&#^i?R3-6lEYr-sCOL;dIo-)gs&?@v$nnFm&-FX zwe|Kd{@$hKz}5;s^L2>#eqt>0)?AK|{_j_NBZ0L>INx{&lnCza6aF}P#t|!+W_-uE z@ICKH9r6|$*}K*bBt^eFh(AjSvmzZgBXs-QX`foVNh7|oijI|)hDO3tm|rG ze_5AG*%j?)f-Bs`XMi^AJpNKRC76#8v``PbJlU{NROF-lyR4GI#OXG2pdfzaMX&+ z9v}_?K(4ae_9jU%WMVwf34;fiK(a>*5p7DUKU$^=Nbxlt^FAztw~bRo=MJUQgg|;4%NImUew^^wa=WH0IzCeH=+j)$|BEK^ zY{0&;q;*u?WtQ-19D}R+u*EE;AI#?;wRlB7xI+{|HZRo=s9wSssBp>D;|K2#(Eg;* z!M3zMB?{LPk|O;|_ro?Ua{8SK3Zbp5nG+=FfM6P%odsn^EG(%GU?h^03v>3sQySG} zrK4Gp3=O=IB8oWz)4T4y==n-7jWkx4nZl$2N95;45ntlef=9wXG{4a))qJoT-*ESD z$&L@$&B1w~QzKvV0kBtr9%_5p!pW@%h9UDCgo5QABG)k(1BY-za^T71x-fx(fe3a{ zEbaQ81-3Q=or4#D*4DTXY01+D5N!vvN}85HLSab{ybGty!tN6$*v23uHNyBCOa@-s z4ft(ieu*Zb^P##LHC;Z+VXZ1>_YkLx_8{*~DH5FXvuR)B?Z`jaeCzhRJAM8&0OW9XcGTAS@IjT8f9@gp>?ao@Mg7zhX4bY8c;XDjQ`-J$rFL|({VGH%oR zNkmn#1~~lNUv~KaTFf7AD?eRo4j%nmJO5(=PZ9&Ni7GWzXpNiFwPmYN8&xaPvS19* zqfnE=@0KUY_|J7nN=fw%4S}5n;J|J!=Bp9OO6NT;UTX|@$c92%UR25;E}6AIoElq~xjIMo2fVekK~`nV9TQYvL;0d-qq*VdwNJmC=eC4C zw&P7A`3fl+8HynxZ>zp6joUDhz>~SGBdLyJ0*N)aB$$-hNHhRn#E(dxapmOGqBjn& zpr?~^%qD3OjKhn%^rENas?LZAznWd_1;@v(W?lpZ5*VI{hkbAwB>gdhjK@Kj$TGFm z&c#$-Zxcc&)Qgs_jZTGbM3O&?`Vitho`dv{(Di9>kRxyh1op_S?3#m^Zb)L44ybl; zS${1}(^?!9nMFvlb>bbm> zlCD^-IoPp=9fRuMK<}%-Y(4$9v)q{)+A3M%E5~AV%iSH0%R5F*jhEVjp374!OVC?R>C$aVD4pAw-7g>54gh>ZN{E}MMt7rP(d)dj( z;W9@ODaN4o$i-&cR1XeIJf?Rq=i_Fbf^@lr;Sh9t?%;0ofDtuFgaE|915C3DsCoY0 zON2Z@@E1szItNGD@np!~D~R6hc&|TpSV#}4uV-cwCO3fbumr8LHGDv6l(%%1dLgIe zG6s~U?Yw9bQm7QtZLpg@Qc5MH3HbH6KF#z=J>>b+MI;3J^tT@BU=H7LQTJV*uz5$+ z1wxFc&+}uCy%nD?UL>?c|yHPVCkm-bo zvZ!S;fTo4WANb$Ho+})wX=xxq0#~X6DB+48?}@{~m)3{vSkT@#<`Tq&sT94L8AdB9 zD^t_b>hfYWIPTdH0jOYU&psMkLBZpycki7(@4F-kB5>XYQ?c?*DrJOg!F^?wNqyz^Q zpyc4v9y(=neP4T_UUkC(ODek$#Q>$0`45CiwhZ3+V8# z-1{|1#u1iA3SJH?QR*c86T+#a1E-B+JH?YmihvJmjL^B(r<6%$%5}>5{Wc? zxmFx!$6${G4JyE0BXe_%$TjEGv&}bTJj%|F_NKB#S9+O(qW+%`;J;UG!dyBoNjuJo zE&gfx*A5TunLwNCZV{uKL_$+v*-v#YXjuruMGq86-YFBeon)cM z+OtjwB9!B@fwltODWZhiJo$g}xij165SKqVOFsAY$brk;G;pg4nfaCHw-^HsQfQ?q zCzg#2o`_T}UE*-+PyMBdGydQfvkgBL*tp0+Fi~4#!c3u}q@pQ<8NG%j;!e2K9{It} z*UBJ<#PgL51pd@j^-`TH40Mkl^|)9jQOO*b2xhW#m(kOY!k(UPGza%>TbxAb$_^Az zR@KzVxd`0@$zVOerr+QEaYa}Ta3uKy-3)GgoS=f$s3D4g&AJ}YD}RBsK9HW>JUMLL z4tDeLh$0oCMm;$CGM@fft%oKwS{6vrXq<1(MB*x-5CEJm_G49B{{sACjEbXUp4>8R z(;`zegusD$K=KX+ClP1=(m5fG+NnDLT;}P}Qm(B53XU_`_#Ikd8TGts7@%ZL$z<+q_R;ttcrExZ_Lej_pNtp)}d?w5g z;#TVL9=rxU7W@jU4@Q}mwuxiEr82xF!5`son`5MySfx>bK!_?bj8AzSxN&0}>`%oQ zx$6F{qQ3__?+@SIjjH#Wub=DSO$0GCq}M^S+ts;2$vZyIX(O5oNLN+w(L)Umi2As? z+5WfqX5ZXhHMLl$+0(E!%kSGONo{Lu6~*WxzN|~(X!>PcoxADtoGK02ZhEan{Zv9A z6JQ;y2rB>H7L9J)CrHVpU=#@4HzJci8&^2`A64;cy(=eZ(A-CZO6sIGCXhgeK zQ3IVc5G?%`AwGY@<|;HCjo#<-@*h_{NHkWzuTiUMO+a|IGJFqro0 z$=5Tk`oi^?_-srzB*$DdqOtdVt#3`oA2h;+zGnLXc8f6?1xq`>fbc{`-smD&jh%%z zai#*8?lPDj`0{h*>X(5ry}!TY)hpxCBO^A*kpwDKF}K%9;hL)xP{)sN_L{5J*zh|+ zF%B(HZHXH5SKlg~tJwX3doE1Y?G!93WgbN3Qfywf#h{cnO+PgY@9lkgzWIZu!TZhA z*>Fu^*me|?y}lR{iG9L}dF4KMsen+%Km~O2;0~%H#f1(XMu@=FN9cDhIgw%tA9+nU z2*Xim1gM*v28m3?E!6KCaW3uzujZN2y9^`><9amqh8ZNcvUD(z20(4_V^i!WGYcGP z?^t@5!o=>QW&)Y`s1dF2-nm2`2?=V|R6Sip7E|?p2^;h7i+n1Zw`6|teJ&ju&S;#` zIw6!0(BEJYR}53qgu4NEmikgyIw|BOQyqLG!IUf!ku8;&&f}&$3mvWK#idshjzR8e zGvdW|SY}d?&rid@=f_qru!};l_xtz7PoD5_^~7BObWXp4S}#ugjCn!whxK@569*k! zd@_@rb{WYnr}Q)PyM9RD7_(`ZyxFkDcd(Cwqz#R3uG3aryyg#GKr=n;8)e5bNp@<_ z142m5@E}L*1|Wnd=YDhIh;&2M58N1_3HmYToARD$mFuz*K}WE9H2})l8yOhDq%?Fw zNIIj%QDg!h&(iGhpo%z0}z&Q8ntu^$Pg$j5nB@08j{ zdZYR8Z{?!nym?$a$dTm-iG2=XYEEZpjvxku(oE{IvJ46`r4(HXTSI4HxRT?wHKN0r zNXb`eu!t%6FqHmj?y|+A`_a%uX{zA6*#!Z?Vt!h0t`rh^G$}gJ44V|P-5fmITKg+@ z9@n2FUrQOt18^fSOWbcPdj5tQZifW(Vd?FSEwM&2RC_42Fukb3_-ygXU*XiuJ<&Cm zx6cBx8g3S+bfH6!o=*%n-+=ObXxnOX7Tx)7k_8In*AQ;EN1pD@$R7N0A0uod+(V7q zF`HTNuA#G?Tt0eV z^oc@|W!UtRVmVYvVKeKu6!DmTxwJ3EA7y)PxcGCedjea=Exr3LLzoXo$6j7B6(#*A9 zut%hRyW-BxsoX^U)rIq!QZK^4J-};Bwa?{ zZZkP!c>2S_&CE|Acd*JM?N(ZDj)?{i94d__PZu|{dQo`o36ee`%3yWof0&*zP*Ew& zw}ORLrWu!mRMCb5S!Z!sBEwk1q_zCEeAZ;6LArkrk;I_( zOV@V_PJb5&-G6ig3m$CHz|`~h3{^jTFi0l7rkA{Ye#g(&yKXO#@JxAsIPY+NTU`&C zJVVXE%14i?KWw5e5|?)0w~?aj323*&k6xgiAJj+_O7w>X88pb>H6{~r$wtdydf&Qf z%PXN0WrrVrXUxDaVm(ZXst3U{V)z21YD}L^adB~&Tkyth@bwNH`Qvyc8HdO}3OV_W zL?KO0^}$r51eg~Aj$|T5mpl-SrVUTPk0}jJJwE;L_3`n9f)6TH!6%Ox%P_r58I{zj z{&#N@Gfo^X?GDWlH)bEzCaVAZJ8gdP?(HDMdi&5Go|1{7V2?}RNcViQXdyVuhbTju zfjiQyhT8IA+ZiM~^v7ie{S&8~78BdfemnWyQ*lf$$e+s)ZqKa#Ib2eQc^&=J4B?Ur3FPo8YBf&Iz$=;q@_e!NdW<+K>Yv!F< zi+k@mzu5cPPweE;pGSgi2e8$y*t@ze!=GRQG7L~35ZxshVX%$6f<+V%t1ZD3&Ga22 z-y%>=;_RSu9RuO z(Smf#i448xAOEfGu1(Er{7?6Y1*v~G^B;flK|%jBf7x<1uz}*wZ0cV|8%h?dIkS-4 zeP`xZJLbIxdx>thQuvn6bOknzs>~9;v^vLoY+o30<>5}B!catONVjGXKK-+MfrsaJ z&qKHD$j{Nq{21%mbAeDF`E$dtv%n;8xbOIS6}_+@U66R_P;>dlgNs4)<$3%@V~DPo zxj)@~mfbu6|MNB5+Q2DD+Cx;AS7&6Tq2mIydpFkAF9e6bDFKv}QD8HY4)~E_xjFDq zcd5ZCu(Ed%04F4%8<=d7(b0>Z*{3wnVK#yJp}wJEBB(8mT2Bn1LStXNwHPBTUGsTxag3y7_$IIFA zBdZ-7-n++xfmuM;$%F{49l%!pZny@*=~=(?h5NV-Kj0JiYU6!9;P_S7dd^#z;eic? zy^C+6`4$kHSI}Di0x|n+uA0MF3{p8f4DrAO?HU>_mAYcIKt z;MVQ~)sVVFartWPhYub*6J*iXpe`{qH2lQwJs(EC1E#|m&$5BVfT$ia+&*LZf#uzA z`pY8>yUa&q@LCx_3=QDO-?jUfX)sfFyji6WYL*au>7G@)jNX==a)Gh#>dTfb=^D~z z#gp|f--S;5R%>(HCJHrQ&!=qOvN2IS@EvYB5C5>7{Ts{H>v{K+1ay8^4{pjHy^<&8 zxYOn5&vAM>pW-%e;SX>8ee;5C$R1DhF6Q3&jU?{Okrr~)xcTkNItWXw6COO`a(0`E z9+6TanBi8M`|Ioew24CIef9y3+_^+budMCvp}6?GxMP(&i#g?QDQ)?T`IW<#z+ybn zv2XW>Z|rZGylOk0Z!bIAzB46wRI=@AYj-juKJ)vq$NGqV&D+W3?)iZG{de;5;z`N{ zKZEIgVG&0jUQNcW54U7qdJ+lhRXm1g?0I^(1y9l&+goziQ~9xu@; z&)REL!Z#fM_STJ!#ljecw2d`^P66BF$N7(?OgE2~XlIG();{T7BbLj2TsAwezm;Sy z^?mK-Uv*;Z(uUx8^V8ny({8Y`LQrUs>wh}!hUo+fIPe9Y&Ea_^&mK=#<|$@ey;rxA*pjF*(1vi$(SAlOP3HX2^K9o^fs7QPDS*xcaji*OgZH1Ur!wBN zr>VeKuC6Tej!7Ze++Rwk>NSu2r9j~O7YykEzaSd5Y7vl@4$y^|hEuqK@a}rTbw}qt{~H0_L8;Zf__xSv^oyCrcex&C5j{gg zk>g7M>LF%33Mvt>Cf)x47A@@^q1ixE`1G3bBM9FCsS$k)nC;Q3R^S%|DEr$%d{rzq zZ+J~6oqi!O>0~R3#bHOa4WJ$v^;!d<3;r|9MP1F!)_=)Yv9ixKcM!o+y65L1NkK|Aq%UnuI}Ah zYIxqgI1jUwrLwAl&-Ox!;u$$R%NiPI<7*>#b?)xFfY_&M{loa00#MH($G+*wF7ljB zK++2^OT;}lndHfJdf1g_FjYH3f;~XL)R`A2EF|QmpFQM!e6$!Je{u;n-7l^`XSC%F z1;ss}1JC$tj=?uTP(-AQ^|je&@M}5RFAwa0@cLdCFnTlqLI6rd)AnZ^#L@!NOAv=` z4-nV`z~3Hp6$7X{$PIbT&&3sJTuA5?43}YkEw>ZoUi7Heyj%%V?vWPwd}uh zh1v?K)?DA+*YX}%UZtv~uc{T}?(I-{Kxr@RS%`J7a75#Y0*fQZt?NXd7H^ZR3$}Sv zS9Xk^{XU{shKTmqx3cBwr}So2DsrW%r^}8*PA?w(UV3sdm~T>cwz$WJu4SI}^lbOO z$2GsRMr&$T6oy=>zm4{fUR=^_ziyz2?V6xGC?kkf1XWMe%-}2oIQ{`OX&}2aaCUyy zvyZhUK$WxAH}CgRbM%MT9hwW_X7f6*r=Cjm;W^4)ht&IRDU1tKwt1oZTSuq8P;IOcY~@)v?k7;#hw>^%WY z27qY|yyfNS`)5p~q@;dOYyK`scS#cxK3X7e?SUd_5VRpGzP{oBhdU2xQ54j&-2*2U z&oNEmf0*BgWOR)#WipJ;N`kOBpK-ZSlg?Do??y|n@aa2dWLr3rcidwn!g*6M7 zsSNzbXBe$1m5vQOAw&zhejX?M=Hw|`WZ!pnmRC1cg#4WP|5j}s*HX>+F4j04#>2oB zSgSntr`=!q8e=rlMW88e_)}5}X${gy3JfJ3-EUACVjWGvG|v0*z83H!z=I>`CRqIq@FAS3)u(yw~rtJdh>Xi{?|{?+uA;Ca^? zRCfo3c!RhqRLXr}^M*HAK8c!#t+UEX=S>cejI<*TiZBIWrcx3EdVUV%sF3En(+3fm!~3K{rTnSBDU4?5!a zP9WGtN9-xVPUHoi0s)HW<+mRs9I0l07oVL6ioYym&@tUaLFsN&xg)FZGuWi+V#0cD z)zFZ%u&+TqAv?tZyX+&0cwPJHq5MTu#R7Fgm9t_hgN*n)be}%4W3+HX=6RjA2CDs* zc#((^jWe2+2ytCB2Vtt2Q$x=7MZT85Rub3!iId-U{$1u@N+c-Z)SeTEALqO@b%qp#;aiZbReO>|=k;6+?ba&W;A&qYip6w$mk2d_)Mm;wnP-9K7&F_pIw1nP z%!b-(ieTF}hKW{_!H(t)Hfwn>D*gQYAG)a#e<{zyHZXRd%1+mis?gvCK^o34E5S}j z0Rd;6z~4;T!JNToXbQObgNOUL4to`sq>q1{60nWvG)~90&qHCw$umgqFv=8q_G{d; z*%jSynJaW?4`4wc7zWe4xb5bw&l!40(cTw98Ux>(yAr4_jgK$#4IcHXh_jJY>;aB8f2lhzIrtnwHi!A~f}aKc@EOf6^~YQap}v=7Fw8j0_V0s6*MKumNfjMirp=*{kew5m z`=M$srl#d5b>Q`MdK{Moy_|v%ViD~@aQmf(|Gf=4+%O2hetn|`i;>ktx_msk-xgsQ z8ved093%mog2-?6lmx`fe+JPh`*I9w-NE}@%*@3=T}+g6Pt1(2iA&6A`(<~hT(-8@ zoqwMfc0Y7%c7HnHT&ZI17@%h~5O0=nN9%<&rUZ&4Qw%TW++tJaW zNyTbRN-tMBoHOoVFketGY=5I@$?VDpU7{8GN`;5n+AQ!po^>X$v^mttA2-ZBYV#bw zefQDO;`-Ve&_(->8NUad0VbD2riZEhnn2eVS!6KU7;DlDUbzipyA)P+E%l62-t8EI zqo;On&dfqW(@sJcG|-6_V!ZGb?;CO?!V;LXQod?;Nwi}W@)cbx5X;von9AD7h#VYm zN;tAnQ&Lj2W5u-733Njw=+M|g?*t|QwES;-!fi+Lvc5AEMh@s9R|*BcVCbSVGNb+R z&{K;Py?JvJ8D%qbvj)At@_<}gPC+P=LFP&{LKyT3f z%8YNndSE~$Uv#A=!-+xOqZ5}=mL>8`)D7)MdOynZfAdJ-1mR-keo|eGL2q_Mk7Y|; zqmj8UO8dqffW!wAD8@HW2n!!CQMP zE7aFt^I-$M;)yaH7+c$C`uc$*mbe3Vc$b$(5hkfHc?A&tI$IJ}1oIcQqF`gH!dG;R zrJWt2?fKZRCAa%KxOytSjY?4ri@h;{MyQOt8jbuM{aB6?3Y+d3E#l<%M!`7nW7n$|)Nju_|vhxFqns7FR8@dLzWAYzsc= zQj2(x&dm44dBH+yo`O<{3KtATSLtY?jgPH){=Kr?YLEJrx*TD-jr8qryg8q;8i6wp z2sPDD=k1rMC9Kq-fPmc#69c6FSoDIJ4HHtio?jlh!}cWCd!bwiRwihk?PBbLfr*&d zDR;*OPt^DtFiwXR)WH+|K`4(qIvB4R;2K<0zS-TCGi+fgLaAJr=I{qQ(2(QRzg?g` za8vBkh{3_KTd?9{xhf8r>@N@_pZd-qemK=knQ0Y`D<++R%m@7#j2CYKy{Or|{JHvl zhO0qiqx9^NbZ;)HZ{2~S778rkwMQ3Jvqk)rIH>UGfg3WN|4jA|;mvg1$4wt#0W45_ zC|1I}0v3bdUi*wahFri(=ik#O%|_2YE#5jPz?g5xuxs)H4O3g2tij99<5(g%kKx9u zfaxv4N5@tC;7Y!Gy0YM5VEpRr(cg zAjIGN%EvA!RTg4>oewzbaPWx?qoWu}Uv^!A1hth%reFixzT;QP1J?sjI2V6dlI!1T z^Gm^ri}jdSV~{BH`gLJiKl71D0!#>nL#!W){Cw*^Y^KE9tWA)@>Z_!L0bc+SMT<#S z9`@6)e5k4dj=p}i2%9=uFhoiYZ_q3cqB~SuU^cy}4j(twaUohQhuV)>tb(bq(SY8|(H7rn^QnM{5zRulv|LL$ zkp-+^iX7J3e;uHmA9*5gTOHS7&Qm7jv)(7ED}#QN9}nsFD?q^xpnY*s5u`I$2En-m zBNigL|K?!naO5LY4ZBT0wLzkMDLH~)3k*GQAhWT(@v5R>$wQNQCB|%hz|kKN_6*qF zC*jU7@R--(#j8Y-E9uk4*iK&0%9hYh6uaaTDWhyzRNjUDU}x2=@vG04k9l8GobLR-!8L}q8*;g*0KCmBpW*|s?ffbN#5SxB`u2ZL30 zwj{2T+|gI(x~Aw8lanf@rfFR3qt}Kzr_O7E0h~bt&xC@KGIifn7KUVGK^+|88m2UssW$Qi3Kjy z^9F5CkCnk-{_7Wy$&u0idg}u=N=LGPJE6DJ?eEsMqXx@?LDidmEoCl0`nZ^wIWKV) zH8n&dVGY`D;VuG4uIOEfF3w(OZ!fP%%aY*8oEFzjd2L68)0Y4Twm(d~G;G7(#4)6^ zqJT|U$%kZ3%}Dt~3kw$PFc*p*<=TX#G_f^}CIZ=P!bl2_0>ckAdrx~3$);P#ArvI! zONTbB2jC5Y5h*xOkb&O(U(MSui&}|AP6>hx?X5b|FTB-&l=(KBlgeTG{c_itWGAty zLPLQI54cw2rE&c!EGi{@@mKFhO-Wq%O_t5^I&rY`D-^)b zAURpFdn}3ci>gi?!MC+)uaXNXH{zkwLd?d+JneM0^zjs7TL zdq7J2+-Bu!94gRP+uPgWc1N5Q=eO{6qXj~NClNFeiUSl~l9CHDe4AI=qpzaFo)wYE zeV|FCgERQjeyhZ9fkj{X4A2mBylT51reEq(%Hh&X5ZXPTvq(~gFZ3^5sG+EsN7vC|K0 zXoT;oMCPOlX8tpHy!#M?n`=ioMrPs9-zd@BW6QD!pJmD;3h=>S2Tl8~2~Ck2riQvY z@XMimLDW2OqTR~W1XB^97vUg>&R@_lJONh|z;%FQr-GTncI153x8k{egmGJ-&DtZCYXLn!n#jx`+gOkifJst`a0dqIgm znMKT+H#y@99fsto!O9fn%v?LT3V@HL5jY3@@+cnQV3d}oi^Y}}MC}a_77=+fva0Wp z%^xZ0d0DEV^j`tkgHkHP2_|=G*z^4r`^!fRD<%k{1Bt@+6IrKlkM<7b@TRD@OLz1kP?FZJJ z`8S@|nl-RjS-5~xBvx+?nR=JU4;TThH zR=;D#3l^+c#n0Sd?QN@8McF>(dB;V7kJR1f4hj=oPuB)+mSG*HC!Ygb@p`DoyhHn)ZKT=37))Q)b~ zx+bKN1A-mvWiQZO-`*S1NL^{V0Or<|SM!Lgs6RStMyLhiyK@fJ;9MLCyLGnYSwluV zR7E8o(Vh)vxcK-8^CuLB;mf>t$dV+e&$nqBu#L z?c@wn7QD=2q+Z0^Ph|ti%RtV!`_5;%#6Gr}pTnO%6@8o`Rt2NO zr97$rzORE8Dyw!d&S~tIM5VT zX>rWhGjMmxSufv4yw?_QOAe8_W)S%$yhgqlUYh^3W z4uzkpr>=>C$*0XOKJU>-G{TP!`X|;kMK)aC_)K&;sHrN~(KV_oR#I?DP!AkcZXI-8 zhW7{J$}P=XLzLBv7le>sf#|=1QVNTw)Um3RjnSrR5~x`z>IJLxerOjT#A@zQ5CEN% z92^ea0W$@kvnpdA5T0acK1wE3cp2s$*-r#fQ)FFiG$rZplF}%k2-3Q{rH%A4s^R&z z#*jk%Hnb88gSvKnMB;5+**4;h)-`YiF$|Z>cp)79Tp+!G9;oZMyk|sZCvjT`YciqJ zm$(ck+uw$UZbOElZ?iNMi^xn0h&3b+ldTC`br6FAgo!DVejV&umHQ$u82-s7QGfZ% z`8LzRl?p02aNFMAu6T3vbBPzLyO}Dv5Vgys`IbuMYoh#3NL_ zlR#h9`w4tcIr=po?6w$skNV6V6!A+4x%hklW8j(%|FV)kI~5Z=-%RhWHPYx@;+AXC z?@??X&r4`u#(f~hWCn*CXpgi(F$+6T^FI^}$#wErh0sT}46i_}ZJBaI z56o%u@(9V$T_Ri;Bt!dn+O!N+QSXKPA(BIBSXHT?a`F9bU&{=@U^hF3-Yv)`0D33# z$m}kAGRWcsB+dEvH~gC#o9Wd#-R&f2qv5KdO5!`uO;cwM|i*_={guetS(rR|8*V3>Rtd#S@JU7Fe4CX$xjoc4!`SEN4lhnI06SBq(T#imoPk|j# z!byBJ+d4yRb`{!h(7$$oUBsu*gjO?k#H|3-pYyi_;SNz@2s_|)7NG=Jz2DBZOOK(& z1=HBo73wH24q4_2rXEP*22(&cNUpe2jetYx47Y_ve zCJBh3U)d<-zc1+Y3@7mF>dThFFlY{#Gi9SWjS-_unE2}I#(58?uN{3|7)_+Tl6|E2 zb?XQ0ToC{DP`qhv%?7j)GTKAvQ*Pgo2OkJD8*jXt`%S_rx> zX6ic>F+_N*+^n*X{N+$g--RDvqXcDL+gj}Tp-<7Bq1=^f)Bh9Q#~`A62#MRni|t&p z16fTz1WJPWb47DY$eTVJ2slyIfhj70h2h{5c7M$`87fl1glPT3UlC{2DN31d}0sBR;N3KKRR((ZnGGKoWe|LY6@e*El4srxX6*y! zo5Xh@Sz>W|V;}r*yYHmt_ix(V_Y?)Al3%x-_^+iJg8zdi6>AcD*L;|;{O z1FZMuKuLJRGnC-7(RUcrW5Ya9e65BmmQDP`_H(FtIXm2Uka*j3&2krCuO|H0Y9g<@ zJxkQZWp?u^o@?pHORBdGaa9jZzE=#aJ=y7K7;ZlK;a+w+d~5mXiR5C} zmzT-d*Q#`_IGk3tfB1))(FS*YJ9X$$iJf0pFnQapG&C{XZ71=ihuuc~YHS?s|k zu3=xM>@!U@1#67U>6Um6g&KWfA4>|62CtJ07L`3*Ts_nAfs<(iKND?PH9Hvr%b<)J zj->pm#3(ErkDovAB0g)|uw|UG6rJUq2_CI@yDciafb~2Kb^$}G8=K=xWEq~AfH`ba zqndm1z<_2p)fHk{%8N1JfWW{0gZ5PO&S>2|b2K z#h$$_(yo0qDqyEr_S2HgdHNEQ`byz~`XngSoU6zO)%<`8BM z5&~i}Wm`G4VM|$i_Q~`9$#qM6JssXg?)21b!oag~g)>y+eM~=J(RK5yS6+Dd+#+9F zS;=W^{AuU92URKs9Ua+PNC9wte{XkHf&&s%sYmOV_-&q#yJ=%_5H}?N1|h9CARvHP z9DG!h;U8I4cA^HvtjDn$eq{~}6Ecnqsi9!ve1j{_ev6WYk7?q;;2I~BJSrysPGM7J z(xgLHp!H%g5EC>ISovGaU0M0if`f@`BXu9t%O#3Rs74; zU)mI^cdr!AVBEi?cRt}pyVHgxMZ?H0{Nk~HbZJ|mTVkhf} zyT_iKlCpAwYBt4lWl85nM~^m@_=(?5%qxAWQNMqFrn2pbSln7};NP1e3dYMfx((aR04Jc~9pVOXG{dlUw_0oQf3!VYv74bLiODOr{ zj+jGEQqp@gvGSH2%YGD_;k;Vymzzn{oPC$MYJVO&I9LK?N-1btzjQ1a>u+iXabvJp zIq%=4hv3O&c%j#>U6VdMXMD^?7V8KUMpgOy%qAYuv&Q(4x^Tb_N|Qs;>7I^`Ialti z*81~&RZ0Cm`x-ASx5??(jq0b@&z42DJ?k;OWadGZnSmw6RiiIonzu{=QTK;INuQ0xy3nL z?S(%yv-o6Vq3|vy5uWHgIyUyTjK>%@<>77Vsl>wd& zE`8Z4TrSH_Yaw&D*PN9i8CV`;yBFRF$CO)Ku00QB>E(3_T_?(ub6DT*-*jgvcj(oK zwe)#VrBo9@#@OSdE{V%IUp*`PCCY*_T=@0vr>n`M-{EjGFdzjF2)&ls#KI58JU}FF zw5xqaef;Bu0e&#(y5*VWAlVLZyeRlUwAnKie-a#WzPA+>z{VAu_k*JwGfWBj~mmi3BjCKjf|deP>!Pfa26(I=3|M>PtIS-U*HzIJRnAB71G zT&W@$U!ogIVG96_hTQyAdQZG=q!5hchYjVjPoFkwX}kBaPPjM2<#EKjlj!X>u9R-Ik1n13OPuyK@*qZt>FqrtV$jpAG9>0lUSmFrk(xgnQb=NvV9(!02T5^#&2{@gkurs z>vLgUznAUYW*;VOOtTCj-WRa-X z9!_6%DQzQu+Yw5*w56mIyH?l}MZhwlA%=SmILUz+tpxU53Dg|M>Uc7(|D}%su5~iy zRUr=z6%jeP=zQ~0Q>MRA&uck105YKK#moHfla~WG#BMQT9)A&s=3LgFRnXq(-l z>ek*ANXa=~s)ElOt$5(a3e$IRH$fiGANc9-!D)NKcyQMKhY48lLP6thf5#rWE-)ZQ zmMX40hI=H!$b(u87ri}n@H!3-h~>d&Qs~;tCu~m%JWP%}+igpf5{ZZv?XrW~=A%Tv zr)Zv?oBdSK3}u+NXQK(XTK;q^K1lbv!q(^I))$SsnztdyV9+P3$_ebGAH1muKwG@`f4uq3FAG+q!hDvM=dMdT(E&+TC> z#n(w;%t{GtE`Kn6ha_afT@V}+!md+u2rKf>A4j0p`IV@k_T8q;h z0ncLDX=DN5kE*JX`4_E7$}@c2G8rpo62m52oCTOE1L3+Y*VF%DCc)f~M{;ySJZ*fE z%34qY$v1AfR5&hg6+W;uWP+Q2mDX#Mt&s^0i&%L6hR`Lp@#AJlRPwpK+THE<7~I!1 zG&FcjK6ES>c3c5X3B=Q^59xEd+TKhB-;SMP2BFk_S@e(~@GOdkbwTo%_zctVy;(2# zfYJOQ?jaw?>g?zMsrBG?g{SMY_@1k2tP`9h*xweJiySw1Rt4Q(I#@RMN~HNkm%^SbuwG$H+Wc=wQ;3+d%uv$KKNT!(z{q2Oa_+m|wr zELZR-%gJHLK9Nr8JIUd_TT4Jqt!8TagG8SVGmg-QREgm`mPU+WDXXO9lyIIL-8Xm~ zj5pEJS%#-3w>EVpAFuvZCR#6cbU$)p zl1rH5A;y+h70x)n(ZP>mEz=Yr;5Ck7QE5B@nhU@-r6-wAlob^ffg85n`$(58It&g> zII^eiJ^!li?Vlipi51LF=tHi=2)`Zi_%gH7ImcsyhRSSDoqX$=_U0p4VmAWQ7s%Hgp$|VdT~@L z%HK3Y4oiH{!KhT1GnJ5D_DPa!EGk{}j8^+M6P4ueHCh}DaA>K�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 QDezJ{rKXT9Z|L)X08*2bdjJ3c literal 117115 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 diff --git a/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py b/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py index d9030e720..0b59c4dbf 100644 --- a/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py +++ b/weeks/week-18/solutions/1114405023/p4_binary_search_perf.py @@ -8,6 +8,7 @@ - 比較 linear search 與 binary search 的比較次數與搜尋時間 - 分別測 best、middle、worst、not_found 四種情境 - 使用 Python 標準庫 timeit 量測搜尋時間 +- 輸出每個 case 中最快的搜尋法 - 執行主程式時會自動產生 assets/radar.png """ @@ -132,11 +133,12 @@ def average_time(func, repeat=5): 注意: - number=1 表示每次 timeit 只執行一次 func。 - repeat=5 表示重複量測 5 次。 - - result 另外執行一次取得結果,不把輸出或資料建立算進搜尋時間。 + - result 另外執行一次取得搜尋結果。 + - 不把資料建立、輸入、輸出算進搜尋時間。 Returns: tuple[object, float]: - 回傳最後一次執行結果,以及平均時間。 + 回傳搜尋結果與平均時間。 """ if repeat < 1: raise ValueError("repeat must be >= 1") @@ -153,6 +155,20 @@ def average_time(func, repeat=5): return result, average +def fastest_search(linear_time, binary_time): + """ + 比較 linear search 與 binary search 的平均執行時間, + 回傳最快的搜尋法。 + """ + if linear_time < binary_time: + return "linear" + + if binary_time < linear_time: + return "binary" + + return "tie" + + def benchmark_search(data, target=K, repeat=5): """ 比較 linear search 與 binary search 的時間與比較次數。 @@ -184,6 +200,7 @@ def benchmark_search(data, target=K, repeat=5): "binary_index": binary_index, "binary_comparisons": binary_comparisons, "binary_time": binary_time, + "fastest": fastest_search(linear_time, binary_time), } @@ -231,6 +248,7 @@ def format_case_result(result): f"binary_index={result['binary_index']}", f"binary_comparisons={result['binary_comparisons']}", f"binary_time={result['binary_time']}", + f"fastest={result['fastest']}", ] return "\n".join(lines) @@ -380,6 +398,7 @@ def solve(input_text): f"binary_index={result['binary_index']}", f"binary_comparisons={result['binary_comparisons']}", f"binary_time={result['binary_time']}", + f"fastest={result['fastest']}", ] return "\n".join(output_lines) From 8213ab4ea69e9d7c7fcfaec5c658571ef750289a Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 20:15:51 +0800 Subject: [PATCH 19/20] =?UTF-8?q?0622-1114405023-=E5=8A=89=E8=88=88?= =?UTF-8?q?=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- weeks/week-18/solutions/1114405023/AI_Log.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/weeks/week-18/solutions/1114405023/AI_Log.md b/weeks/week-18/solutions/1114405023/AI_Log.md index 261813905..bfb7778bf 100644 --- a/weeks/week-18/solutions/1114405023/AI_Log.md +++ b/weeks/week-18/solutions/1114405023/AI_Log.md @@ -25,7 +25,7 @@ 1. 讀懂題目需求 2. 依照學號後兩碼推算參數 -3. 依照 Week-17 流程先寫測試,再實作程式 +3. 依照 TDD 流程先寫測試,再實作程式 4. 建立紅燈與綠燈測試紀錄 5. 討論 edge case 6. 討論二分搜尋效能比較方式 From 02e1c3bf5a9a43c3dc2b7578dfff8b3b58fb6d8c Mon Sep 17 00:00:00 2001 From: bryan Date: Mon, 22 Jun 2026 20:21:25 +0800 Subject: [PATCH 20/20] push --- weeks/week-18/solutions/1114405023/AI_Log.md | 54 ++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/weeks/week-18/solutions/1114405023/AI_Log.md b/weeks/week-18/solutions/1114405023/AI_Log.md index bfb7778bf..8b5f2a30c 100644 --- a/weeks/week-18/solutions/1114405023/AI_Log.md +++ b/weeks/week-18/solutions/1114405023/AI_Log.md @@ -105,3 +105,57 @@ --- +## 第四題後續討論與修改紀錄 + +| 討論項目 | 決定 / 修改內容 | +| --- | --- | +| 是否要使用 `timeit`? | 原本使用一般計時方式,後續改成 Python 標準庫 `timeit.repeat()`,讓第四題更符合題目要求的「用 timeit 比較」。 | +| `timeit` 要量哪些東西? | 只量搜尋函式本身,不把資料建立、輸入、輸出、雷達圖產生時間算進搜尋時間。 | +| 是否要加入 found / not_found 彙整? | 加入 found / not_found summary。found 使用 best、middle、worst 三種找到目標的 case 取平均;not_found 使用找不到目標的 case。 | +| `cmp` 是什麼? | `cmp` 代表 comparisons,也就是搜尋過程中的比較次數。 | +| 是否要輸出較快者? | 新增 `fastest` 欄位,比較 linear search 與 binary search 的 `timeit` 平均時間,輸出 `linear`、`binary` 或 `tie`。 | +| best case 誰較快? | best case 中 linear search 較快,因為目標 `K=123` 位於 index `0`,只需要比較 1 次。 | +| middle / worst / not_found 誰較快? | middle、worst、not_found 三種情況皆為 binary search 較快,因為 binary search 每次將搜尋範圍縮小一半。 | +| 是否要更新 README? | 需要在 README 補上 found / not_found summary、`cmp` 說明、`timeit` 說明與較快者欄位。 | +| 是否要更新 TEST_LOG? | 需要更新第四題輸出結果,包含 `fastest=linear` 或 `fastest=binary`。 | +| 是否要更新測試檔? | 建議在 `test_p4_binary_search_perf.py` 中補 `fastest_search()` 測試,確認 linear、binary、tie 三種結果都正確。 | + +--- + +## 第四題 found / not_found 效能彙整 + +根據第四題最新執行結果: + +| Case | Linear cmp | Binary cmp | Linear timeit | Binary timeit | 較快者 | +| --- | ---: | ---: | ---: | ---: | --- | +| found 平均 | 50000.67 | 16.33 | 0.0072284400 | 0.0000058667 | binary | +| not_found | 100000 | 16 | 0.0135415800 | 0.0000065400 | binary | + +### found 平均計算方式 + +found 平均是由 best、middle、worst 三個有找到目標的 case 計算平均值。 + +```text +linear_cmp_avg = (1 + 50001 + 100000) / 3 = 50000.67 +binary_cmp_avg = (16 + 16 + 17) / 3 = 16.33 +``` + +```text +linear_timeit_avg = (0.0000046200 + 0.0076549000 + 0.0140258000) / 3 + = 0.0072284400 + +binary_timeit_avg = (0.0000071000 + 0.0000052400 + 0.0000052600) / 3 + = 0.0000058667 +``` + +### not_found 結果 + +not_found case 中,陣列長度為 `100000`,且不包含 `K = 123`。 + +```text +linear_cmp = 100000 +binary_cmp = 16 +linear_timeit = 0.0135415800 +binary_timeit = 0.0000065400 +fastest = binary +```