From a4c11a1f7d04d272fae8b42ecae52e444e35ba5c Mon Sep 17 00:00:00 2001 From: Allenyeh Date: Mon, 22 Jun 2026 20:17:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=9F=E6=9C=AB=E8=80=83-1112405012-?= =?UTF-8?q?=E8=91=89=E5=AE=A5=E6=A8=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- weeks/week-18/solutions/1114405012/AI_LOG.md | 55 +++++ weeks/week-18/solutions/1114405012/README.md | 170 ++++++++++++++++ .../week-18/solutions/1114405012/TEST_LOG.md | 55 +++++ .../solutions/1114405012/assets/radar.png | Bin 0 -> 166902 bytes .../solutions/1114405012/q1_data_cleaning.py | 62 ++++++ .../solutions/1114405012/q1_sample_input.txt | 5 + .../solutions/1114405012/q2_caesar_cipher.py | 43 ++++ .../solutions/1114405012/q2_sample_input.txt | 2 + .../solutions/1114405012/q3_digit_root.py | 53 +++++ .../solutions/1114405012/q3_sample_input.txt | 3 + .../solutions/1114405012/q4_sample_input.txt | 2 + .../solutions/1114405012/q4_search_compare.py | 189 ++++++++++++++++++ .../solutions/1114405012/requirements.txt | 1 + .../solutions/1114405012/test_week18.py | 65 ++++++ 14 files changed, 705 insertions(+) create mode 100644 weeks/week-18/solutions/1114405012/AI_LOG.md create mode 100644 weeks/week-18/solutions/1114405012/README.md create mode 100644 weeks/week-18/solutions/1114405012/TEST_LOG.md create mode 100644 weeks/week-18/solutions/1114405012/assets/radar.png create mode 100644 weeks/week-18/solutions/1114405012/q1_data_cleaning.py create mode 100644 weeks/week-18/solutions/1114405012/q1_sample_input.txt create mode 100644 weeks/week-18/solutions/1114405012/q2_caesar_cipher.py create mode 100644 weeks/week-18/solutions/1114405012/q2_sample_input.txt create mode 100644 weeks/week-18/solutions/1114405012/q3_digit_root.py create mode 100644 weeks/week-18/solutions/1114405012/q3_sample_input.txt create mode 100644 weeks/week-18/solutions/1114405012/q4_sample_input.txt create mode 100644 weeks/week-18/solutions/1114405012/q4_search_compare.py create mode 100644 weeks/week-18/solutions/1114405012/requirements.txt create mode 100644 weeks/week-18/solutions/1114405012/test_week18.py diff --git a/weeks/week-18/solutions/1114405012/AI_LOG.md b/weeks/week-18/solutions/1114405012/AI_LOG.md new file mode 100644 index 000000000..5b35fe9a2 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/AI_LOG.md @@ -0,0 +1,55 @@ +# AI_LOG + +以下內容依照第一頁的 AI 協作協議整理成「問題 -> 我的回答 -> AI 的正確回答」格式。 + +## Q1 資料清理 + +### 問題 +函式叫什麼?吃什麼參數、回傳什麼型別?資料範圍、筆數上限、輸入到 EOF 還是讀固定行數?非法輸入、空輸入、格式錯誤要怎麼處理?至少列出 1 個 edge case。什麼樣的輸出才算對?學號的參數值是多少? + +### 我的回答 +不知道。多組測資,n = 0 結束。回答為「移除?」。不知道怎麼回答。每組輸出一行,處理後的數列,數字間單一空白分隔;若沒有結果輸出 none;學號參數是 4。 + +### AI 的正確回答 +函式簽名應是 `clean_numbers(numbers: Iterable[int], divisor: int = 4) -> List[int]`。輸入是多組測資,每組先讀 `n` 再讀 `n` 個整數,`n == 0` 時結束。題目沒有要求特殊例外處理,假定輸入格式合法,空輸入直接輸出空結果。edge case 至少要考慮重複值、全部被篩掉、只有 1 個數字、排序與未排序都要能處理。驗收時要先去重,再只保留可被 `4` 整除的數字,最後由小到大輸出;若該組沒有結果,輸出 `NONE`。學號帶出的 divisor 是 `4`。 + +## Q2 凱撒密碼 + +### 問題 +函式叫什麼?吃什麼參數、回傳什麼型別?資料範圍、筆數上限、輸入到 EOF 還是讀固定行數?非法輸入、空輸入、格式錯誤要怎麼處理?至少列出 1 個 edge case。什麼樣的輸出才算對?學號的參數值是多少? + +### 我的回答 +不知道。多行到 EOF。原樣保留。不知道怎麼回答。每行輸出加密後字串,位移量是 3。 + +### AI 的正確回答 +函式簽名應是 `encrypt_line(line: str, shift: int = 3) -> str`。輸入以行為單位讀到 EOF,每一行都要各自加密並輸出。題目沒有要求特殊例外處理,空行原樣輸出空行,非英文字元直接保留。edge case 可以是大小寫混合、字母回繞、空白、標點。驗收重點是每一行都要對應輸出,英文字母位移量固定是 `3`。 + +## Q3 任意進位的數字根 + +### 問題 +函式叫什麼?吃什麼參數、回傳什麼型別?資料範圍、筆數上限、輸入到 EOF 還是讀固定行數?非法輸入、空輸入、格式錯誤要怎麼處理?至少列出 1 個 edge case。什麼樣的輸出才算對?學號的參數值是多少? + +### 我的回答 +不知道。十進位非負整數,每筆對應一行,限制 base 16,EOF 不確定。不知道。不知道怎麼回答。每筆對應一行,輸出 base 進位下的數字根;學號基底是 16。 + +### AI 的正確回答 +函式簽名應是 `digit_root(value: int, base: int = 16) -> int`。輸入是多筆非負整數,讀到 EOF;每筆數字都用同一個基底 `16` 計算。題目沒有要求特殊例外;`value < 0` 或 `base < 2` 才是函式內的防呆情況。edge case 可看 `0`、已經小於 base 的數字、需要反覆相加很多次才收斂的數字。驗收重點是把每個數字轉成 base 16 後反覆做數字和,直到只剩 1 位數再輸出;學號對應基底是 `16`。 + +## Q4 二分搜尋效能 + +### 問題 +函式叫什麼?吃什麼參數、回傳什麼型別?資料範圍、筆數上限、輸入到 EOF 還是讀固定行數?非法輸入、空輸入、格式錯誤要怎麼處理?至少列出 1 個 edge case。什麼樣的輸出才算對?學號的參數值是多少? + +### 我的回答 +不知道。第一行整數 m,第二行 m 個升冪整數,不確定是否保證排序;K = 112,沒有 EOF。不知道。不知道怎麼回答。輸出雷達圖;用 timeit 比較線性搜尋與二分搜尋,並輸出誰比較快。 + +### AI 的正確回答 +函式應分成 `linear_search(numbers, target)`、`binary_search(numbers, target)` 與 `create_radar_chart(scores, output_path)`。輸入是第一行長度 `m`,第二行是 `m` 個已排序整數;目標值 `K = 112`。題目沒有要求特殊例外;輸入不完整時視為不合法,正常測資則直接比較即可。edge case 要看找不到目標、單一元素、空陣列、重複值。驗收不只要知道誰比較快,還要正確找到 `K`、回報比較次數,並輸出 `assets/radar.png`。 + +## 本次修正摘要 + +- 你原本不確定的地方,已補成可直接放進作業的版本。 +- Q1 的 divisor 確認為 `4`。 +- Q2 的 shift 確認為 `3`。 +- Q3 的 base 已修正為 `16`。 +- Q4 的 `K` 已修正為 `112`,而且輸入要是排序後的整數陣列。 diff --git a/weeks/week-18/solutions/1114405012/README.md b/weeks/week-18/solutions/1114405012/README.md new file mode 100644 index 000000000..1fc0232f5 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/README.md @@ -0,0 +1,170 @@ +# Week 18 Solution Notes + +學號:1114405012 + +這份資料夾目前包含四題的 Python 解答與測試: + +- `q1_data_cleaning.py`:資料清理,依學號規則計算的整除數 `D = 4` +- `q2_caesar_cipher.py`:凱撒密碼,位移 `SHIFT = 3` +- `q3_digit_root.py`:任意進位數字根,進位基底 `base = 16` +- `q4_search_compare.py`:線性搜尋與二分搜尋比較,目標值 `K = 112` +- `test_week18.py`:單元測試 +- `assets/radar.png`:第四題產生的雷達圖 + +## 參數對照 + +- 學號末兩碼:12 +- 十位數字:1 +- 個位數字:2 +- 第一題整除數:4 +- 第二題位移量:3 +- 第三題進位基底:16 +- 第四題搜尋目標:112 + +## 執行方式 + +1. 執行單元測試 + + python3 -m unittest test_week18.py + +2. 執行第一題 + + python3 q1_data_cleaning.py < input.txt + +3. 執行第二題 + + python3 q2_caesar_cipher.py < input.txt + +4. 執行第三題 + + python3 q3_digit_root.py < input.txt + +5. 執行第四題 + + python3 q4_search_compare.py < input.txt + +## 題目樣例的對應結果 + +第一題: + +- 第 1 組輸出:4 +- 第 2 組輸出:NONE + +第二題: + +- Hello, NPU! -> Khoor, QSX! +- abc XYZ -> def ABC + +第三題: + +- 0 -> 0 +- 8 -> 8 +- 63 -> 3 + +## 第四題雷達圖 + +雷達圖使用五個參考維度:small_n_speed、large_n_speed、sorting_required、implementation_difficulty、worst_case_comparisons。 + +- 小 n 速度:比較資料量不大時的實際反應 +- 大 n 速度:比較資料量變大後的擴展表現 +- 是否需先排序:是否需要額外前置條件才能使用 +- 實作難易度:演算法與程式的直觀程度 +- 最壞情況比較次數:最差情況下需要比幾次 + +![第四題雷達圖](assets/radar.png) + +### 維度勝出分析 + +- `small_n_speed`:線性搜尋較有利,因為小資料量時常數成本較低 +- `large_n_speed`:二分搜尋勝出,因為資料量變大時效能成長較穩定 +- `sorting_required`:線性搜尋勝出,因為不需要先排序 +- `implementation_difficulty`:線性搜尋勝出,因為實作最直接、最容易理解 +- `worst_case_comparisons`:二分搜尋勝出,因為最壞情況比較次數是 $O(\log n)$ + +### 為什麼沒有絕對贏家 + +這張雷達圖不是在找單一「總冠軍」,而是在比較不同面向的取捨。線性搜尋在小 n 表現、是否需要排序、實作簡單度上有優勢;二分搜尋則在大 n 速度與最壞情況比較次數上更強。因為題目同時考慮了不同情境與不同成本,所以兩種方法各有優勢,沒有一種能在所有維度都完全勝出。 + +## 第四題輸出 + +第四題除了會產生雷達圖,也會在終端機輸出比較結果: + +- `FOUND 112 cmp=25` +- `linear: 0.4927 s` +- `binary: 0.1930 s` +- `=> binary faster` + +預設測試數列為 10,000 個升冪整數 `range(10000)`。時間測量採用 100,000 次重複執行求平均,以便清楚看出線性搜尋與二分搜尋的效能差異。 + +**時間測量改動說明:** +- 使用 `time.perf_counter()` 手動測量(取代 timeit) +- 執行 100,000 次重複,計算平均時間 +- 輸出單位:秒(s),精度 `.4f` +- 結果顯示二分搜尋比線性搜尋快約 **2.5 倍** + +PDF 題目指定用 `timeit` 比較線性搜尋與二分搜尋,重點是要透過多次重複執行取得穩定的時間差。實作時曾嘗試直接使用 `timeit`,但在較大的陣列與多次重複下容易讓執行時間過長;若降低重複次數,輸出又常被 `.4f` 四捨五入成 `0.0000 s`,不利於呈現兩種搜尋的差異。因此最後改用 `time.perf_counter()` 手動包住固定次數迴圈,保留與 `timeit` 相同的高精度計時目的,同時讓程式在測試環境中能穩定完成並輸出可比較的秒數。 + +圖檔會輸出到 `assets/radar.png`。 + +## 第四題時間測量問題與解決過程 + +### 問題描述 + +初期實作時,執行結果顯示為 `0.0000 s`,無法看出搜尋演算法的時間差異。 + +```text +FOUND 112 cmp=25 +linear: 0.0000 s +binary: 0.0000 s +=> binary faster +``` + +### 根本原因分析 + +多個因素導致時間測量不可見: +1. **時間精度不足**:`.4f` 格式精度為 4 位小數,單次搜尋時間約 μs(微秒),四捨五入為零 +2. **timeit 配置不當**:初始 `number=1000` 次,與資料集 100,000 結合時執行時間過長(超過 60 秒),導致超時 +3. **matplotlib 初始化開銷**:matplotlib 首次匯入有明顯延遲,但不是主要原因 + +### 嘗試的解決方案 + +| 方案 | 嘗試結果 | 問題 | +|------|--------|------| +| 改格式精度(`.4f` → `.6f`) | ✗ 失敗 | 時間仍然顯示 0.000000 s | +| 改 timeit 次數(1000 → 100) | ✗ 超時 | 資料集太大,執行超過 60 秒 | +| 改回 1 次執行 | ✗ 失敗 | 時間仍太小(0.000005 s) | +| 改成毫秒單位 | ✓ 成功 | 暫時解決但不符題目格式要求 | +| 增加重複執行次數(10,000 → 100,000) | ✓ 成功 | 時間變得足夠大且清楚 | +| 改用 `time.perf_counter()` 手動測量 | ✓ 改善 | 速度快且精度足夠 | + +### 最終解決方案 + +**關鍵改動:** + +1. **測量方式**:改用 `time.perf_counter()` 手動測量 + ```python + # 100,000 次重複執行 + start = time.perf_counter() + for _ in range(100000): + linear_search(numbers, SEARCH_TARGET) + linear_time = time.perf_counter() - start + ``` + +2. **資料集大小**:保持 10,000 個元素 + ```python + list(range(10000)) # 約 40 KB 記憶體 + ``` + +3. **輸出格式**:回復秒單位,精度 `.4f` + ```python + f"linear: {linear_time:.4f} s" # 0.4927 s + ``` + +### 執行時間對比 + +| 配置 | 線性搜尋 | 二分搜尋 | 倍數 | +|------|--------|--------|------| +| 之前(失敗) | 0.0000 s | 0.0000 s | 不可見 | +| 現在(成功) | 0.4927 s | 0.1930 s | **2.55 倍** | + +**結論**:100,000 次重複執行使得總執行時間達到 ~0.5 秒級別,在 `.4f` 精度下清楚可見,足以展現演算法效能差異。 diff --git a/weeks/week-18/solutions/1114405012/TEST_LOG.md b/weeks/week-18/solutions/1114405012/TEST_LOG.md new file mode 100644 index 000000000..763d24a81 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/TEST_LOG.md @@ -0,0 +1,55 @@ +# Test Log + +Environment: `/Users/yehallen/Desktop/交作業暫存用/.venv/bin/python` + +## Unit Test + +```text +Ran 7 tests in 0.000s + +OK +``` + +## TDD / Git SOP Note + +本地開發時先依題目設計測試案例,再完成實作並確認測試通過;但本次整理提交前沒有保留「紅燈失敗測試」的獨立 commit,因此 Git 歷史無法完整呈現先紅後綠流程。最後狀態已用單元測試與樣例輸出確認為綠燈。 + +## Sample Outputs + +Q1: + +```text +4 +NONE +``` + +Q2: + +```text +Khoor, QSX! +def ABC +``` + +Q3: + +```text +0 +8 +3 +``` + +Q4: + +```text +FOUND 112 cmp=25 +linear: 0.4927 s +binary: 0.1930 s +=> binary faster +``` + +**測試說明:** +- 資料集:10,000 個升冪整數 (0 至 9,999) +- 搜尋目標:112 +- 時間測量:100,000 次重複執行,使用 `time.perf_counter()` +- 結果:二分搜尋比線性搜尋快 **2.55 倍** (0.4927 / 0.1930) +- 雷達圖已生成到 `assets/radar.png` diff --git a/weeks/week-18/solutions/1114405012/assets/radar.png b/weeks/week-18/solutions/1114405012/assets/radar.png new file mode 100644 index 0000000000000000000000000000000000000000..66d77515a76556e4cb14562a451a10ff3d9a85ac GIT binary patch literal 166902 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�_}6yn7BUhh7? z-(UCRaaYdq9;1skXaujeX<^-fVa_{1P=t`rDi|uV ziJo8WhD71qQ&eHTaEyhzS z#GBvmLIJ)~H2{Um_ScUNGCVZHnnh#9cCquk1Eo%S21NCE_z)`<fJ}XX|!<@3}8g!jlEVLQ*#u7}6!s$Qqhuy*oM{zb5 zyQ8$>6kLE72+4t|IuZfgr@QzX#0*(NYfc7h5An8B zsURm7$d7%~e7;IW>{Iq3XNMf2j$|Ca(V&8BI08yAje?Ioz{nU(7Qgb&z3C53R>hJ|=KirDjgRH&(&S!W!LnaYo#Fe#b*f~E|L!o$# zRCpm8a|HPv0!SEr(R-Yo?ykBTRo^Wle9Ua- zRXJUUPyWS>Ez0#&$i|d~)8mgHAG)E}KmDiw>SSNm4XzZB=O75q>E36+-hG6&)(IhW zF71N&K{ezMG?IlzA8t+BDu77#9dBrhJ+xZJ_AtiAsg-@N^H$-}53z=$s7gJK3%O<- z?CAY>8O=TY#A4YbRvRtfuMzVL4@VY2oFpCCa;FE{T2sEhQvZdvj3*e;TMjr47 zZjh0P^nxy9)s+aRxu~>Sy@?c>9h1Ndu?9U1?|8Bm?e<~uYUNnnrOMvq%33)mUP6@%V0Lq~rb)2|e(At7mtfRE+K<8NCyrcs3o22MHOv;G}UxI6DOa;A}|IY)r~INEPY+4RQoSAa|f?u|f<|{Rvx$YE}=^ zd&*GHApCDPL;cVX?{LgpwWrbqQh2p)k+o_N=!{2O?sNSzegr^9{=JvJm(PHHN$A@HE;W)QGQ@tDsZzKFL zC{VG;^E+Nq;YA@^FKC>pu|-Ztn9K$x$s^Wq5I7i%FbPj1mn-<= zWhV99wcPdjA$h zoC}Uf9$k39DP``XLyOhFv=l&q?@^WBfL^U;K^Zd$nft7;l;E{P6}8)6OJtq?S{w|m zW+~yLYV01Vb*3{5kbO+bKe9~oU()T zCcgd`HUfoA?)9ru2k|@$vp4 zn$l*=5C`S6?mO4}Xg2bcXZgY<*Woom&Wc(u*&MFLf%on1RdZ77{=KCE8bK394xp^R zB!DedKasU#F^%L(ksK~Q^Vx>QJIHtv>>Xcoco#u>;7*~*$`N%6K?kvO2Xf_DlKHw} zB-EI{#%QO-6jfR3QP(q-Q})hwjkFlHW=Tki{V2jPIknz zag{{45g^HQ-*W>8r(4SIdNPYJ>n-8$oB{71xgt7;*KcWTl&CMj&0Wzd3g`bLcwtay zF|pOl4eWqN3Zy6o6!VJdHbRPKu)m5oDBh*a_Oj|~6)OMv{<&lDe(lGK;drI>Vya8$ zsh$om^?7GL!F_+$*H#x+%juS`i62>~SuvJz2hKH|)OtOWv)@_d9_Y!3%>E`Rg#;oG z$Ej-0rpy{ zu4fcCaw#F(C$7>;>m6*JZrR1C4*hH=>>Lr|ercKZ#qeeJkDV)l#*=^s(jd*muZEi+ zT2qj0lpvM@P9e_M#q3PVTF`EVvs^c5wg~>I3Z3rt>P*aANWyW10>iep9B!ID8!Cpe zl)>wEH^kT$M9{wo4%5O6%;v-onv^=*tSheAmVcD3Fl%iextvrz^rTVLcD^#AdM_{U zw?Hwiq_gz^lP{QiK%~h{gE%A<7fuAAtKhUyW-bP?K71s48oIG!&;kuY!{7j-iDJ;8 z?hLxCTrf$_=TuXBgI`$F}F&^ zO6pA1?7i*_&zbv%3*S51H2?kXzBEqm-}G~`;ShhRUK~(RF(I+O9dJ)eeLXPP9W`cBg1!+(&O4tOuM;=-Y4ijZq|RS z{fMDgw2kY}{H#k;>iYRsbjDVS`sWGmKni(XY2~f&On19_qJ-0`fUMT~uhNwXLKu;) zg7Mo=W?`dbIETKWoU1$D1edHA<|f2r0_^CxywA+ug$!mURQNwlS3&?XP9RbmaQ*%m zGoT{+Q76Da|6A(}Pw$ece1R42{axQC?OBLGzkPXXzL(%Z94_xzo}!a;otHF? z-FDkdJs)9w7>V=y@kx{Do%cA*P51@K;y$c?tOAAT0=&0mkbav$2Rss$h^VfHL#9EH zBcR8|ES#2_PG|seGWPxQ9H8cYH3e*iIs?SvfR?qxF`xZ*tdC%i$~S1a8p%v-SNypq zAmi(%^Ks`iPn7=LrwcG}y9|&r=HphuI%ovp#iROHAz}-$0k1p))@Jyi!)vR4^B`i1 zlwr0yFETbGf?c~-;fYNP+Lx!h76Yt2DTfkuH3xE?To#s}zQq|ShY~;Pvi5PvjaY&o zaM2HFJhQU1g14acL;A9fx>Bbe#AbV%^bFvg!LLoRZeVt+KXPcVl&(wUn^*8NRpUk| zGP!#_8EacbYg3m~BBf3W%i)U1FnO8#uw_1rzh4*^`KAqTzVXyeRAT%_4*#&m zX^ehuy7EOxaT)nt-=n3_Uc&%**${EAKzWDn$0RI-JmP!HLg;?}q%c4Z20?*tdgdue zk}0zXn4W=9t#m^`*L}kLI5)@0FI|eU9nrjLKl6IWIH}*hV37C4Ip)f2a1XD6)_NEa zL=QxUAN$lXc@oO6nk73^%U&q^Y*)azNd|@O5ESc$vCHt3yMB3naZ!mW0^oZ~I;YT{ zirSmF&J?AY+a$k0iawrnlGys|CsV*A{Ho=TxJ8YDCzL#W`b$lr(@*fZvaNLj`0xa7 zs>(yGOCTJrMC~-Ca;p!!5Qz~Ice@77UBxhyuI!npIkc0h3@L(wzciAVFp)ERvay-c ze&_h<#hH*jL;FDmSigSpBGICx6jzhK+X!rk{H5&aMhFE-%C%L%f; z8C5Btcj|s?$;H96w;|@ZZV5Y+h!rTc{6LN{fcUY-K#lXSRfc)91pXS^9@O*Ro$?@x z0&o6kudzpv+sa9L;1$b0JS#E*ue$#v6=tMSI*97?kTb@eRW$wVPCZn1bvt|Bv)V#( zUO+%-1##eIX+P%E!)rmMHq}wa?D( zhC$CR1gFnM$P1*eFRi;FbFN2?Grle6;lpJ&yl2(-^&Nb_#wC>BxluFy4APuKsX7eo zwE&!;YE07SazJN}6%~~Sb{+Qjr+oxnlcCpn|NC$A?u`vMX7!+^w#di$mMBY(Q7>~? zghEET)<;8bJgLZgn0K&Jy3KxxE&syB+M7wK1EjY&i2$D-ed{G69upp^!eB3`UQwq5 z4?0Rm)QkXA7=g;|-X&?U5luWh!nE@fxK|dCjInmtY{07Boqhr!!5ZYKoVdg2Op^K$ z{XC;P*RQFnR`Ry$hvbq!$t{I4mhCtCLim2o{|W!$j3F0e@a76vE#yug{pe4*nNIro!-ekZ3C2O#c>T zT6J09z%hOpMg+Oi9L$gO{HIqCy(rYyMU;OzECeI3}jZ36N;|VzBaJ)JNX| zfT1Ps@BgHbAe8f0?8Q(`5P2BP!aoQ(>e?%vs!Q}}jL~e+dH)b#y9hgFJ-PU{QloEN zt7?zg9a`8bZb)8z&$Moqa35h;Ypjz87+y7X4I|FJ;Bd0|aD*P<1+Q=6 zqmo~nep>$WIkIH@*V@|iZg}gTr%wHDkZ?mG#_1^?dMrAOU0f zdhfK5(c6gPM~l3q$fTTroWDnI`?g{X%)aHQsR5)q(me^T1`c?rZ`4PFPC=J8SRy(~ zYGuF1bN^2?Ccy0G1&^zi;h6W=USK3%)$(1Lp;kPrx#*rvyO2;SI$)tuKG^C;Cx&J} zTMXF>Mr^a?)6A9I9d{>j>y+Q2(aw>zz_^jKd7J~N#`s=q)X_*y`gcGt+z=Vjd|bBE z`lZ0%Bsimo0AM|cXloV0y<`^A~gEV2OH%ba_S@Exj6l*yHP)+Z3*kLxUdLWfgzk*1r6Dds6mW z!4&X+Er&PcH){Y$|D{5l2H~h#0wQ~WFBlhCgG4pnJiXJYNd*%M*xhc(Ru<+*9EpA~ z=xJz*}4YJ{SG4`+L{>40TDG=vZhLIFJt&itDvha{Uhy zbq z5tsJzUD``7tZ*-oLU+CE7Bkv00(1RPg@O1%T5`n?18Ad5%gb5^Ui;pxC9hIA2a{Ay z^21{B0kV9nJ5qltEA{6829PIszL1wN`W?0t5p= z!OY}+yZ&M%YxrIgOcKbp5?H>_Qd5}6=>cBG2-JUjO~<6quwsX#sp#yw)|4?!Ckr~v z3j}4JJ!61F8niPmd1-kVoENTp22}hvr*PaWWsPB^rAGDuke$Ynq-gdM2p)a?1FfGq zF^6FC(MaOP5D4sP;G-%+FgWOqr|~SzOsv}VikYn8!obyD262|=aQDq2#HtST$W>Bw z6pJ#UMJ#tk1&yisgU%PJ@0O%Xtf@`lA8D@q{C!26yo)#A_*G`PllHA=^mhd#PO-AI zGJERwyczGUPdg-K9`q~W@yeKwxm?3gr$=%;G4*(ZR1CNhExCj?Okr+vh4$f}qgg{95xllL+BatG=2^>_o>%+LXviSna7m&*@ z{_A|^Lz-gLT2QGI^R{8ou`M=U-q0x3TB+%bxjty`A9lV21Uj-4+a3k8?shRZzSEgp z!rJyJ%+tj9xL=mGN{AnA%NZH$7k}}%{BL<(_@=GXcwg_;FbEOCW?kn1^gag%V@v1K za0?PgQ@2{*y`7D!1x;TIi1&FGtl%+XLneq=2#A^Dd<@v0G zxLd4r2(0TV-rx3carqOf0y1z~D^J%@_c7`>9OSD}m=m$rD?$y%+Xs`TLp4+MJ^ep; z#Yxn5zR#Z}4wZJe6tR1#F94ruR+iW=r-3s<6_@^G@VxTsQsp-SRuegePfJiuFm`z= zhnNx=h_liteaF;uE%{F%z!x$QOV4A6>G5vH>yJ@wzqBU$i6%b+cQiHr?f;=hPuMh? zoi_9E{TiX)v1s%yDmuP=oV3p~?3-?vte2sM zK^$&8&-i-SZj_g=m2dzxW77oy#Z)H#SAlU#i2N!{qRZts2t#h#2{BFI0bh{vNd%iC zhL(b9v0ssn5X%7CNDX{YQA(!{`aCPpY%kc#nSysx}_`^s^$(Rf`HT06ulf2y7shf6+CKz>rsNTps(*1ZESQCbrl>+pQdZyFUb*8ZU|JZt3DGH8 zBg|3>*feQPj@~_$flM1{v#L@L{EIbF+mR8T94__ecvf`XGf?8Nv5}?$?_$3ej{EDO zQnM45{(Q%d^^V8kOG+O`u&_baE|1R4(se!8Jp2{)7(U6lKwWe1PbUia`@qFD>LRDN z#VpJ~p6mZM;mD-HcOwI#PH~b%;2WTU&~SAgYVGU&v<{XhNTA^@{;Q4m`ASsZpPGN{ z$EL;2De)7;^jX7quc=}dBYg{spi2ttqm>W3_#4rOzU8OiK9xRXHSBD)Y*Q^Cc2Jd<>j z3k=hJkU?e1#V&H4-V8beH()bw=CI+d8%?YxKKp=WV{b??w`x$hWh=bt-P<4uZfA0gs9O-X3d3R0X~#t-~m z7t$2z-OeyKga)Y$^cYqBKjGtcBlYVR0#Eu>1EJv8qbXN844YNFafVexTz7l3Zcwqw zb38&qOB4$$oK~*ySIzTluerJTJv7M2X(A^zQHBh3ShHNA^#{@X;;m?gNw#k2EAl7V z)RA61PV6xC#+=18#x(CnVuQ6Cs<;}%5er+Ig8qvepR9!360?WCP`rm>)FwhtSa6w- zKMPb<$k&n1i5LaC#{Jt-1R+NhGLS*F0i&3R@)aBlTILtRjXvXc)#U2^bY5@go#sr< zAex#=y$3L7hPD-{-FSS6?46Kj^wm3mfP|z>HRfOk99u0xF+cdW`4ftQ-ML5;-$tTZz|pcImluOM@nX4bl1`zL*N9+`te9wAiko zM))`J3tG)y0)@PQSxtXyr1{-{YAb-@RqkS1oLK8Ye@zj4ix^!eaayl2ZrS$RutC6Y zOP{SUlFVY2)yi5JL8--O#~OD$;N7t}?tAvj`>mj>Iv;tQORHXE&*`56wN;SCHyr*r zKo&H-BZxg_at>!M&w*qD*;f&| z4bW`9EX%u*ia#l1cdNc+`wd8MCRu(!k*(@vkBSd8#%E9(z5wuq#G8#W=m4L_)*fSG zyUof_<6@Fh(Z#!U`}dEiJIHqda^&$WXCe84KBQKuvT_7!r={xfJ;TyX9VEvd}jVBN-?tvMB z_D(%>>8SHFMh1Uo!Zsiz=${qM1FS$t$b0JmGHGGl1+)av&GhHBCo~XoM}dJl5cNn_ z53;;%XOJPAij5!ZD;OU9YkU-qE7jvNohF2W+2s~FW|&XJvEOB&pMg3k5Gnn7r7* zv{xRuO`gEH=x(xyg`BUl-p$@NOuO0byN$pOxBi#fiI@6t)$aQCY#8;edi`S9w@*4ak7@6r+&EU9+`J`K#PE4DRwV{(ZrtX)N9C_{y|^u7Zvobf zAd8;sKHh|wYCviBnt!{;%f@?78gF_*oOB#I2`v}BOB36T*Gir~@84;6Yvbv5AFr-Z z&_WR+mw_jg&s9gL5#H#^_eOJ3(G5kHk?<@((0ftVL7grBnUT4RNw@-{qIDeGQx*CV z-4Xe5d7@#z`aQtBss&yj>hSwwmNilBZ==Ki}g zy7lWwd8FD>ckAh)qW?Q+4K)3ULJ+C2+~wV+b7~8URKbe+BrchbXNg|MPxRn^g8*j` zOr@sB9HI=8k932K;9us+a|bP5mHzDyH(Z;_-?o3wzA54ar(N))Q}aEg-Z7W6&NvXc zT9Z&LnnDYG#1uj+{&v;_igrjbRAL)w)T8H9RaLR|>(C7k!_oS~odI7=76PdM1sjr> z(mR2A(3xoi<0Qr$v{5~&`KQ`uK>7l$vZ)Wm{PpLKvlo=MT7vg7AD{sDJ*yDI(fQ-J zkRiz`KINo=p@Hx%t@aT;Deo0$4Yjd5 z*R$;IPiuZ#v0Pox>@DRURvFCB4Sx_1XiQ~W=qe9vzCw5T)R+D^FI@}_ zy`Y!r+p6v4QMvtL9hQzEtM5jl_VSnls#c2_9u~{R%d{`8_8v#~0@KL{u~{lWkQ^)+ zx*np5EIR=C*UK_k)dwBKX&t*p#CfQkCw4DcKKFQdFNrQ{e+rWOTgHBT+~1{+}H5X}=P0rr{m>c~HR z4NRP7syvn79P!XCThbMW*Z;C=! z-xCEpAO%NvQzy(YX^1*tU|;|g5*HVMY%4-6R-=8T@NiyE{kX`K(2P6{j>$?n%dNFP zcqcLS#Yk-C@GZT7QvBQ8RxQFq-<KhVm1^7#Bi~>{3F{mJ@Zqvw!pyYJ$eg|97E^^`1uUkU5jND+p4p4g2pmyn5sq%e%DD{r^l1t1h zzP%8=9z)<$t@i|le5KWtmBX zG(>(?$$d3dxEyc*&B;87QzYD1u9x=zuozAUsjJm(v0JI=$8*?IR)TXc*ek+%-W(99 zvAm=6QQuJY`t>UNMSKh1e9JLR%IwzdvKjDFBw-De6@PbLEjXm{9>n{|Qb|cAC8dE6 zz=XzSDKW9eU?aPo?xHf zQxn@KZwcM9Rujhd(xlQmTfs}ms5VeUgrUvfyC+S~Oa~pB*MU1!T5>;N@@)LB z#e?0I<^cqw)5{*#eaU8^gtcT9Sh^69WX?6ldM#rR0jI|L z@yg)z_k{u?(e3>Uc=PKyd;1FYyN`aj`1oeQUH$v1y?E!kEw7)C*1Af|t{mi+k|QqH zMeL|Qa->)p(*PMtS#aKdg!~y$ID(P70tO`}6wi~tOw;sT_`;gCWD0RYJ)7PVCatQY z(eCmqhaED7pUp;+XmmhjMk6>z1Pn4580TGOL@P03^Ty9o89wf2aioZH3$hW+p`7*u?{AY1P_FV@jF#uETyC5{+ zVt0C2!Ov6YbLH(=UFx<$9^Sk>$=5?iWMZ2}x1mLcJ=snbk$%TJSDw?>o_ zICD^Q*PhHqsu38Nvn=^1*!c&Vmug)KYyUhBqS$t+u-m;OYuCI|z+K9?L?i*&v$zFi zQ!fsuJE9nWtVvsr&5SkeST*oGx*L+-<~1ig&AZ-TdcU9iKcauyDHqEEQ~7?N!Q zhq*gyoy+D9a~xK=ISgE5X!ibcZ)^_Z{DD%2ZzJ9~emGlVu1786koUtP?%TM43j|vg$o19V`@6joizrT!Xb^vsW=Vt-Bna>R zw;wA!_=-UquesBqs6h3{IjZ*P%J1KJ?MWwUJtf!G?f4lD&@jZ+S!l>quIH^U z=AUwDKcO_dtjO zT%g)Lm1c~8Hl!@o)z4fhW)ssK0*K6#(V#; z;9V{VbT@mYpB4{W(fd|wRUC&P37=4940(Hnw<&m*)|Y311s4%Y;g4j-s*eTGP6#l5 z9ANjYIfN;VIg!P(C`A63v2gj6jmj4tPb#uSy(=r4z0_yl75)eWR`&N|&d7tNat*}& zl}=FzR7WVNioxw+78ZmvM*_(2JbNIHa%BS-T;o_rWeZq+DU zuKFYUb<>p$lAmQ_3Vb?=*&_-*GZTrvyS-}|7-}bq^fu((X>3(n*Ro$zEn)wIVgSw6 zer`khML9$>1SlPueuEfQL+?`wLaFkw5D;T?F8l27Q;zzdcM?zK#a;s;p(n=%Gt*7b z{IONRR~<&SJLPa7LRfgZE<|=_5E?+7;EU#%E8l#cH>a+-_Dbqu^-LJOzF#^f9a_2p9{|Rid zM`Fg{*>0^VBy6Ax5&tJJt9vn)xQCqNIlEuq!>)d7#VpKsD3y2I2(i2zLibIMH!Jh5 zq>Xqz znK$`H{1G>ZpI~20fFL|T?b!|qUV}XagV0?{`8VA*IO0OZ^DbD`$49D~5kXQy391D^ zVbMAC+O=z>=m#w7qP=(Y94EjERE=Ll8{uE9D*WW}rxOh`fg?-RDdEj=xs(}8i}5hK!aI1tteTFSU}buWhg+2bDs#oy0+ zsld;)zud3u;11V`pEdag^zUn*xyGyF$3vIy`89lcXB6sf{TYvySaDoB9X8%E=s3JC z#MzpZAm?*Mh266hY=Uw)i}uk~zKmZAo1i{J4j%VI$jb8&G=oLi3XW6MP$F}g$ zp*{HIIfnn^djuPhHL(CUg+IBXN^ zpy^Fc@tc8I1IFq@T|*g{O?{J6%Qy4Un4DWiE`vG5GWUKF3r0x(xNqm_P>%;EF7M6P z7auywG4FDF-^O~-)sIegDwvTuqBMlBK?9NKk<-ZMg9HNn+tOK3j$<;Cr0hnCB!;akW?PzJW-C%U8lOZ02ay6cedd zIh#M`B@EdECoy+w8JJh9LMAkt4RK|x5^L3`!B^(?o_E)~cl&i~`a}k{7(&kYvRk?k0eRzC`ucq9*&bwfpk5Lomy`3)QIr*wLZcrxf z=WW-&+qQLnUkgTa|BRb)>v;(~bOs;>Q@9_dzm6}k4;3If$Pa+j{DTW3yn*sgsbH@^ zQ~l3>=9I9E%BWzmdM0Pc{0=ocsF+-R1{; zk1vv%nm!Ia9S9r$C|C~SLcXx$U-s|+I*O0j^Yg~YRQ8`qBG$LVl~DD=gFp&<6lL`N z!@Ggy{pHy{Cd2wUscz`e)+hJ*?@XcC<4L4tPjXcB4a2+F-l|?#HM(Y7`cKLEV(hw! zt?i4TTD7O0n533tqO7*TvjI>6%GVRd#;q`9d?o{ja`e3@7TqzDnHu&_E2W*t`if1 zL4VchJ|C;X>4g`|BRCX_oZiIm&JY0sY?L9Q-dl2s;35h?p6J5oLi$KKGQlI}`J5n# za=nCrL5hH$3inIEavFKR1xMuAGGGJH!~q{1sit=Y;y#@LN%mVJ1BBR5;%}K3SC)zH z%Ms^t(~w;%v$9!dRV)u{->FcEZKdk&d&qFK*qTRF624wa#mZa1%bIW1BllY*G0bD0-cBS1%#R&V z@c1LGq2{M=Sbq1dX63I7Xg=OIXbb+0sfK85-stznv$H<*<1x%90E640X~8Gl7KXoJ6KP zaCVyC$Kc0wJn_#ZYpC?9@$uhos;<2&b=;&B`IqIVeLrvJObc@4X9ino4b;=H!RYr=lnxrb|u)cH}8W5M@#<1BGu%2bbc%4!;08`~-AC#aEPoQg8(lHj2InoigWI z0!lJ!7phP{A{$+b;-i)dw!}R*l^jY>XdV6?xNQYr+tv>PqJ@mFE_j*U+ zoHMV+b%y^9>rB-}bE_tUt?w#?nf8+Whjv>!CkuSs6!c4?X@sG6`$Y*i?D00^eleHq z^7dkDfs;l>9D0%x?qP{(mqqX|1oKCmIZw6WN1OM@HdikkNb1c+LLx#JCmh>on1dN|SfA|9TO$~Om{GYh|Ue#W8s z7pyYEJ44Iv{Lmt&Iq6yAhOAT(nhc<;_e4-hL$^y~SJes&dDd+R#?$FD{WcmzdnY{AGmfrpJUzGOdsM&eva>>#C2L|E}4K;z?G%4d} z=0vwrF~Bq?V6g?wJk>bqgp`!jz*Y1MA1igeJs6rfjgLJj90BCiVPheHk7W z^<<(?C`>$t$m8%^J)P6KOiBw`8a=#6E@zFcNCF1oSb^!$42?q{KAHkU2PM_hm#Y*|@<7#Z^PEga(R z@@FF{Uw)WK#DKowN`#o39bSfY?1KVI_tx#gXTKA1lif$uoUNq`}vw3Mtd^l zJjPrhjIIa~(CkGM>+oQ)EO?1YoY`ypnI&bt{~cfLjHru1xs-`byrjvvCVTJix`7o< zDNNT39Mflurxo|ylc&1o^2PW!xYo3qUi@Q;! zz2^x&l`+_=;1g)`s{9aXH)74@0L{9o)3fINM-F!${cLlk{!LDS_-64fpEWgoadN)X_2vAp2#EJ`@Cq;&1?#;;K~Os$hKGl$<(KEYkN zT~#V*H{hGq&yjQuvpdC2B5;k(uZXW~%cuEEPFzl*nWwB4@$d21TjDVm#1D>s)xdVF z+_96ZQ$H#)mRa86f2oAWQFT#av)YI@$g5YDC72%+DVQG?*@SaTSoJ!=Rl2rNJn-S> z4kC0E8mF*d+_!Av1#hYaJ~Wh)Z^#*;_N()r*n6WpN(E>FS6Fs+x>46Nv(;jHYpw%9 z#fgVY)!&}B-FK4Zlq0-uwkcY7;V#VPa63jR2)67`p00s4bCl}^4Rbnbu{nPoozwY^ zXB(T-#MgMjoiBIC;06mO6iSC(H>~ho z@iCb(DiwUA(@L2tUq{4eO3-Tkl*c0$% zB}mTsBI@L-VaSIlMRv8+AJNSy0srs#v+uwk_-is(|s&k2R**xD?r!sYOvb;ok~do_^q~2}mTgb^Cl+ zPD(WjEx5nzxLzV}SXc|~frkDkKipWHP)Bi;$+N}t-m1^+XdcL$6OE6!_h>~PFsH&M zydknj#}bqKW()ABre(Ozo_7AJtm3m zk#xPK5+uMqKIT3@-dNS!_E$Z4LkwP?bM={i5`I^(U8~$k4RpO^cI%rTLrX@n{;TO# zdfV>ssh930yTc3*Koud-K@SS_V_oZ`^~Qq!o_Z39g#>C z$Os#E1hi=+^cl@=k!w-fM1IrJvFxjM$-tITSiy{xtOEXCO-)vrrkbPO?);>stCwF} zw72qcoKb|AXOb@aN4zAH{H5&Zqnifz+8$SQm&HFY^3^6KIj5diWIeAW()C41sl9wr z;qY=1zgDi})7|6~M%lVnQETUDE-3X9OjmR;4Oq~{%tRKRKx@|Ke<~SpT~W3G=t1

&KE>o>eX_e5zx}x;(lXXstZ^mKdY|<-$*9l9h7Oi++&QHX_X&x*fIDcr7dp!9)mq0!!!KuI-7!LK$w| z41K!SqueTS@N3$W2iW14wl<}zZTNC2LjSy@C#K+yhrCJK)15A>D^jr}UI=fHsJZ@U={detHz^x0!87*8Fu6E?Z*1tT`d8|A!J9s0 z;!y*s9?Z(+NF6GLw5%4TzspzUBySQpA(!>+z*TW+Y=P-)K_-g8!KZ{wN*Op=24<(P zO0Ink-tTty)x^dl(k2)CTt8{wc*k}`O`hYN-qFlb;!8Iaqhw zWyfM|m5q}^t>zdOHJt*b7HP7L{iNH5&VI`DJKf&bgS3|Ya_Dkv4U5h{Uz61SQQx$~aRYkkU-`rahpaFf0Vb^T$sx&-SI9CKxmhVqlr z@gZguN%R5d=ZGpN#`8RGuW~3-pFa34j?Ct8x{p=A%DWeE>+&x|WxJdSV0%F!EAM}- zDWUzS{NDU=#-pPFv*TVgN^wu_8< zQdbJCB;cmO%@=8Ba^15tf31aSTwx>q<$a`JsVb*M{@35f=}AZkw6Ad=)fnns_FLN+ z!>$>qm<-!6BzG>iR?-$qWvM+OoSJBT);t!;rB1yJLJq~5d9S!PN{RRozZVUhpyWxf zwsXz4HP$?@iXFR-_M`PM)dr?sQ8gfz{C6Aoz-|1G0tpK=NU^t`v)mhbRkIcrKWWzA zzI$Nb(^~Cg@cy&D=i#tM*U{drn*81#=YD)XmliXo z%#X2FGG~V^_v=gh+@^J?a){4OW2mmiewK|s-G)!>M;V9Xt~Kn79g|%ee{aMsX&pA< zQ}1iz&aKy-S z$`ZP++%YNP?REaiOj`mtp>3@7RSQ3F6C&y3ZPLH{*#`Tygjwh=tH34H?;%MUGirKUUj$G@h ztO#7Wx@HKv^IPK6692&+VeT9ijBn4;#uVp(;kuf$yA8Kv4qvqGO0nOj;3sX_FaNbj zf8n&RsqN5j85i$oMpNAF>R9z(lk$g=Rq2R9qGt6}9VQ{$+z80K*wFsD_T!s^FxSoA^5v8t7zhSK-uFUIiaQF(Jg%?%3yBCF_hRmmGC3bGtp^`mSPiKP_pp_Y(q_rG-Tzh6xw#=rbE03nxTPk7>V43lF(3OQ%L@Bk zuT5N5{k$;dgMXAjvh#N#TQLA8&PV1)UU?^Myic3@?*B+S3%07dEeg}!EiFi=(k(~{ z(jH1038fpPTN-KU?k?#rN$Ktqq`SH6eD@FVoXy^A%^LF^6V)d2?9tofAG^R@Z2?gC zbU0gp(HoHpOtcM%MzZm8!%kh9Xt?=UJIlU#Sj?^Xe3vE44#ouGt7T6KP^4=LbD@`M zu`pmWNt6;4c~4irmeIh}5$!v$HTWBAs6scgehiS6VA|pu5{uTFHZ7))RS4r1wgwM1z-~)Raf0x75_E<|NL02HH_nL!V|D zx-J6au30*XNAL(Q_kZV3GfA;*Gkp|4n)nx;Z?(^V3?1r%IjJD@GsA#>X2npCZAz~j zLzkE`Jwnh@1|vH(?nj}SF}K5ooOmo~-PDP6_IwOsSlbt|2Xw;KkK%|L#SL<=8y4#B zKt7Z)GV{T?WWYqLXkX@DYx>yJ5wY{+qhGbKBQ0zG^O$;@72eQ4uJ8 zsTJ(yfU3c_;EflAOcuJo0tzZ{XIG1JR6sMVc8xTjFlG`U+OhybQbj=s=gUsZ%~ctA z7DSCt#GjADG^|hc@vqP@9a=LWrX!l(e?}j;ZSOWQbqD9P*!kngyIA@?{&HW3^6YIc&!0%#> zilc8o3Vns_`8Ypv;HYrq0^b}v>Yq_2eH{4=rGRRj)ghC7ASGC=Keg54M zD!i2nb?ytoc(Gya4PDEe(J}*Fc$jED0pJ&nTOn-x0#(HTN{Q?$ z@$isx2WG49zg-pX)qVrwFh%706gCP^?pp2B09`= zz(2$jG**QEu<+B!*rOAcUJ zx_Q3@_}(?NGf2FH$%5Wx#Sx26mktj%Ae&PK175ht@M(BSg^*@2rp#BOe&#U;6SsJw zn_1?V>^+X;pnv%v*>3m#PIWj<4&&ihyWj!8Beb&OdeNpB15w8%_Y%wA(Ok@>fAJBO z*g*&dzRfrWCZp@LA&3+dY}G% zV;T|Z;;ZiQ*jE4Td>n$_+KW2~xC2l$5a#L+z#M5^gfg4-h*`j};hRyF&xa$Ge{hej zf8mBHT$T)hcK;)^ja3BZ;?X@o2V(x;Zo!6t`<0~&T;x(#EOhs)aUWKJWisA0zkN## zxC;IP+ZMO^Tv9Sp+Rbuy>TbIqSh7LyXRNT{)p%UcT*ekJbO_pGLx`Gyf=j zGQwZ(-w-)$sXGQ+)@!cj1_bVbwr3$Lb$O8?f_~}L&XmmT`BNItsHHw{{#cMyLue^2 z=KW%IWl+7NMfmYM=z2Ku=bQHAXG=ilD;r?ZK9HE)|KU!cBLdcVxE+z9N9Dx(Y7|bi z`s`qX;poUZ#YvxNhFD7{RG!JIN`k32Zo*6UlX+NOEq`xagHRYN>%Y?G&oy=~F1KF0 zt&Q{VO=CX9yzfi*cK>Z@`o^LE$aD2PeOK7e;7!9L2wGjnQ6i>?y7uP%qW}*SeW)XPs8|-EuArH7yud^@&y|Inq=glg!12+733lgn?6aB|KD*~4 zf5+oaU}u9t@ui%GWCy7zp+Z{2-$NtE3ob$=*G8jBr!Obx+}%9ghKy2rty7hj&xKb- zTpnm>4`wv|7HD5RRM*z`imG>$*ceR$uX@4Kdt6Dptj5YIx}(@$ZtMwAr43w5;UJ_) zN}KsnU)X~UBbHNUdU_=2wnm*xf0m(vP%q0H5Up`54k~px-LItsG^~2<>K1Y5E2+wL zJ>koO18qp6hs%A3d;*MlaEHX_)$FHU8V}@hM%k?r8#)HuH?0Q{=zBQi+9Z7Pv>;wt z)d)3Ej^i_B*^h z4niQpuPCZv;!T6pKQB5UN}X7LkEBP|BMO&JNF|1NX>yq?9IuI!XVgd=N(;J^9X_`# zU1;Hoip>2w7#=~?ygk=+ZT@u3gM&OXz^}X#r0;38r1FNR2YyvA9&UELfj=oW{?~g4 zv+YuNZ3`I>4T|y=M)XwQ`nXt}=7+=+jK~+aUZ|T$T!=6B6<>zsWjeB4JKGboM*jB$ z|9$tNL-9kiHru1t1^6~r6@Mv1%fix9=*A0##dVM09GSC(!G^X8%Of(K9jAg zP9G+?9Z6gI=*}mYD!NwIL5q$Jsl|V7c&gsfXa@hMbi0^CHiz}6ugeqc(BD~HO272z z89#oUNO!+6jo$yZaQjc4;BH|Oq*~^;DlNT7%)WVHPw9>EL49)pEp3?CWa+SLJ}+aInhp*^r#cR-JWgtAX({V;UdX%#wAl$wDlLv<-qD!g@G2^ZMpxnS-!!Th zb0-V4JQwEV`P!Ys@F~e373tQ9{=!XcFA0$hTB>Fw*;S~rE(%4_q%FuPAtP?r^*hT~ z%=y>W`sM|GS6>4kdYAu>X0?Cb466842~G|A82czAIRE zGEg*gHtTeqTum*~#*aBN2m{=eA}QM`zSzukt=4G3&s+GK8k;4}SN?>PV%;7Uq&SJH z-AYHJH2@Vl^O4VRhM0b16~d4)$;K0)uCHZ>u~+~1vKb{i@DLbwfaP;%f2_a$p*bgzObA8;=hc&&fnvTj{PND z8(q4p@S;RkqHp|!3tqWC<+sjHbmoT#LZugWE}i-RCULf`0;^k&*fSleqU%TpwBSER z#bFgGDJk|`^2DoEzDF$1ufn6E`oZ$lXJ0k&pM4Ac z&#EpgE<*MUOilCc5kM>(U1;8l{^L{!bXraVJUoP4ro-Sv79duDbgbKOCqj0ZGs`Mm z->|m8`Q*~Q-M6QWqxtL zm?*W@WL%bFH}i@4!%LQb$eFIe^tKUk(FA3~wr4NicENQhh;nQqI=q@K)$;G_lZJ%0 zgUZYGn_N+SUKUG+F_H9#hubmlKC!1$Z19;!(O;U81HTW*7KBR;feAyuNmC2TzkHnN5k-b_{=u zI58Ke2)*8YzX@~gK!3X)B`;xM1wx027Ub}zH#kqaJqq2nAA2^xYk4||Tz-V-?F!OJ zTKq3ua~slIPd8+$k&$HE7rih}!#_%D@Cng3j-tGhx5TD!=$*YHbDPoI@i$9v*gQh{I7n<=~4Pxa6 z1qUsaT4piM;^u$flhCef@oPVn{Q1a)UyWm7PkMTO9S*&=38y|N8Moer3iu0l#7mm z0s7M;AMdYO?nMkk=qWV)0{xTsQkAo(rn7Z?hjz# zgKTs<^>uZei-q*$+Wt#?{_bP)VrG|Tv)+a|!pqyT1$(8D8<$tfg^%?7I@7Y>45et! zZ*8Y#e3>dOg`m1YY79qwsjHIZWi$T7atjy;BOoLH_d5U#@wfqSL)MOt%KO5QvCd{7`Do6MhJ<*9Wv&aWDiyBKKJ&+x_ zqi)Ith5eQPis93VJE-6b!*kIWyyX4h=hGkaPn5k!Bbe;&VKj%KW4U_}_DB-^*Z)i} zM`W~p^6UDxIk7xeF57j%Xfp?&rmH)bqU$%&(*3=B*>|of4W(oiJ8?Yj6*3+9q4|KY zh|53pUssAUGQrGrr4<#y85tRa-DfA!sy6an7_5sL|t87(3?ie!J%fb)o6fKS0jvwEk-BuN7tlUui@IC-DLClG0q2- z)M|;C@gEHc_qqkt%|ckVc2eKlu_J#HVC&obl#S#GOBe9VzKaxXPr*C#HS;!lgmIyP zOW1aGu@RxXubTOLP5c49$6GPVS48EbN*KjYslR^@{AA4VP2G2B@|}@&&Sv1ta=xJ9 z7H*qV!m<~v zVwSba`%&{V(HNlm;oD6^G}eKhSK{;MTzma-YYxpwAnz#hK&b|L9Z9MApqieYFIF&- zr4tAx;T1kR#XnXPgR!G4mH&|@wMaISx+V+7>6i0v>>UL);&0**8s+#-U=3VrVK$uk zOXRGs)^j76Db_}8Mx$sZY*#7pxVq@C#;DkzXLByKFfOr^IUJ0!b^oAYTLu4ZigSj3 zTGl^G4q@u1Z~_)S2UI>2o;mK717Bp`tr_paOtd=7x~3LzeeXOvC~pBW<85wY)_$-- z;xEtMD5?7dcw8SHNX2miPNktCC0p6fd2gLMl`h~vB9qJStjvF*y2z+P!ip)pBMZ%+ z7pDlRoV4t^`q>R=d--(!k;slSdx@@j)h-&#m@(9w5o9;Wv0S2}U-Y(woSvM6SSRgrjwRxUvIM>4BXzf&dC1o9wJgt#V+YC zQ^2g25>MoxTZpsS(w17cP*rAd{x{O*X}lwMlKXX7KY!?j-+K`MPQjq6P;m$r7FMpu z=%m5m1;3XtShX$0R zq-1hLjTg32LbD#4-)*8UoHkvXzQ7(G@v3$S#Q8u}v;r~7_;M;6NRF(JWEB;AvNw0S z$Hr#m+%4~yt`rbwcI!wUpRy)%?4D|==UDdV>^Z5NA{HFvBT##5lwvx-5`K#NdGOWECnDv#oQJEX4-?s_CjiAJ>Fqy7gTJxeV5`al0L3oiODU3PR* z7C;Ue7si{LV5`m}L)Cq&{8w7C>v2C}?c|i@s3|b-#mF8U$KdouY^IC)O$4>U9!=7U zoKDUEs3b(ftK26ewH<@UUSGx*RiPNeK*c!ek7#d0n$>+ox1&iiuuwtwdNv6hKQ@ze zTaV44o4>T^Q@*AMMpyZ$HJcLF8-(L8c-|<#{#HgsK;Nl710FmuunDaq(i_5W|77ihTp$;y{j>*ZrdYOuCrDEs; zFa!u)qPH_sBDQ}9B-|yD-0xSK*d<$l^qnVhdfmoXeN*wX>E>QRU2=hWd@aez8;%<0 zf?Txbn$Y;YFae%^Ma8$~ncqWa{JIDcOP_Q&r>XcjFoM|7H6f7chLf|BA8xPYA4O?s z$YUoa|4dDVd){Mb*D0`I3OzHJt^YtiuG)WE+`rvTq)MPEX{tDpS!rg4?eDo=csw6s zWbE%0X44-VTg2~IcrWR5JpN`!ya*IKHR|xa%`&ql@#PT`_d1L zw&FgPcq8AsmHf`#($ykPz^V?Y6mwxm@BFe?kGm!s?c;PCKWlt=r*Lw1(X;IRgwNi5 z^RR*l6Z*-!`B>cJ<~Q;F>h+S7ke62@ku59vcC0_9t8J^@{L)W+_>(OGe<7wr#HPxm zy4m?@L>E4d_!?pg!C`vbk!cx+nloNlioU!=(@ip@51*}P_OyS$B!*Ar#D;=!%)fq> zP*#o}?2hRb8nOd`RWN=ReG9CQvp1%h zWL{Af8fEH7rDgxxs{U0sRAuJnpcA)1{F-LUMcZ8*U}tnvLL1&L-eQCYE%Xt^H_k3C zls}2^FrndZbV*;iWx7Htx6O+TV^6R9Etgt+rZ(M|vi%X5CPzZmts?4@nz(7-PHWB`f;H>Nczo?=}KbL-x|$42w7te!#e>!OeI+e?#GDJ43?5->BM2Q9^RG zA?Hu>RU2#6)P1^}bb0L-^BMPY_h(t1t5xC*>QwZrq188Pl~wx_go`fa?Oz)|J*lv!HSwE0PxZs#_CV_5lzJ)DhOpS%DaTRc{H zd1R=S56C4;mR|E#;Ub8WSiEvl!XYPc?ztb*f68Xhu$9H`i*1CZ zQjs0g$8Sl&3LzT#{Bc>Rh+tuny!L{Tho|w{-c2eGMU$T2CX{MrNjGZLOFrM`u&DEx zD5!IG@^xy=@X{x4HdOa&xo9=*h=*!Yy00S{ah&#ijNJ=4`4)?QWIhXU)WJqG*xG!v zN2BY@`s=(__eYe}{O^Z`lRc248*DY{7O&vO#_8zj2H8dq=$Yth$pO-p1L~haSn!s3 z28e784t4PmI#HqB0&;@#(Cw|Q!Xr*V#><3ux#W;t4(77xcL>TSCMhhdwcWM~hnQ`0 z>hHu<{qQ1pw0egTblBVnnM$lXcKmOdU4roY1J&?xw>SjI>m}_xk(raj8RlZUL=69> z+AW|Br-{H1C19{W5huo7=|zTPPz8(Bh|xSQRSC}{ubS{(-+Eff6N?Hf2M?LeD<(ag zXYs$WkYM#_6{!;Y^^u~0_h6*cP7QzB?&}mnFMN$xu@#$>_7U|Eh65jl_YYrP9B&V~ z#TI{`3pH++nE=9tb_$q;D=s zK9zCiS8l_DYG{KNm5;Vr``iPg`sf98MHzlpRcE#$<H29&+ds?l{&R~g=zvHhq?q4JZDqQ=ooSK-hlM%P}>$30w?6*Nscq`t(6`D0vSBaq7!Z2k!Ln%igrXkw!4Y zn{FNpWd+8j=9h#Tmi7Dz>w=1$*IJW6+$^Z>L5J>7;b# zFo=)WSc|J+mw-6&l((LtJ#1fzg?FbfFbG@gUB7>U_0e3*Dd^$2%av8Zd05dc4{|wY z|6Ot1+SPr6DLLS+*m0GoGS(r>o5)bDZDeq<>LeMM67`lQX*vH)F`09fYQobdLTZ={ zB*ekVBvSkt0-A%I>i^wWb8fc4ScLiW1BhIGP?a=zRVW8uC!h4uK9^4Es1sC3Pi8MO z5Xfqw<&swfR=I~O%~L9A+&c_KYiVXZQQ&R`-^SvvtslKwraFwyXitpd5zx-8i>wGH zT08n`9J{uTrdeiX)o>ANQEAn09e{wmxyZ31BY882-f%TM`%~ejAG^pE#Lmj7Cd3Y`QLNqODS###-mJb&FlspRPM3gd3O-)tjvOmzI=MgW&5z;AtP;;F{Mdo(2F@TqxU&ULuQ^&fYtxy7F|OeRxkzxN*~ z)6$>87VK89${{6f1ZAn{OJ%olG#cz`u`j9vef>b~R zEZ2}da0Y->(E1*(e4$*cMq0Oi53)FlWo0DM8QKMLx*9kRgM$o{Q=9x$r!?=yh>IL$ zw-kwsn%GCWJdR6J9+nMp9vCKCVE?0=};aW_ff-Tmp_(ZSE|`n`(n=j2a|Rd(Lxcr^nDs8zC|XjLm%;~|h* zHT;@t4S1(O5c7!n%3@!pX|eKbWd~y#U0Z)8%gfA!0WAn~5Lbb8KN4(=kN@`${Xtm` z9uLqpx`3GM8%KugMhJ+h&B6Z5K;Tr8shUE5P(K6zbMA>NI z93XXr(45AGhXaCxt+vV0{MJbRJCX>!ENB}2tDv9|#QK9t8t*u?jN39_GPkPte=FPXp`eoLVjme*dR_5meM}p5( zW;U7A((xi{HOX+QFus)j8Ra0TIrBykFWJ&YyCab z`kXCT`d$MxtKK*!wMtO_xG8{G#}7?={cXY4|0bx6dw_pVmDw2O3+`|{N>VMOx41*h z{)>^k)GidZmHl5J1q!7y0VQNOF5&c=Dh+7gec9ffh6=o%z8u+K#jsHNUh5^0!`X5? zHq7uwWp#nC)LpNXm{MT*3T`PFuX5#a&3NhC{qnvW8^1H9p67b|$yIg6kwyK0LPnyY zSxA-p#k_;D-CzI=KRiKIJtgzo_mI}R>yHVt{fj%-If>zC*}4#AL6uYU zcN8syzZ{)8DC{F>UcdcXY_;P&j}Lh9-9S`7U8PE-hA2*g4sBr~`{+8EFVX|f2Mv_P z4~pI8*p!qouryXY1lGT$%>VMo)!9PsInPT)XT9pb#3tje6J~B}s?-{l6FyrZGwx15 z>3p2#bNK2HS}?d&FY_p_q!pdWBE36ZjofdCVRXdA2FejiIoh=Y$*iAZ?Jb8>MG0+M z@5mn>A4^+)U5zEDnl3dKPyD?`$M-nhp_{QFeZ5kdvpo|IN1!pY*oHquz~d$YGPq=+ zhQ)^N-1&ff3c?z^Ncg3`mGuVqYwOQuW-NT$?-|k%Y;2BSdw-DG1=fPf^H~JdP<%&< z;}V*mLHmCv55@sW58#|%(b27g7PPH{!vW4xRgkV@5?x=0hXQ~hh&W@br{xHgVtHY0 zS;I8l(~)5Z`)E?v^_%o!`B`5PW)5~ZhiZJ=AzU2p4{lY6mRsYjtH5d!f{g zP`BFM`EVgHHI;l?JQ$vXLp}k`$q80U2xO}9hg8dtQVNqg>c5A4Dp7fVnwdEN>U?Z0 z{EJ($qY(biBOnfQf#tfKz1!hagoFJ`BR}bD*dync28Sy(#EJTDBFQPAhTEdh$ArkR zAJ3_b8xkXXKe_LpZtZC2tm?m^MR^wHAst1KDrE~kb00#r$`@Lf-7`l-`$fsdW64T& z>si%^GUhOt<|K$iV)0u7i{`C#sKTcibY@Xyj=(`}MangsA{dC+G&NKLVBLRAtz zMaa(1j!QC8sp>_2J=~Kd;6Sgcsw(YWpcA+QqZgvi;u{n*j=8lNbqFS(+H5eh69Sx; zEc$wjg-;?3B3L0YZYHxjcg~c&+t*I|2yTrVlS9Uq^{G9|9rlOjJ!9oflul0FESrR| z7OtGMhkn08$Ct)k827i2{36=rqzWsnLeq@36dUHL=avlxE2>K?52&Nh;iE6%mEByy zd{{_^g)29SkjHZhoi7y)%$Beq5D4C1>z7Ht2QAgB!GsB-$cW-+fC@c}LiweoAL1M8 zYHQa(H?dFGW!VJ0FAGV&d78R2vNZ#4n za-N-^uOEx?zQ7&rD)e7u!MbiJZJW}LjG`ar<=-=(?fCmsn?W2I7=0~k^$sumMT7Sq0m`Iu0geO<7-y@w8?&RqJNEY#N5O;aLUtB9(2k0#Gx zbaizqZME^b{K;$W-deOKJj=cgOLJKa@BL77iUv2KVSZGK$^w(IhKt-(p;;wCewecb zI?!FfeIk$jc=4B#({CbB>#{)~Agybwn1yS-Lwt*oaMxJoxipNoj#u5&Fsali<=rpqk z%trghy>91EF`sB;QbbAf&cK8`=DV1n2Ygh=U#tg9$q5PhM9ARxWo&}Au>be2V4zo? z^WZydkpQuWb?lSNONhV!iLKDrW~;HzLmdj!_td)TFIar(H+fG$O@sN0oj=)Zds8^i zL4Xc2=OmeuTKPFzi=#d{;uS_zySIK2@vj%i4ej1vxM?0OH3;xvhrT^%{_*?NUd(y- zctB#~;duL}%RgrVG+rc2^Jko0-5QMdh6!%m+`E|8E&{?Nnv!_-gBT|N%bJW#;o(2) zyw7YlaRW6b#NlPr0>3(-+*`u5Q=^OqgI=pa!93jF-rm6AU<{<}6veuNV;q6STC2o& zbmoUxlFb~*mcZQj`}Su7$c*7or-ze(AUDi814H4P7oD#g{*DM+G98euQEnWDMtKW9 z(a;6+r=FQ^zJ`}B|6ThB^6d2-DhkEqOR zihHeS3X5oYmZuU4W}WkXY19(<=QFbaoyAabu1gwB{Cs=I&cc1s|2R+7RQnA5Pmf~x~$z0a3BzsO$L-C zFa2083QL*U5sJ?Ps-R3)`J?J()y28&K|@Aigu8EszrzW3(*p#kUl5k@Z*P<5tUlW- z!jz{ARl~SoscEjvPE7>m@9=Wh)n+&5DR@Q(!6SO>DrcMT8?6;@csDgSsi;*rp>JEk zJ+$2O*WOSa$-778gwf2~W;yiDE~2-Irk`By?9jnkV~-r_@;{duao1i_Bs4Wk1UAYb zhnF^|=5&+?q+o3oj~Pi;QW1T4Pq0h1w+|zCWqxFird^lZ>>_Dv7n0`1km2hu+naTU z1nE7b)4Y8LN>*}{@^?DVwbK{ZU@Xss?_y;5VZFDCu&zoBv`$Q!MGyAVAbym6B z*sxjaY8hSJBP(KcZ%Ag~hCo_|&)Pbdm5>w*(uaUd?d0N*7xVbww9_Be%ym-(CSpyo zU5(?J^2YXy5muEjzl11?plu@-%A)1aY$lpQN*z$cZTf-0(MZ zTSjmczkId#DW$4a?T%S~*#3T8-YG=X>+2Ag8SnLAf;Ern+Cr=cpyc0y$G4`t3kV6u z|3x@|!z7H}@USqoqnCVqFO)IEk{{BAOE~_d)c^~{Rtlyk6%jY}A>Rf!pA?ig`D+MX zhv}A6e05!u%L)P&a2_T+i@1#z5GK8OLmi~6^}N?8*A84vq&&R8vO~zEO2m7Z(I7z* zz}c2TczKzP{wf^uy;<*QZeeCcCduN96_v!)hQozlMij$?M@wp#m740Rulx#|xJLVr zFNINLybsKTE0mGXq!_(FvgHm&W+XS>qv9r|l7I$RweH;KK)N7D(`_3#LFsh;`E4?+ z+4lusUYSM@EfA#QqOT$lWs)T-toiG-Uk3mTn)UYSQWvj`qiMvIM@PGJuVQXLf^ok|Z2vZ>OS zu<_$APhIz37B5Q1jj0*Ftokgic(~-Qk!h(AzMwp30;hvprKOPojU{BIs+1a~%N7?ITynTz$&%aa@t=M-P~P3% z-lAat(qXKA*9lR_QpUatsGKE^fC_@@tbH*I%+eumYw511)&-(J1%>DsTBwpSG>uQ->eo>>@Ir~{On8z5-sZDJbL2pWUh|m5nd2 z+g9YunOvM$|0PF8W)`C?hCNf<+$E9zX}ZhbF|PXkib8l_s-hUf2jf*(SM=zvk|l2I z@HOJAy=#JKh_xb&4ozO2ZCFA&_MZj0xWbq5n9Qq&E4>vpGuxG-GPmJfgxI*A&unRr zKB-w<+{ZH9Y&JS%7ZR1aGx@`@!Q1@m9 zcbx*`gD?cYhQ1W01#ay?$6e$He#z4}Z9A0WZ?>zZbb~CU*Zq&->8{fY;H5 zT#f?NCZ-VytU;MXP&SAixqqbHo!`OoD9JX)%nh-8Cd$q$gST)t$!aX4coI$58qpVl44YpX1w%o`$hkMi5SqA zhy_Tp%DTvl3kxRz1Gx?q$bLBvHz$T3Ad>Stk7BSI-;Q^V`2q<>Uo{BODa6I^OlkVf zkdm{by0eXUf4^Pra&&ew>|P-Uoq+D;5yBy}yslLliA4%jEV4lh(jQk@1m^#6r{uZRhmdU1B2?Kz|v`}X(kDK-2nH36goCEOueJGx)4}g}uQCc%v zeRYK5JPOV9m%jZgL&3n1w6lBd;YlF`pPTmv+xy`+Yw35J-rrx2PA*A$J4P8K(e;(I zf(C&djf*nbRt=e+W8vH_8>$k65LZ|nZ7|5r0tRq?V>=L#u#aBzR@9Ozh%BF7VB{yA zQ0rW%P%PY&npU#@Cc7@LjLOt=C$78;_L$}4&dJUfZ>+&EWHQsVh4F*;v=ZbfsV>4N zZqp5q^vWoLQPQw%5ygB;uRr`tc5Hkc*&R5*Q2}AEL!6BHxL0qWRZl)Fqhdnw&>~`I z)Fh@e&q@!f2aMzWPoqMtaGN|DpnwC)MW5y`!Rw$?84fIo@C*$NzZy>Jxt;bB+X0`5 z62*na#>TI{>Nvx`ozL;{@x@`=9NxF`AZIh6J8*HNM^WVFgwnmHwxN4uuX|bc{}R6F z$l~~zAFt6#B;4k=aEFox_wqNG2LCGD^C?OBMsa=oTSX%n@s36=fG{jpO?8a?3cBc$vJPSWhv}ox0x_wSndC3K)&mnZWDonGIrxcct|<^$q5N zU`j@syr{hVr!?7&T#NseVZYDFHasyCy3?DBmyzBl8@iNd_i+2j~|F&hxT1v8)yZENmLBQ z+e?gvi-Q3v^ zH76aTkm3EAq|`GK}n_a$h+WATN3Ur(y9DPd&MwSUbu-XV8RPU0u(*rPrHVf6-}RCWWk8mx=U&lu2i zqqMKZK_J@&2TNTnN??a%I9-Iy8B>EU%A)|Wl54EE@hi}zufxA$pJ+m&XQOnCS8c4Y zubU8WlA0@fUrC;dVk7V|b1(tUqm`43M;bvwC=e^{Am%I3Q511{rA5O~<@N=<wncQnOfd!xqQT`Af_0~%( zLQvF{Sc67HH2WBHN!aJ+cAH#+Sb+d;Z2AP#*x4{dP!Jw zZ9cE_Qs*(i8>(+Eg7m-xa5eew4{H9?z|EmTdkmOr+S&_bwr+=Yvt8^(EEAx}CGV&z z8IwH?12aa!vW-aCr4a{oPU3*WzDqoqPJ3nYCC^;V_>T>ZO@+T>wSN#DpoNlX^~Uq- zC}*+b?-Sb@ipxe|O38MtWmho4ve0*6im%jbB-5Lhm(C5~Y!4TgTS#g_D3U)dd}Qbj z%D2C9b*Eu}Be`v&^=Tj*-9oA8)Tm#6u|%rljks$x6+MIGnt_)9xNfK0b0l7YF7u76 z8)NY6sQ9J71EicBQLAZ{s0+@+({GI%>7~biLMq+nHnXCyjFuXw&|R|eUCrNsVIGhN zE;M`(`{pe9?VBL*a|!@>kfJ1L=n>~ke4S>J3h+H&*Urx~o<067@^Eug3kbXz8Ic(x z_+U4}Gh2AS30onirKNSVN%j04pc7v5^J{J+TmU3o9y) z&lghAh8LThSiH_+GYUP|Ec)9$0b3i%a~O1Jq5i7;0FI7>kDqhU^W(=4&3elhPe8n# zU0+XRJObPs;~2S32IE%7Fq8@pLeGHkIVZ2THm4(cbX2hgxRvkUas^Bb4WZ-W;%ZiZ zMtuUe4dxvsXLxJ{lfI3ru5JX-r;H^DIu$Q~#TdY$3kMb>0RaJP#O*gy$A?F)*Ls(2 z_xJZDoJyikV2fzv8~GWa7O$r|jP5O)wILUz+J|amT3GQ|_lmZRjl#7&bd;Gt-cfbb z^uuE-z>2mb4m_AjZa}2VkU5`8*Rr2s+aKWgpRih5Tam&>8{xd(bK$1)5{or%e6w8m zc5(j|MOXaA?e@OCl?l^m%Z;3*q5zhjof6_z+ZF zxdxg=E;I-{Qm1`xe_+Yx=VrX8lAvEGe1{%u2Qt1EZSbQve4MwI9YU@*LgUJ4mfnc2 zn?`H;MIE0K;f3`2i>d_HHtkpKHdGB9s^SuiNjUbQPc~8MF49pd|IBG3J9kB zh62sAlkshhe@TW~_(%McZaTRJ^4g-=&|}^^ z+^#-973{p<>1agO#~+otdGY5s*nx0V3&C)y3C9a?|M%gCIiw5?vyuZ+{9;WhVVIh9 zoTef4Ht$|i^YRjb@2SW_&%T}Ef7RfWu+!~ z<9xhQCYc2+vZPQA^Yxg~r~w20m9VhzRA=-r3f7^&065%lzV4gKkdf8)N0?d^T%~f+ zucfrKUO;J#9)KDRzXCjr2y$*(Zl07Sv#5<257Geb)ZBuLhMqfc7<~X9wJk} z&8hFaotJcdx8Gayo5cu?{@n82TKi$KscRc(@$mYF2EAduy#yy+81qxR$b#wZ@v|4X z%j5a$oOTB%r``;kMp&2Uyb;bvHD zyuYK53PMEs0yUNcXa(HpkIingjZeo*lwR^PR*oG9H?Lm3)m1~EIT(~M)8N~n_2c9d z89hq(ujx8}!Bx(vJuV{iH&Z?gvpXRD_s_-yX6rsBJ-#PVFug-b9IK_;4W@N^Nsg(& zR>sI&Ca$|VE+vKb$~xyC;UGHy`O^W>B1bIjuALOpgJLv%oV113GMnpT=;mmTsAh}QQT}PBfnv8 z9wwbs>$qE7eai1)9Q^|1s*`4=-V^T`E^)~kd`2INee-`1)bNWL?OKvz@YfIj9w*)V zYkPzP`i?}V$i}QY2zRN_{a@vrufJ6;Yz7V^$hw94fV8JQOjY`B3y7YI z`lkI+!*$}k!B;mu=DP+b9LN>=72Xb5+7&;p@2WN7pcyk8s5mLSe=qLk)pjRwCU1sT zJU{?jcsB|8jE3~6qMJ`McE6d}@+|HX)ypAr96Wox+OAKL#AmgTTV61sz?YEqJ&%gy zfvKPRP`Zw(1Z=XI1HVlAab?FlS z=ZW0+(nh1U>yK*6(8ZK{@=A%59#?OS)K>*F$15P;{R!NOL&a}e7M=ZdQo zpCwiLKp;1_a|QH_gP73KA>H3g;!0?L60UD|B&9%Ir!eXKZEySK`MDa+_)?>TyG=WE zNeXYPGm!$tSXn-yi4jln*k zx611gFYi0y>b!1jN0G&iH2SQd5YdFW3cnKM?_XTZ>{Pvbp1C&o?>1T2u9uKLkPfZI zqwHqI{xW1Nv7#UB5!eCL%{6ZP4GDn(h7IuE7Oj)$y^g663*=d8d)_>87+XERavVCX z+cisL_}oV6vGSmE{wPh%sPLX$QOTwMvY)}oP?A=-8OcQ%OZr_f%l)ybd$+mHc0on#?K+WJ|0 z+VsuPFB9o@@2v~l;jlU?nRFCQ&mtR3X+tfZgTyNXB=9+k7T)25pjO=n4Zc=cae}?mV>Wv^ZTut25~-}4Ac6m(Z^kw zc?<5>C7=2Jh*ZAwU?lZ4s;Zzx1yE!XoAM#QUr~FnTiFfvY{T!N;=8X)T~Z$@B5}3$ zI$y_&25-8?5pt3X*{6=U!RSKB`_I3LCNRNyf!DPwNg>(ffn=l8U=uF?%GUu!WJ)ii;LK_L zUvCw2i4WtAEtd2-lD=3QuSeQt;|SnmTC4ULUCT5rqh#EJzf*P;?C|5@z>;oi{7+|p zmTPbSmd-CR0tO)G=@UJ-3H?aGek*z|V7t=wxVhv4+?V%H@46e2N7x^9>?nt>10A9Y z3mJL(wVR#G@Z@g2Y|Dr4cgR%{Sa(f7AhJrBP3b?KC9c40dNVSf4i%pREz|~Rx$rbm zV23}rqkUk_pn0g~LWn*=m;E76T#u3E+UHM0LGp0{Gfh4Sj_CUQ*!$T%qkWq=5gF5~ ziiuNsc>ER!w&Sc~KY3q3*eMY{G}=hRtum)8-z3|K{jDEQGk*jJKd|7Y%d=oDJ}IfN zeDnABE@CAN0v=aeUWohX;wjI#6oHXzbq;zkGD(+zdX`Ai{Xpyw_7z;p?*KoWuP8@= z-ws^Aw$b*nrKpaC(wsfSzNqkCl428w{-_-^{rs8Hj39##`z(JAHU?QbJ(I~mHFq*l zDfH)q@Oi*H@%R^z{6TG|+KIct$KCTaH2Qifrh4ZH|e2A9%cKKT!i^d&PdJy*PJWi!SgCw0@!^?yozmKjFd z4QIAww_mLl6^KOzrXsDJ)?IfZ#?}sJXDPnOb$r{+;jsN(*ZxjURrn2Gg=)s@G-7>k zVzW|y%5fDLc*y@~It#X_zW3|X-QA_q%@>%V8|hAIB&55$I}{M(?^x@z=ABj(t8^VLE|0X-HtvI8v3aJ45btQ`USlw8+Z19If5o0J zT=v_X-Oi72VIi|Ww?ChWpY)v8@`<^wxlRVVycQeoy@X=3@qk4gWgZ=IkH*+#oIWKU zAT)beV}v~)vjz8)SAMe9?bGp9u{=H9>O-6@$yog%H! zh>)@GD(@Ibh%st61uQK5u|5v>Rh-d5+Y|F$t~T220^IiYZ1iBwR-4cl{e3?nyhnFM zSE%|2BV#}Tjo?diJdbi}q7_KX7Qse8C?qTLjk@ z4WiX}h0exPag6S?{vc$S6DtNo?-Vp*AqY{Iy!||hIHZ#MGcXJ8eJ-=Jx( zDNAbn@j^ck5T>vQl5e_icJ!qHDPi&)&@bIUGZToUBn`TOg@M<(I3I44w+hjQkzFPT z!QBNtGK3PrcenqcPZ3FKqzn=C`wG>;p7JhPyH0cX8XroO610H4*2&nt!;1W`JU{Fp)`VWPA!r(F9X`WSOVVBnH1=5(gT0Fo+mvbTAO{qF|{0 zJsc0G&vh;wn( zxMwpKP*E|;7FD+4IPKfiSiMxO(Cyk`t#O+-JJTpnPF8Fg##fYY&h6-uga9*L`@uzg zf=q$vH$#Qpu1^2+B|_XxqPm|KgTtGD=JPa$t8zLJo*uiou%Nht#_o{{=W!6CsdY8N zF5s#IZ9O-80*dZ5AK9`}89)fN{oj8r7Qhnz3Bp#b*Aa(yqgC5#$@nfov4f#q1qnKg z+P0kT^DZ+AcDErRuB;L-YoVO!X5hxIZD9FrTe{r2vida<~<$R``Vn0(HF=m=}@0a;zQ^gZ_xTe%KIC18^o>cxE6L z#o`Y+AzR4R0Oh={Tg=HFL0X^wBk<7!k{+l+7F&yD^Yw1Toi02}iYtR>66rk*z7f=2 zS@N$Fat0AvTh}v4N4ul7)uF+X5o7ftiawug6d}gB3rIV4UhBRyITzi8^#WfM=+&Gb z9Y)1IdGzYLVLy7CZw)sg3VfW1U^Sae7SyjBISKcBpHJ{RpW>3}rT171<73tD=a7lx zw4%5rlGSaeBgtN4KTHn~DWOJ(vEh~>;npH?lYO2VQ5>E&+hd~+psj4vlA*L+ z2J)oq+!NzE-XRcO&nGjnV1T82VZ(%_K^C*qO1jr>v%Li=6(2nJcP$#>wXV48tn^4a zNpf%`azh7Xi~|@DMNu}p&U~@u0<=MS-NytXo@IhGF%LvOCrD=F;S&2j2BwJ9#|NR# zZXt)__Cw>};zQ$KQOCMTN>>XzTke1D%exatZDlV0!QVJ7mnpLk4lc*gqKz>|ZN&SU zG9?^hIE0alL z9@y}q#3d6MdVM5Gy7%8U!w|Fo{n5Ns>GPdeOt4nMh=DPwFh+}Rdh#)aWV((5YiEsjd}Hb_tWhzi@q z$#~H)+j=bRKl-rxYtVPW%$?iGV`BdjH%r{(j$%)x7?fP1U;%mDG?EJr#y*X<3h|RA zx?R-%X7PF}DOilw2W3y@-AJ6m|G1Ez7)F9CMI;FdE#Fcq{K>tLM56UV-MSf7Oei08 zj;?f|&*qqvDa}^Bxt^8vlr03|`IyIsUjwt&B~T*eSWUHH_Mt1Pko0(jz26Ac^xn&K zr+Z6uqijWwABCa0Qlu0sMb7cFtPk11q5?JT56V~qq)?z14u6f-vAj4G)p4~=Bx^o- zQo2RxFsZz7Nz&k;-Gsr=SQKMFwf zd9f1L%lq$dd%LFNX-HELrlC3{Ki zt2#xP#zYBMvDAo{nZ^Sl;HbI%z1#sZ8C%Y__k)NfEahVo+}znGvvFF%dRv!;kluhf|?1RML&X#-t20@8ib zDqneVP?S!@g15mXj7-dh`=o*|=)<{w^fyQ1cImZ_wo&EDUZ0nn%vTFm^|2JxL?0HJ zIr(44WaV)j7jJLos1Uw?ckEwt{t#{PUiSOVeWoZqNglzH)0bMd3`{3c?EqNaCsV^THk9fYhbU0E|e{PgnRZ(+7{YPFU6M5`` z#pUEr&+Iw^(>h{Fe$fyRbMntVhT(HfwbA?E#-o*9Zg?n!Djgbp@PgvgxC0o;2-}xo)2H7f3 zx6d8kDoENvz)<=eRO~ro4Hudrj)E}wfCvMf2(ZYJ^$=H`$>d{W{(?genI%_Nahut?F5CJZVZVOgclFQ zy<3d#`Mi$k>JC5O^(DS64<@GmYxOg|p#BB@tRJXWd>_Xkho{hhEJ zh$d7q2}j3D#Ti+@SW?$@ZzzrHp(Gq;6nBU5!PArev4{>sQ+8zehYtq(}TUL{EQ3CET`_ao7Q>< z=QaqsKOq_@HZa1bOOEX=_6{Vt&1hEdPc2@91@}>^ z+|)*4X-`9YNIFyOSjS$L_|T&#ZPOjh7KCcd{_3MZX7A9}bP2_;p7pA*N>PAEuP zU&S=FZr!L#&OWzYw(5!GLbwbH+~lBuB`S40Fn;=))P zd%;iR-x6Fd;Rs0KMqiPhw%j*93!WYInmMph1UY3yv$-f{2~T)^KosGn_VGhMdk&PC z#`$Ax2lvmeAlJ>u&$JQ75j>pa?ojk!22f|CV9?Rxf|xAH>0zoh+C}gZb#e#EdBRpW ze&1-ZQJ$;in6tjIk?lLNNMAjg%i^}At|fOl*KqRQww_;;vpO5N;0!rND8S228d;Dc z#i2zRBYR%uuz873wPQ7W2wVFhDSw(X%q2Sd7**8K0UQ`rT!jBVf~<&}gfF_7J6x?K zNr#3gp21oxe1gh(ObA-vlp`3nBzzU3ASg=^Ctq&;szD=m6cIOMS#j6%XG=JG@*1{S z`lFj+HyL+l@fle1D(}?xrN zOYK_iY1Ru7hqJ|G&`mBM6cF)6t74*o#p zWA3%hYT5UNj=`pIuz8 z&i*XfI4<_x+nIqfuGUY-95{^r&?uskqp&Za$ja4L!{u<>AZ#(Pn{qDX4>faARq~2u zDBc&iONHj=V(<%QWV>1JunFo`%C72n<<){Li|Xx*Ix&3$%h7nH@u?}MJ}5%7tR%y`#hygNH}5 znWBCJ>fI(lqx-jDL>6mD20d|16}B!e8UTB;F1`moEui{{+D|OZjOPbV$A@t2evmgq zKbyCM_0Pu*lER{L1vJ?St~jtvCEjv1t80VfU{^T%c-2PGHMM_O8ENM<2k zwl92J;}(w(%jJx!H^>A7bf8!K`HBLv`FEPeI&;+Az)8UtpBfw6D$(lBt(>qYdUIz* z=ix}cM5(ffO};V?=S%Y+cK^n>r1#{Nx5i$p(Dr5z0~U7)UqlhP(p6N$m*3`tIyh|u zSdpw4F)QA?JUk0Q5KR#4YB)MenF*y(+*Jdpe_jsPtVF_+Y{nS_BNGe!aq5jUlp}P_ zDq<(!;|hEBK75tON2+r>N%#TH*^h<4y=Ez!rAz<=%=t5p{hK zzQdS2e!UYEa9FJ6Tz9>^-fmkjX?C*ZS)};yhKst%3=YceH$O|#R=XseUI9{TttHqH z9jax^eYWD*<0aqV+zEH_64bTJ38kza+;XbHEPtrhoPFu&sz&)v-F#^MgV?%ch>GLg zSemAk5+21~JVavM)!RJL+DLbNSBQ@jVZxURSHLt3bNy2v%(u&sFK<)R6v-hF-sc(N zhmYaS-+iCg+IYMz$F`-OnH&k{q=9wv3ECkGRWpt|<3H{26h&VjU3-_)T0^=mIZw<| zIX#$pGNO|uqraGggxr(40Meu9eM|SVqq8)tmP^o8wdu2>j!GaPcnV}ig62PT{_dmg|7u`0=3L?80;&zXRBN9$)v zAN9iGir`qf{5MLAcR}aZ$N7I`fRus|0CiuDSQsR+Bl#sPam`NGxwp!jVOmMX;P7Qw z{AK#*ri{ihpfJ$mc}6TwkdmZ1w@pvRBwIv99(kvzN*77jW3(K8|(GHi|bY8>Lr zpKmVtgvMBVq)RA>%gPVm=MF)GjcP@&sKe}(${@DheDkn+(vU|F$w|Ur=xk6L=YIG_5bm{uNa^SkV1B;2{!^iqS0h{h` z-}wVCG^$&^_XO_zl~Y7@#Pn)A*lxqXRyWY|&`Ge-`?<`gTTh7-}8C1&H2` zxbs=(Ik)WGk8X6f8*(Cuzvn`JUSRt?q&cNM^Wd$&_K|jHP2*^Ps%JnPNB`&e_%Wq~ zpXAumGgB_t zQyBJJH+&2wA{QV3stN6k{hoq~zFD-n`vYof{o0?OxjGZ3jmWBox!$b`CyU->KJ;mB zOd-er3&Qeci*}l8(OyvC^h_zKLi*rFnCwU z!Hd`)?m!+CR`G(9oy^vw0kPvhMQlbYF6i(>`?-!Tlb4{Zd9V@@4k@YSWhr#!XG5rx~Z;u<@=@9vUEDbzFv2n>O*|V7h zY>Ot4oGgE>o+~IVC7yqJ!FhTXSF0Faao@ljVXI2p7)~nuDCLmpCmtBkalUvsxpkCp z9Q|GRcB47?iPBsA4rHy8olp=0N0gCf@me^x1`8YoES54 zqPNI2I6p~>`Z*?^{^8Rs{Es* z?JtKR!@F?!Uw(w#E7)u;+T;lUa+kb8o+}l>)smY)b{Nt&HtFD}ij6H%SZ&Vm(9jTT z`Ii$A<DskUCK^mFT$r> zl6FlHb%XNf3MIB7->wtgi<>I;N*vSMh{w7$x|Rup+;0D|_%J{x9NywHphI z(x!67Ox?%4lZ)x;>9_h|8KjR3%4x!bmEBFLj75pIt8!k@+rie1W97&jNpd0_3F@?N z6=yeiOZ3ghY*)+>!;sS#ZbpguKBqFXarayDFgo9=;TW_?DXu7vrNZkEg(7^cdcfA< z&~NEDZlb0&Ul_Hgc-b0ToI6n%0s_L!@%_@?7A~>pi(@d9wMPd*Xp>n}ljU2-|yLBzER>(>sdGYpOj_?uc6MHC#1DKUH!&Ozui2j;@XsQu28ZxYHMch3A`? zfodsE#Yrfduey^z{(w=cmELNM zzOQf1vdOux2(t5G2PjyPRirv|MOIisu1Sy3gcfWSxaUR&lf%e=;9)v;(7ugN+y|8?F#DoVTw8S zJnM19nj$F2Yn>m)%R$~{KC=CoT(=X6Nae$&%NRCn7-Sx>D{o|SsrndGEY_J_Df(zr zYYZL{G|kS^pZzW!(|zHHxKtj$)FGQ+V;QC;&a6sB)4~Y47d#%OcL_(fC~l@Dh5jppp0}mNSX9Zl8zc@p@QyRlWOw&}?dPODT zy(+b_0h9RE1HWgDFNQ8m`Nn1T4O{9wNlcuyyf72ZuL&K*?5*E!?~asn|ASW|rQ&md zw>b^Pa#(63+)39#!@%kptNa4FgZf$uRdTX(_Rg=@Nh=s2_eq7j9-u3^LTeOu_)CW( zsseDeraGb4+ay#YW4hJpPs?DwGK-g-Z`%wAK z*H>3Qv-K(vcEJD2%=}%-Dv?Csc>6fEDdH!7_gp@;-GKN!xnMO|bd^@^c>wyQ#_S(E zGDxI=j-tn z&6t;!qX^d3-|26q!6x*>!XW*{5}^UN4b5;DkE$LX#+^Ku-%Pl)#!&U>bA``!r*rDR zuTgg>Nf{bpvi8(4+s=t%{Icoc`*$VR-LS3AN1Uif|5yJLrzE5;WT)nA^e5c;W*=f) zC9kYaI0GpnRWv5<(TW2(hMvg6m)!Y#bKNVnL4?(tTsM)F1|qbW-cjeSWVT>`%04M+ zb=RLAPM>e&K6#1?9M7X{FpcK|w5ib@C-9rG(*>w0CV8$n7`~pjupUE1ly-zmkMjKT zX24a80Dr^&dGdCsgVE?F$yN9;n-pa`tnvoDhzD=~1gO&GgIr5lWr~=yv+&S^*EheS z{P6PF2G{}`%S%?;BW=4`+5@Nx3OQi)o}!dN0;%2ob5VS`iQW!g&lPL+7nb1?O61IC zw!`3+GTvt9-_HlIuN%|;uWtXTRaX--ucCgeLur_|wTgc8H>1w*?5s?HpVJy#_qygFT8pmHR19`nvz%<;j| zRb-g*P5-OcHMWzD_t@)k&Cv1a@cOewU1vcl(i$NwNlV#NhUt&ljj zLwr)6u-YI2G-IRNl^6dN*VEv$qiSc%*{nq9MFXbG)7CZ~^{?N*=!h)fb%{MJXPIO{ zoHZokfC#fx;lzbp&S`Ga+K(ANo|wX8n;SNtv5WNNFZwqCG<7Ufo<@gOEDf++A@KiV zlCCeeKGEzhdLdeb&g^8_67x~IxUVT#O1rZuR{wBIOCx(^H*R>BM5I%tsjNpzI`%#> zgYF~S)XeWPDtu2B!y#=$2eL9o`O4b?-33R6p4D;WOgvU&h*mrb7g#&T6xg$rFWReHd?L zP<~lVF&BU+DM?C3x*OxFspNVX#*VOXF?(rW{KS*~{@t9s6&KlXY%F4M9r}*jXZ4~@ z=bgJdHnI%Ygqx=!$h1UEC}o^#Fk8B%uZ*q_(0RH3ao%*Jde5X z3L|cr`j12Z4;EEtM9S(H<~B%2+)g+HG=UTP+bR5{}Z^yXyw3*tZqVMcInZ8W(#>R!!xDXuH;3WjM^H#>d>O!1+lzRc(wltHtS1 zj{NjEvtU{ffzB+y&(1M!z1u9sk+26Dv5w)3j*o532#M%n8sXVx{3PEAWMvwI$Z58X zLUYP)M)5By>zj{B1eBU!wtr7O^v}wpy9-D^d;dwT-XgWp-CDn{!CRKcqp~8F7xD-3 z1Tf}COzp`)fvn}d$WkU#M{r4ys#>hBDseAD@A2nw3u0i;r+v>jIWnedUf^cC(X%S? zUDi>F$y(H$Y9nY@#&o55CdfF2!OQ>`M^=f|PQ$3yb72Q2&d)<2X0i)@Snxf2P)lU$ z`&5{Bw>$DN+l^~UDX#>nE%}A-xxbcuMxdFFhnLL#cWI?W@X`qH#>GzlhK6%aIaH_| zk*VW%$J zW4cW_vGz(Nl6(248jEvGUESpE0bq0;5Hc`fe?J!9g$r-KOzbcYvNeEuvFX>c@b2zm z`N@w#fSaiOCzdQ;&3jKz{<#{1V$OWgdgr8c8=E&7q~g&ra2(NL;rRgmF+H)-?ULR> zR6C?7PUzhRh^_TqmX#={2pWw5fs^BD?=gOF5W$LAl1ovSt0|5fme{D0O$jq;&UXve z*ErypPssQuP*IKzEsxG7@JjysmBl6lJcvN5!ngW-QF^@Ot;8)pmFslMh|)%i)BPvQ zB@G%Q@q=uj;R%pugWPMkQ~NM#mVMFW#e$JsOU0H8LHXq6zu7!OHO z{^>l-OcuzLj0Kz?cYeMbcONa`huZDLNoIqi=I#ZHpjE1#jVyJJ>P5tQSJ3G|BJ!=| z1&G8CzXNtDRYz&QD$1s@FD16iqi7Ao8(y_!lgf#yD_>m0>h7Zg!2npap=9BnO_XzG z*ECp*8g11$bVhxdcopdpgUANz?ZAxjU3PYvI`8zBdzeFv;XQ{sL?&ky-SPR(=@*KyY&uoT zTwz%kInR#|Jnd(WcP;7I&%>KvLbOf?(Nm+(Pv+J)0AswAk`iV|=i|;N0IQq!FJHx> zAi$+}tMn|(H*cTv_>Q&%Ly!(ELbO1)*oAcZaGV3m@8jfrVs?Ri0Y?c{^ZNo-c5gk>+0-ebx)@A*edQQT zy+n<+wsruiIkVJmIqz~Lx1iJ97Ib#ve}mPX?Ww{6O4Exv_5Nrvd!tPClSA5j5uSab z19#Y3T&&4whY%y@+<9aEF!bt+>+~RL|M)nzii*nJ%j4jYhp^ zvC;LgrRxx-h8@Kx>|cFJ#Vn)76Xcdt=r98@s5T@9LMLa zsI_IicyV@g`IHuSP?|iZ>~*C=>Ox-yf{-mm*6}Wxm3@V5GaT(Zlj%sS>cyxx#NWv@ z>x91pK1;v4OQ-6-tKYbIAL>as$%>E`W)byWL?KtYJuut6Pd+}Ne~5S>YpoJ_9l(MF zvgaq!p?QUY05h^85Ya;d&`4bX|HB}uDV7f^0%<1#^qWgh(;U3%DvHNVF39ad$^YT$ z7y8Jz!Tj@0Nmlnz%-J3OL{_q_+=soJpR85d@L4xFN=z(mE-B+Mt^|>=e!`($NVdys`SavFsSFQ!bm4 zb+DxqB2P*p5EQ9}vl<1BgsgeCAz?2Y&GGGVIWAq~s_t25m0 zH-HR4Jkt3;CSYqumj}eM*8&eN$mTixX>t)@9lc~6+y?#|m7m|XHF; zIjow++(@7lNbj{w{+s^k`y7i&>>jTh&foM(0(@%-PqsAK2Pi^!kTcGbkkIDNX41Pq zS~CY7qUOL$?|n!+cZN(fD!o`$IZ<_?L1a7bOyX@HeBX-cnn|(INZ9=ry|I2tM>D<^ zKlZ;);2kHsdZNxkW&uR%@Wx(E9aL4}s6B21iZW^!ru-(G&bpV6bmwQT89=6bKG}o* z_!99mVSe+s`Ge84(ir>3S5vsJ9ViiHI6jU4xcSfQ?Cb-8Q;+>|0APeDQI(gy$2)T1 zF2K|;&-1feXM-7||E)p1>2iLGZZ|>Q+J&oR!t#6dV5}z=XfZHet*Eegkx>0&lQpzR6Iv(drJo^mx9os) zLhC-Hl-8}&eCny(|7|sE#1QtZV`JFXy5AR8DR7Jg|PXUGagWf6X+!}ToE!jg7qD9D;7mTqEB5unS9ssNeB#qDs3x7z=h5?hu zta1S3ib%&tA_+lwygk)pvh1HNH35M{9yRD3!uG{qZk!5gr;dg#bl-o3h+C_~3|3wO zXQOl`b81bQ9fRCsE1>0#mLuxri2D43MWgOXApR#o+(ROiOw`9!CCY5?O5P~vPzt$ z_;t-2^N$1acCf{&2kUIl?mx5onmWnH(U|paqx7C@MSErOdQ|QzN=bcjzWbmcFA7GK zroP~7(-7QRa>EX{TlkE1l$9pz%xA5}0k+&PYGSP|2|&`3Bo%;uLiV^NRzg*&W%Nb1 z_0^xuN4jb;Z{deyb4KL!fp?)aS;Wy(B|n;Q^i%w=iZW~VfC9C&DQsTw$CkPl7-#2e zHI7UhAKSwEGNZ0BOV!RTnm&=SgL(c@>d2BD@s*lB14G^RLa)L)%Bt_qPUs-t=gmW_ z{2i~IL~7<*!3pQo3rTYkbj-Pd%9SDvfIUN3T|iZN?vY9(n#7@aCZ`-i8F%>DCMU2X zXlZJISth%rw_nR|j-zYjQ@|Q%sn?o0)dMem6&Z?-eWnA0+fDiXEW$#M&Jb?0C)m+48@fpFbG$SB zUiPmh25gaMx6_QpM)V>^`h^z_U5j31{*6lNI`bcOY;;wml}<;j0InZyQiM}@^PYKV z*GMi?0ya^E;L)gtG2gzAk;r%uP>y+rJXI?Ic4b|>dIHNnKfd|~%+ZIOY~Yr4>75B} zfDA_lf9#2C8du%qE3)spo)eh-iI_AX_r83B#S zzuJ6T`O_yB0mr48_NxDw-Ggz)j`S=l8Xq0$+|vh9bd9WXKNCd~!j%6FOSr-G2%)0i z^o@8#07~-@{|229*vXqgR>E-jjcs()z=$Mn|DT5qvidYV1Sq`xV8sOO%Pc zvsCrVA^7goWdW0^%d0?_J@MNZR|=(lL2t6PtcOQeK;aA`hF)OOIbD6zadL73z1(fj zTK#iQrw~XVIrn(#O^6jgxw~H4yW#N(Lkp1Nk7Hnr(s!~T)$_QzcceJO1YLSm-Nbrx#U0J?QT9n5EOJpu73Y+L)$qbXdNhE> z2J5dQ)dPGdLa0?RQc^pPOUn`X6mU29%F_l$0GZ|h?OQUj5Lwbibs!WtHVIvRO+Yx3 zk6+fN(b>iP1%xbQF~3=k1Gl=^x#gWwT}RolyxD!te>oyt)PKGd`$gimDY+?C{{tO2 z6gp2btB03{E@dZ2U1UYA(P`|uqV<y;Q+hcs;g2YBZOcRlrC!1KcBu8`$^86)X74f=k@I8XPH=sjQG=-u%Hb@?W zZ7`Bwk(7jQaHwxkbyx&>=-R&_9f<5swMcgzjCQjT95|yJ%g+hGxLO?A-6UTHWitG2oJy z@wfSkp${8s-kmOdv9n5M3!wThkz|)2&zjGLjst5w&=Xomu}X3QODCRsPXor z!cbVHf@N2qm`R#|M?p=!GhH*^j%ncY@hx;WYW?yFpDyp?v88o2N_CTT4OiK0(RZcc zKbfjly2;8K23%_Vf{3~ zJ@V_nYXfv}_3oipTHGe;GK#V2I+Umu??f$heI1M4%v?QFvl}W=AFG|BsARBhwP+)f zCRF*k-=J%Xff(+(AV_I|?9Ooyd9=@g%sL^}fY1V;Vh{8#3lU}t?#eX!pcgHC(lxo% zPLCyNq>W~1xC~t2VL3p3Cki{ zKiqr|Uoz+*C&$!;&jLRF9EZxCSZ9WO=aa9mdJ~3>gAZLF;&_60f$ZT=REsTbDnUfjQ+b+dQ^gO@oBj!XA(ex)adMt*1W2${JHXR*d zbGg3m{zp<{G&|983qZoLA}#*$9Z~*blpD-XGCbf%4_=@Kk}SiQz0;e_{5AM?hepm_ zKtK~G@1^jARmT!0BriOdh|0cP95Psst;93#TKQ*F$-C~Psp>Emamu{>L(=!XCX47z zbADTvRn!`PH0Cw%m1AIk2;m9R?hAqo<@%?;mF0PHkEh+V(Kysn01?Q-!eZ$99Qbyy z{~@B-(DVUA{>smjo%G}3x6(M4eM4A70nN_?WT$6N`lMnd^{#-v*rkb5)EZZ0I;j3V6304g9uH5AyY*9gx=oX06hd1 zi1;S_mnixV?P#8}(CqlZ`DK>eCWog@I6II$r5$JCJnP)^aSiBW0Ka26$L8*CRXR=- za+QvJ)YmF_L!C}Tmbw~y&E>Ttf_F^=H!ICeRWvznz;#Q{pufb3`?aksW6h}S3iQ3R z!;Jh6yym8U2>MBovR(F8s6-k9?Ltf+pP<~}T%eVN?_wpahBQ&6^JBBlJRd0p`B)}< z;mn!8=>rDqz4;k&e4ZenO{=`*Lndj1Fc1A~welH|M`DAI=kyd9EF`Ol*EJ&Jc?*GE zm;GVw8Mgmh=jl!Aa>fVz=}R~quoaJ}HfA0}OClk}85|$x*no<3BjS@ zH0mH5dOWq*H_;O|RnS}UF*ld=fZNoqwIsDmrgs(d3-~-b!1&@HZE1lswJ_Ay>65gM z;~NacDi=3R(ArvctZr0CYdcA|F&>I@^0fD;Cy;U;U41E#9nL)&yYnaPp4%wblAbf7 zW+{k_`dKWq_hqe9l`WVSGv@S8$!5R=Y-g%SE8dB$m#i6ldV=m}h4amfJacDAQ?Jh&`ABH*Cr}36 z`$Fl&)aQDTmWO6%i7U@jtD3%A^tu+7T?UyfnQ*{T@e2fz&A;FYVB#m3uQ4Gmw9v5j zjEqO0ZHJ2d)06BWQP*rLevjK!G=<^jW$A3Rsa-qx)ekN?sk@+>++6TpNq6v=o$#2Rb2uejlDO%1e4x59H{QnA+xZ6se!i6BHI`U^VC8y|?a(5ca zr6pl)13Fo@40JDY&;tm^Jl0AXn2k(ASQ1rzQtH}7U%j-!=>Z);lHNmf=s`}QGwo-D zoC{pD3xljGYxzB}el#wvoVhvu*47pP%mqTq-u(Y3j|S_Jc4CRNQ`sIaTcJ~P7}Ahj zHaLjjj-~+FV^*C^8qXJz2!Wlm0xa~JU< zf{?f)zPKG}g?&wF)8XHNC_?25fjb(0Ln64 z_8Vl6>TU7#U}$NQbEI*qwJZ49`xdcLDVp)r5hooy7Ly&+PLk%B+DvCoF_>xbj;Y{ps#M$m^Se zSel<^+m58!_*9e%KZJ5K|wlH}X=L&C&hI z`^j3XEe;N8eqR>#rT=#?^|wg7Fv`EM#H+jw3mdcKSU7JWe`Ek9rdkam&RhdYb8!vi z>0&vOv+*`9+*$4X0kv`^L+JQ>DN6OZSlR^&G4jMIgA$U`{B@xYyv9=Hv?i0X(NUh< zB5UWx@perJJwB>Z_U0lz86$uQ8HO4=!+kL2J&|&ZyVCmM)*GYXLUcvNj_yW^1pD8z z`Sz*$CC86e9fHif=oqkyiwl?fCj|1}0xy=cvz?>fSNSaT-V4sQWay8Z(Xs-%-VPk6 zoGBTeYzF1gGP0k$&T5E`QNskTrUtbhDftQ+USkT$?zY~c8X@iIfcuV39;cR+3YbHP zGNQTnAJ&(4oWh`m-!V^*tNYXcu@ZxC&?qYhB2cQ_*^Tv+=*)QXBw}@mJu4iK{Hd-k z3T%lha)8n>fr)JOJjD_hL%($PI`i{?F^DPrao^VAC}~g+;-k7Ock_7*L>;kKUv;J2 zfS=FzU&_`HS*OxS=8oz0a6cvVj(FqSj)Z;gc~$O6zu#=x@>|kdXx&qw2*(zk1w>eh z3d$4mfwXa?igIdp_B%~7Ww>r@m?H4stO`%(Tw)!gn`R<jNp}{pHgv>**7semX`QcTX;Ifg#g-AHJcy~ z$$n0>9FzRtgSn0sXVHN^0C%R8R;W7->e_SUx##R+7NPy%x7kHex6t>kUqHgDu zd!!r*Y<4kxDMc(agH7=?dT1hP{vT0q;TKi=g?rQ8E!_>$-6<)}&;v+!gM!j6Azc!J zGz{G^bfdj1l^4rp$zR`ac6a;Zd#e_Fc`?u zBF3Kfw$9q}V!ifj}QfdQj!fvzvL%wxd7aW?7k*$<*+&n92{SZM{_ z0B*>+67}|I{@KttI>;9uvO@$F#fghG$08z*mIo@E{a5fjiR`PDieAJ3!|VB*Ky?3t z==gd5wpBLQ!4IT88CKbSTy}`WVQHbmQ8XU7b_Y6yR@T*_1M>oV>QPvFQR>tMfifo_ zy&BSN?XlnB)Kf;I(1&qYuE9km&2GSjwQXO+RQNEfVWzu9T}Py(P7!Vu5&12Hm`{Nq z<+Amv-DT0qf2A%ZQ_>F^h+r`R0DepVMuI9xHkMXsD{sRw`413Cb+{pl5NvrC6B2U{ zSkgqscb{X0b;2OIyj(sr?_|`BRv42hcBK;Ri-)oRS4sd$aU&~wWok6OG z)B%7Ex19vUQ|;5~3rMs#iP=qWSG`!pU(ZE6@^)MRz#WPZXO=;SyqvkhieqAu>Dy0e z5G`|TJ>)FA`fA~s0%EWZL++Ve@n*aPAPR>}b;8Hp+}5Ljn0CuG-&BMoNQ#M-g1iFW zJfVrL;PFJ1Ngc;?BAYTi?S?47ELQ@;*@Oxh+ozK_n_0QehfnN1wOEzu;II$HF zPHwc?_Cx$+NeZe&E8+axD}I~KBUVIbe)K$k!a2>#ooU6ul3x{j&CC1TqDvt(>LP#W zQ$kWQGNMLCltaUoe0=1kamHSQ42dN&Q3l{9<>d`sLvKE?+WccB<>0h&B=YG3!ud?K z`3Ko3ztE74Di-6s$q)&3CAdzMril~FpT)W~sCv(}KsI*ec~z@Hrd+hHBI6EthXiZy zwCWLX;u}3(AIv$Z^^ZhIuxvtdA37M}SH%nYbX`fr)=b=<2_(h3>ZS|PkDj$1yD%nF z!Orx=-hh!r3i@a!9FfW)+m(lpE(MSsJQ!0QpRFC$*M>QF#Ii>^iUqRVRrhuXyBtWO z!~&SrV+rxGiHNwKU_^8s7IOd@es~)I7|{V(G=SZK{9nfc2Lkx&S$5>)W@(W(6qMP8cPXc2gdFhq||Hm){Q2M-nwPs+7^aY>4zf4jPWJGB5P3Z1;xr(eR=% zYgmi;{h?msl?r_5<08wvLJdYl`Rm?a`sefQ4%m!X&p}ZTU~`6$#U<4iZb1~nPN z{g)T@C%yO^3kfi04Qgu9G8Dj`%WOeOt!ax7v#ln|)&Su_`V`FW*l#pQ5h9}q^!Ap1 zU4cjOxWUoc=KUXP`9V~55D<3S`aEs_?x2um!Jq{rHrr-)B?ihrH`O66P~xLu3mOn` z5r5wRRKKo;C0fEY12WKpy0ZFKQx0m)_QT`D)5}|2@d8~>P$1qf$G8b^@YyHm-hS*h zg=%6ufzUrwYU_F5;~bN2^-!wMxB0*;+mu_})C8(7_@@t<0L5t&Ool_aDjtMx2KU_n zt^R7V*Zvo97X2{))|>7ZMKAwcC)EBF3~z1C;FbjpI6g)jh@00Cq=6I?b&Y|<^=Av- zShp7_Ay?Z!JEe=CTR)NX5e1gQER&lMk&<)<%s}bcX;&7JlX` z=4M-sK-<8KqH53}3BIz?fVcvOl+^weooXKY-~A7Q zW(qiwI)*3EZ>|;xHF5HGRtZquo>Eq3eI-Ov9_zA5qc-B8BF7^5#(1Ytf>%GVC&0hC zH}Fk1RreL1{56N@$ER!qV{U8T$9Ju4f9~|N`QF`a4uO|Y>#E-Y?!~`SvA)GsIUn=V zfYs1$>PIJunOdEkPDUE?8?V3T+8;@MQcSz2e4`$DL&+IfjLg){>FVJX6wxO7%6jQb z&-yg^K3wmzSiF-nxCXtvE3hb{B_@zxtU0|G?Ae;=_c>FfXPc!BF;&NI|Gl;S8-Mw^ zn{QwBm<=`CYYnEAi+^)LPHFPMmkEMS9+&cW$>lgcrzXq4e{fO99ssN{SsR;TGsy+;%Ip|bVr527 zeD*bz+Gl6Meo#BdNuFcTWF|OcdVDB<(Zc3GfP3H#_tXY5&|g!3$*4sJg?n%5d=YEc6#aSaV=nHm z5UYDVYC4U`j;2LWfE0rSwl3r})Ljs~X^Go-pF;D7DDp2@((7|Qx`<(5jtk6+DZoia zb7Rc#ZDl3)Jdc!n0C?Okj&dFzy#D_F1C}l)5<@2cMMQsck5oXCX$_dSHWF^GQwd^k z_7FFSRqP#hE_gNE?3j08`69-ya4tDK&%N6U6<}c0ajJZ(6&Es}&oRsfc@!<_G)8TC*V zf5mJCHU3FF@tG6J(6P14Ag|v}TQc~KwxF}j#G5p@%9{ik3K|S>J zBVGdUwd0B)jE~+!0u}M^35pm;QbuBe*%yazH!m=TRN>s7QbFxr$kW8w6-T;AQOPTK zeWJ*6C|c8X^?v1>>4{AvrZaXfoFEos7r!*Bo4)G;(i?h)H zltecgV9&(OC_8(V9Y;NolJ3OANV?$GIii?h>t_p3W4oL=9b7(Kb8a@|@HbmUp{(`> zp#yWU#eAQS$^@B)ajDbVP@cY(UnV&#&0$D}oknNP8o*cgK$Yh?2{Z=)e)%IW*S<~Q z(eyT9t`7)A0_^N)Xll~H&2t5>*45T(05;JH2{`{XEiEHouN`*S)1T?StdLtD=)L0C zYSCJ>#U}x-qZ#fEOvQ2F=ONI*qYar;C|0ubf{$iB1g10!j&CNM^e3H^fX)nBC~-Kp ziZL_Z{gu$~?40Wf=i|46She3jggvrFORJ4nmXz2@c~!bCa94^=A_qNp3ebtQUg0)8 z;%-os$;~X^Gd4`;%TKqIHEKF}`h`W@(y^!0%<|CJAx`8T#{1mx=arkW93HjVyY>ca z__nPmp=M#?kP!unFZJ7=9rrY?@T9CP;+VN$J4rLL9}70317m{oqn5cRDQxv9kXMmX*dCzob|h}3&u|p?k+2~ z+USJ~M;tzq)QBc-EsR|J#hxCr!@?={&dD=xDzQJsp|wT`)fz>NrQEJ>S$wIZd|~Vq zH#{5*2I(M4DGK*Gsgft0yvk9&d>H2DoQM&!8ewv?d3`pD;uHVE6`g1D8R1 zAkDSFk!2(ROUat{Mo_{m8X$0@&TkdiJu3h&Ywz<`z0?Dd$pB0%ogbymPhB@%6Bip} z*~Kj{04IlVCk)+hE!RF`9Xbtu8dUoknTri{OA=fw41B0aNEWj~fZ3#sOwYm15^C_O z7Z4i|248Plk`Nf5<@6{uq~9Nb-Kc}F8tflvr z9E@ySZn}X*7yF_t6U>$olV4L6jZZB_C>NJ{1;qXABC80Pd$j;JqI^_4iB?xB6D;y# zUje`RXR)NhPRh;i>qsD-zvw|@0Uh8K5r-18wp}2Dga0NrvsEEk*FLUpU{CMEUJ7fP zf$@jPUWqS8*538RGcw|?g=HO+XE$jL79P^PaVoB-T0SPO)>xLBR+S<*2XSDE02&5* zC>g*fD5xtp$~ils^maA9!2vjv2P;SnwsCAC)!}Y{o~zp;p$!GJhuHE3a5R2xi{if$ z=0GG*JHwl5SW?H~SA>8qlr3!G)371t@kjjhr(ZSWU1-TlK`r>7Q*rUU8Dmkd_5T}R z)Oh}o$t-n!898;o&yK!c723`U3jBc78+J$>w-0@_N@nLshTNQ+%a^_VzOEIM znc7J^zL0@ARPCfFli-08&A!i3J}67m~vtOMv#O-exzz881GjF4BPrV{yn`V@coOr9ejL&V}Ek`r`{@VN(- z3G`p3O!t9+9%X|3HJ|X=3?>dNPJ>Z<(t8qeeTeo0xxlQa8ZB9rl9?mZc8e*O0e68& zS#w5k0mhpADu`BbI%W-n#d=P#iB+1d4x;6B3@z@f_$w8Pv}pHmVcrZNbW=-5HEEu; z8ttVN>$^z!mpGX4lfvL&933${)s@!{mA~|^%n3@Q5&HeS%xiFUov$2kueV5RG0Xe{< z^@K&;bF25C+NfCZ=;>x>ch>$!t9v89meGG9)7nxST|PT79C4xcv!ABWqu5DXX&}vUCG5>tu`fjf%dYKkxq_nz3*vCIdzb+afcFE-4GjMKI$L$-ezw$ZU48u@ zKYt==YI^S(*TKDV3E)!K-zfpHQ%*r57%Y8paWOUjGo^1VTNvM4WjP93D+%ZDY~@dZ z>@8{rzh}&S7_lXns!ol!^R_%@Z)$aUo$X#eBCdj$ew3dHsOA3pbUwH8mbc~`sBr`x>w4IU7(^_6*to9Pib?05;Ja_a28?M^;iPV9e=0Xa9sQmpy2AAmgEhjDSrbAy< zm}l88keaK9H8{?=7QR~rS*kYYlBuiy>lRexD~6~CI1o!L>c_C{g+jlZH%ZM2Lu#=I z8@>jlRxF+;aq3dO-2GZ}+R5;I^uI9vW(3fv?8%5ABiMGZCt*eros~XZu8$|s$MOc} z3CqCzKn4u8j~`p_GZGWcPfTzT%rRc;SN6!yGgntveW9rM;05w8WC=~ULk151YXgHp z2L@7O2XZ27sJ*573DrRG)iA7Vsb=O3Ly9#GG$+#g=-<4|9QS8}T_j}@K@Kr7(10yAb;i~n@I4nCQc1fD-1p%DcEfxEItkSl^6Ib6BBuJ$aa~{ zPMo|@HvWz6a$CvUE#>~t(JoC6^278ikb|(2h>hyQJW1Q16rI`Y)+!L^P@cCN`qwyM z=Z5gQY8B*_Np>WqhpUB8J9maS%ERA-|BF_vruxyg7xtU(TsXh58nCHy?QwN4>V)~` zZ868$3P3;Hwd2-j<6K2*?enUK5j8_@>_Dg|i%C{c6~Py}JCnM-W!E@_Ba&S;GBVoQ zW!Rk$$rpUj`u45FK3Xy%(>Wlt|_PVbFRsRub%KFEQlyZiu5o19m60Kv~O?q#fx%gAs!YfSncgDN+}n zmXIB}s-xmr^yswYgAF*d_u>P}`C(TR(i(MFDgx&ukEU=OK2W$PveFKjrQq;bj+Vg@ zc~tS}**m+(S%uTuhZ9YGZzbPWl9G~gNod;vV~)qZQG~z3rjm%Yj2E9Td!R$$QH6Ul(}_d<<-L&(tiRz)d3;)#Rz)cgoXu(P)}k z=00UJnMe#}=NqdEGdcEv{)C?C&NH4tVYtlk%XK<46}b{}kDdU+&|7UQWqKYy95+oG zT9UYYveCg6bc4I1L;m9QxtV3o>XtBJVBP3t?Ku2`v64VZF~9ckW5bA^l;w$4u4SR9{N&KkT{ zO-x+ZbtJ{w8YT`}^??&h#a2+^?f4_fz{l{_$|A zhtYwU@vs>iKnK{z1-$hY`Yj8#8m2skr}Z^J0TQ%o;CX{BXq(im(_>_ zK2m{J2?kDd!sRMi8)IZ&=~D~AHU@qV(KRaHMMVoq%FK)gWb&`?AL~D94ow`nZ~;>4 z)6riFq?dQEsg3?5Z0keVF4xXeRu_zoq_sC?s(GL&Q+v-QMCbh(i4_~1-V3T{EM5tm zuBoD*ljZwQ*B|G`6KL_8I+hqlP@$+qE~CTqprl_(0rI$Ca|QF?0)*h9629+?Y65ls zkosDpF!Aad06aT`N2|M3%GIe+5*dY}2N2&tKx#8I#G>#~tNx=|=(KduVKSejf9iD8 zV`a+^GMBT`{_4H>9HI5OwXY+~1C+(O;)W}t_r{a*)SNi3b-R}2l0Q7n-4a9m;sBmV z&C=L&d=OPGT;|uy(b#uFSVI3KsGms|@uZ~<^*|mTbqFn4(ywN8I-pAxMV>0QbwmVzlf^= z2OQamlNY7;S>l>bBOIvMEz?6%novP6TpAgG3Nr*RDCq@BRWu%r%n{QX{73rK(_CIb z;dN;=lSTXIRork(iK7aZoHP!52$11}&0%By-C&6a8QmjOyTH5dh;AP>&kT!IH2Ybj z^3a1ukjG`Hj_c_AQhTN&dK#D(b5>$!ZGX(90cAx4#TZ+}Ye^j%+mp(G^c``Rf23oe zmTLd=2!#OOc6)5?7o>ziAvT7^tek^F{0A;%>+ zfW8v*fK*64@3pxyhLkPf=IN)DGe%fpr!hD<^IgkP_Dajqc{`KJO1kG05qN+extx^@ z^n#Mm=6ta75eY`c1(s+P#&_{lsPM~cEf>NYaPRrAuBHaJzrPdns=D&9ArBfjZ~D+&W-XfBI^KHaD(-<9YA0Pe2YADZUtNLDJ;E8Ug)9cDs_ ziWr0JvA?{)&?jHO%q9N&ScOz*ESGCf-tFw;_;$$AGzwWB~09?E>UY}Ew#McJ;i#(d)&@1V4AovSGm1LvlfqGr|~ zr7GWq$8qrYLI{kr!E~6P897oz=8Q2NKVvOEd`}$}CW#eJfA9e0pbfSNqEf-D<2Hx0 zr5$k%y%E^|9p=}T74S|~s=It_AA5l52!g4^s4rwuXF4h3-)*2%@t@{tpt1Wf`P#V> zm4Wl06<}b|YWT9yUvd9a55R!ay;de2CmX$RDe&FK`Gr6Vy7pG-+eNpzFa$4TZR^O+ z@Gsl;gU&piDPpv*)u_hb^mOvC7$(35thswVUQ=jd4Ocf=4XiVB+1aPl72~Pc04t7k zBH=6HuRw}&;M@LVJ9^NU;&a*oX!o2`gb!Lp-qdR_1bK(02UH&qPT-?UDTk-2ruX8o zuT!9rPSO)Vy@a+0~Go#USFNH~;~lsbSgg%TI>`kG;Fk2u-bw9|^!>Z(&ZG;40HseRxR?!KOTW#uAT zSi_%Reyy@UW}*79m&nC;EMXOYr%xAVQV-`($Hh$}lR|W8q30D)hZZ!+QmU6#+?JJj z>^4J8d0Z?)bLi?mgo+o1opxLvlxNu|_qlBtD->u}4zW~dq`^P7>w?=N^{;~jM^Tds z+?b0=oKA9pd%ZWb&~})ejK)Uws`ql`2-yF;S-BkU{*nZypf9h$bKLfi;bRs5nmRn!;};Ef*v9vkFX9K$ohnAoyu|YPBre zh+aeo>7jSHix&Su7y`QRr0-Hi4LNo#ZpDngHP;7xqZv45I^r?aDu>=y$pL7F$OJm* z2+tb*R>47?hUL`o{o zu8uRVVz5=NTOtiJd%1#@8oYmpI4%v`S!6RfQ*wP{1596}0abSU6KWLCxp+i?i7kgP z`kkUh<=k~-;Hg7XccE~?#n_i5;o2HJ_!4+h4MXu0@kT;b0{ykx0FjcTN=kN_!m5yn z4CRmuyCYCgP`LV}{i&iB!n^oNgn*6)0#qih%7B3`+bLYa~OHzpo-9KcYdq|8a~vr@`ON%+T|MIPgx z_Es*Y5zG~p2hP>mhPJ%sB?=WS{$j#5lxU;rbg-lvw9ILid_ZBUKc@z7@fKl9L*$A= zVG=>T1N)r;nqsI`=-eD2$;k*ZMV($>k6T?e*41K03Euv%(HNMWO}j+mdabT(~<9C})P(s=b0hq2MrLw;ZWRgP^AzyCLRgjGgSEgrY!YhK^ zRn?<3&ChzEf7|=}LxEQ7?5tqv!r3AYvEy5QqJD9}*pQ85jP=3p?EyNE*x-4?iS~$L zJv``!OQX@{K=dLWN&TLU>xhSA9x6TU0Z9*Hz)-ihX9eJc$$=?3IUKL)6v>46M`8qY zO&y)W&$V9Fzj}hUTi(M?vhz+8mXO`d-SpQUD^U+h%4RN=wu@V;~pB6FK9JA1ubz#bGKjWA))`jtOo6mNrV6R2p5 zX2;AoYv=(zaYSuQ%0ZTqPQJ`K19tga0zKvnmg%x8CH_RN56UF*f}TV-Pi++P*2%5H z!XK5y%(PQO%gNcT?P}}5drh(%L2cNO+a_qi2Arv)>;#1g6c2fR3Zi0ZYs;*xqM~VR z?0B+!q&vuRCxLWThV;sJ&Q)s=H=pHm5-z~jZn#ME6^fpSCdpwV4+TPIH}%SbQcZ()OM zlU1Eb8G!s7F6XR)TrZ)m8X3-`Q|`7C zJE(Cv|ApBc)^#~RYE?{#tTnKx4RXMRhs4Okg9q$~69X+Oa-7#zMsj^)V?miRTb z2D>cLv%+Yv$W_ax!mlsyLSPTh~ zO~FtL)en(f%huk5CDi882J(bnW!Yg)Yb_^}9NI0GWn)}oI6|8tzc)>#EtcRgBwzaWYV|}7PiQI+h133fth$NR1N_GVs&4+B%e@Pv0+{B= z9`EMNZ)>?ufkoYInPXud!k=aF`KoR|OcYB-H(qga+ zjtb-#($v&EEPlN;eP0#OKl=Xeq$ekTm1h6}~O|2y$=8)8?sw=b$v2$ym>C0XhcKxqsuC>AD8Ra9Kxy zL&}0qT*%#SnZwW23_?JT@6z^tXQ2_$P7mk=wngA^*Uv~}_bDJ4S-pgwhn&i_9)pyJ zW?E{?L;!q8H}0RqLm7%3J+H4NMYeNq+h3c!-Qop=D(vGySnS%6*uNFSTHoyCbcrC( zxYR!4;mHH9d#p`xgQm#7kqPR=M2PIe-K3=AGqRHTa5(BTLg%F0*nufJf~WeQDxzE zu=F$yFoPcrSocXzX{_1j<^+GVc4|HqUY5OhEbvtNZ*56DUTOl1@iOfunrkx)-3=Y@ zL_eb=38!b}!d`!d@x0-f=IiMvOutdtycLCci9BDHZ9{RdE-Ar*9mTM)w48hYy3@W* z!>cGw!f-##&BcYYzFsS{h`gth?T!t(c!{mLU|zv={D=nfOw#opr_9q1eD|E6@pLkiHyKAe6^2D&t4LD~4ZUF343!HuI+IRZ&kT#{K zSTyv|-0J4%>?i<<&F~izo4UsI3-4rsX4GA(gAY=bZxFR2^5~6p`%ogrhURs8Dl5v5 z9I|m^m-ro&ws0fbP+gD6L1FUO+s7TZxegQ9-G}@`%p1qpVmP7Soc$Cu#IjxE zz!2KAd5}^6I)&S&0j`i(yr&%!N=oMwlNvQ(WqHU1nf!M4w)NyKe2quo4#WH+Z&pMc zRfka$`12k0=!1@mH+p`G>&J2@_xN<(RXXeGqJE;kuL=I;g{z|Kdl-M;JSt-oC+)Fi zK%Ms~_C3%$S;L_#3Qm7ye$+P*z!JS@nB9~|>K=Ijos*~_?Dkje%OTtQ`x zj{rJyG3I#XVQnrjW7X7K1LNMzX#fjoG*Ce}e0*RVG9M7^-!$vLP6vL5=4q&n0Ti*i zQl69WC^GTC#XNX`){ z$$#ww7Y~EfKENrPVnM8^g@?9A1QwjguGg>eqCC)jDNshTDH1jF=}z>dJw86x!3^#D zC&?9_QBPj{K9g_wwM`nl``>xnfm)23n#1@92gR64FI+P9HkeTo89D@2J0nkgB69VJ z9V1kc(vPR)8vEy%jWL{A|Kw7?cx>pv;A8nA> z{d~AFUr<{LALd1&(DnZBS$JBpXisp1?&t2iJW#(@Pb@jdRL-uCH0<_G01vXa$_JEB zUM5M)in6QBhNWU`lDp~TZ)v>ULnGX|ysy75xOb9Qg!6#6@fk&N$hHn)*_$a1H20~Q zib=M_2VKm;7>I1RknjnpyN8Fi1=Zl6|31h6aAb!P>F3#_#QGbz?IY#% zh=25uTWg2o3^jnV^0;}#05`8O%imZQO(?Sv#t&Yyuy;&fHe3}7(AfxTmO}O-_VIy@=!6lFK;=sX zMsqJVXJSw?;qrekh8?Xpjq4^ZF2js8g-nIGGSr0;J6dmzPdkz&o1_l-U0L$OGT~4| zDd7rlTJ2UoZFrr@H-7kc{bfRsva*A8_#21O%)#Tu!E_&QY9~cJ-$wi8_nX-qIOAuI zyxr{PS|Pj-GWiKOcIkZyN73#%wqLl1^BoO|AS4O_e+`1od6I(|e8kN0wl5!Q>h5|= zux_N!4x=|Vm#Sd|pJAD+Wb^4nA0(I@jJKEobm`3bn@|@?@_P`E?;#4D1 zaMD;OHp^qTB2}}}aI3i6Xi`7=LlkLVl=TVv->8gu$e@60a6TR#sHd_%&^E%|mnsT-aSwAR&tK z+S5ohL$T^lc{Wy5`ZU5Qy;+2<4@^JU4GmPov+*m{PvuJbu1%?`3=J^mxYiNd@9{Tp zFL_)&e^`1mLN$8h*hK?|n{6WSnsDF{5<8nEA_cUf%>Z*?=P zPZWdvL{`$C(8um>nW!C8TX#^i?<+ZSVh#8|quUUf3{9p=`=A6=-NM}HqPCWBhoK82 zk4AIQezJG%%ixBMkz;Eb#EwwGt2_YZMh}3E$)bb_m#cch48m-TZ4@oI92tDI8H)Gw*O>ot**Hg2byEj;MDm zsFbNcH8r&&j$t9=W0Qs|RQ&~K>YNpF<8n@Rb}v5V$_m+`C7?}wM?l#{4>nL^XD=k$ z?7SKY+Xk$E@m^muUB;t1_`Y*0ag%j}X25LqJHLX({ZTVxBcV4;-VOzXi&x3m&OOaa9@p2=NZ#knw^M9e zq@&kVvPf5PPib&HKM^=U0MI zH-{%-7uJnj{XnO~0_TQmxT;9cnd(D zI9T48s5RQ&)+wMA(K;3{YCij*JuQiebc8{(42qlpI@j2?X^=Knr9e#*v&?S0wj7%~ zzIwkk_W)1jEVTd|VhfwJRj3~Wcv`JU{|ka=r^IFBfW_wH3*yA1pp>8}jWH2qF(}0p zl}4ECvZzlW3yZz@7t3`T`!hF2(ng8PHIxfIa&#AO^0+hejc_%MGn{4{QSq6^_gPIY3m@ME);)B%GWQq5GUE z&jnctu&suz-%8{K;6wJ`o*#L?pq6Z))SJfk;6rZNJ~GOUzHQh`>@|-|pw_kL zjTtQ4v#-JaU_;bWJCx&9?;|I6AVh1EI`N@D;nT-!oSNEiZv)eJ?i_df^)P^#SrtkT z4(r*%FPIAz)Vokk*mG{ml!x(;8i&gn0V0RSgswvvWkh&!M7GP>-u3jb<+bk4GHktEEwE-3+^R_A zpxUP#rOHq)tjyW2%Lu6rb?~k0R%-NXP zXKCfZ&j^45d1H(X=_4EeeYKb@3E7Ek-Z0ZN05PYwG+T%Ah%!RLzj3juXW1 ztL6|-83!R&^c{GL*ftnW&t+Wey1BVEMkEtsu}|n*lKg|}D`F(U!p2a5013AC8Kru! zZPEqg^fMWbNax>H{6%H61I9ufu9)jCPGKa%KJik znyhT*uX{(F7RWeoH7OOg&M|mXz+CjT70fTn);(+iX}`{8EP$J-U!cy_o||CDxli_C z+eB4IAzd489x4I;gB7_-(?HxqLSQej=6Bt_3HtJE^Vpgn0xg$B;B3YWOAhL%k04hF1I`rc zA@#zt25M3zLfdy?$}Ur~Fc(LJHj^LR+`-v=+0xq02=D6MTen<4hHf8zU>+)WH{oGzuB{|Xvg=mkFDZgQZ68=CP@6fZ$N*1 z9P6{@&c?FPZ=5~)5LNK^`EB!9&<5dJ|K#U?ljB5YWA+cC9>}JoF-~-FVHK%FVn~8L ze(K#u38P~-WyqiSDc@ocqUl246ub&g2_Afc#%;jTSPAa&>6u{~-}C2HSkWjjg(78Y z*D&+)UWh4w*XNGPch?d5xfs;Xbr@6~M`DdN@sMN#4tj34~ce|78x!s2SbbprPgwAFzug91k(Oq=SwY7-T zT}MCxJGz*y@mso;eAF67PNOSa%Us+7Rb-T&>B|+mIbL~*19eooK#Wo{M_4Z|Mr>@% z8FTRp(>(9_RHvbd74+xCADOXdX)6ExNR*Fe8YNkq-HJgAUyyvmZPq)Vbv7?t;A19w zWN6#!cH{b0Eq45p#i}j7p@Xm@LSCZ{uD@3wmxq)DO)ZeBv~K1@HJ4_@>5z^-P|nLs zP4Nbpxbk2hwQiK~V6%~+4ay9EWd|1>>um?5q$7KO?Z%I7GBauK3ntB~-(XdC`Ylb{ ze~S=BN;z#37uSD|TJ4Lo)1KJJKAhOQvv31hAWq<^%%;4B|0T~B@?DOt9H+9v+R}JX z%>DNg2P2K?*ETVBFoU_1SNrSL_X*iwsKXrg#%NLi{EGrQm7meX;S9t1j0QRVh$hr4 zLx64b~N7%pd@%`0g5(w?? z5d^H|JpSGI_*&kC3`}@Y)HvVbIK0bQwz1`1H@pueNG8XReyijv73RfxT;)Bf^bkfF z(A#Tf&_oemNo_>B?j{r?Do+E9#w)Af#UR3^+>8WNn)HGclE|?omaAk=L z0-pRNqw%fIybc-u9+)FCkbfSr{n~Q#7X5#Tywbk zVL6Y7SI201k21t#!$&f0m?#z>#}hXaUHM!3cgpAq;RJ>IMkpPws;~d==`~4Ka?#p! zs}EcJ*Cg*fQ9$Ok~ar={p!`@TbXh~5WW103hWAR9^yUSuFO zwtM#QedVCV>KPCl>4@Yi~hi{u}*|P|4$2701YF`AwC| zB!Ag70qPB=_&aL1mH_UcP??TWBMR}4NaQ`kbWsN1qqKb2B7=^w{fUni9C3g16W_fJ-YhL`O^btT~_@83PPCelGiH{jQ=8A@Q6grzHw zGIm@8Ke?YS^OW6QlIa=oGSW{UEmks~+g7j;7lg|;2Nt$7hyI>7VciQr=wi{GNYEJM69QP zP_ae#dhfKZXZsmxqq=t61o2A19ehi}vWY1TCLDhQ9BB-6P^o2|l0iIhK7d=-201)~ zLHm8Uu}nI--#7WBDg(3nsxDaD4Ftz7$R74R9{KS_R5(Cm2kD5UVG&Z!~2??-;Cs%LvrAA6JQ=(Hsmu+@BLOq0lLmLsox5Nko zf|Lg&xwOts(|H~|OE#>U@M#G9_#PhePw;&AN}0Wl97y55g$QE{EdgmjIAX2 zzaPF1D||Q*zPzG>z1(uxYp1PL`wTLH)?qNx)_Md-?fQ*EYzO}PV?}bB{L1cm7+W_( zDDQSIM*BX@%^%NL#J@X;1?`YBjZQu zVHG3eQ=0kjD`x3fD+S%vOS;2~>}xJ@3jg_lo1tl~*1)X}MNlK)^)g)pi4%!8P`ci48c6nz;oUjM4S)EJ zWsA-N#&xJhTsA{&Tqo-~h4xB4DS+p6hZKRsWCrD_3na9h#qTk@i5q+}2D&|WUWtgq z@05}8s2o_8`?f!DM_gh#S;rMbj@Q{u+t4a5(*LbS0t$MMDxU zXMW?5v;$@!gbdmJyMG_l`+nk)(U8t{{tL|hGckDNOiUfP2rLhcqc3~D(b>$_!pFSc z%J**=_2u3W^1gjIyl{bCGYWiOJ3lhL7trV+EdfQh6GGgtdieG8s2!G`%y%#>h8X@qjOQ?s8yX7 zs&OyM9c7?d8qtV?l6#e?njS*<7iQ%Q-dhYNv^XX!x}pWCd8b@ziM9lG!dn@00$qh7 zM0(Bu1p2o+f79(kU$fx6C%R)8<5Zu%6nm4~%n1iWLdUV}I=uo1Ad zM-=w3Ol`8ZM&0>ZETtK39Nu}k?S4`GEKLm;SbRhvC{nlRQYVmQ69*6Z04Fq6k17Yv zvA&l&B{xhk?j(X6qT6;?+-bB*(J?-S*m~~MNo$nw$7Krz_-`3=g}ZD0A;e)`Oz7)@ z622Aevt$oAYnHrLoa!Qpd@boxW#R61d$Q3H1U;4AW`u9NrUu+n{6YUQBYEfKabpg_4$fiB*2Q-=gI`$vrm4 zsU&5M0rP$1luTKqC*OVTH)e`w;Z8#`rc*53>~`+)rn@$8MtWTzviF&WVxx5 z3t-d`GF`NS=Mb5y*Nss=opyyXYq6RLHNAp{8eRQzE&K_9u2{^$76lf^&JP8|%VY18kBtEWgq{H8poYDvUKIAEAav03?}Ku=L=c-2K3{wQ7=SFZZkx4&s- zM*l5Jca}E5+TT$bR|Wlv6Juf?W>52f{^%4hA04O!F%q$ccOyHUJK|2O@9CY5QB}81 zmj4NL8cRdDnyP9=B1uD7(=9*`Tyi;8MxTk_>ARkJ2vK3n&krYgmE4FsG5q+@TOhzF zP_uc@fTLHkNb!QrP^6>55Sh5n#C_3ZLrt8DO${UBh#_`{*uuy3n@E>%A_dbt8H>Lk z=}LcE8_&tEqX&N}yVUbixWXC^*Vql6g=9~cf3p(-1xY-ysv@}n@y@uWECz@msJcJ~ z1pt~^!tc|*&KWVdM=zWE<{FH(K6{vyuUtE4)o!fmB>EC={uLsIhlgi<53MVeeK!%K zL?lVgEBM29`5SrjmIMG2JLPY{+tQjUaCJ}$Ro+ab8o&!P)>MZ$E7K-aR(chD4DTH$ zoE*v{?!MUm+*r69qx*d?l zOeK-T>stX1j{$Y&#ZxmcfoesK+ISO21lCq`{)ZmlabJl*X=2NE61eAw+s|{bGD72$ zZ46`&Q9v$+?9KT>$HXUoUOQKLVV3B@X;p}icjI0quHi_86;OW__GE4+E$uDo5=#Ei z%V~s`&972UP~gU`m7=^ywCg8^l}XSEh1{8qEF9XV5*kdJ)(TM(r?I3;_rN=ae}?gL^X?Ay_;h3~k_q1QdZRKYCG;F46yjFLp@T#5rDcrL@0tu| z7EIE7#Ukjzpc@mRYeKwZ&sXWOuKh=@dgI-}n9FH=$}$9?Y@h1C$cMKum3!GUK158eFnu%qY7w4vY@2I&2XY(mpryhllq3h-+uftIR7JsPah}K@F=~$B>j0AEa2dP1qzv3;lewhYiupl_CjNz zh-fC@Ji*(yQbFmNG}ID%peS*>IGA)tjJFfQW9hQ;r|3%ZvtO?te2>V zS%Dx?xf##tE=_!DSZbUta`SV9yb+)#69SsP$nZV+sOx|G8K=~%+l!P!btEwe4|(g5 zKU=AEVlayfO~u4#b@^i1{_nx6)hi5#dpJ}2sv_VEg_%201yCro<Fyf22dacx=CxL5Ejf^ZfbT0zv=!_b7W^ zpiss)6>WOmLgh}+uZ6AS3vj|uQJLRE!je3HJ35#gf0x8FLF8U+G-O zQG+GC^p*Ym7h7%%A9M{(rQL_lm#U@F-$`WVd6i#go20LZckI#Gk34SZNhRDiYL;oNthhpgdY$nm>U7?2MzkR>5&r&@ zqB1S>U)y!y{CZ#A&=_`&FKW}wZ4TJ!at{@YkXc?XJ6|i zcH9_z^dA0Oqcl0|>o@W>dc}q!xa0E2ynDIw#?RHcgFrU7?kVlTK#5;h=_&&# z^juwz6VuP3U>eCMo!Bzj0a1HDb8v0wZ@b50if>T^W7Xn0oUySOM4|I9r0ScRVVn}> z5mWQWCL6_lD3e4LfHp9LR3>ua41LthgIVlK{CVFJ>(`7$?t|o=c3+d=N)S*t-4ulv zSWE95N^M0n98K>4WEg9CG#QXe#{i-$DY4Kwm;`mHM?!l}Mhsz&&tQqBr zCJ;j5MA?e5nv*fMz6`hv_Bm`Rp0q1qyyT<*0!-H%gGqSUAxHL9TwG>%NIH)KiLVV* zAv5G+X|C2VrYIxR9H=8mn-6TK6$g^o)c9d%t9Y4=c2|DP@>Z0eZhAXYA(d745rWK$ z)m;1~{xFn#(|zpFV4!SzEcrm`%))&Bn(#Y5U=KBq@rY25*+FK?G-D6;C3@w|s#sRGjkJ^4|5C%fTwq&vIH+6Neb@p&=4o zy#Jw{^^xFBUE6Q$-iwz5CBOI35=qwsf(-NA3OEPnpiX|+J-Gq}(q@%w(^`(Ss zWbA6oIbFqsvjzvfkKf1;j*d*Af`}GSi1>fsd8GJm_y~Jm3H`Ph992jpdi;8~eNVvc zJ*&tRFE0wc0&=0oyF$+Hw<#1NW`=m2G;2eAaC(XI7(n%~0g*T5ehy>g&)8K!uo^ie z;Ed^1q4U?iugx(6bJEEHmC0J^1Wfy3Xgnm9yGbf_GZj=4SUrK?+k;dnG^EL~7w&NJ zeG|&mZ5q#--L}$=XCT+OPZmG?1Du%Ey3EE()Qx zL^^y=Fc=>*PmJ5qNId9WPyuuVFJa>Vs2l(gOOC25^@YsgXgLuJuVZ{BrCyjBz>LS8 zr}*NbcixL+$PA=7I;;)(z1(Mg+05K(O%{!vQiO~Hh5wxWyXP4ay;)%$70uo$4d&Se z2L%t%hvg!+vCcYC;j7w1^j~?EtwfcD&C-3!zbTWrk7bZj+I8Z{kV~E+`u- z(gJBV9sVtJQ3!Obn+|FT*9cK$`At||wBlq*MAz~Bu$*s}lqRiiPO2mXBlyk?9{GHDB+d2(72{AaK60mr?TFqN8-{f8!LB5`a_XY%W+rGE| z8hiZ!ubZ`derMig#hN$YL<7FSE_iyTI`*GiVLX2mm)QzdROhctZflAr1lpG4AiBg> z^9iFS#J1x{RK%4Nn?Qw>(S4S!SFQqZ5hV<~`AZ}n$DlS`K)z7g1FOBSq$KAa^k1v( znd;9&&0CrYB-4HFKMyx`-l5vVy&u;!yt>U2Uxgkb>mqE&r+o-*X(rS4SrWm}dGqMj zSlt)t;b~3C{ys_uJ`OhtZ#Cb_hX(wUE$8%bL<36muF zGWWLBN4C#qHE^6O)oC%dkVKMj*)RJb$G3{(t+r|S;Em4vEDVyUP3?kyn6mx9Y(-ZW zg6pW;^EY2$p7kUzoefhYfbT{ER5CBT4DhG%X?bmxBy1cf^)E*vzV(7YlkKyw>w2yH zc>=8fB!$g#8%F|CRytEdfGm4*@OgMVGGngLRaVbs)XnRcbp4-`8#pT4tlWRjAd?9^ z8i^m=TA;49)BTbb6O|^#oiI5XP!6-P^7i*F&Oc$ITCJz})4~rq?9rrh&7Y-g{5Q^3 z^A3`g9V*)81^Gtfa+mzn#Jr6v)Cao&JTU)Tv(YhZ&0L$v`zQY#gTQH&_&6wo_`hxr z7ktks%uO^#3KpH!J`K|jJae~U20x|^z@%M{EO~Bue3=+u(C$S4t}}f>WvlYTBiO{TmkDFK$B(j4j`@*N}8q( zxy|}G)E-C!YnRu#mYH_;N+0L;Ad?T+C|w?#IVE>HW8jr1Bs}T(i2C+Fzo#6R3y7M} zRRWLDi78YZY6I2AJL2`!%|enT4pmG&VRnpfyna~?d>r+*GWz+vXO`?5+<*=6zwQHR ztZFDE1(!~hOqUaHxBVJ+%em?aZC824TI6>nRlSwa7=E)NTZFFlk`7zFr-K9kBdph# zQVjdgiM=IGxuaA9W}o%@x;D=33mkxeGRxrPEt*#u43Yc#VWJw$pvAPoD&NUiqZeyK zboVoN`vkMV>x^vjHX+3u=}4KV@sM!0ZJXlXT&AGCSv;98eF_%IbDrrlQnNoMWzyZL zU^b3}i+GOPd#Jkq-{AzlICyTJD=a9uGz;00Kmc<@8@Gd1!Cf~8srAe=BoiJHw8R<+ z^+?0Jp9UK*Cv|!|{}#L}SFqi69psRTRHZrYOs2f6y!V;L2Ay&2# zf;Fx^oG@W0ygnJ8Rm+*H)qxW}sT?vnhj|0spIZgj3hld3Q)|Bp>j*K;*SoeZsmg0r zQfNq=&(R{peQ^94%)Rq!oq&U>nUz?#<;5Mxtp;`~c{z+PVhnH*x)oTPtS!|bk^g;hE8{OH zl>Zl5=%p6&M``-m-I3mBf7|Acn1ExwZ#``upY!{C#S#iGm^D6CGRN7f;sE0P&a0Y~T&j8O&nWqwB(WmjsO=lJCl|Za-ZDL#N zRXuMvZa3({kG$w7RsdbU>i&97i5Dlti;`V*Hs!tXo2dPt5b}rb1h%Pp#^S=r1q_Bx zhCOegzl{Mo5TnO)Y|Hp2`KWLKUL97gvxMfCIIaUo0FI$CjA3o^2 zRY7l*RMvJgi0E8!>Y=*A3OPqN|Sk!;Q`qc+`Nc;Bx9J&-QL27llsj7;*Uh zlWZzzDdrDovBXIvFwBug8Z7_z1AGBk=`pWHWA?7M{-{7w_%e$0#1 z4Qd`}(bhHL8h!X-Ajkk!lTRg)5(6n0|8w&1o@USz`JmPyIow0l+WyJ|X@*j!aY>YN zIPUnn+bLH=?5-?k-u{AW-su*bgxFMq(_(cgTF=gEH1u^&P{Y<=_lYKjz&REaUAhSL z^dbG8(%5Q1qSaV6hhoI8??C$nqDLCRIh1#7OK_)Q=H(^)^F;{we{TYb5=kI(*GT6B zc76qXnI64#ESgm8^0J4`K;jP_({GCn5!5XCEJXb zhw-n?KNT6xV%-LFXLbK(kTM7?wF$4it2g23m-^AAUd$*c8Xc+JtDq+T?E{!Q+a$5$ z@$L%W1ok&2)Jwa7Z^KiLWWq$w%Fua@W`mE{9D;@I&*2+N9<;&Wqc z#^*~_Z%i4bS>Fg%kN)hvvsDK8IM|V{bP|@%%KYgod;re?D%ck(z;nwG3Gmp)$PzV1exHEhHcX;$n~h~qGfO$@ps7Ez|G^_JT2}oKSOEEHx(C-S#iHZ&@e$H2N zY-dM<%8VsYNcJ5xNbZm+G=Cm^AJG-z6PkTM5mL3zyh&o%;Hcp1X?n6yGM8V^`1Rp( zyrvaj*eW2C+PZ!_8aWFS2HJF)m15)M>Kd^V9uC^QXj&h)AhLwM2!C=bD_LEx9IPuu za3`i~eOsMO^qA<*s=q}%esYuHOb@Z(-8B;swX2$b8zQf?XO5C5M&!?@iXet#3SIfm z9N6J%uzgJWJ1FL`o63)BwRuaOUohw!ZlY&>Y?IQScr@*PI5=kEXsqg36tX+D6JC;D zeEPPcj1a%dig9WISK`K$!fTZ1adQV zG-xmTNpO$@O@Et*i*zkpP((!J_x3(oPf5U%@EMmbvYN^Lael8?>^6K+`>Lv*R*&<^H;j!&2!yr>4E2$@on4!*p9xYsX< z^_AxPSK6yQ9yg2xjtT3YLIEijPoC=s_scC~hy8?7PVsOU5v4CpY|eA3Se{vg=Xb&@ z{Ct9Sj(J37&SD#HY_sXB2ORh_Z^T0PcbXEv0B#B9iGtV!?}_sO909{5f<%yz+1@UC zG73Pr64V#;to3dx%V#L=_rgNj(fTI$j~sJU*AZz^<0~{^gAs1w zCa~gK2EVx)A}#kil5(3PU>Mmmw==ZQY2d_Wq-17FW+g(B?LW&m59^*}z{|>wbpk0) zI1ef_G*c7chqZF-r>A1x{n^ZhFml%&44#|8`CykRLd&H%jmkhGfxbZ_X5 zk9N;Y9bNAmZOY&4|Iod49V4uLB~_Tx1ntg8H2_J{4-g@QYsz`Fn|G?Y_7*imYLxEW zorD{%c&3EFDBw-g%lkgE491b^ClULaxYgGaWH{Cy8 zxh{@&8!6XdZ)r<*30BL+q6B^8eCJ|3h9*?4VPy>D^}1)q6yZ5|$!_AB+1uOy42eG* zOhb21^W(u+6mWR(_La$li*?0w+ehuTU?&9RD?s#(`X!73>9DD*z1zR7=iS8tEb-t3d$Xcegl#%jy?CvZ|$XPro}Pvrp}Krt(3T15MV&$(@GiB15ZEW zy_+ZL8Pq4Z2e%KuK2swK$&BApHLu)JEma)TM9`k1teW4vIpWfcf8|R2N2N5e@6Kf4zPiv&utDgba_79|4%uNebWn``@_ZPYCOc91*3n;v*p~j=sV^*wzu^; zfi`eDh&|KZ;B}oiaIz^8RPJD#n1H#!7HVJm7`ZJj%^Koxhndr$Ccq4X5kVeaYlSzy zfDDD{!)@vx)o3gt&#{5 z%{c5-$cl@@{@+0n)np$fjk7t}dhb~z4$u6z{0UxLzqHlvpvo_L&hp{c>=2Gb_n3e# zmuX!lGGv0Da8~34nU)*LK#R^FV-Ds~hV~^VT*`@HSC_+PPOy zGcBuK3Es%Gbd76gTmt1yw)~Ej_ZaiC&ibpvyC*QD@=*5CFaINiKCbvi!fExIS%&qR zmuefd$yM{}3J*Bovos*c@nG8q^>2sAcl&Ck7UrjSX$a+;@UVWmt`6h>r{l-I86OAi z#-6uTiArZaYD<|9Vj?e7c_aYDQBqTvznDyZk{;yc=&}gpl7Lx&5U)FsZ=zyTXJb7! zv#prq&Apnd(3@vY1q2W^m<&eN4pNZVO_0F@b+?}E2Cm8OnZCBbsxAxNv`$L6#eNaL z==xi`rmAld?HVn#vr1G^guYE@($gZhqKVLJ1nw?3*L5vei;=0TaimF~nPcp7U6^<9 z@iB_|34Pff{~k_BJ}CLJ{UBwAil+)19*31n5md)ZMkQ@p5>55BtwzXiR%(8=PvN}PcXH7JAeE56 z1MYfd2uTF;t@>a&<|Lsp^vFnRqT#5+thkym-8F%rTuq{8l9Ey|_LjSp>;$`i0_AK| zb;m;jZR4Kc@;Nn<`o$={+RboEUWQyY3Ndez*{;8R-d&N^nt>Dcw7*q%n1kFOpUYp< zS>`fr1QjzUu;b4O@|tx-3XuSSED_$*Q+m+-Q7~6M7yom6j`gKIN0mba>@+%#Q+OUy zj2)lYJ1r7bIM%!1)8-Yj&et8O&U&Ql=OrJF#;EHPEF82TX$O@&_U!(vP&H_`%kSoC z#TZVO?`p0cax~%4uUp19L4gwEL*CMA*T4&vA>fn{@@R#}OF-J{uh6UvO5R{sSaDjF z=T9fs>Xuxf<=@vYs^4wOnvnbf8lffqzBQUpWI*NQZ*z2)^x9;Tqf&iOCV9v@WF<9Q zQU(YFgIlr<)K7wCMW8W+c|RVZ8a5-rYRd>H)b2!ILj$(X{cFn&Ct6+gOU9R~tSAl( z62>-5tkGqzkx$vboJpgA(>5q~358nka#^WdS)tp2E>&i}QcV zg)JwS1QeFSg{C?cQw6inO}Z}6Y7iFiQfrpPIJG*qhsyenb&GL&s#h15=PxN4!9?HI zuT>s0ZQ9{3jW5J`zxN_h8fduLht^xG&k>l%JAe+z%Un!c>Fnm^<>m8SOdf_LjcKVy zXMV(i>jNIx;9Kis8XH{Yx&Nc$=XhUfyL^3yyVXA8(LigKUc)|X^ zF#+$AJZwwGpwgt?DRGPPte+DUuL*E=0{OOO@~a&|B05~?GZyTs$p`8U(vY_-G+oBX z2HqM&AN6XaLsP@pF%G2wz$x8#uo^th)D(q-T{~;~?=MB(&h5ZjnHaA1fPkK82^Wzx zib?bIb2Z6>mk4L$rEhJj{+^MC$2h*n-K3P-6%ml00yNW0Hgyst1MWa5(o0V39mHh= z94XEBRS{U9l24l-4FI`~>P?~3dluUSgU)_Bpmz}zZW;mhqe3KYa*b4P8m;;X-cej` zUCG9^fBGfskZBS<5RRu=+At9lh` zGL0S2rDeG_5)xDq>2q(w+A0CnKt;Qpq)uzW!rWyY!QGL<#QdwWBdYNy|E^Q;8` z+I>ccscP}$L+;Vmj}c@6Bqkp2bgJpzVdT0LhQv^oXKh3TA@#x0`^*lotG{KThJ<2y zq64LZE`Y0diE+l+AinB@?ySfjsD48qL$_ko=cM-$8?h!mqg1~(#Ga|RYU~-ScLv2D ziAgROJi#i?jjn#EOqxSow?1Tf3Mw%a{0f5E7v6P=9uovc8R{j7O@N#VwHqq^_VbnN za3>WI7`QZdlrn)|5UZD@^m2&IU)^A+8W|Y@NlAw`FmA9rd6?Ojd{))Bwr}_#=K-{) zbfn8rFQ4Df4-j!s8U9@dR4aMbFFLSSGf_52lhzQ~@;C*Q5wpU;&&vT+y56G1q|V)Y z$n5wPkVOU>3!P)_lYeCk$Gj(& zj@#U7T)Az?zq_SpcRGo|`iY;t(Z$0n0b=GRVJWBOLRu^S9i~=c5y+atM6fmv^v+?E zf#&GA51jz;LjTu&;q>+LHwXGMumsBbZHD+Q;Yzd#?z$Q%YuxuLYo&`C!##{yqg@d9 z2MIZ2%cADU_mP^q9`HRIO$qfbPQ5W!F?}(`FCvVc><>W-C|j)Vxa4BZcQU4gnQ6h@ zBc4d#BAh@xDa%Gdftg~KlQz;<(!)LJY*VqM&I2uoy$7$+1-WPBp={mLXNcAmcW;J& zJ|e##hALhP_C-uSUA9cQUIZX(RmtX2xl;T{N=C)D`N>>W!vIAjbgXY>L6K-=F$P?gy2u!5bn1+6Kjp?|pas1JTdu^zBSUj^D~c+&NEouxVuG z1Fcir6@puGyCfuw06ZlJ&pI%eIf8^zU>GsG@8)OfxijAyHn8A-R`n}D2&-s3Pcp<5 z!^i#WID4eW;21Gi&nEFm3LD`Bz({U$fG&0U|a1-zcD>6L47bbu;{FtJk%PWkST$ zonsw5^s1twqGoHk#nsB0`G#QA5R2$YgFG23C18x!f$DbZD1TNxOovdeo?;~`Tgq5& z33q5|rjm%=42LaTtq6Io6ck=*r=LMVNbQ7O{jHS5BTGB+p6q}`>SJ_1D9m`XoeJEV zDKVOcn{T2hX~8VjQDEgZuG0M_1!?)AfXddZ$%l})_3=w0^q!WxYjd^7?-YNxWgm0b zXXhA;ImK?49p{|yivTd?#t#QAGl!jx9=|@0_3B%9=v8P1WQD{Xt8C4@I6xzFbiF5} zcv;_)NXFn9{}B5!FGod1nYuqcJ}i){jBBdV26EOP_%gK@wAwjP{M(Pgd9>a#zeye- z3>=_Ht-}5u{RcD@G$X>DJ;T}kpW?B#S<_7*jCb_>q3t85)au@4IBQg0&@fhvD`x(*H|Y+=9f9^y2b`emsY;27 zBSJ9iwHQ!ZaJP;Tj^4J-L;}FoR~6F#XQc43wn@W`FTdMbtsc(C&5b|Vrw<0oMLm(U zD-&gPp_)Zn6TfCGjfPZzlZ`t+XFhP%;sgEK zu48!FAwdB$;FQW;}Ue<~+{ za#XST7G%M7$0f0P2Vh`psHlAuuxR5rN&Lf7lFl4b$Qngnm1vNJ!PgCFQyB1p zKoC~7Fo=S&u{q^>l_7|$F)z4&qCllBsKN|^LywfRqXIFd)MXP{kXR2JbM8y0 z^#9Dx`vKn*cA~z!0$e%$^O)-+q!k!+uFwI9#}syt*&S>i#*|tPoOLy1vmQ9prdGPT zw^Irhfi%I#(DA1;+9ZtVXodW*78aJntTWNVs(&FP(@WL?0Rg5j$bueFh$;ogswN&C z9W9V6j2FyU2Zi#~hdPWTe+r@*Lg+oJJmCS?bxu(`9xlO2rffwfo1oAn`Q*9z+?ie<-k+|U9lm`x zI(yilAXBo}Tkg0CscoKD;X9|N5CS=3nZlR2K~P=tA(HgX5RFWGf-Vp=GzGQ@jC;n0 z4=(Q!_)nd>Ny|-u@gd?0nSdh3Prp_<)^sP?uZ%uxx6gkY4#-$r({t5-?eID0iT9c7v6eU^)phl%J5nsyLW z<+e8lM%*ySg~8bi-av#1vSLO{pnU)SeeUnQzs#db5SWo87iyx+uaw$YllV_buCLxP zCC!OFDI1q-av<3RI#&NORj<&J**(4H*pG)#yxCrhrC_Tcc*+`9BGF$-PpjV1AMUmO zTp6TNh7J8rP4+-UoWKgT0DEOh45EN&Q-X--oOgwCo7yFuK7WHoU7t!EB7iwQY*CeVY!G#^8pP5?twCo0kDOZ@xzx``3}?($ zw7ag3TyVVb#@M0*0ieagktBS2Wnyy#8>Qg=(3xjI&?p&Gf7O%kk1Qw-bvOABUubNCI(m; z6L|w^=F#PY9HRlF9H!6^%xv&o?2AZ<(YdLr$dr4x#_LO#gZU6`z;qs9YXPF5?@H&a zYec_a%KdjoYe_#YcJ9n9>V^5k@7nA$V^=)ExzQK4+m#0$`0ul<^ZYZ1?eX1<&fv1| z9~@w8WUU^v*#w>#y@3iXW?W^cY5X}H6J|?uDj~+HrVd2YPEeT8fJBiLw-Yn`H0|FR zHeA_vuG4Qos)Of)k_epff!yoVO*TDSbr?O2*RilIE|(Y6lQdER=CI&B6d>dpNaoh= zYesEe5{*=L8UKa_0a06Ri*v&QoUGZ=>!%i!&t7MKw7J{wbj65#XjOB>$1giO;tS@1p&j6saQ`}Z`=;d*N7ByYKApK}`bhIrd zEn6(TIl@tAd=oGtd11Zf%(jHV|0gJ*@Vgf1lFUJAg2*(!U<%LVOV)H>MM2J=#tGG8 zwPLYIvBPLW^U}O|bej#yv>9Zw;)@xJkC}(*^cyEP(gKuRLO*c5OFS;0p6OUMJo&@U zNPC<>UHuyax+ zIq2xw@V~`#M+0^1vCQwa*%Lm9MpXvKg4pzUEmswJB@3wb1Adh@l9Lj`P zX-!&;1c&(iOn z+_}6`1svs=t7!99GVeE}efB?@Qm$HE+h~LdKy3kLHJLwWw@KFff8pU%Vxg_e4ZLc; zmC^N8hKX{;OJegO-?H~YN{^*qcVX2OF|>JL{=?RY+r{ZZK8j@6fNEDv1J;`5V;S_U zR9BDn^zrc-^_B*#f4NRuLr0J_HzxBW|Gso*mS0l9w`a0!&gu%f{EQp{0RX7H17`mE z>z4D~6U;+Ru^PuhRJBjy2(s1dZRq(m2Y0d_%)ht*m2=fzSN}y_tKRV8ZiWqriW>(z zm4VyLyQFSlV6eHBs4RK5$C4vF2U9?Q-scArwOM5(YM6D`(gmkAg{Ro)auwYYT{sm# z@BM2-u?q~eg}L0bf1-gsLoL{xb!LsSpb%cYqw0A=88uz)&jHE%F{-AXvR_ej{0B+RgT!22iYpeD}pVD>x?;knM-_Zw4kXKCIp@Y zUD}YQ5d%;P%lD|JnvWm$)!f$H*!uO!MU&|nKuWpKZOxlg!n_N5mmeYU&r1ldqDwkvJ@El0-`fSYNwe)EJy_nCZFGnMQuVEwouJw(aBOBt zY3b0V!znD}bOZ*P>61hP+3IO_M%h*c7(v+QBi@tg^5@fE_nq-gJzBJ)Wj!bU(}U>K z)_gv=xm6@0yug@P%&5h7gwMU0MsEVYG~j_pzm0#F*6?LNYFUZHrEGFsFLc4gz!=zB zVPTzFACe0sJeHgWn$(OsgE=<=qh3B-tkF~B_@@>|^? zb{jk(R6eIVx3fyG>eg0LnS#x3^LRwqtg6qTbZ=hFX# zN&ZbdwPTYdihw;%#6F|cwl3Aj<@{TPa>MsA8ZFZIqemATa3}iwsuO=^8MOM+%^NiqW2Bo7L}R3Lw4DBKQ(FHIERN%Ry*OJBT`eX zvkPJ#OKWZ2*}d&e!59L3&{=~jw1y`~P+*u;A=M>lD(wP*4U30G3cRbWQWW2co1}1+ zVH=6%*}W^W1reR+%kl-QWY;H0=x6 zym)5+;&Y7uowi_cq|kdCWC2?BEt}q2*X}UC$_-))Ps()&TF*v2WYC(h-m*_w@4uRK zv}+j2{0g6^v1S28kLkb~`%z3#&|T6Ou#%atF$;0qK7AXkF7{H`P?j~=8m+XtI|87L za1fUpa4pH@Q{Fa_UnVKek3e*gxl`p}Pi@=`l^+c+0wnw+6lm*itB1Y6D*=U+7~Zje z-HSr1v?=zK3@7E@FSfDK2x#R*S-NPV-ag=DAdGz2uZGBH4GvPZy&;V@c9;%>8}Rs2 zT|o%Ub4iR2H{kThaWgJi0PO3>#Rt0d>^pt}*GGI38Uj_3sGacgvM~I)UlgyuiX8uF$9&|2B#w1V>xX{m2QUiUV z-+b+*1i3s~q|biQX!ZbrV-${bGn+g!fCmm=(a-fs>r2w|9O}sH)#9>>mo??wt@&Zt z%+LQzBvM>$KRyYgV`W=h*JQ54CJ3K5;8wM!U;~$kI0I{B+F;T)+%SuI~2}=!O@r?Nn0VVS&C6wEa|zM8D`dc8=Ie-!9Z6 z8~I;i7ZC|-(b|S}5>0vi!{Nqwe~|C2naW)KWkcp< z^evG41#}szx2@M$DBkJ66Zyvp>-pHeCaD2efu6*^`y)RvR;t{I=ql)BN94ppSc}JP zndBm6_!{o5lZxORIJ6B?TV_l*wf6(y{<^*wUg)l9FbNV3um9V;rLvlhi-tKAou-w_ z_gnu$`7zGMCXW(3>N2cnPiDdwE@bhp`pzL`ca(qoymR+;_kwIkfU`(P2yc4h;hc^) z$ivPHG=4z=8*X`E`8)U10?9{bK}thsishU-DkD~$ut1JUh9slpcXM6lLzNj2J zk$nFlb5nYClEJe#D^{g7pMKMwC_#-d9IS{g5*nqkdf4k^+TpnQ`N4l~dAYy&AhlsR zR^Q&<_GbOq-rlywWZ-K8teWO5bJnE3P{LEi=V_Ivo2A@xvn+_jJdQT^f`$>HI?Qo?KVu>gUqy0sr8t4OY~@|1QkOO(FWcV>Qma4Ud8qA;M=ChDw8 zV`GeO6>p+UyTZRugD6Uqs3=zb3N6E=wl|%}Ca?gEg&Zm*2?R(p!0G91QYs1_7$cy4 zYn6Cf{nZ&}EyqwWKMdZNUJP{!7?4#XT2M?g{bC>xeHGpP8u_pB&Kng2-nz9zROx>i zN5h0Md=>9H?!LQzR6>@8-!k0$@dv@vz8Q=6HTqxm4|-IAG&_NSDL@BS!e$ZT=45_| zS$GNUlW3UT-@KG;9%*_h7LTF`droF)Z2Ww@HY5@Abw*;E*tn0D9Iw@i&I;U*v#OmG zG5n<9hm%eI#ZyqLW$9gs%S-bB7tXN@P6j+)Qs*aRFOcLE4`jX}1(}qzC^PF!^MEMX z7m1umerPW`RIlO_ZmJAevxWnlqo&iFLNe&<1CP)kw0k)h%G*Rz!MaVc{tmRONd8zRJ6xbsdWQ ze2q+M|G=EzeDmqSaIO~3ZYOonabK{Nu;O49b_^C2ebcXIAA(iG{hsVQ$@^F)wb;8M z*x7%96w4TF>BEl4UO;&d62yav;!xG_{Z^p3_-eV9n&3=R( zun3gbb;ftt?trs@r24wNPVX1|+m~m~+|1lvQPY_r`ZBt6>tsWG;LW)HOy-Y_C4&!1 z(qUJXnhh;Mq;gt%PN0V5B~4j&P)+P;JdDtzXo5AEIRjZD>EsBHy_FN|MfE zq#a0R-Cp{oEZ88|DVUa@`?~PMap2MQhWr5W4<6&)zZBhbZW!CRIA!T6Ree(;AJ(os zCKp|ZqAJR^FGSAp8DEn^kMKs`p-1HYF4k6Q#VRjl>X+PA2ht-C%)#dATRLx;2%w@c zb8z>b@~C7=rIJCg;(%X?7(ocNA&pFSLJ!*DL(c-7vjzR5I^O?Tt{?MzUp18O`)J!f8G%103LgvlI|04s zZ}3qGu!qnZR2LO;(w8Hf4d_`9;fbhE(ap-;S4x913$07}At4>NT z_)%;5c10*>_n1HUBMofUO01*1Nf{18lPmu}s3wHTDq(zGG)I*g5P!AYGXW?LJ$x_M z5qG(fe=AY*1-%ixf&xZ9XUxXvXlTgl!D+-d(bNb{TwJ+aujU>Q*%|nayJ6PCCSd)- zY$KWN0XNZtTB%{o0!X)%o~$b{?S6kVc5viQy*nCA8G<^FQo0>2vAAXDi{`z34_?01 z1gPB7Z-3v->-#-2LGj1Sf^e$L!Kh`8tqROnq(Z*F_R$v!j6DK^ku{Wi`UWi@KaD5p z&CW-aRQIPOs$*zZQVN;wX4>&i6q}c`{?{R3(y0ub8NSIu(?ouTWoNyA>TS$!5UN^F z6#$@;BA`2pmdFBIsST#4=@;@Nw4+}fm55=qr##t9ob^~|&42Un;Rx=_qV4g8siNwA zkWbXRhzNqRD~YJuZyty=>y@>m(Y2=SYOzx>q!LHC6n+nDM)7t#hF${Ab{^zF4@356 zwEez92_F$QO30METb09W4!k9DynJ#KrV8;-@5mtNw|D9ovqPl2j@_^2R&wl=MD`tJ0J9(ZjWUE&O@!kT~xur!L=fp_r_aE|G#NxRFVAF zerrx+=oW%JtRJY8+i+FTlw1~>oWO+4cxa((m;HrI zjkT6ndNI@UXtZ&xw~U78hb^Laa|p%xnHq zqf5STH_+Qy3;qD+mknX(rOC1f(<|AJ+Ubm$m&+#xBuQEX0=?|NO~Botx1^x13Fi_& zbcFbkyJ&g9X+d=5Sv1t`XO#z()r0g}HyGGlT=n(!H9~O^0(dUC_afYLt0A$5d2og_ z$bhZxTF%PMX^?K|ZjdnOmX-zq>F(|l>F#a;>F(}6>*jgi z^E;o;f52w%d#yRgyvCRwDN;?*)=QsgRsg4#sl3qF=$eCs?ZYFV7iPmLPN{3Y-pHB+ z-&hQk`Ge6Vg|q7bLjoy!M2X+xh-r7K=S_DbuvlAqc&ZM{2=tCLf@OQX9xDR0^W$wk zMzeZa-j%!abcD(Mr}zz-6Hz>9o3B)EOpz4_{(8*)+^ZIqeto>npMa4tnq`~ayd>gElLL$I9ciGVqEhk`~Cy)Er`yPDQb=ncZr$%SJ77zY!?;TPD@ce_QIL*`$ zv(VMb^av3sJy(OMz%QWDOB#9IopPzqL@Dd~d~a;gy85)=c;uyPWPmJNkPO_>{3MDe z_2a9PN;L#phTVpl^pF)`4EH5d+;-5SFD&c53AuA2!}rTM_&h0aDHMNOL%CQiiO_@h z_KU(R+yf!SU-6#$46Na-j+BOHhnH)p)@i=lAO|j zLF;$EbqkYe-O>6@*uJotsp&+n-0Dqc2xI@H0fHM22>zpQY79H;WnFya1Yba3GM$&7e)mlMrxk9k;)C-&I=mz4Z^1;& zBquv`jk+yfHM@$CdV1K4P%A_Td5u-(j*)2K_Lv}>Zcp>Q%pEtZ=Dvn{X9!1{_N#&( z*&B7RDPqIb_AxuOY8sp2;u@2wp8ta*-9Is66Q&m{A{Tid>|u$+@jX@kr>W~NG(xA z7TVr7WCgja0dClmH6w@Jvol!5rmkt5IJTeSE1ir%&1L`_#YB9)K17W4%Gt}wo(nB| zVum=K9~18f4GO+$B4^G1FlYZ!+Tn^uocKWaSt@9IK@9HQQ@=@Zkfk=4Fv&|_ob$VAx# z2?ZtbUX5Na{2=5}&IQU0<#>LY3x!TB-}jJMBKj=MQZ3_-785>XT&NuwL`w@X{lpbV zeJVMdLki<8eg4MPis<*M1uQx}z>#ga6Dl_0-2{sliA|hVli~~I6=jjN6ZIK|D+b-r5x<~(o#X=R1u#v&y` z4me66lmXViJrjy726;1zjRFG~#u0ux=3piZQYh3SFL3h1=tuD!-Y1nfPFDX8HtG4m z)Exi=pKZ_l^cw0`mNo{B2y!p=hPfVIpRBDW{P?|bgB(?VEwN$!Iu0c_&9iI62T|Gi z`DR7jG8mF;#U~~Xm`+--{^yoeTrA6n{8txB{pR~dsNMq$bGcJSK&;b`VZeOxS}#t0 zQAnv}+qX7!6TU6xm{xB!AI&g;y;H1w*aGsp@@O4K$flt(_bp)V{26apNW0PVgHHd6 z&kT^CWZcaNy>`=^a!+*)Ba9z+uvT64@K>jS)yR;fGyjI6n1 z*Y4%qDORJ~cf6?kz6Avc!}xZ8AXIC<;DVuZ2djY$+3~wr8_G?$+A~Yd%ch>_GGpO^ z`Gd*|%1!An8pcR05tHNP&8ml<;m=H>kIrr{^WWUo*rP}q>6#QE0lV2%m+%L{@3__S zZkSy#kG`bjj3o{=IFqK5QSOPUDMVd4n9#?l)#N=Pr$=kYH@CCy;K{TX)qIaypYr0UG^B<8I=I0s$ zIt>k2x5qTJ-?@-RpzgbR1|;SQKm#a!b?96TQP&;@xSHSkmP{$I@iY<14g3u>3I9sq zqZ@Q3BfuiSihEb1GRcuak0Jw;SNYr=Qtzd}_DxX+)NpcgBA|sx5q?owvzGK^1Jz?n zUYds%Uz%+{O}oV~v#cTH`lkoq@LITFDo~@5D!s&3%2je(v(@Wq19lEC)W~cPJ!!0F zF44=+y!{Auh^(K9t-3W2J)_CxraX0_EE?f=xZ>JZ??_!3UpQWcx8uP6p!L+k-&x9i zEbtzl_1iTQ@E+H7$_kthgggG*f(5>Cgz4QRNmU6F13DTJRpSs1qJ2;cI6F4X4Plkd zQOtkxEy?DKy@(lkZsU5K5*NmHP&3Dc$L8h`YP4@t*N-pHBa$XT1~4+IypOuRyDFdE z&ASdv%H6aaR$1g$ZjCA*QNe#s>!^76kGspbX;VCh+ zM(l6ntiL+M4h_Mv&UGKueS?z}%_rFz{JR)U+#;?;R<>?nH*_5c=0ia}@6-2l6HBQ^ zjH6sDHU6P z=dviQ=hFX%`AFAG(p6|H=<8x52omFmE(uJZzzA>e6QT`Jyl0~wm?V5xe1Vv8>IVvi zSYly}u#xvsC+ekQS4i>(_mkl-Y0-Gc{X~gqDYDDY6k5Ymjqh+KXQSY@yCt?V_+f9| z0hXZg+ZO6K5C7y3C8~BmdNKkqhmunZG#Q8m^PNJt`U>);_^5@=!9l*K`?HGsqO)OT z2^@tnDL}~@9M6&IO405Aw@risGTTd% z12|Y-@ZDj35X%^<+Gr+3e%*e8vj+7WGM3CHGuRc$ z*WXjHfhBxuj-MV>5f7T6itvcP`$G<@2&kT&G~p44@OK&&=zhrDvG{S)cWt1B8G9sJ zpEy~Vc7z3Us(wxeeS|16-B7q_0u2y3*mp=*->0IKSsIp%u+f}(>}o4z2f#tTvq84i zgtIc-Tx&=MLgg=?i%tyrPoR8&T1d!-Ba%A@!&m{+D(=5{!His)AxtkA8|7Tq!sI|4 zbH*FWOc5k)W{U1&#rucOSE%>i_te$9Z}ENR_HYImkYYx6KEm34 z5ndyf=*lh2T%9Tt!T2Rj5d#}dFMh=F?)RN&|+PrSaq-e>`a z`(EJTp02LY+c3TzG62i^gv1ApHH{S=&TgW69`n|wJmas1Vs=&9!3fQHG4y7G= z3lq3~HMYsXf-Q$hfm;s^9(~FB1qd9t)t$Fe#&6Nq9VUL05YO!~CpXX9#frL8lVu|?kKDi@&)1&wHAbhRop2h|*fw_-vl z{fqZRg?jh&zneQ>-jRG|xGlYf5+7~>C5eepPrST>2WHH2gu&`ny&ndhI^1<5=@oon z`!_oAj`5gXhEO?B{4E(bG;EFdZP@b|FPzP|bMSuu{@sW>Mpacw1l81(>nYd}7Xkoj ze&B-n>Zs5SEq5-7`HRX!_Ioc$17`i^Fk0TyGKYVdpUO~lJQ}6SXUdpu1slf zSY7dph=ZTKkQBxDthKrr9MJ{z9$lh}c^!SYEFpfvSybe7NFc<+U{6NUwp?RE1twJ7 z6S_#;Vo+cZlh=4g<{z}nKKg>gEEv>ds>Ai#Q3V&{=@s{O5^+LIsmAfQks-rh3|vA9 zdE~}^ys1;htEX=sl|!qBTSo96*l3@b`DEwa=O#_bq4#}<;$#p~iOoPNF$7q-%f-jb znvjhiB3F8_|7CzxIPqFec0HE)7gO&B5oR+lA0Pe0apMzoEIF)*`xy>Mkj8vf=J37T zin*Dux=u8}E>VuA<)erLUa*Byu8Qjjb9b`k`YS#C7Yk5XEE#f#srk_7VOjYur&-UT z5hOM{xn^T?qwZ&C)-`(7>1)apH$@c=G1i=7?IiYui*&wOI;d$4Vfz6CB<^_}ze|0) z^l)`g5P6Wm@OL1|$)0C3=ci`#jbXKxF=tHt`L8!0{srulN)vurCEL>1wdulou6r~g zbb+S9;zg-b&=%*CTa;fsd%9yE`wAJ?pu3~OOzAwF9pFC4-yp{@={(!opWf7Sx$oL} zQQ3t3(z;fCb%o_XG?~4^njUiBg``>@pL1wnu^_@St^6lYl+=7LLx&M|TGiNsTSbT* z@va%h*VzP@H`SRf<&6lA2hM}~Beo%3O;H*GxgH0DK3Ob(sSToIwV4B7X7T;@%bzGR z39=kRGKy+B$GW*j(U5WPt8M%X(|PX6*;$&{S$B@RHPzIXQ916#fP%BQmV2?}fqeUm z`?HY|NK@4ZvYWs$VRy3;7s5vcpLu_`^aLrBrWc;1aIocG*m02aPHR?wi2-J1g6*TD zI1lq85InVk2c3G8iHb1U?@dCiXBm!@&_4u$x0;ouil)-5>!3}egs#2AoKV`iBW6ST z?6--m1Fc=^)wJd{-ju+zs{aNi3c)kD=)*JrDZgEsHZ%unPZ+Ru?q3!Ny!hNxV-{zM;Zc#4>K-*<8MbloEeY2bxZj}?(& zNb^ zQBf)+TZ<#W*1KXKvQL+pkxPKBoGO2xrKk~pul&0DZNL@fqO5Uiucp4}(i94*N~O6_ zfCelmqp)=!1D|JO&^YH0JFX%1BueRgic{sVQ*t4Sfz;gPtPBQVaZfNh;|(P&Z-8k) z@`_ZL?Jn|Qw*Sah$Jer^_a(uQOY0f#dUXnS-G!qs%2ljqCX<^1mzInNtbTS*hKg`S zI_RWaTN5Ala{60--!P`TB20=uLtQ*;9+rQxR(4hG8d^tpeuJqlwz$tn9c$tPe6P7G zYf`m$xWXWuQ6pEUw6JorecKKz)C@O<$qjlV>Bx&RdS-01Oe6I0Em6;Pw9$79Hvw&8WPEkSPIDG@4?;B z>H8}o1;KiZv@gbXdo%-slr|=|X-oZsjgKwS-wFK}e39=mu|2AWynnSD+Hcs>1&7)R zitU=9$&`tZqjyCNzm%o-3KYXhIp7z8l^``jWVncNard^e^hB->ZzA4o=EShXU>I+$ zI9c1SdsKW)M;;NIAc#oGh94^p%(Xn2b|OPpHVaEOm?Hdyt4{-8@fD_(W?W>?t<-7B z_(r#WQ2nZHe6I=(17j>Fm>*?JaC=nc%{?POCdgo+R1SM$8ZiHVwFdwl4^F3sW zjh%iUi1hY-;06q_8#6dL>C9IpFg_&0A|oN0fFf%k7>h1_%)C=~=+B=&7<9#0Am$Z1 z7&DoUTrVOpCz6l;86P7GzvFhuY4Nbw?B_-NP8eG~8El4L5$1^4x{!gCi3SmW}t*w6lW) z$4~LcFlnrM#T#(c0A_^v6RtmGKvC)IM(VMdU{=W=-Prz#HKVXlnqHpH(|El7+k4}_ zNQ#QT+ieAS?}x13Fg{kEGAZG$#JZ+KKh}OF!0>jyoAP5Yot$&Pb7w*?i>;B|@I|Ag z+9&9|?!33B$}TPeS@sn=%8IWVrhdA0PB!3iguB1^8)g<|$=Q7AzTJHC`Fd|yqr8HJ zDqp|x6?D`a;4euDxFTgmF*(VcTdwfI-H8+RI{gRDPOsayIz?WzMbn#-Jp3`wPHTrd zO2EEDZWwj#v<-w0UrhVCT70>9)xqqC1mQzXUhV-jfy?6NYcH@)X*8^YoMH|6DOo*l zC(xBO6`5W!_o8y;M zw^XZVhVTF4Rb<*e@?7jV@X+h4AXN3etH+28+`x4*Td(fg%5Zw!rhtnthlb6mvaul6 zY-rB(h3EFmdr9Gr=} z{cpRT)H(j7|H2NYIBvgc=o>nDyp7?tNc5e4tl=`M`&hp2=^&ku(dB{CIpNs|Q3bw;z4 z&hlso`(=*Vztfo2stlF@T>V=1^AC$_s0pJjZE#t*uX!I=kMXzFDAJeJR`voVeCURY zh$tzLyB?&N8nACiaQgaC&$@6HrrmIzmv$O18yeF;q-LZzDppGk_@;|1b-pqx_C_BI$Z9PqW$EA0BDF(^^1WpxvYBVTg)X#e=tX z;v%T9qg|L!SF$s8yngUFzm%S}0C!?q53#2XpT5gRjL!EyW?4kYwHWft*C z|4J-^hLBmlUELMG-pUQSwE8G2OoVc)0*rYJh3Ykk_rHYH<(vL^Jp%x*ZNA?y5t6vj zQFt=bDc-B6{VqfmJo(Q$^q^F0X3NWk&UZiu)wE9_iyo7@ix&NWY$cD981ikgQIp>8 z5vzk)x$i-fu>(^QZ-uU`k<^wdezKsT0PRNZbwl|kv_pJmF-Dymd1*sd-8WVg84~qA zPH4V|o5tRbTTpaQIe???YZcY6UkD-6@O?2@@DkS9S;S<$1hWL_-6J)_+Sq?X$%i55ke>zF-3<5iFVn=76=QnIT%M% z%=wUN_uuxn%r`(epT+f>)OY(h-~S@Nli0NkEW`4##CIj&K6FwG#x~HpLWeDJZ?H=z)?8L-qNW-EZEE*|9V~`>7Q?q ziQyw9#+IQ`c!4r*K>~$bAk1BlV6F;lxUbw1-p5L_=_QXl5eG>xni}1@fghRT{vlD? ziIWt4dJ@iS?y~;=TB&v&uqqQ3FU8l*E>J2ZfY?KWPai0K$%Ng^gY1wQ6oEBbipyq# z(M=l+F_`O|BBPf}_9iBBv<)J|@5|wDe@wn%F;M+s`C-lj%DypJ2b@7!uyi^i&-|K* zWioPs-7+vyP*=!o{PfBCNU%rnVVm4WZGPbhPnZiGO&1AgN`3RUcKiGdDX_}E7;FkU z8_%R}pDB1E=`8w?6P?w$&Lkf721!OO*ko%Pl>q8wX+%X&((piF#FxwCZEUIV!|Db# zZGY%U7CsMJu9mpuDprt&J&{KBmnpuVrR7{6_qEQYB_&u1DYCnxa=&r(-4y8|;w&>& z2it4^zL%xVx4Rk!6b*snJ_I5c7Z(+=1B3JCU%p5aZGR-~Yw&=NrtB4W*_81rBChL> z=lm&n6y`*tFtzOP)wal(*hGWjbFr|6Nzk=t-duo)g*)k%bgri}0f3A&EDOqf_2QB~ z<^a3PMwtgx44AuVc^ctJme=An9l5|}nR&h(-E_tyk75Oq5p_vqrRVoK6od?EQ~Pun zi@QG|r^2?{40=^)8yw?K+-$tStdud)i7-3I+dU3%nRiCZ=Gv<$$j(j8-Ag{ z?Y~@sJ~k`tM96Bfx4~ewSmh*GErwio?UY}}*a5=DEA~-*t@BH8)-Z_Bju$z}b$|U; z!3;TV)9IY45vwgNJ{Tci7_Pg;Mw>h=^BnjQ8mh^)8%K}hy$|X(-GD2&wnESmo)hp= zC;L(sA<0a)y!pF2{tboW2+Vjj)G(NOkGAc}=~t5R=Rax&63h!YttWkcpM<2UstP$V zPv({$)%f(S+up3^;&(6)sysiX7v;~bG|y&@=BLLy$W!`M^5h$jtIP?oxo(q+W4|dV z7Om(oekf=)siAB6@Wi+rnntF6>_=K_)lgaPGEqNotDhpPS%F2T^~J9vxbj<=1M;f* zmY0SZ3!ZOp%vVf5H|m8`G8Mrm(5O=2{6Hs>;kYfmXYgmbWz6)Sf8=GZk|>(WaJkVU z>5PQhI}YOnJ`{$(F)Avc37s%xmLB4Yzo8)`uz?xn#$R%eNl(JGwY~$Gvu!;lH!&=< zPv&cVNBxsWS(KW&P_xts%kT5w_e!3H3~tCcFN$p5c7OrQ)aG|y4`&C^*D4^Z>A>)t ze)K-%bvjgOc72Kse^HckI?d&Hk8SRXSJ(PKfn!7NGCpV}8}N*k1U@_nr8-I|d!GW@ zBt>tvCsktC=er^dodrR$#=IXuEM33QIqsARydBFHbqJ(uQaBxW2pa-S+m1Y+T+uw_ z7huX74(q?61Q^B>JbO~nN?RVk+qCDxZ4iTQ9x^ycC!j~yp{@$j)vycr;U>?$fmy-F z#T7U_JbWE0`kX%S8jpCyY6?fuR-QRL#&$ek4Qx%z-nHfH=Z z=dWMK_gC8Te=HhEOE)SL^g4XG^D3IPEZ^-HF0Re0fj05H9?dBK+wJau3TNjn zS)Y!q6fx!Kb6paLC9dQ~+MDkABd`1N@zEvyU3qOjO(z}KX1{o<+~qNM_zt<=2xsG% z>AsB&#r>CHv>p}HrRX9Y* zISAT?byVA?r(C%tX6APr^UMVzE*PKYsO|)u$OjR>PM7-ieUjFb)~I>ud{+~rZ(x9O ze4EmX4OlI??dE=*E0~2Tsv4{V*DRp`pqOb?)FK19IohRezikdW-S zJd*FeO2+(?=p&y;3LGTi@v-R9t30$}5G!)8u+=nMMd%#2 ze}<(WCE8#zB$&fFedLY&J4|&RNxWo`Foqx?UM;jVA`wP_HUPAAP&5KgY4K!F|4D0* zqt}IEY19PQpBoQSfCbc^_S1=Zy-#U9YB+ixT&45&+75gHNy+1|rj`ntbZ_n`87RoX zTIKRftqliWPZR=AG=!l`J*GeBoekYzAjxE0oV-^wLhYDAD&%Sr&N)+Ge6Ph{VVf8y z7+V(G5PaLyMdgfj%tTQgc@&Jcc)|-NJwfKg(;q6>t~>b*(jUEa)!*#a7v@`ZRw@ts zR*UwlSH`KOS2k$WwsI!SReIH zA$lO6@+H;+moeBa3X$3SNVa_$0@NON+u~-&l zp$H_nE4M8rh;w3_`TM5XsOyj*D!rVwEc33N?!g?9o$gL3B|W&Hz>K={P4zT8li#c~ zp1mSaa|5gcWtwqlLCQd%4iA^-VNrcO&&Uo>E|qZAFHwJJ+c zu6kIqVXmam}1o+*txRkG2#a zyPeYET+qWC+}=P^?u_$1;YYVwFCS%*8%l5M$)~5XlcXJWXDM~nsYE#OL}7$OfkpX}~BZxp*nvjMAs6|BR5zOC(^hV2RVsGP- zku_>>Gu&T!}ijx%Gur`n-Gc;mhXyE}?jB+>RWbsghUC zHrQ%Qqk(Bv^fV6G)S|LE)G5N*LFBTIRxx-;=WnRw4LK-naIjNm z3Klq`1Z?AJHSae{Wd`R9^7C8!W9Yh0D~x;4dFQ|UeQ|W1dRm_W)tXCe>h=xgkT9U* z?UM_4L!WQ#_&j3*2}?nh)oX79jX*huP}R{-%ReNG#$aE5wfLF^`y($d`zqb*8mh-t zEKfwUm-Q#Xhan7N|A$}E5|OZ1kxmfz?24w_Y;sS}I^&8pER=4KjrrVH+?_q_9=Hu1 z4hC(XzerZzO~s^SI0x9;EMJmxEMv$X7OcahNg3H(3q$1ce@mHkD$kDP&>yo^Iq54- z3+?_L$OiD^jr>nAfH;asvTEj@>oCNnM0tM2nA|WSzHy+b;{r0Z47IH4pYs6>IZC_L zbRGXnASt26m-T{8WpB}CrLUe747$59!$fUH-WOm@_RS~59Mai}hH~c|ddO8{G2^k) z)hf~$g2C6{-|sUsRr+6LrC+V-`f%AczRk68%D63f@>-lta3+2m%;MZ9&wP9dY-H-6 z?A>G!KjgGcYX0&qYAb!O_&09?gpN6L$EJOc?Jep5J(peCjQ3~UwqoA>{KXFs8mO=Y z{*sN8B@&oB-Q(B7nt0)f$Ig7)hli>^0 zkLE(@aHQ&!kG?wXdnoA*o+|WlaT><2Cfp20_sa8|(TidyvpOyPho*fd9Nk~4!VrH@ zWUrW;0IOCYo=yz9(wN86pS$k@VvO_Uqv4gz+N`NzL&ZaObGtN}PrgAcGui>nw;w-$ z(`E2w{k{YyNpZH|}QzM)8{D#YJ?&P$<;-MQwo-~M^3zN@ZhzG z-om&IoqA7?dOGr%-k#*7h#?DZLA}n+DcQFLY#2iOZOOjvd-sKe`K`muvIiax;Vry$ z(?L*A9*5y|qgDEouBYhCV);8`W9()X>+CWF3CCvdL$W)+yC4BJEC)Fan}4(UpS4(v zye{p>-u^WIrb`yP@DaxUJJ03=|CA&-0k-!w!~2cWtU2Br(_x(jb&zJlay8`^RR1M_ zRj;o}jGI!md%)-2VuME+P`Bd$)}U&(6YdezI3|$ecvNhrP_?M@bb0xmnV|_T zEm^d#WdI5>_MJw=|C@%;liXcVHy5J&a6%!04;L-LOw+wIG;3~g@jniBdLJ6&lEiVJok}q%p6Sm)6Z&O03<%dwKfH~X8RkL z%SU^o56Q$C0$rZ_H0&cx8jM-c#Ez(0UNnZ}kSu6}fNv|V@ud6hOqE%<#$%1=9guKA zM>L$t}5a;;nK z&Xe{7FESe%ZPKu?>yv#Jr}+_?pZGczIvL+sBw$~QWMaHCtVvYR&6vLwP&Ri%evbER ze6%pnw`Uux?T^j4s+T}@zpGKyn)4+M6^DgY85R>(0}P0D7%~~Yi4cDp>>DWD-2+UM zA3$X3;dxM0Z>x_r(QvutHrJ?pC0@lr)vOF;HLOhhpj=S+RW3&w9jcDl6sR<3XX0;g zAZh60JTK#qS2fKkQZ(>wdZ5k-QZ9aaE*CL}Nh#|-NR`%`latQdA<3u*9Yu3o z^tW?u8RVdt@LyhCg_zXS#16~`*A0T$rs9V83)veF;1uIo-yBRejQ{MmZ%m9aA}?^0 zy`9@Lh+KI$AsWQ9Wba^-dq!yYBQY^Cej@ah<=nr2(VWFv$T}Bf8xCX=UU4mHr>@8! zeUGmmhHKN_{%++c+AND&(!s;U>+zL9-^J!o5iUzg^V$cVEt9gR=LJoGZ^9`S(uVrJ z^nmj-^-fjPVM3-SpH9cYI0W{LvaLgpGG@*Hl?S3@O$h7nKM%aj@8`p zDKK@WmtK5xYdNid@Pt9;PaVHosObO;3!8s$2b-uxC)lwibsn5#I4RUS7c(-62U&RZ z6NEzXf^}OkhPhM}pM96dD!)Lfr8*)PCSi+MF$Xzd7-wzs zG@{(qG}6D0T4`o+u?f}D zfX>q73ZX`!Lti;MhO$Zg^@l?B zpKhmDZ#I*xHjf z9c1}q{SPS>hWpjV+jVl%6C^RQV;9QNB^&xVk$xKSyM`6qZLERn5G_R=MsD)FN&w{^ z8?+##zTl;taL|u9leW}q&mNIsY9hCMhfc6K%slw5w&YP$%WiYb^amBU(1V`63GWJvRwp+EGJObVQ!&7eF|>^L5F#bxc~g7WqB zk{coRvJ#$Ns{*-bgiAk~QPKLhB`Z_N>wt_yM=*O({lx4*%>S;vgKXa;8S7;W3Yq&t z=BKmP&A2fabChoXe0$|vw*-qWVU2GK$Jiu{k?BI3N;hF$dO!Yc<`}tTm&vfB8NBOU zUHn53L5m>kH6tw0M(p98yXDtMX}H;;&0I4r8-G_0st8Yz@y9Ue?gHtgWz2onNSvv5P!TQ9BOvsl*c2o(r-!v+q*5t$_fy9zT8i@WW@k(KuJJR=pjyMObh2b}MND+a#$nbS z8sfEL@3lJ-iNPyH5}k3DU)xrt;E<{PX>CgV<%1)l;&j{U>dgUmktsAZ^zn99cz31l z)FojT^I$u(U_k|9#~=bkeLXoHU|PG`O6vh#Pq}@8y+ooEici}+QF>aqbk_E+5FCUy zzdm|Q`v$`f=>3@r5qrzb5HHmtwJxjLL!NZ7VyY-Qge4RT1?u9hx2n3_-N{;j?zT-= zTuX5oi-BDA`ePr3+v7Ws!P8}{33fYE!0Y0g1r5&zolaW@*ob~PN`+!~Y(yeW(hLEeOolj>O`!NxAUIj>Z zJfy-oFEBb&>8#FfrG8-NSun|;cru-Fqjd)g|$@Sgu8CApV30nr6)<6~nauX=V&5jlPsnvR5foRh8e z=LULfTh>uLH&pTvl=?KVsH_6kWj!)1C~K{Gh@`v z)_{=zyUM;9{CJ$mVxA4i@;EH{@N{_X!1O?@Pz6mLCoS0LVmpm3g~*ct_LD|@6(v>t zeSt`V9@-9~j_Ur9vf(U@!F~&P3X3Fc@uf_j2}K{nX93xQ%Q{bn>D0X4Uwy`WgX_gl z()THCQ5ErU;WWs_M}0iRQ9zVttS)+o3i+3=PFfNb?k=_%ZA#lr#qIj0M)WR|7$g0B zL*hZ`rZ#HP;xMR&Wg;ho{5%o+UV8FvT#}PvkonLJPp&uSA>}WW2mV2CFR$uyAKWCi z;@8*dM%O-5_U5>6kCIf(kB^g{N+!&Lusl(Jx|0V_wh_N8IP-mA{+adh}JBSYauLe>3Q8E}msz^)DYJf4%1m}2? z*WM8n@cpC4dqnvCLUBH=YQ1Q|s?+=rJk=}z%s95Pzd3)$caF@neDS996wIZ}tL<kkLD7HzE@#RPI;X3a4j=e@R zpHs8QS%l!jj{NrC9){75=Y5aoe>Xpim?CnjL44x?YB~XQJ=^sf@e^*^{W?_@e|Dpz zP$MXtd2O?Q$9p`DLfz6EOy@1r z?0@x8@|LMaMpH@oX30+aq%@{3#*^dlbXj9MU8A&&QN&_{fay2j9{;65d=^3&$&!tl z5!etVG;Bfu&fJb^Q~)nBf5Xp77`<74+N6Qp$*PwGdpn)kX&=6N#dx`B>CQqqAkF&GMyK4G!`+P%AaPyY7B#6=(uaSXNXtaQRCGA?9l{ z(EL~1y>v8yAWKxN=EwUK{(w@xVc9jk&A(>Hbr<7cBgn-0^*HYBuEFF+*b5LaWDVk~ zgjZnq)iAV@zHXBL`r>9xJ?92PuggTSz^G7<3E7JBn5dkNZIt=Kv7@kn8V2+y*OWN+t9vJTHDB-^BW4rO>~bk z7~pmnCr1|t?uf+L62%K7*j)jsmyfRw=5qP>Mk)pYQ_^`gwX;*Hj@9bWl}K{rlZIS>SYw8D9cm; zR<_OK#Z1u(cSLU8xD?8pGMI||zI{<8SSq_vmT^CHB)q3Q{1}O+|77^H`NA%67a@!0 zC7g8o31;%D7tbsf#a~4@v&}r-$v4aib23_Hn1}B;Lg;3H)N45s$0Xvg|0xyMtmd)$ z@Dl|Egqi78=;-MAZDQ@2I`AzV7frM9k;JeK6c;dc8>jIx85^rYxf#<{DHz-lKOVy< z`nxQ*zC;Tg0U>7E*R-LAr>KbvDWD2~L}tL+nZ5jKS*+Wjw$A3#q({JQD_W;a6ovNf z{o7%lJ^F9|eoJvxY?FHT!_h1;_zydiq6`QM99&(Dz3?b~Vkw26M@AuE87QV}pDMB~ zvbQ$qr0JwHQgq)a?kWP?szGig{2WWcg)^xzNEU5A2sq}z`s#pjW}i5>oSv+jwR%OGfP6N(tcU*D=l#Uf$vNkX#qS8`^~r zNW~?_$~f??uEmraFgs$;A}EeSk-5=i{Z9rf$Gwj9N{?*gcfAZW3C7MZDH*!_b(%Of zrg#rdj6jER)01Gs_`3EbQpBi$(e(?Av}@79Fu6doWDZ;Y0|Y%nItaJbj%dRh%C+C3wZ`9rBkSJ zO6HmKOy7LnUDYjI0dCFu+$C!2Pv*$WjtzdJm6i+p$(Dm~%})& z=;+AgHJlgFf6f=7dwg{LUA9VjfG~>vlCyY-@Jf}7KuCM!m&W@fMABOR2b`0vPj@4V z7ysKZsDwS%EQMysc>D~kV6HD`8SMM@Yo^hyq?b8M;mSMASOF^f=C6lAo;5<`hv~}O zXl|IPC@7hrgOtc+z3pG4q)VvT+%JO|2j?%hbe$F`Vhem6ZEOysZ`cr{S|GxoOK_V( ztLM{|XUGPG@FeX36JD(nwRsDQ{N(Z$!3yivPaxgFe@5Ww;GpYpA#%b1KhA?NKdxP0 ze)DVnoy}Kc!QK5j#am(Hqy4u+?{I(Q=EH`(EleNFcDmC0f6Szpb)8WZFW>u(SDd1#lrEIM1Hme;d7l?M;AqNAy15s<3#6gAWK zD%Rj=v8f$N)+N4@E-8WEY0-sBTwJ`C^adw{^1o{Cw1f1PUo;d5gjOO3=s5_zAnZHf$Gi%XN<9q1JA4T9Ysrxru!@Pv7kJ8>#WB?6n<`O#Wa8B7`^rfl_~4Msu0X3;DaEyIFn_o|=vi`E};uGsdBclF`2Pegq% zy*6UQbS={i_?Yxsbwt?OrURuQFIQsWrTtH5g?wvk*G({WbR7i%KxL=ES;EM3*^v(m znTd~Nlrlz7d}v!+dN_1~z%v0*3srV2bpS@B2P)>DB@`k)+&xsMtAU;q*>(GQLM6ty zDtkVZy@-Ga2GWT9-lkyDEaq(o^U@+ohHFlIzk}l?#pjrc#W(=vy(Ba9gmYJa!pd0P z97IkvRCygU3lP#UhoiTL2cpfW@X&tF8)vfV`I6{m-*PtaJkzEe`dwW7l6|_`4ifw- zMQIvSYJn_VZodO4p&&zCEQmLFog4VwNeQCT%Vpt*K5at7)HCtfx0Qodg`I;V=t1E%L>^#b*+QJJT*_L+|RUImh?dRSuhIh+K9=_A|G3FK_rU9s6*!N{wLLF8|AF( zyBV`*z*G_+cclf{1G>C?Ie3;Q_#jnV5Hx4mzyRqQ#7&OB#T%-;@H1ADr1UfCPk`G+P*MtH@*W}%qCoURd5ie-*ARUJ}HHyr~8v&CMIgq1%!lzry!uOGTfN$LT z+S&ir!Uh4Nt>GIVFn1_;myS>i@N#&xqOY%JrUVyKCPSp%RPW%rmZszti2gd^(4)}d z!e?Zu?>d?Ssa82dCy^}cBs|M#LS6A>cRE9g^!FQS?5wLq&sLjFvlk^KYip*s)gn0t zz)K!XKm#vwWWnp3JkBJb!B4R>wIDHC_C`yt=s z_1aAJ*Eo&G`z^t=gB51PEMY)~;l_L*NnrmBITsh4mQsLV^vc$-&--waFkDjuZ7-B% zLn&-`qO2QmhNZQ`<2R(=0*Dj0&?3dL#ekCyRDkwcNZ3>AltXeX7mZ;cs2W9P3qeZX z$!!5<)NXC!cslhxN|tGSd)udqOpg=z3cmM~C_U-qD(hM`LNsT=okbT2qA)D7TJ{oFjPM@uf#RL}S+$^r5K@Y8n2}P337v#a^CYK9@pUlu zWtvsu^iKBnfwsb?h9DC3nRVnNuK7xL?^_0H$GMy34UAD( z4^Mg@T1E-viGTBJxMnIFWzBGgYMR)570#HhKkH~_=|4=aLj_vgdAEOEIv-}E^`1-E z3%HAG=<~q!MhFIi_l%e~3FBPsWZZ84c{dmvDMnVoRz9JtVo9A&+Vq!lUFjChUe0f& zc5RR>I_pP}yft|pX#U466nojbf3LK9?tJ)Cx@6!_1K2j&+27Q^t-f8>E=;&TigCZU zqeOT6!-IO-t--@Vj;!uj3*TyzZ{hWBMdU=gv6yVoMkKJqjWA{tnq0qsl`LABvZ0~D zLd~JC+5GpAc++2+zwi2ZzW&&73Gn@2iXs*HIvt0^wKt1NFg5B?%SUwlL;0c9-JiJw zWnEUHj_L~TN7W>&WiR{?3~j#^>O^Gz_KQ2J6pU^v9I&0G{C$FY{WusfY-NsOEF&5v zBfn+XpZ3O?Ti9Zdxa1F-@CASWq1$YIF)baF_osKAnaFx( z6%)o`mM9`Q3?C< zBNfX|%S{JwYYj{LmiL*%0fjFlr@DQ;?8yxNQi_FTYxmQwmsTP38doJ7$y6qsL#yu2 z%GGP!Uo?%aKflb}8~dpLAXtTRY1mJ3vuk2P*T{?D@xPCNRIzBX&?8>Xr)sy0q}H{A za}N<>?(!@3xR3UoJK!6wbrhZY8JhTWGP5MN{qw@WSy;{HtIjzd!e46U@I4z#$2%5u z%p6|Pi(S*MpJTKoFDSKPwtSzyhlQ6dTr#nui;{&u${P@=vg<)y;OFhw&&Y15&7bwnOj?Wfmf`$us%E~|H#=w*&-h37-XK0&cL zR*MuLIDlReOllS9o)Pg`EwKYiJ&5$>HpI_C zQ3%!1X?9R6NP5Zk&F$}^wlTmweA+j>W4{n@stpg*@dT|cut5HHA>r{i@%gRiqQI+y zs0h3&Zpz<_wicxTj=!{Fb>h|N>-{=WuNFhM$s;ZNHlBkvxz2HONhNzUE}gfJ(k+O$ z;TlxTVrIC;D@JZGKg6do6TFTW>grcW!9RNO?6CAKc$7Kd6)>%^ybd6aQrJkxI^yy5CxmU59h zWY$#vF1ymvX~uF5x@~eLOXr=F+a40baomsU!b&X%b~9c5&ji7)YQ#HS^PtT}qv?Rw zR(>|LdF}t1w-hnbZGA9RQ2ULFp(@rq^&CN(&dtq+S1v#JSN%uwa=;=1+(u?lLR%O5 zUxwqJIqgvU{!WPFOPYp}Yu$_Mb>MAb8aVj7j<96T?sdH z4Vg~X{md^m{}C8H!rVm%>3>l<;hWD}D4hH}<6A>0dS)pl`f5AhBjdYH?&*Q-4(rSh z+3s!)q5KOvftvgQf1^!837G^ValnX&%t)m@x}11zIr!}CbnEOt!#dKmrIqiC;&tW8 zsj0}IpdjFyx|K7NB(U*!iVy2~M^H~NY>Auql0p4$rQYN1r!XncO8;}W+>W>C726BF z7x_l^yR})hAJ8-Ahg`S>^Vq%p|4&WAe$MeZ%We7I2wp%9lNktpHT`U)kT;rZcQCD& zY`pbXf#ogSUhs|k9%F6BM~DtUQ6AALi;i{E2+2iu6i3GDHB7Dh>(l+YvlEjKeu_go z@qX(T|3xnHbENcVE?D>L`rn&{UlI)1g;Ry@eL;u1r=);NsPRj>p9jG%cEm0*tN1>( z!{1eH4P*Sx(|{g^wxRqijiL5`q;-!jnz8ENad&N$o)2FI@T1azM%NCnK^k${@D^Ly ziY@iy1QR^0V28;^=k5ouJRj<#z*M9Wf1+XE!*TJiI5tj}j=$3Qt2;;8qxOouH$7wq ztO}nPmd2iC&g6W&xi>p&yeauuoy607ua|Xq{KGY$dJHw0Gh4Tk3NxKJu)Z0&C%re5 z2)_L4PYM4pjJbJ9tafak3q>bdb%Q#NN*rh-Sju;Ygv4C4UgdEi{acd9#AT+17bl`o zc!aM>gx^`#$EMjIg>-5)SEezXHZ*6Kh(ZC3l3TCaHWdEf>BosrT?61J@F3C8Un*AV zZAyDy^v~knz-4cp1ObUq8+&A^Vnl2H+R)QCZ_Sr%(WWDI7?fnwx`XeM-fY(JjC0Ln zAv!ROZ0q>Rb@=l@UFkA&&a1Nj+p8}K{OBK zY#Kw`uerMu&8)Ue-ptOsw5_We>C%fOoBt@!viMV;b;tbUBakC|g#NB-cHmu+Txif0brrh1kQbi|Y)K?W+qt=mYicLoqR~XUH*iSq_Sj zTcntKmsV>@?&pl#a3?T3Pu;ln@UpfkDdUj0lw0-xDFuPs{2)$hGjJ^Rpn5*+vi@>( zbaYro=H?*0GnbtuB2QnwZcIl(JC*W$?2er<-(kHQ(1MoDncdcCo0Vy z`UCDSnZ1qBIGx@Y`-f4AbM7|W^S{i7PafBc|PIC_6|+Gq~f*+ zL9g%MpV5uRIX-)4q{r6!@3f|shknVYt zOY2v8|5uS*Z+}2e;!(A40tcjpvyFw2B9+rmV45LKL0FiAMZQZ=H-NzE+VCA z2;ws5anpN|+1}x1aoZ;IoS+2*%xwaTih$dkho7e77{uqk*- z!t_+{hu{4czR$-;M|dl9b}$SU3KZuR6}^0Nv3xQ82zOQ%iK;|Q;nem5v4 z>EPPmEK2`j>06j!P`vX%g7)4qp-?G)v}QJZcJE23Mv;zn$Ag%|><4>Y6Ik=N=8hNc z_`$#b+b_J&lFrN)y9gK1_maGyuN_EA!+>|4q`*ej4;iHPwnc=59jc9!8j5s%&BM zZ*|k$iR5$d9=p$y)N8-KVO!nNu8};!ORxA4>+ObJU4%Q4QOJ z=|mVOznMw=jqENc#k7-EAH?kOI~;phU(<{&H-gANH;)*a$Z^nr-{jG5uL7@_nGnj@ zDlXT_z%B)9qUWH`p6##8U)f@;y)tpEI(VmLy2-Dh#GtAVj>EM6`t{3HNNZBFGl_Q( zd-cq#`3R0-qI^otC}U^>@o?R!!WjTR$r21^#JQ0;VJf6HIqDcs$F1g0DJ~%)QEfY# z3;w)k6qC+vb0KqOZ9TG))noFx*>DK|c8j6CUpk`6Cbn@}YxuB*O3JN(#r9=Ak;S&` zjnfQqV8d_*Cw6JW@yBwn;14SC^N9$N4hwz=jHVN% zoXnK5!bgO}pN`WlYO$x=65nz6gJk_St!jgN9Xs`DxN|c^4yAk;2`3 zl|ApdZ0qs7ZQtX(C;wR>!>!n)IGy|Be5U?2s5>7oLau5lt0+76A403&9LV$W@KnF= zdEpgsnrVbjDkHQ_{ek#lJbyD%u&;9Pia0*FbEh57DdmYuvtyxAq5J-1Z^mu&5V*cO zW=M*jzT|=wULs>0k&mb&1e~309;TT1+i?aQzrir^tlKiDTiWyi9_Cw0Uh|A8#HEmSe+x$l4_P+$T#jL^|=a3A1 zy0vTPDK2Bs@HFS6(eGSmqYnlJ;r07A z9ThWcyAUADPvdcMah_RqekC;sS*mtpjPNtJznFv7&{z$Gq}r~3=8{uUSx>ClgiNgL zY?@s*XdAy@pH9hu&nA7aMlubQuV<{NmcN1o8+ueZ_Zl&2R7JhVp#3Nen$0W-39Xsu zBMjVMp?uSWolNYC!t%@r2=&1HjUuj>*9K8f9QCFKKG^CB+YD9WOach-W}qjVxgZMe zzy-ah)aa`|fGVAVCC#6Kkszww+hH36@vPG~5v?`{{}v~-oQ8*LYL-$&pP^?07C${C zq*=0v@b_?p9=>D5am|W4R5z+FcqA0FbotP-TVMO2iKZOtVuTwFCXe!nE1lkUne7@uL~0}rRM-rAnqbG= zzJGbS(`bL8m>t&cS%uIL1qMbYH`W!;K_WzDMuLkZm!tU5uW_8-KgjT4JqWlN{B{%F zav>CTYe-mW_4v4sLuBTeX9z>GPKohjYi}kMd%Cf^{TL4dZ$Oe_X>0q5wDS{5Tc@m< zL5g_k5tG=Yq_S9h{+ls{2>Z2gtgJ4)iWgbW`oJ}~v)b8k@vjqIB7YrB)=S!NTdBWy z+D^cVc|OW%D%ntjT}u@Y4ay&}|M#m`utUDxcYi*@>F>|Z&BL>kxwE=Qj;1bTL z)`$@yR(f6({d6@}L3JCeApd(f%Oy26N1Q+J;UYafUZp}zx2_pG`+Gz67N1|5Re_5K zu3?X3oflKA?Ib#356<&9zt^6iVTEm+mE+W}(t1|CqE+66UzsOH3HPklf;eq>E-yil z<2Ka~L`8}*K*#i(H&rodu=ur7yNbGc&CzDVFq|Z;by^)SYBjzK`Ev(c+gi~5o&+kN z=UyizHM8YlQe9*+nm*ax^b1cDc*uJP_N(ZwLV?bmEp2|O=2iV;yAVnJ;aw-zlO<%I zyy|B~)l|G!kzbE_r#&j}^y(|Do<576KvNdWNctywrW9hm!Ep$~uZ31xjo74e`^XX#vAKVHzr#-))LlMJn^0gTGbZ2iaN9BqaVbB^;fo}`r8fX5L zuCaJ}z@smRR|7;yUBO1Nk=lzFVB<;`me2heVMP>-vm*&O%{-;LHON)_ix|j0TfJ|^ zfbEN0Gz2#FrJ)R`j`!vICF3K08`D*cX!nurU$7vX4N2ss;?i+Pebp32)z6JL#Ey6+ z#fE&Yu-Ki1$5u^FIPFjybS1}D+sm|51!=Ge*80q|i;rdB_1Lrz=~gRKBltGVha4%~ z`iy8?+k#^==IKqZTzRc!X5*aWG+FkwH${=5uUJR${{2FY)|f821y9Hz85v_B6%7GP z=K!{;fzz}ED=#W!{0?i^R8j_qTQqDLa49u1>j3T;a*$kzmh323#d=h5xyp}Ixk$**+LI$QrKHw zxKfS~5@$Taw9PL@FgTY(w{^%rt|EHQ+p>p|A0*dX*HOo@S=5@Uj#H~tAo_k+@y$4X z9fU81>Zzy|8Wf3@UIO1F&{+r=Ru8~o`Q^OHqqVVk6F(x<>!j&uGw+R5V1iO0dGM)`TcKS{97&$;%;`*03HJvt|DhJ-a6yJT%*J5@xB zqz1!8A1Qv1?BfeKq&#b*EK7NflKMoPT%OoZq7#!uoGC|)u9}h+$}{Mtz&%qN(6_=Q z*`m6}&~T}7_xM$zQ;E_3)l11&^I=656uv%_su&oqQSdSevrv>C|{@f zYsY(P7Pe5J*Nv7Y_!bw(e1fVt4d!maq0DlOm@RsGCv}1;-;&=NFNa@~7Sl~4`{Qwn zxJ*kYIyQfBrn$L!a8oYChKPVwW0(aeN-JxsZM>_bt#4=u{a_)R_fwUc;=)^y!W~C* z6*mtp;-!_qw{k1K7NK$@G+Z!mN^OCef@ay(4wn$4PWC@bFjT6zLvdE=Q3ef z7U#_?;r~or#gX7$@uDcT9KnmMD@X7nuc$p(4y^Y*yXDNR-JoXG{_vlh7e3sI8ibyM zYMVWDHb2vdQBk>FceM_aQNELbL;k%^bTb^+6k=pLBU9%)!s{_^(Vuqrw%;~I|5Vjj zTNyz0O6*FtHp4eSF4{sB7WU8}vmRMRb#`=!Ob>_XD=CFHzc~U*Qx}p_mxP}+_&^XP zD{?;zqP+1MH}`H^6{Ken25*JOQBONw^MWEpw+)0D=pVKnz9GK2b* z4h|SOI5yh&!t`v9yEal&Q%P3`MY=j=IY*(F=w`?|pfEUtE=`vLwk7DiQ%fM(<{?-Z zLU{FRaIn8ZTwg8Fm?z@$rXw6LswV6~Gp0>vrKxR2Y@)hXg6Gl$5Dzs60+VDDs{WR* zO??SM7O$l%RCO#Z(Q5qc=G_oJnnoC zlUV!3al8h^`|STW8PJ?cy`=*p&0n>~36wXyv)N?ccM-w42{vz3D&RkRA>PwUg6%t_>EIO7Tg z*7!!mU0pRvp=!nDUBj-J>8}go4moLMBkz)vng(@+K0ARoU}<~H;0aN7I<>k}ckpcJ z1n#h0Vtaq{$3sekcrr?nmm#};Ia6xbXcbQz>)KoKgV_I5M@)xv_yTt{-Qnj@GP{ft zI%|7)U|0S;LQ<{>XHr5v-oXJuP=iMo{Z6|mP&4xr?cmww(saNDkj-x89a+zH5Sj$j zq+LJ)Pfkv@9t>iw`Dz6#8E3;w^-_4*rB|%lBT&D4bFKUAi`iGVO0AXHMXbw->>@Mf z_)3pGo2`M@3e-4()aMmmm5&jDa;j6<1^eykMJomv6QtY5ub9Rgz2Z|fH)t^qN$^4#W_5h1AnRf>I8_9`~p@PCFw`8P6W&} z$b&{b_$C!E@k_zQ45AlmBs8zc3Ba19x zk=!2;9aVDpk3Y?EF^$@LvtpLVI%^W9wiSi7 zRL?51ip^i$@{pUofiL$@5*5#&GZ&D^S=AVPOY?v($4AQNgaf;+*~mFssX*Bs%VtwU z@HE6QU4pE}f>)3caotB6bNV+v;K3)%rFMnE9(pFGr2;10E7iAetrQ&O2enPe(M^&L z^1~EcFZ25-L|^K@&oAh0+`YjsX5$k(eg`>+DHD4={!EwYL>RdS{mie*Hoi~X52AsI=dPr`$6x?xqW zhMp}iC0BXx-RqQXM}sR=FQwzl7`}iCVU;XQz2TvyWkQx+XE*D61VMc28+;za+^W&W zHBq3-#$;Y}TV)g5&q731u?N@4hL%a93j|Dvh)EyQ`69DHi^)C7O}g3mWQTNKv=4UPPS zrNF=1B`T$-x8|C`k+^S|MRG{its(AV*VeG3eLon)02CvhuF+T~LhvpO(^DVP zWBYSD)a3y?C16F=+CETD zBfbhfnx+H?2igoq%jns-L@rfVys${q%*+gx0%fWu>r=O`o4J=fvd{E;XMX z0*Q}S^k|vI^Ry>#%keA2Lqndobj{4nFiibgo||P?7+p$S1JXXfkTTP$p(y>Op>4@= zq3C6~_%rUAA}vJ)6fLt?g47?E#Lqf{H}$Og13s^WvusXDvE8}KFZp6fdCqz*d7uhQ zZHDLmAu>ZO-(= zh>T@(-5&L6fH!!aMwyEcMp}U+=aKu>r+T)F7RO|PK3a?MKIQ`Yph zex2}?q{et_iyS3~<->;$d6as*Ew|Az_4KA8s-QBP|?XWTWoRenvcGdl) z2#fn2R9*U5lysQbV$iTaY2i9Fi*KMr6)UEQZ%(}eySf8k9&1{g+ z_RhyyFIDS^e=C1NgH>Lg8JzZ5pUG`MFG352Sm%G$*X^pNN~Eq$6_w&L1TYV!Du3NC z&Zq~r8h*mNJeJTVm&dKI{dV$IK zO*zsof|iy|YygxJzlxWL#u^6{*>%)s(@v0Bc`1eFgF%-WBCrdbu^viiSy!~ztoPio z|F6dxuCK4}>?uE}H92mKs47$TzW1CxVJ3S%3Biesh%4kN2ZE}YLrRZHDG?PWBE4&4 zxjQ5=!zv9YShF}6K+46gjTP<>F0CVT+s>)XmG|ljr7whEEO43qaiw(nZl&A&KQg+4 zx*W6<9iGm3BfnUa=H57}s56Wlji{7JSD+p5f&X?w)m_mgfw+HBe|R7JAM~5l|50Xe zVU>L0O@5PIBZ%BItLW@w_;o?!Z<7?4nSX>|@9KPLS;XTsRo)3Iqlj!B^F^kl$x6y* zOiX(5;IFJE({D7(>~k-Ys1w_rtINX+h7~r^uV5?-@<>;O%N`H{TD$z7$LdesN_SJ5 z@h`Q7J)SlN4fe=%xD?+zb%hIfk5zkc`Scu((y|3C+{*aw42m7_y`(hkc5dYVl)oj2 zsmMY=7f-X)H=XvfB+IA!_`+btBXRNZUh@n`6sl_hXGd8;Vf9Av={ErQH+JzZS9Wic zJq@|pat>nxR;Ddk(|wOy6~!3=;JvGdVJcFL&{LhFTT7BiTNif`M7y4KG;M6Ojy)Hh z9GmyUwKT6i)1L=Qll!2b# zW<{QI(?5|NRq2UwhY}C`g<{kykH>~<|0}+=MRC*d3wx~LE4&x%iRQyf!(6}p z{;cuIZE*bi3X~onH5sOLOvo-Wk-i5!Pz+n`5xlY#m6WD|tDTwb!Aoq0fe5<9utqm^ zvFKrh!>8oK^`2%wtF`ZL$ah=AHZkRI{8+gx`=*lY)>4MtaEZRVRf3Id)jaQ1P+v3? zoka1viiYGR26a*VVfv99Qu?oq)=UMsf}bYE9lo*zASoy59I8(NN}STL&A*!3*LXsm zgyTmn7+XLwH0+|ijZHbLvuA=8La=;Ttx#^#RIYDa+5Ti0=ygyNQeh%~7G7a`vySSL-nOW# zYXK@XQ;R}FG>9i1a3MP=1M%)CWYzCaE2Sq`DptP-MxXXWnqfSU zP!c?)F+V*%aMqOOo8i++7`u1+x zjTOYQsZAy@ym1q^o?eL$FkCzpj4a#zelJl#%R*&$EUtv7I-iAoGVIO<lGiX)2B$dZ?yWW+apx-E%w8k{7h=POnRg)_r52Gk!{jQQ=;NlM(g$1(z**o#e4al zZFwe!nlC#Q!rQOBsBXBTQcX_HSc_Mk3c1E$=Nr&-D`FD#<2K}T!5*VY}?@Ro{I^e#-{9KKqmTcKnE{o z*>ly)I++XI`XMRFs=|7(JUI9q&eTMK>SN-bi}&1NjFHr_kcq*fKm_Z7TJ!N!2M)Ta zTm)OqGmlG^&ywyMe+K>eR)ZSVyW{rD7+!8Xxh_@lPL=BwzFQb7KZyp<>BD?0g`JPS zyA^_s3Z<^U{|e!z9o)2$GXdS7&DpS}$g~YLJc~#p@RXT}llaZ-)wbHlS6T^D)Du!Q z5F1XqFWQ%maw2Zn1Mu(JO3pM%noJ;}q)atKZQC^@ttAP1OZ#s6CXI8r2vi3Q&+34P zth#EIa%y>YrCzKQ?ktryy7O<6&9?5AeJc7NcR;*#!48zuzV0dC=+Ehnh6JtHHWq(9 zw?e~&=5F$^gHsGIp61HsXY-$oEzTi-Tj2|;k~8aD;alSG($_?pl&w+9HNK|}DDZYw zmCM=GQsqO=Zua){U`SoiQ`li~qHc*{#Owndi0%D!D)NyZ!067J6gmn1AP0bjb(7bg zv(E?fi!=f}Tfe6uRR#RX%In;g>Z4F(=PAaI>K?gL%{b~LDL$_**Y4h(+_EAhefZtR zw=(T@a~>+3llhVaiK3Zm0W2-j;P@405O(l(v)rNE^Q;-BS7fSUmMr-2jg^VT!nB^H zyLY6^)QY#hj!8X+tzynt~?qn-J?1x5Gd^l?5=fT5qUgVAMurLuSXLp{Sevg#mVTQ%h z?@@7aWrd&hm_93ZcIdggPvLqBM`-Kb<>%|_=q&rN7tMV*#{(DQm(+#II*xBbZ+ zyZ_`+dSSZjh;MQy3B&uYFx9_QuHA{)Hnl07Yd=1#pcFoEgcs~W`8o3S^B3+*WYqBR z+4hfrKLIsdB_KA&Ni_0#+Q&ElyP9#gLLscG1_p?=h$<(%7$`r!ocw9OBH~SRn`UKv z;8~iui)Rg>K{pC!(EU@}-`cKAEyri+|IRFy_RMUs4JNKkdS<1lkagAH+csJZI!86w z!N4%M^d*1i%|94Notf*~&3gHa`tM}^?!XW!!)2qdW^c{t18fqt?Sq3 zOJ$;`j<85&>U?{4kxW#Kh>Cty2YhQb;Khs3gG2lb#yv>7srC& z0T-cc+|=uM|F7UPqh|j`(Bj(^1nWUv%fA9_Qy?Mbu3|1~}6+&J51($6W z3KIyGzXQFxV*Zi?c{!Gc%~?+@T}>{fIqGGrhGr1b@gJpG*ukdO-Xz~+dNhyYc5#op zG?(BIrvXn3O;Qxwh38sd1(Or2#vawUl$ET(4Dq3NVQ-oES*gC69h~D6wdZ;`n%oQ)U6D-^DgilK7dq;TukQK3p5y<-gYZ zDv2sfb!!;_1ECw&=F+GIwuMoB+~Su@m%Hb^scMv!qxzsP7`93fybb81Z$BIYyrFQa zu>RsYUS01ZuN3iLqcpxVz8S`Hg=dZ^C#N5Uk#cq&r8k`xq7*k>UN8h6a8OK@&KW}& z--vTaPokyM8Oc-^L4vK^oAn*8qWmoFTkSAQ3lSh^(1RfEwgB3u)Dh$X&rSx|WJe@j ziAl46t1*gEMegU1)(`*;@VtH3r zSEH6fuC2wDAB(*#Yv+JpFZa&$()qX2r3iZD^8_h9Hj$aR_=~p3fB5=D!}r1;_z2(Z zs8ujEqE1hF{Ud|KUB1#g5=BN37psgi37>*eNzd^ez~(e+HUMU zPkyF0sVYvOUsnuH^;nx29MmYZN42%dAAuqP9>72Re>5ExYa~s_s{hWDQ8NAAA$PCF z?!X)?zXS-x-~LDDNE1rdXce)jtCuiWC|mlac2W$jXSm0T-(Qzy+3W?-2ukyE$C|POE4*1x^mrz_pa^ zzefXrf>z?!RTX7rSDR5L0Ru~FCPDYu%BKh@)Gwir@y=iVQFV$!= z2m?>{vING_oSNpX>Kmx$(OkR0RU+P?Vc!>@p+Aw|=oT+CK@#j3lzp2gASv|P9<+6N z{Ox4IgH6)>l9JN}>RHZ_kwJ5mkc(cVM;kxcn{!FzR`;CmQDlN!I!vH0?cSDahZ@vW z1H`C5oN1+94K|au8XtKV_*LhwVv;;d@-{xt!}nH}3in0|pei$RpTobnZ;5+1r*J^p zlG^xa%95plbVJ%hAy32s=AD04MWK$kUBAo1jA^sct0L324iRGVU-u<~gjTn9MS3S8 zO_dp9zzcw&sS7TArN&{EI*=v&`wfMFSW^ClJTfqy~Y#@!@}5ApOJzPLkqA2E z%ZHF`Pq+`UX5z0ER-Ff#T(57m7g1f8hC^dO(5y=pC(fLIu39PP8=$0mj^>V0QZ?R{ z>T`PjtrF15AClfP5?>hvTBHr&r^Dn|3aRu4Z!7pGP*qnwzwx#Meg-bmu?_Pz)>)Gb zhfXrCBuUTzloZ-qOWNCJqPG}D@9DakL!J_BZB4csp-4m{w4!!%Z6KgCEUempU6MA-Sfmg(#^d-m(`7#xXWL(EBO`2BqyyMWK*&=OjoUn+DjLc*-IYjPxAo)#O zG>{fHfKhw`vH5sWXcz1}sFt}K)2 zz2E$gAmj1YpxJW<@q$;>`Y@CbKcqC^C-@N-zMfnEVD0u9?AJ8+=4XPeZ_^)|ie83x zXT0fRskX=R!ivyQ9#Hgo2!KQvrrNK_u3NW^rT*eW*S7s0NTmby&EJB6Ec1qKBrQ1$ zw$L56 z3jMz4{+g6~j0acb(N3B1M2SHX{Ievl<%Hyh?pE#*SGDCwp`SXEkx`NdLYr6Fzc~8eJ^#;QgX@aq#%n(e#?K^o! zviunu_a_q_48_st-7*BxV+RJqw>bO>YRCPHh{F?P9PdSmL?uhtJU}}A; z0&Yki7Pv}x2%3G;q|APcRF1x27PbG>OgRDCeH%>8`--4~?i^LyP6RvjNioPDRz8e~tKh@Y;)Y*ktU%l+t>sM)P7PFpT{Gv@iGDL`!_pTh3>H2a?z zS^2o{oHnaNt~x(PK(0Qj-1Y==koq;!()9l+SiUeWrin^9PED-y?(J=kbQN6Qe^VIg zqetYBtY81pOT#nc{~WK(goE*C+a~?`FQ5{N|aOwgDCS z^1y@m2xuq=pgl_6UHae~D;bm7X(%3k1(4U?A>aM`ualOj%0SoGntgmA1QJ*bu6F1r zsjY8gLr=C}oe@cM$dl3I=1(LnoLY{C+2_V?^K$Gg-+UomLJ`BfMH}ay@FkT(8^>QG zEzw})W~NzTCdxqp5#cY15Dm#z;|1~_!`0RN

eOepBm1-M!BpalK-;JC+WKBWSq* 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 T>${O}`PEDRXMQg0oD!M List[int]: + """Remove duplicates, keep numbers divisible by divisor, then sort ascending.""" + + seen = set() + filtered = [] + for number in numbers: + if number in seen: + continue + seen.add(number) + if number % divisor == 0: + filtered.append(number) + return sorted(filtered) + + +def parse_input(tokens: Iterable[str]) -> List[List[int]]: + """Parse the full input stream into batches.""" + + iterator = iter(tokens) + datasets: List[List[int]] = [] + while True: + try: + n = int(next(iterator)) + except StopIteration: + break + if n == 0: + break + numbers = [int(next(iterator)) for _ in range(n)] + datasets.append(numbers) + return datasets + + +def solve(data: str) -> str: + tokens = data.split() + datasets = parse_input(tokens) + outputs = [] + for numbers in datasets: + cleaned = clean_numbers(numbers) + outputs.append("NONE" if not cleaned else " ".join(str(x) for x in cleaned)) + return "\n".join(outputs) + + +if __name__ == "__main__": + output = solve(sys.stdin.read()) + if output: + sys.stdout.write(output + "\n") \ No newline at end of file diff --git a/weeks/week-18/solutions/1114405012/q1_sample_input.txt b/weeks/week-18/solutions/1114405012/q1_sample_input.txt new file mode 100644 index 000000000..1e09bbc46 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/q1_sample_input.txt @@ -0,0 +1,5 @@ +8 +4 7 4 2 9 2 6 7 +3 +1 3 5 +0 diff --git a/weeks/week-18/solutions/1114405012/q2_caesar_cipher.py b/weeks/week-18/solutions/1114405012/q2_caesar_cipher.py new file mode 100644 index 000000000..1f29eee1b --- /dev/null +++ b/weeks/week-18/solutions/1114405012/q2_caesar_cipher.py @@ -0,0 +1,43 @@ +"""Week 18 Q2: Caesar cipher. + +Shift every English letter forward by the student-specific shift. +Non-letters stay unchanged. +""" + +from __future__ import annotations + +import sys + + +SHIFT = 3 + + +def caesar_cipher(text: str, shift: int) -> str: + """Encrypt text with a Caesar shift.""" + + result = [] + shift %= 26 + for char in text: + if "a" <= char <= "z": + offset = (ord(char) - ord("a") + shift) % 26 + result.append(chr(ord("a") + offset)) + elif "A" <= char <= "Z": + offset = (ord(char) - ord("A") + shift) % 26 + result.append(chr(ord("A") + offset)) + else: + result.append(char) + return "".join(result) + + +def solve(data: str) -> str: + return "\n".join(caesar_cipher(line, SHIFT) for line in data.splitlines()) + + +def main() -> None: + output = solve(sys.stdin.read()) + if output: + sys.stdout.write(output + "\n") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/weeks/week-18/solutions/1114405012/q2_sample_input.txt b/weeks/week-18/solutions/1114405012/q2_sample_input.txt new file mode 100644 index 000000000..d3a39a586 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/q2_sample_input.txt @@ -0,0 +1,2 @@ +Hello, NPU! +abc XYZ diff --git a/weeks/week-18/solutions/1114405012/q3_digit_root.py b/weeks/week-18/solutions/1114405012/q3_digit_root.py new file mode 100644 index 000000000..296b6a359 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/q3_digit_root.py @@ -0,0 +1,53 @@ +"""Week 18 Q3: digit root in an arbitrary base. + +For student ID 1114405012, the base parameter is base = 16. +""" + +from __future__ import annotations + +import sys +from typing import List + + +BASE = 16 + + +def digit_root(value: int, base: int) -> int: + """Repeatedly sum digits in the given base until one digit remains.""" + + if base < 2: + raise ValueError("base must be at least 2") + if value < 0: + raise ValueError("value must be non-negative") + + while value >= base: + digit_sum = 0 + while value > 0: + value, digit = divmod(value, base) + digit_sum += digit + value = digit_sum + return value + + +def parse_values(tokens: List[str]) -> List[int]: + return [int(token) for token in tokens] + + +def solve(data: str) -> str: + tokens = data.split() + if not tokens: + return "" + + values = parse_values(tokens) + outputs = [str(digit_root(value, BASE)) for value in values] + return "\n".join(outputs) + + +def main() -> None: + output = solve(sys.stdin.read()) + if output: + sys.stdout.write(output + "\n") + + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/weeks/week-18/solutions/1114405012/q3_sample_input.txt b/weeks/week-18/solutions/1114405012/q3_sample_input.txt new file mode 100644 index 000000000..d79d23f63 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/q3_sample_input.txt @@ -0,0 +1,3 @@ +0 +8 +63 diff --git a/weeks/week-18/solutions/1114405012/q4_sample_input.txt b/weeks/week-18/solutions/1114405012/q4_sample_input.txt new file mode 100644 index 000000000..542ec2348 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/q4_sample_input.txt @@ -0,0 +1,2 @@ +15 +2 12 22 32 42 52 62 72 82 92 102 112 122 132 142 diff --git a/weeks/week-18/solutions/1114405012/q4_search_compare.py b/weeks/week-18/solutions/1114405012/q4_search_compare.py new file mode 100644 index 000000000..ff7b3f9d3 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/q4_search_compare.py @@ -0,0 +1,189 @@ +"""Week 18 Q4: compare linear search and binary search.""" + +from __future__ import annotations + +import math +import sys +import time +from pathlib import Path +from typing import Iterable, List, Sequence, Tuple + +import matplotlib + +matplotlib.use("Agg") +import matplotlib.pyplot as plt + + +SEARCH_TARGET = 112 +CJK_FONT_FAMILIES = [ + "Heiti TC", + "Arial Unicode MS", + "Hiragino Sans", + "PingFang TC", + "Noto Sans CJK TC", + "Microsoft JhengHei", + "SimHei", +] + +plt.rcParams["font.sans-serif"] = CJK_FONT_FAMILIES + plt.rcParams["font.sans-serif"] +plt.rcParams["axes.unicode_minus"] = False + + +def linear_search(numbers: Sequence[int], target: int) -> Tuple[bool, int, int]: + """Return found flag, index, and comparison count.""" + + comparisons = 0 + for index, value in enumerate(numbers): + comparisons += 1 + if value == target: + return True, index, comparisons + return False, -1, comparisons + + +def binary_search(numbers: Sequence[int], target: int) -> Tuple[bool, int, int]: + """Return found flag, index, and comparison count.""" + + left = 0 + right = len(numbers) - 1 + comparisons = 0 + while left <= right: + mid = (left + right) // 2 + comparisons += 1 + if numbers[mid] == target: + return True, mid, comparisons + comparisons += 1 + if numbers[mid] < target: + left = mid + 1 + else: + right = mid - 1 + return False, -1, comparisons + + +def parse_input(tokens: List[str]) -> List[int]: + if not tokens: + return list(range(10000)) + m = int(tokens[0]) + numbers = list(map(int, tokens[1 : 1 + m])) + if len(numbers) < m: + raise ValueError("not enough input numbers") + return numbers + + +def build_radar_scores(linear_time: float, binary_time: float, linear_cmp: int, binary_cmp: int) -> dict: + def normalize(higher_better: Iterable[float]) -> List[float]: + values = list(higher_better) + minimum = min(values) + maximum = max(values) + if math.isclose(minimum, maximum): + return [3.0 for _ in values] + return [1.0 + 4.0 * (value - minimum) / (maximum - minimum) for value in values] + + speed_scores = normalize([1.0 / linear_time, 1.0 / binary_time]) + comparison_scores = normalize([1.0 / linear_cmp, 1.0 / binary_cmp]) + + return { + "linear": { + "small_n_speed": 5.0, + "large_n_speed": 2.0, + "sorting_required": 5.0, + "implementation_difficulty": 5.0, + "worst_case_comparisons": comparison_scores[0], + "comparisons": comparison_scores[0], + "space": 5.0, + "simplicity": 5.0, + "scalability": 2.0, + }, + "binary": { + "small_n_speed": 3.0, + "large_n_speed": 5.0, + "sorting_required": 1.0, + "implementation_difficulty": 3.0, + "worst_case_comparisons": comparison_scores[1], + "comparisons": comparison_scores[1], + "space": 5.0, + "simplicity": 3.0, + "scalability": 5.0, + }, + } + + +def create_radar_chart(scores: dict, output_path: Path) -> None: + labels = [ + "small_n_speed", + "large_n_speed", + "sorting_required", + "implementation_difficulty", + "worst_case_comparisons", + ] + linear_values = [scores["linear"][label] for label in labels] + binary_values = [scores["binary"][label] for label in labels] + + angles = [index / len(labels) * 2 * math.pi for index in range(len(labels))] + angles.append(angles[0]) + linear_values.append(linear_values[0]) + binary_values.append(binary_values[0]) + + fig, ax = plt.subplots(figsize=(6, 6), subplot_kw={"polar": True}) + ax.set_theta_offset(math.pi / 2) + ax.set_theta_direction(-1) + ax.set_thetagrids([angle * 180 / math.pi for angle in angles[:-1]], labels) + ax.set_ylim(0, 5) + ax.set_rlabel_position(0) + ax.plot(angles, linear_values, linewidth=2, label="linear") + ax.fill(angles, linear_values, alpha=0.15) + ax.plot(angles, binary_values, linewidth=2, label="binary") + ax.fill(angles, binary_values, alpha=0.15) + ax.legend(loc="upper right", bbox_to_anchor=(1.25, 1.1)) + fig.suptitle("學號:1114405012", y=0.98) + fig.tight_layout() + output_path.parent.mkdir(parents=True, exist_ok=True) + fig.savefig(output_path, dpi=200) + plt.close(fig) + + +def solve(data: str) -> str: + tokens = data.split() + numbers = parse_input(tokens) + + found_linear, idx_linear, cmp_linear = linear_search(numbers, SEARCH_TARGET) + found_binary, idx_binary, cmp_binary = binary_search(numbers, SEARCH_TARGET) + + assert found_linear == found_binary + assert idx_linear == idx_binary + + # Measure linear search (100000 runs) + start = time.perf_counter() + for _ in range(100000): + linear_search(numbers, SEARCH_TARGET) + linear_time = time.perf_counter() - start + + # Measure binary search (100000 runs) + start = time.perf_counter() + for _ in range(100000): + binary_search(numbers, SEARCH_TARGET) + binary_time = time.perf_counter() - start + + if found_binary: + first_line = f"FOUND {idx_binary} cmp={cmp_binary}" + else: + first_line = f"NOT FOUND cmp={cmp_binary}" + + scores = build_radar_scores(linear_time, binary_time, cmp_linear, cmp_binary) + create_radar_chart(scores, Path("assets/radar.png")) + + return "\n".join([ + first_line, + f"linear: {linear_time:.4f} s", + f"binary: {binary_time:.4f} s", + f"=> {'binary' if binary_time < linear_time else 'linear'} faster", + ]) + + +def main() -> None: + output = solve(sys.stdin.read()) + if output: + sys.stdout.write(output + "\n") + + +if __name__ == "__main__": + main() diff --git a/weeks/week-18/solutions/1114405012/requirements.txt b/weeks/week-18/solutions/1114405012/requirements.txt new file mode 100644 index 000000000..6ccafc3f9 --- /dev/null +++ b/weeks/week-18/solutions/1114405012/requirements.txt @@ -0,0 +1 @@ +matplotlib diff --git a/weeks/week-18/solutions/1114405012/test_week18.py b/weeks/week-18/solutions/1114405012/test_week18.py new file mode 100644 index 000000000..eede9340b --- /dev/null +++ b/weeks/week-18/solutions/1114405012/test_week18.py @@ -0,0 +1,65 @@ +import unittest + +from q1_data_cleaning import clean_numbers, solve as solve_q1 +from q2_caesar_cipher import caesar_cipher, solve as solve_q2 +from q3_digit_root import digit_root, solve as solve_q3 +from q4_search_compare import binary_search, linear_search, build_radar_scores + + +class TestWeek18Solutions(unittest.TestCase): + # 紅燈測試:Q1 先驗證去重、整除、空結果 + def test_q1_clean_numbers(self): + self.assertEqual(clean_numbers([4, 7, 4, 2, 9, 2, 6, 7], 4), [4]) + self.assertEqual(clean_numbers([1, 3, 5], 4), []) + self.assertEqual(clean_numbers([1, 1, 1], 4), []) + + def test_q1_solve(self): + self.assertEqual(solve_q1("8\n4 7 4 2 9 2 6 7\n3\n1 3 5\n0\n"), "4\nNONE") + + # 紅燈測試:Q2 先驗證大小寫、回繞、非字母保留 + def test_q2_caesar_cipher(self): + self.assertEqual(caesar_cipher("Hello, NPU!", 3), "Khoor, QSX!") + self.assertEqual(caesar_cipher("abc XYZ", 3), "def ABC") + + def test_q2_solve(self): + self.assertEqual(solve_q2("Hello, NPU!\nabc XYZ\n"), "Khoor, QSX!\ndef ABC") + + # 紅燈測試:Q3 先驗證 base 16 的 digit root + def test_q3_digit_root(self): + self.assertEqual(digit_root(0, 16), 0) + self.assertEqual(digit_root(8, 16), 8) + self.assertEqual(digit_root(63, 16), 3) + self.assertEqual(digit_root(255, 16), 15) + + def test_q3_solve(self): + self.assertEqual(solve_q3("0\n8\n63\n255\n"), "0\n8\n3\n15") + + # 紅燈測試:Q4 先驗證搜尋結果與雷達圖資料 + def test_q4_search_and_radar_scores(self): + numbers = list(range(0, 200, 2)) + self.assertEqual(linear_search(numbers, 112), (True, 56, 57)) + self.assertEqual(binary_search(numbers, 112), (True, 56, 11)) + self.assertEqual(linear_search(numbers, 111), (False, -1, 100)) + self.assertEqual(binary_search(numbers, 111), (False, -1, 12)) + + scores = build_radar_scores(0.01, 0.001, 57, 1) + self.assertIn("linear", scores) + self.assertIn("binary", scores) + self.assertEqual( + set(scores["linear"].keys()), + { + "small_n_speed", + "large_n_speed", + "sorting_required", + "implementation_difficulty", + "worst_case_comparisons", + "comparisons", + "space", + "simplicity", + "scalability", + }, + ) + + +if __name__ == "__main__": + unittest.main() \ No newline at end of file