From 3c3f663b106c19f035cd73e0a0105de180546da5 Mon Sep 17 00:00:00 2001 From: Seiya KONNO Date: Sun, 11 Oct 2026 20:44:29 +0900 Subject: [PATCH 1/4] chore: remove unused files - packages/beatoraja-skin/.prettierignore: prettier is no longer a dependency; the root vite.config.ts fmt.ignorePatterns already skips the fixtures. - scripts/create-demo-json.ts: nothing runs it. - examples/test/benchmark-command-mix-100.bms and ogg-test.wav: no test or benchmark reads them. --- examples/test/README.ja.md | 2 - examples/test/README.md | 2 - examples/test/benchmark-command-mix-100.bms | 694 -------------------- examples/test/ogg-test.wav | Bin 247004 -> 0 bytes packages/beatoraja-skin/.prettierignore | 4 - scripts/create-demo-json.ts | 31 - 6 files changed, 733 deletions(-) delete mode 100644 examples/test/benchmark-command-mix-100.bms delete mode 100644 examples/test/ogg-test.wav delete mode 100644 packages/beatoraja-skin/.prettierignore delete mode 100644 scripts/create-demo-json.ts diff --git a/examples/test/README.ja.md b/examples/test/README.ja.md index ee45cf89..ef6fdaf5 100644 --- a/examples/test/README.ja.md +++ b/examples/test/README.ja.md @@ -29,7 +29,6 @@ be-music のテストスイートが共有する譜面・音声フィクスチ | `extended-directives.bms` | 同じ命令群を `@be-music/chart` の値パーサが受け付けるペイロードで記述。`#EXWAV` の `pvf`、`#EXBMP` の ARGB タプル、`#ARGB` の 16 進と 10 進、`#BGA` 部分矩形、`#SWBGA` アニメーション、`#WAVCMD` の pitch/volume/loop、チャネル `A0` からの `#EXRANK`、チャネル `A6` からの `#CHANGEOPTION`、`#STP`。 | | `base62-ids.bms` | `#BASE 62` — 大文字・小文字・混在の ID を別スロットとして扱う。インデックス付きヘッダ、チャネルストリーム、`#LNOBJ`、`#RANDOM` / `#IF` ブロック内のすべてで検証。 | | `sjis-encoding-test.bms` | Shift_JIS の自動判定。パース結果の IR は `sjis-encoding-test.json` に固定してある。 | -| `benchmark-command-mix-100.bms` | 混在コマンド 100 小節でのパーサスループット。`pnpm bench` は独自のインライン譜面を使うため、こちらには繋がっていない。 | ### タイミング・描画ギミック @@ -117,5 +116,4 @@ be-music のテストスイートが共有する譜面・音声フィクスチ | `branch.wav`, `right.wav`, `wrong.wav` | 副次的なキー音。主に制御フローの分岐を耳で聞き分けるため。 | | `retrigger_a.wav`, `retrigger_b.wav` | リトリガー譜面が重なりを作るために必要な 2.2 秒サンプル。 | | `ogg-test.ogg` | `ogg-test.bms` が宣言する Vorbis サンプル。 | -| `ogg-test.wav` | `ogg-test.ogg` の非圧縮元データ。素材として残しているだけで、テストは読んでいない。 | | `render-codec-test.mp3` / `.ogg` / `.opus` | audio-renderer のコーデック別デコードケースと、`.wav` 不在時のフォールバックケース。 | diff --git a/examples/test/README.md b/examples/test/README.md index 640e054d..d72105d0 100644 --- a/examples/test/README.md +++ b/examples/test/README.md @@ -29,7 +29,6 @@ resolution. Add a chart here and it is picked up automatically; break one and th | `extended-directives.bms` | The same directive family with payloads the `@be-music/chart` value parsers accept: `#EXWAV` `pvf`, `#EXBMP` ARGB tuple, `#ARGB` hex and decimal, `#BGA` sub-region, `#SWBGA` animation, `#WAVCMD` pitch/volume/loop, `#EXRANK` on channel `A0`, `#CHANGEOPTION` on channel `A6`, `#STP`. | | `base62-ids.bms` | `#BASE 62` — upper, lower and mixed case object IDs as distinct slots, in indexed headers, channel streams, `#LNOBJ`, and inside a `#RANDOM` / `#IF` block. | | `sjis-encoding-test.bms` | Shift_JIS auto-detection. Its parsed IR is pinned in `sjis-encoding-test.json`. | -| `benchmark-command-mix-100.bms` | Parser throughput over 100 measures with a mixed command load. Not wired to `pnpm bench`, which uses its own inline chart. | ### Timing and drawing gimmicks @@ -117,5 +116,4 @@ Regenerate them through the editor API rather than by hand — that is what keep | `branch.wav`, `right.wav`, `wrong.wav` | Secondary keysounds, mostly for telling control-flow branches apart by ear. | | `retrigger_a.wav`, `retrigger_b.wav` | The 2.2 s samples the retrigger charts need in order to overlap at all. | | `ogg-test.ogg` | The Vorbis sample `ogg-test.bms` declares. | -| `ogg-test.wav` | The uncompressed source for `ogg-test.ogg`. Kept as source material; no test reads it. | | `render-codec-test.mp3` / `.ogg` / `.opus` | The audio-renderer's per-codec decode cases, and its missing-`.wav` fallback case. | diff --git a/examples/test/benchmark-command-mix-100.bms b/examples/test/benchmark-command-mix-100.bms deleted file mode 100644 index 45ae60ea..00000000 --- a/examples/test/benchmark-command-mix-100.bms +++ /dev/null @@ -1,694 +0,0 @@ -*---------------------- METADATA FIELD - -#TITLE Benchmark Command Mix 100 Measures -#SUBTITLE Parser Stress Sample -#ARTIST Codex -#GENRE BENCHMARK -#BPM 128 -#PLAYLEVEL 12 -#RANK 2 -#TOTAL 350 -#DIFFICULTY 5 -#COMMENT Includes control flow, BPM changes, STOP, BGA, and many object channels. -#STAGEFILE benchmark-stage.png - -*---------------------- EXTENDED HEADER FIELD - -#PLAYER 3 -#PATH_WAV ./ -#BASEBPM 128 -#STP 004.120 -#OPTION RANDOM -#CHANGEOPTION01 MIRROR -#WAVCMD legacy -#LNTYPE 1 -#LNOBJ AA -#DEFEXRANK 120 -#EXRANK01 120,90,60,30 -#BGA01 01 -#POORBGA 02 -#SWBGA01 01 -#VIDEOFILE benchmark.mp4 -#MATERIALS benchmark.materials -#DIVIDEPROP lane=2 -#CHARSET UTF-8 - -*---------------------- RESOURCES FIELD - -#WAV01 sample.wav -#WAV02 branch.wav -#WAV03 right.wav -#WAV04 wrong.wav -#WAV05 retrigger_a.wav -#WAV06 retrigger_b.wav -#BMP01 benchmark-a.bmp -#BMP02 benchmark-b.bmp -#BPM01 96 -#BPM02 144 -#BPM03 196 -#BPM04 220 -#STOP01 48 -#STOP02 96 -#STOP03 24 -#STOP04 12 -#TEXT01 intro -#TEXT02 mid - -*---------------------- MEASURE LENGTH FIELD - -*---------------------- OBJECT DATA FIELD - -*---------------------- CONTROL FLOW FIELD - -#SETRANDOM 2 -#IF 1 -#01011:0505 -#01016:05 -#ELSE -#01021:0606 -#01026:06 -#ENDIF -#ENDRANDOM -#SETSWITCH 3 -#CASE 1 -#02011:01010101 -#SKIP -#CASE 2 -#02012:02020202 -#SKIP -#DEF -#02013:03030303 -#SKIP -#ENDSW -#SETRANDOM 3 -#IF 1 -#03004:01 -#ELSEIF 2 -#03004:02 -#ELSE -#03007:01 -#ENDIF -#ENDRANDOM -#00001:0102 -#00011:01010101 -#00012:02020202 -#00013:03030303 -#00014:0004000400040004 -#00016:01010101 -#00021:0001000100010001 -#00022:0200000200000200 -#00024:0003000000030000 -#00026:0005000000050000 -#00029:0006000000060000 -#00003:7890A0B0 -#00008:01020304 -#00009:0100000200000300 -#00004:01 -#00007:02 -#00101:0001000000000200 -#00111:0001000100010001 -#00112:0002000200020002 -#00201:0304 -#00211:0010001000100010 -#00212:0020002000200020 -#00213:03030303 -#00301:00030004 -#00311:00101010 -#00312:00202020 -#00314:0004000400040004 -#00316:01010101 -#00401:0102 -#00411:010000AA00000100 -#00412:02020202 -#00413:03030303 -#00421:0001000100010001 -#00422:0200000200000200 -#00501:0001000000000200 -#00511:01010101 -#00512:0002000200020002 -#00524:0003000000030000 -#00526:0005000000050000 -#00601:0304 -#00611:0001000100010001 -#00612:0020002000200020 -#00613:03030303 -#00614:0004000400040004 -#00616:01010101 -#00629:0006000000060000 -#00701:00030004 -#00711:0010001000100010 -#00712:00202020 -#00703:7890A0B0 -#00801:0102 -#00811:00101010 -#00812:02020202 -#00813:03030303 -#00821:0001000100010001 -#00822:0200000200000200 -#00808:01020304 -#00802:1.5 -#00901:0001000000000200 -#00911:010000AA00000100 -#00912:0002000200020002 -#00914:0004000400040004 -#00916:01010101 -#00909:0100000200000300 -#01001:0304 -#01011:01010101 -#01012:0020002000200020 -#01013:03030303 -#01024:0003000000030000 -#01026:0005000000050000 -#01004:01 -#01101:00030004 -#01111:0001000100010001 -#01112:00202020 -#01201:0102 -#01211:0010001000100010 -#01212:02020202 -#01213:03030303 -#01214:0004000400040004 -#01216:01010101 -#01221:0001000100010001 -#01222:0200000200000200 -#01229:0006000000060000 -#01207:02 -#01301:0001000000000200 -#01311:00101010 -#01312:0002000200020002 -#01302:0.75 -#01401:0304 -#01411:010000AA00000100 -#01412:0020002000200020 -#01413:03030303 -#01403:7890A0B0 -#01501:00030004 -#01511:01010101 -#01512:00202020 -#01514:0004000400040004 -#01516:01010101 -#01524:0003000000030000 -#01526:0005000000050000 -#01601:0102 -#01611:0001000100010001 -#01612:02020202 -#01613:03030303 -#01621:0001000100010001 -#01622:0200000200000200 -#01608:01020304 -#01602:1.5 -#01701:0001000000000200 -#01711:0010001000100010 -#01712:0002000200020002 -#01801:0304 -#01811:00101010 -#01812:0020002000200020 -#01813:03030303 -#01814:0004000400040004 -#01816:01010101 -#01829:0006000000060000 -#01809:0100000200000300 -#01901:00030004 -#01911:010000AA00000100 -#01912:00202020 -#02001:0102 -#02011:01010101 -#02012:02020202 -#02013:03030303 -#02021:0001000100010001 -#02022:0200000200000200 -#02024:0003000000030000 -#02026:0005000000050000 -#02004:01 -#02101:0001000000000200 -#02111:0001000100010001 -#02112:0002000200020002 -#02114:0004000400040004 -#02116:01010101 -#02103:7890A0B0 -#02201:0304 -#02211:0010001000100010 -#02212:0020002000200020 -#02213:03030303 -#02301:00030004 -#02311:00101010 -#02312:00202020 -#02401:0102 -#02411:010000AA00000100 -#02412:02020202 -#02413:03030303 -#02414:0004000400040004 -#02416:01010101 -#02421:0001000100010001 -#02422:0200000200000200 -#02429:0006000000060000 -#02408:01020304 -#02407:02 -#02402:1.5 -#02501:0001000000000200 -#02511:01010101 -#02512:0002000200020002 -#02524:0003000000030000 -#02526:0005000000050000 -#02601:0304 -#02611:0001000100010001 -#02612:0020002000200020 -#02613:03030303 -#02602:0.75 -#02701:00030004 -#02711:0010001000100010 -#02712:00202020 -#02714:0004000400040004 -#02716:01010101 -#02709:0100000200000300 -#02801:0102 -#02811:00101010 -#02812:02020202 -#02813:03030303 -#02821:0001000100010001 -#02822:0200000200000200 -#02803:7890A0B0 -#02901:0001000000000200 -#02911:010000AA00000100 -#02912:0002000200020002 -#03001:0304 -#03011:01010101 -#03012:0020002000200020 -#03013:03030303 -#03014:0004000400040004 -#03016:01010101 -#03024:0003000000030000 -#03026:0005000000050000 -#03029:0006000000060000 -#03004:01 -#03101:00030004 -#03111:0001000100010001 -#03112:00202020 -#03201:0102 -#03211:0010001000100010 -#03212:02020202 -#03213:03030303 -#03221:0001000100010001 -#03222:0200000200000200 -#03208:01020304 -#03202:1.5 -#03301:0001000000000200 -#03311:00101010 -#03312:0002000200020002 -#03314:0004000400040004 -#03316:01010101 -#03401:0304 -#03411:010000AA00000100 -#03412:0020002000200020 -#03413:03030303 -#03501:00030004 -#03511:01010101 -#03512:00202020 -#03524:0003000000030000 -#03526:0005000000050000 -#03503:7890A0B0 -#03601:0102 -#03611:0001000100010001 -#03612:02020202 -#03613:03030303 -#03614:0004000400040004 -#03616:01010101 -#03621:0001000100010001 -#03622:0200000200000200 -#03629:0006000000060000 -#03609:0100000200000300 -#03607:02 -#03701:0001000000000200 -#03711:0010001000100010 -#03712:0002000200020002 -#03801:0304 -#03811:00101010 -#03812:0020002000200020 -#03813:03030303 -#03901:00030004 -#03911:010000AA00000100 -#03912:00202020 -#03914:0004000400040004 -#03916:01010101 -#03902:0.75 -#04001:0102 -#04011:01010101 -#04012:02020202 -#04013:03030303 -#04021:0001000100010001 -#04022:0200000200000200 -#04024:0003000000030000 -#04026:0005000000050000 -#04008:01020304 -#04004:01 -#04002:1.5 -#04101:0001000000000200 -#04111:0001000100010001 -#04112:0002000200020002 -#04201:0304 -#04211:0010001000100010 -#04212:0020002000200020 -#04213:03030303 -#04214:0004000400040004 -#04216:01010101 -#04229:0006000000060000 -#04203:7890A0B0 -#04301:00030004 -#04311:00101010 -#04312:00202020 -#04401:0102 -#04411:010000AA00000100 -#04412:02020202 -#04413:03030303 -#04421:0001000100010001 -#04422:0200000200000200 -#04501:0001000000000200 -#04511:01010101 -#04512:0002000200020002 -#04514:0004000400040004 -#04516:01010101 -#04524:0003000000030000 -#04526:0005000000050000 -#04509:0100000200000300 -#04601:0304 -#04611:0001000100010001 -#04612:0020002000200020 -#04613:03030303 -#04701:00030004 -#04711:0010001000100010 -#04712:00202020 -#04801:0102 -#04811:00101010 -#04812:02020202 -#04813:03030303 -#04814:0004000400040004 -#04816:01010101 -#04821:0001000100010001 -#04822:0200000200000200 -#04829:0006000000060000 -#04808:01020304 -#04807:02 -#04802:1.5 -#04901:0001000000000200 -#04911:010000AA00000100 -#04912:0002000200020002 -#04903:7890A0B0 -#05001:0304 -#05011:01010101 -#05012:0020002000200020 -#05013:03030303 -#05024:0003000000030000 -#05026:0005000000050000 -#05004:01 -#05101:00030004 -#05111:0001000100010001 -#05112:00202020 -#05114:0004000400040004 -#05116:01010101 -#05201:0102 -#05211:0010001000100010 -#05212:02020202 -#05213:03030303 -#05221:0001000100010001 -#05222:0200000200000200 -#05202:0.75 -#05301:0001000000000200 -#05311:00101010 -#05312:0002000200020002 -#05401:0304 -#05411:010000AA00000100 -#05412:0020002000200020 -#05413:03030303 -#05414:0004000400040004 -#05416:01010101 -#05429:0006000000060000 -#05409:0100000200000300 -#05501:00030004 -#05511:01010101 -#05512:00202020 -#05524:0003000000030000 -#05526:0005000000050000 -#05601:0102 -#05611:0001000100010001 -#05612:02020202 -#05613:03030303 -#05621:0001000100010001 -#05622:0200000200000200 -#05603:7890A0B0 -#05608:01020304 -#05602:1.5 -#05701:0001000000000200 -#05711:0010001000100010 -#05712:0002000200020002 -#05714:0004000400040004 -#05716:01010101 -#05801:0304 -#05811:00101010 -#05812:0020002000200020 -#05813:03030303 -#05901:00030004 -#05911:010000AA00000100 -#05912:00202020 -#06001:0102 -#06011:01010101 -#06012:02020202 -#06013:03030303 -#06014:0004000400040004 -#06016:01010101 -#06021:0001000100010001 -#06022:0200000200000200 -#06024:0003000000030000 -#06026:0005000000050000 -#06029:0006000000060000 -#06004:01 -#06007:02 -#06101:0001000000000200 -#06111:0001000100010001 -#06112:0002000200020002 -#06201:0304 -#06211:0010001000100010 -#06212:0020002000200020 -#06213:03030303 -#06301:00030004 -#06311:00101010 -#06312:00202020 -#06314:0004000400040004 -#06316:01010101 -#06303:7890A0B0 -#06309:0100000200000300 -#06401:0102 -#06411:010000AA00000100 -#06412:02020202 -#06413:03030303 -#06421:0001000100010001 -#06422:0200000200000200 -#06408:01020304 -#06402:1.5 -#06501:0001000000000200 -#06511:01010101 -#06512:0002000200020002 -#06524:0003000000030000 -#06526:0005000000050000 -#06502:0.75 -#06601:0304 -#06611:0001000100010001 -#06612:0020002000200020 -#06613:03030303 -#06614:0004000400040004 -#06616:01010101 -#06629:0006000000060000 -#06701:00030004 -#06711:0010001000100010 -#06712:00202020 -#06801:0102 -#06811:00101010 -#06812:02020202 -#06813:03030303 -#06821:0001000100010001 -#06822:0200000200000200 -#06901:0001000000000200 -#06911:010000AA00000100 -#06912:0002000200020002 -#06914:0004000400040004 -#06916:01010101 -#07001:0304 -#07011:01010101 -#07012:0020002000200020 -#07013:03030303 -#07024:0003000000030000 -#07026:0005000000050000 -#07003:7890A0B0 -#07004:01 -#07101:00030004 -#07111:0001000100010001 -#07112:00202020 -#07201:0102 -#07211:0010001000100010 -#07212:02020202 -#07213:03030303 -#07214:0004000400040004 -#07216:01010101 -#07221:0001000100010001 -#07222:0200000200000200 -#07229:0006000000060000 -#07208:01020304 -#07209:0100000200000300 -#07207:02 -#07202:1.5 -#07301:0001000000000200 -#07311:00101010 -#07312:0002000200020002 -#07401:0304 -#07411:010000AA00000100 -#07412:0020002000200020 -#07413:03030303 -#07501:00030004 -#07511:01010101 -#07512:00202020 -#07514:0004000400040004 -#07516:01010101 -#07524:0003000000030000 -#07526:0005000000050000 -#07601:0102 -#07611:0001000100010001 -#07612:02020202 -#07613:03030303 -#07621:0001000100010001 -#07622:0200000200000200 -#07701:0001000000000200 -#07711:0010001000100010 -#07712:0002000200020002 -#07703:7890A0B0 -#07801:0304 -#07811:00101010 -#07812:0020002000200020 -#07813:03030303 -#07814:0004000400040004 -#07816:01010101 -#07829:0006000000060000 -#07802:0.75 -#07901:00030004 -#07911:010000AA00000100 -#07912:00202020 -#08001:0102 -#08011:01010101 -#08012:02020202 -#08013:03030303 -#08021:0001000100010001 -#08022:0200000200000200 -#08024:0003000000030000 -#08026:0005000000050000 -#08008:01020304 -#08004:01 -#08002:1.5 -#08101:0001000000000200 -#08111:0001000100010001 -#08112:0002000200020002 -#08114:0004000400040004 -#08116:01010101 -#08109:0100000200000300 -#08201:0304 -#08211:0010001000100010 -#08212:0020002000200020 -#08213:03030303 -#08301:00030004 -#08311:00101010 -#08312:00202020 -#08401:0102 -#08411:010000AA00000100 -#08412:02020202 -#08413:03030303 -#08414:0004000400040004 -#08416:01010101 -#08421:0001000100010001 -#08422:0200000200000200 -#08429:0006000000060000 -#08403:7890A0B0 -#08407:02 -#08501:0001000000000200 -#08511:01010101 -#08512:0002000200020002 -#08524:0003000000030000 -#08526:0005000000050000 -#08601:0304 -#08611:0001000100010001 -#08612:0020002000200020 -#08613:03030303 -#08701:00030004 -#08711:0010001000100010 -#08712:00202020 -#08714:0004000400040004 -#08716:01010101 -#08801:0102 -#08811:00101010 -#08812:02020202 -#08813:03030303 -#08821:0001000100010001 -#08822:0200000200000200 -#08808:01020304 -#08802:1.5 -#08901:0001000000000200 -#08911:010000AA00000100 -#08912:0002000200020002 -#09001:0304 -#09011:01010101 -#09012:0020002000200020 -#09013:03030303 -#09014:0004000400040004 -#09016:01010101 -#09024:0003000000030000 -#09026:0005000000050000 -#09029:0006000000060000 -#09009:0100000200000300 -#09004:01 -#09101:00030004 -#09111:0001000100010001 -#09112:00202020 -#09103:7890A0B0 -#09102:0.75 -#09201:0102 -#09211:0010001000100010 -#09212:02020202 -#09213:03030303 -#09221:0001000100010001 -#09222:0200000200000200 -#09301:0001000000000200 -#09311:00101010 -#09312:0002000200020002 -#09314:0004000400040004 -#09316:01010101 -#09401:0304 -#09411:010000AA00000100 -#09412:0020002000200020 -#09413:03030303 -#09501:00030004 -#09511:01010101 -#09512:00202020 -#09524:0003000000030000 -#09526:0005000000050000 -#09601:0102 -#09611:0001000100010001 -#09612:02020202 -#09613:03030303 -#09614:0004000400040004 -#09616:01010101 -#09621:0001000100010001 -#09622:0200000200000200 -#09629:0006000000060000 -#09608:01020304 -#09607:02 -#09602:1.5 -#09701:0001000000000200 -#09711:0010001000100010 -#09712:0002000200020002 -#09801:0304 -#09811:00101010 -#09812:0020002000200020 -#09813:03030303 -#09803:7890A0B0 -#09901:00030004 -#09911:010000AA00000100 -#09912:00202020 -#09914:0004000400040004 -#09916:01010101 -#09909:0100000200000300 \ No newline at end of file diff --git a/examples/test/ogg-test.wav b/examples/test/ogg-test.wav deleted file mode 100644 index 3af99df427500d8269567976f6fab95a533aba9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 247004 zcmbTfb<|bm*8ab8ubqz|r67oubO=gHi8P3$fV7l=bSs@Ar8LqdEh(X-sEBk+iHaa1 z^6Xq|?G?Z4T07VKUUi)4XKxtoTUu(6s zI#L;_ER+|@JEfh{De;u}v+%QExQ3er6m^O^ui3BJovqH+g!F{;MsuTi*|==@!E5?! z`sCE))VbujWFasyF){Hd{wUrB{2co^)*tx6_UQI#H&6(~Gvk>Tz#*^?90gZ_1xiOt zNBe^>L9SS?*cgxr`p5gn4KOP)D^W68GIk_D)s-5~U`C;-#;zpt(SQcLv z&j2%GGh#WwmgtsfGa!Luna48cg8raAXbrl6QD6=D5j-D#J~{+k0k6kij~xSz;*H`z zf$@p)iBic@$)CZh)T&f(y|-S;sAN24K4ty^en|h2-f8W$mfB10sm@eqh&#mXB6Ja& zicQ5TQWdF?Tu2ToLFExRsh(6<`BwP`Y6G<@{wn@7*cI3n=o0J_R6?8CM-gn=3XF0Q+)%I$8pS91r zkiL+9Vm>jmgX%_g<30U7eM4$P>Ot~BvOJiUn3lL7zaMW7PR35gnt)r;ThYcVHF*iu8MV#YW}bAOv;ls!ezXqThwb&wdS{k9%N-^R6FP_;#Mh+Pq!;BEWlhnPU%&zN zfI7oB!`Dh{r9I<+#(xn^4onV|3YH3<0v$sgL%)Hp;jZEHphBcVWI8wxLKz|NF0{&M zmC+sa0K6yFK@M;`ayzmZ)C2d!_rs%s490}Ug#HTt6>JGU4}2bwKqG%6{|s%0cEWeU zr>nYJ2sBn2D|}n$NOPpE;#Tpba8mfy{nZt~bIx;46}yVv&T40kO^;1)FgJK_R=@}t zb@V#=l+={e`Q&-;&6<#yka!q>81DdX#BRiT06S_&SApi>X>cd=PUZoy7JLd;gD=1h z5Q#>jO~6u+1f61?VwXVccEH=y5NQyZ4=w;HL&_)w_(oL&FM-@39*IYefU%$qxEQ_| z?hW`}4FdOq_kvBqmcW*P2%7kt_~&SIG{!OsyrjOQc2GJfljKSA25E!zo%o%2U$`&$ zKw-DATgR#6^ssx_A6g$;JJUPUx6Rvl9iB4l8TE|G`egn4)c2`pK>uX_`G$)#^)2-8`tWs9M4%iRCN#~@q#ogl07G?{B#6e<9 zsijn2E-zOboD zfjU|pZIo}6Z?iaSrnpnwmCj1%pncH3Ze6$d9^?ge z&AR4LW2mu7-=yD9-A|POBa$P$^C*)jlUN#G8qW&m#pcBdf;^9f<<5nm<0xb1|Taq z6*(0d4sw7E;SJ%EU~On^C@WwL`9AP{;2H3?|84&wZISka?+2fu8ftz}TdA#dk~_&G zrIFGcagMl7SSK8C54g-zezkwKEqro<3h4^zHf9@htTEQus&CbQN&S+_4|*nhCcj90 zk;n>$#fQazi~Sbs1|CHpMJEErkn5S(GZ%wipe`s6%77}MCHMgB0cpS-U>D$dt^y_E zCE`axw?wx@mSmRXH(+XNYU&OB4L!e+-_XHj^Rl@wy)V7eT4{Y~e`pVPhC4mn9&Rh4 zmGGMQnpjpUE9H^%$g(0Uzk#pSuhnI~Wxn^c_q0m>N=zI5I|Dldor9hKM@;AUd=j_? z7}MVYAA=o$@%%X00~Uk#0CVC$BY#E~0mh!=;p5@D;9%%rs0f%8oD{qkxE3e~y7{~L zKh-|<&LgQN)n`E^rIPZd{HEMX>LtA|zAw%aW(h0ZmF`Ywr*pzSVKYuf)6w)(psZQe zY-6l>^M)~foe zdO6mPz>Yx2V8@^f7(ZBptOQvjS-rRFbmVj-XGYG9X5f9md$I9v_{SfBHv#{gGm$gi z{m3549$6D!6D|yvqOS3Q9>E^LgMotq4K(yO^iS3%Yx{ireD~CQY8aGON_#nP52=SV zRvarX5Eckq-L3A|&ezT@`%zARmq9*d7f732}}2xZ-}Zat@- z)5-2+kFrKti_(kI2hD@#FUBuMR=}Uf#MHzTV{9(aKhZyNA$}oV6EL3F0+*tfyqcmw zv_SM$=B>;PfO&6E&;hUp83Go7Z-5$Aqi+J%F4*)=Ae%7qSXjteKvG>&|uOxO?2)CTtTHiHpSX(s-$d+(T}l zG*DhtUsRd6TmZ|pu3gHUj&%yJN=Og35WsoN$Pew~H z2Jl{N0P6wIW&~i2&jP-Ud>a`6!eD85X*e&K7n&Dxf(~wB#~^DS*YEmkgZH)fwe7y` zz8mTd{`l1bN&%&YTtjXvwUt=YP7$UEOWmdJ=g#NOxAwR8Pu5SCm9~)S=SkNzYntyG z?;1<>rTWFx#Z)%XA=x3hJ+VCz21DXQ;tygEV!c2-8jsEbF9YUOTfrF65i|jfz*}H2 zSO%_uywSYT!GLvP-B{h&alkwBGoThwI$1jTE8v^;uKuo97iO3l=0k8QeJcIA^|`g! zUTjZtCOHG#0d5DOgU~>1AigZUEaj8)d3E|d<(_g(J*F=9E%x=+dTXqeGr`8d#z5;} z>!1PVgyw{v3qOaSL%SErwI z&N=t(`?d)3S^2D*>6+>8W_NS0G1oY*AJ?svm8uS=C8z!SX045{jXwhx#TLa1gTv9o z(H7|TPlzEIR<`t89`6t#V)^K~c-O=gj)OG8+WrecBGvYIpx}@L0ck*}g24#aX zL7kws_Os9lW) z)Ut*F>L;vASfd<@9E$VXqdvDgE*r8Yha5s9_t1T);D@Bb=BlA134ls^<2tEOu zz*!(i<>>2RKH#TAtbsti?{s!i1bz5>1{;0x^wZJ2+U zzf_=9;72efI3~!S8*|hb!!L%H0bj%y=?Zp$Ou(9u`E6&w{I@G;0*V7YqI-H*-$-9% z16d;*!yCgdgWaLsp`u_;a8B@X;BlZf_{jf}|BQA<^Mk6ss=l6TPj!|uOW7gskk3iy zq(|Z-(FdLvo);>)mE1R-H=TZVKYNBX!`hPGlD=SGFm1!ex3ZMcUGJ{1ORY;iNI!qqzrbPNVc#@un#Np54#;@bcLmx7+Xa(gYG`UG zjL&2c1#d>)jI03KP^CpHus3fkz1!MtvF0-IDFj*?EsYQL5B2X--=#7@$7DyZ4x!#OJw81ygXyv9u{_{l^q`mf zGOquT`3Ka+V_s}$Zbj{capecV`%@uWA^HJeE>I~}DYg+5i5H1~4(cT8Bz^@mlQWYw zQ#J8gTB#%Y5q*X+!{}gkFj*sIv9efCz$N>Vz2DjIFn6CSOcnZx{lw-{bE$${LC&UR zQ~m-c)D!A_-+W&ut&{eG{{{aI@KNBSK!sq1;Caw3)GhQ7bPsoj`f<_IvZh6*Ma}|$ zhTqdlnr1ZhGH-DH-`b{C&6`xD&b)Y6HFwejO|V#stO$PWw;$ zp9ameX4(|r6yIKTulken6Xjl|h+IUjBh`^QiJinz!YE;$JI~$bY;(T1zqcP)53B$v zoi3ez%Y4h6W=t~<>4&@+QY%#}H77YI`5^Hi(GYwQ{~}%n?27G*)d767J_2<>5b%y1 z0nC3t2dq7=0cyd#ALGD9P$5>qs|oYO^Tbzza*1+@(_lz)NU~t6VCp9LRR2`(Zge-w zo8?Uw5_iF2>#()bUTIHsCOSRco^E5IvB2+G4k?F}1efK@@^)prGFhFhw(_;|J+D2l z{S21*m-*iayb;jBg5ZK+iBO5qE>JF9F1!lx&FTQwgP#HOC~CU30pkg4_ZI-9wa9V6 zoQzr)b;%y!ap-ZV51{s58!Qhj4?OWd@mB_;v{BkF-!9*8>ThZ`P(`Vt@Gg&$#z;%W zrQ#RD7s3Vig8SHc%oNQjY8SN|S`DrK>Hg_O<|6Z3<68rziCzi3pL#!aGI=ujJQ$l8 zoA^Ecd%PpK6T1`Z2Q;uPx-Hrj{P%vy{>=T}eWB(~J&QUQb$8Z;`D6KU!=}evFd;r6 z{#4?r#Al#UvQbh8+fv(7ef7TjOU6rHOy^s=DZME@#hPMKdu!k{a7w$S-E2ZOK?gU* zo8n>Vu(U#6A&*u@D=pL(YGGetUnbbA?bU|(hxm&HiXqZo4h#Hz|$E|d+!tPMGL@Om+uw-bN=@$L35A_r^2&9Zm>ACI1~oVvCbpEE)4qn z`}=ojJG4K1fB2pU)I6zuE|3?y~W$J6)C`(_qU!>C~l)rac4QoB<8zSaXP6Dt!k7#JTIe;9ih z8vv*eQYU-^@aN55A$uaT!9*|_uqNc0{0j0%^GDwWtnXipy%<{za>aASSA$B4N{MS= zQgTwVQmRra2@dK9b-thN&GudldD?o~ii7L+b^C~O#QDtq%$+OD6-J69#m-V^sg7Jn zE}|4sBvn#>1Y3Mte8aWjo_3P*r@T6(d9Zo#378a`6yg_pDxkLbR^+Y7RzNMcR7R^j2tNpq0A|Px4Fr6%s)3IK9|vyxZ~F^?4q69ou5YgI zka|dEjl`Y}V+i%0c49kmkT6J??oM}CIjful_5u5{b=iui?=qWArgr=qvOe zQ$MEifj-GT$)ky*i5I}k_{_KhrpBhmasq0E9Y7Aiw`m(-&v5+T@NAf8v5%W2n#Ie< zSf^*iGQ1wH88f{%D@P(nVmDw7`c&$v)G07qpRKnu+8HIylBSYY(m#Qt)=_Jnz0Ur~ z`N-=RvMzjGd|fOlm6Wo`S(sYOXO*+cXX&|7)OHq*`PipuYHQ#u)5VpcJ$ak_DOusPUVX{KFA4&@9y~^=b0c-s|Hwa zj{%Gi)T+J(e6N`EvKCnisK?&~>|eD8eB+oe4+7NQ2gC=&#e|sn6x2@EX6q`sIknk~ zAuk&*8;YrzKY~5!J?VMYJZqRe%x>?rcWS$}-C{y9A*+~GOo1EH4e3kyOPN~HV0Exs z*H_nvZN>!@zT3Pk0Yp5;em|LPtX7!KcAb zgJ`z~ngD(e_$H*d{>_W z#iim>ZLzlamhhIqUK@LE%kAZ!$Kgu)N?JE{^LfzNXl#tr$LZ{cI7tVYXrtt+#Hxe@ zSf?|`>IL+u?&VC>r}Ruc^Dy9BH5~K??}CwlcZK~D2h@w!^UhF;NwL8o6O4|JjypK|x5ioH%yehEBZLt`SFx+uNNOaN zlgr6DlpG9k${F>Hy2iK0^PE)lSM(>q=D=o8TTBI0!I`0%p=ZL+gcksR#19puZ{%wL znK7e27z#cCYrtASt#>5gy`k218oiSdfc=oQ;k8g;UJNe}E$6X^dIx(44+jnhf`C2s zsoGTSfbW3U4?%jTmQ+eA4de!LSE;MSe1!d}HSQXBpR><7W1q3_TlXyq6i63H*E8#x z1C4>kYJIgA({rbCr`}1vAElqXSJA2xqXo}_ya3Fmkz06u>O|mE1 z%n#pk-*W2+b%Ziv8Sz=^SxJ;d`8V*b@~yH~U8{~l54)k((CepP@?Y}m^eVwB!P{VX zXt>wEof4iBP6O&#Ux7eIz>DX@GlqNp!Oa<)Gq!_uU?(fd;j%&M6hH~2Fta8>H={M4R8@9W%M?lF~$=G^OGF~!% z2((YMPsm9*xd#kL4MrYj8syoHpVr~v0haloZjqWn~ zJqP83@-k(aGFlz2w(zy^wB9G$6K$t|r@wEYZy;|lZ}2!^j`bMut$7GqMp}BhqL?9i zwK?y{VnE%Uz1yvTcVqyd*TIaKk&U1cxD&n;?g{RO?uMFy-ND_#FlZlWA6V&M>A$7j z(z1dYz8XIE&88{Sly&ktnRVpHn}z#OT-e50X3)R!IIdLSOM@w^owX)!1%%ZirQ{Jz;k#5v<7_u^R44Ri7L?+ z;B$~WmOJ(_$Pv$hF66p+%|y+_Z(u=kL6W)M)B4l;EwIhlW=t`sc)rEgt=FyMc5yqK zlg+UKHS0^lC4spLWBN>arrclYuQXAcs6~85d^-4A`&ygopX#Uf8Uss%OM{g{l|m=M z8{s#?-+`ASFMHp2_6v(;6!ZFmj2p`UdsC~xOhBEnGT?czW}zPWd-(V8V2~NgggVwO z^nLJqPs68**VIFyZ+ z^>jt%Q;g$-Ko7te!uN_ABlSg|TT4K#C3`Hp*Dv(P{qcFAM509E3>cLhl`NYooB9jv z)%WU?jmbt^v#nPbX0x(cNx;7I3Fm~f&E4iM5*7*L#qnZqskhWrZYq~m$|@OZ22`Wp zRObGZv`Jb6e*?b~Py%0o&hR);F#0(3afo#~b5{YQJ!d@ZYE9&(BTV0ql zku$LeP*={H%9{EC%+crQZyRqLrOnc&FYQbJ0=~Aswm!2zvu8WAo#F0qx0BFGs3+DF zOG~AtY;rcr(DDW4g2H@ejBkt=L!R4~Ja!YxDG(h@L{Lt$c(gSqCx#0PFX+$n;6}IZ7>v_K3rN&a@jDAM<2&3LK&%!RGYw4kVng--35HhTL)SPe6SNB-T&yAgg?hgXM-gMa#k?+4!x zUJYCg6a@qP1N_^y?b>g?-@KS!ORc5$RC+2?<*D*oX{~fvJS<)lu6cDK+VAcQ&I?Xe zyQw>uM6k{Y6|W}?|B}Q zs?n-ZCZ+5bt_8d!JP-aW`-k5H#{E~LuX0q9I2fH8 zovNx=)g?nR&I8t~tXn%-ovd1RE&E01MXxS|ozA^2+!juVC&bOtW-o^HRr)IR)Ou=O zUtZrMuv^=$4fPN8`h_2T@rI>0_G`?1WkSckCwgc{8xoztn$IyQ$>>^?dbw)DIRb zi@mz=nsiNyi7_z@3JHaTYHl^RmD9@UZ}+!9vOepJF{hI+~7t3Rr(@fZ8J8Cu&*$)P=0oS)Z^jEEz57<-F&k=c5&4 z6=Rz~@p$q0UeF}bB=Hz5NiIpgk$NMAHYwDbi~1^Kl`+H|Vm3`TO_#JvTKIZ0-S#{u ztP3{^8-=;zTyeNGT%vEFs!~iSbccwdQ>@_xfKDX1i z(-J6d7B|}(ZH-y_EYH_VosYE|bw9rI6X8=&$I`KJAS>98*$~DM_HS>%PtBebYr`pk zXTp4!v7X*|`XJr`2SDCf-qF~R_d-FLw~IrtQ!0g z^bhr?6c8F39vZ#}>PPBFmIKxo>_f4C&YX(p!Fb*e&_745_fh0gWF2S*7}LiBdf!Kf zMu#2*9|RkKm4TIk$NtCumq355zs4H%f_g!PET`lJ)#PgOThd$7KyjcrU6?Mca#wkE z;RXAG{ipS(6$0!RwlZ6p6O0MQ9(|AgB=sa!9*jwjNzyM>9xRV9k7oz-WAovbF64Pm z=w1BB*GsP`&w#o+^>^mG)KV@3w5>gl{QBtnDEnGN0c*_R@!|16B9Pbs-blWYq)lu4d+At(Rvxv zc^>pDQhTQ!&m4;$huxqHpb#}LJkRS-(UTCz(rI|HVXvfD3NFIg?pEz%>+k>)yMopDXSre_5$ zQY});lFO2riA+!HW&gGW*c{u87pG#3Z_jW*jq0D6&K!3-;F&On&}V%P&?DCXECB}S z9_t>v4Z6j<#rdIE^_Ao+o(E_}YDKDx-bLrz$v2d5>DKht^h|4}HNYNVw{}`P)Z(bg zAx))JEdD6{D19Y=B`;N$Dnr$wY6D*bUoI_|b{nvN+ak~+AOwZr8o=49Z$bTV{qR?y zP^6GIU%=SF7{OT40q`97Uh#g=xzQrr?EAa+^v6w#4-=n{KJ~?Vx0yvX-#=8%^BRmUg zSoAnBw(vaag83j5w2!riVthWph)3ot%`Kl&XW-l#mfJu7hpnHgj5f zTDphT!>VuBw@W%D9oDrbxGUThIAgIz+9J)8XUYAPeo9@nuA0Y}$M-wff&M9TofiWy zdi~px!I8mip=|$Zy-UJNygG#6_s;=y+QJ!yGa7;}fZ97Xc=iveneaR~uP^}Q0QAUJ z0sBMyL!|)w^{`?F>Vr@GpZG6pm$j$BYrfZf1JnWPLS>;B)A{{Lib*jGC@vHim@{^8 zIyfWkk@iAsp|wA~KYho%V=~}XHL4ne^}+hi)Xo%#0H`glPpnUb0Cm7*Ea~-@ScmM6 z?)LiWoKyQf^LMX@&O5=}cNL%(&zzSYhZyY1cf1?z%^FrCf?YMHe>ZE=IXLH{-NYpOUHnH-rspE&Qu z5c)%&1Amz{F|PA02>+P>8MR>kIn)*Tzv2Iue+~Y%R)GqM z3ivymPw?+m0`n;Mz-RhrUQFja+cW8B(9w*iFIpF^J@y`ZiL=BR?~ZqS3O&8~!tzpi zDTkbcEoPbeHv5GmeItF$Z)j3G4u%GXdNJgy;8)(P&X1uVLv6xs!ry`tm=hci=(j?d z@6{WO;nd*ik!uC$JE0flTI8CSW6@_#9gBJx^8@y8e+vE-d<`rMEDJpHKk}CcoN?s5 z=QZ^jI?IyE?+m{?{0>oLSSl5zQLiy=eQAu99!|E*uRIJnsB7k(M~GW2TrRnKevOyrr!KtO*e>pu3>`9@Jc zVQ-4(^8e}=Qony5d>Z0t+Zk*+h%leA_w=Px}Yhrq0nteI;=h&yKg?=6TcBhi3lKBAN_@D9G^Uc2y zyYO$nkor4gwI48-+5vbL)EViOqt};j7Guck;1lo|w1(&86rlG0BN&tzDE?jtCC&G=3J!g%I-sOUN|q%AG=IiCXJQH${m%CN+q?D z3Y(ShCRnSj)w=t;`|}3!27Ukog9C%?v$EgHpCkKIQbdY$2K15A<52W(&q+^sdl}c+ zPj3q<0ea|okN9RW7dR9?glfNG_*Cdrs0R29^VU8M+AA@WbToZ5eb2mSa=!3CJtzFWHUO&= zs}nvjG(I%`SL`n@XXT9gXP7NypFAu05grGg2V*(46Y5wi0PhHMuwv0-p6~rs^i;HL ztgPpg%OB4l-vp@j{sd+uXC!N+YIwfIqxw;OrZLm#Y<4y)rz@v9f?QQM`Zjv=ICCg312fL&1;0doi7Wwiz}@iO@BqMm;k)2+@N)1K zK#$~g|8;*}@Rs(L_L1)+ALoL9R(^(SQB?}c1wCz%GtmQufx_D1(cJAqu_7Un~E9=scq z0P7Ie?DV0~mqq=NT0OPiEU_$JZE3}<*rfQRc&$@T}0RP&$}~63`*IC$I-jVmVOXU*Au?nY!~o+G2U7ywY55F87oA zc{>A^3(E!OCqFnpc=Ls>gnp~cg%OpImR4=b29ugvOhKL?^%Q@i7JUT@iqVF zECTc04*+|&tVMW7*ehWpymqvv}59|-@ZcaC+vD?^vS$J7sKf#BA<454Ed{*A3Y*VJgkJiE0 z!Bk>LkMs<4hPl_+YuwlG>-j*(RL9hY~S&i++c6q0~H;aI$N%#v~6|ahiq(jnb zd9^%2nV@u3JE|3Y6?`4Nl!_y^n0;OPtg(F6P?D2Vx6&ipX%Wxud`qI%*kn3bHBd_DDgO3@Yl2f$vy0CRxZDBZ~OoMhM; z9Eq@RIyaqf+;7~^h0g`*596e9Qg^w#Tu-T|a94r_&iKyw7Hf;O4*m}QXE2}4nWn** zSI!d35?TX_Lo=t=n=O*fo1fzMo*suffVKHFFc0udct@CPy#zSJPM=(J@F@H!JPM>k zX{clUL)U`Wf)&Axz>L6U|7CwJ&=QDCAc>oq{_ zopT6`=iF<;J}%+g#hi<87HdQ5!t|cfCpR20?;RT-8>fGQ{VB$f?5XUj^I)OAP=CjG z$EajhGTA$04~=yQ;~qViAG#m9Lxdp$wZ*zpU8$s8QhrK#O8FCftA494^)2=F(t2s7 z{iVISka}OEV58t4V0>u2=OdjKp5|%29U~n*eTq3RbE)oNBH(N^y(fIT7}wb+Q2=Z8 zo`AhZYFW7eV+afDcHndD)vz%PSrd%bMr+%A+r0TgCRPQNf=Vs9mfT)yFAWw4iysOf z3MG{Po|bd9})XgedB%OLPAKa z0QHmglWFip>WkE9eY9Q=`y_IkxoI~w&!x|KduJBei|nz^Sf`iU%WW<+7pjTX#6nUb z39TpjPjE^(rLZQZ=cK+?Ut^+r8cYaG2$T+%4xR&y=}|B+JP@v`U&9R}4I`_;pMX6< z>WIv(_-3(x%U&+ei2eqi2mOuo4TZom%wH7%%%kZ6>J#h}JRUe6$O>BfTl+uJKGDAO zednXLm=DxaYAK!N&NAnV=85yf&BA8kn0w5_e+!}6Cp{VC0WnIXA;W7D`yjoeUysy5mHup96<=66~3V5Jxz-)5IK*s>RAlpIx zzvl~EVuEm``FVK^E!E*igrc2 zrPb0Jk{*&?Y%VsB8^^u*!jgJPy-%u7YIkxsk2cvQ(IxS1{M&eCz*+yA;A-@$w+pCL zw3HV^4q)dDb;WUj@78#*2z&*e0BR?k*SQ7i#p-!6y%u%`oCAFleY{x&_9waLgtIC1 z0G$Ku7miPlPqTh~-G1FJ;gs;SMWl!BJ>i~kT0HITomq(a!r{trrMcQ%E$S=kc}|XM zN3{w53H~a9DsW0Y49pJB4i*a)gA%wuR4rUBybI*R9*5C@^&WrT%%ylAxI2Jzx76SH zUU6gosk}h4@4|x6LSfMA=VEUG?$zK-G<|Z6A)G^B3D~>kY&7FJ&x7am2Vmcw zT0J%U%CX9^t)L8Mv6#D2mq`J7j@o0sFt?stzYDe-+l@))B(r0>WBOI=RV%-p-}X5^ z=TC6Oz2Y7g4htK^4dP5`rZi9>JolaembqCLa zuwS?p&>uu?g>zQ_=>algMr?e1yq9C`O6*FsPqt5HV8-+$n5oay-!k4Z*i#nMB09{s zz4=1+oIi9vbOyPDygfklDi@QANf^bH{{p9#(_T!c)>~JrtA+fb|1lfVDby+SJLvV_ zJV2}qsf{p(@J{f};+e1}c?(c~XTOkjI<+s(U40Cm0UyKXC4g?hZr+{~`g-Z{o~6yw zj{A=LVp!Pr9H^<(^!5O~FTF3#7w3!ILvg}A;ofp?IY~QdX9Z=fGFG#6v-EItxVgqy zW3UhL6rg`_X>w_j-h;+qPkc|j7~t$Iz3cP<4FN^LL+o+j+r*rT{dC3;>RD?5Jtx$H znPbfZ{B*=D!WGay-rkGpQ?M(mB=#-Rmp4B(Kh;`q?d<`2VmvXvF~2carB|iLTjQ;F z?04*jPD7`hTh7fbW10ndT?6=MnexzrXJ)9G*IOf++W8nGI&-QeZ;%kg8NU7}sW2Ah(blATkXQ_t(q z>%W2B#%^PpInC^v?wYP;)v^lO1#Q3Mcm4ub-K+m4hHz(IGo_hQQZ1=MO7Zrba4!<; z!d!t|fo}o#kuo=30;u&a0xD(^-T`|7J)&hXd&~R4H;Z?K=R(g3V|q?-J#yX4$zF#4 z^lbQS_-()#(j2fql^gUA^bZ{HAMjh6<@rc^`+EBps0-Aul&_RK@*UZhY`DXpm0l8G z@@CZO51>zAo;}az?hxkqG^^zWoJE+RPtXsi4yP2*BH1FjIkB1Lsn;)z$KtV(0P<#R zQ*@K(MdW)#{g8Pt-z?q{o(E(47l8AH>?tyaa2E&b^m*Xv_|w>iw$$4@b1ret^O2TH zl}bGX+w^VvC}Wh-#B5@+MxsCe7w|21vut&?I`iH6?gzpLLU*ydH;Yh4F5~THdW8L# zUt?F+0^b5(7p;p{*k9Ox7kq-Qb4c-9%cut0dhj?{JJ?u{8Zl7O4KI{yjuFE`^ zah>;rJrU01(vQLz!r73<;30h4tkYfiNQZ-8gTDsrf@SDWu}4`J^ws)mt9`3|=hSnm zp&0*qPPli5b>R$QhBu3F&^hQ_wlCW(*s_4~>GJ7zW;<_2o$)knx1_jUR@E!-AvRiUa-P%J10 zrJ(c}oRiOa+Tv7os@l%i&R0|`syzl<{9C*|CrGEfI)t;b7eI6D_G1s0^Z!!-cP+9f z$h?<*Lh4te0Civ98EU;&#PU22y|LpLe>uv_jf1?iViz7XzeN6yeKXaW>MmuMa!J1A%|!EiR6r~sRu(D?Z@6!`J)9oS zSbMC!#9HEc95@pL8<+VKX7zjMJ-m6g2iOryZw_}HKZ!r_b_QIHUG@5fthZT*Q~|IF zc|UjF3D)WT0reB+T8!)Ton%BaynYCKxX;9%!Pegyv0yxiiIWBKQi)R7uz5ByIyw5k zc;6=(lML>b;Qi%HbOPM4Z`jA3VB;>fapE|!r_@twA~%uCC}ote8ph_fdn*0S zlhBK(kDkOo-uEup+3SK&LZ5{4U}pgPg=j6p(bLQGky00-KEn5k=P?J&0?f5K0cwk> zNXqj#GFQ$FXQIP3j&{&6->kdAyWS4v`GNWW#rw{@_n>;v>rZh9VSYKkTve*-?Z50T z^cKds5MPKgAeAU6752 zwb8Ynf7%!IMSsA&0ktgNi=ltRKW3b#&cz;YGeDnQFcyrB0x2*qJ}#aEGtqng))up2 zKi4@hU!SjcF}fHP%nBx~H|amXY3sDL%iiUA945LG-M&I!Z@=HG(yLMdxq!DTi#<8+ zBjwNFZS8Gu&&ln-eT$4Cx4IH&1PmwG!v) zJ4v0S5#k7O4)$_ya5uPzox{#m`>GwaqFxMnDg9EqE#@#LV;*C_zF+4L>lH9QIX=nx zsh7cu_zFzd}xmK{LS@{x7`wDb~>JPc_4w(+$uLJ7Z1*YFRS?JwVh( zxZi|%FW)KVSk&TMfD(Yo4bOx6F#Co7)FHfcoF(m!nbO1m;amJz`&c{aJL&CEE}#}r z>ne4X9@u*~QJN?%6PJm5g}uUQ_q6+)^P4x%mfOy4SF$Qu?b7Yi8aLK>s|X@ zyP4C>spwX8pT~|VA9hXs3E1!1E$@~;Rz6nxs(sa(zMB8mA)mmn)-ce}>rX9)=j5f( zOQFMnv&_4}bC_-BzE{qC^39@l!Wd3(18YLoh&&H^QP{uT2l&QO>*d~>;(yN~JQI2* zG$uGEcs+1EP#g^Q5BBfWc6#%L^zGG!wn%S2=e+3E|3>^qyd&HZQf|t93KYdWTOGU3 zzn&BB;lE^DGJK$hUc;MF{|@^Wa|8CLZedSlGr&5e4PXrU7}NnWIFG%&TfjfQMgA-Q zJ-tEfg|IH13;qPHVy*u5oZLX)Ye-^9A{X{Lo&cl&V-|th;#za9IVL?O{kHYCRo$*` z7sPBm0|AT8>%w(`GZvh+;LJsLrMp6}O%7iU->-l^&c6P>e&#$E0Qb&h#a`W&pkTP* z|2d;h&4f8GwG_sW|30J6^W?c6!HjwZz<#6|Fau4&B4~?0YCme(0e2X17J)krxZ8j` z4q#!%#)GV4G3-95jU5Qwg}~Vt?ndB_1nx>u!7IiqMnAouz9qFK6;H;Kb-?n(a<4x% z82gTys}2K<1Jpt2ea{7`SFu)S9N}3ozv6k&C&#*x`$#7N=4Q2Hwc+gA6RUt5N3R#P zMSfN$SN`i;yrN&xR~xI1q2^GtNxDh871TO*hI~cp^J7Hc$*kh;WXaeTOqrh2EE>p5j6JAic6t+3=fw^CsAv-s{b?4Yh~bZJoBB_r0)CSO|$B@d>yjUGiecTxG7( zTkY-b?1hCC+YZlYGyF6BH3K!FFg*&)3eE}^4i)z5keA>VSq~!kuphe{a9)SC24{2L z2CNV1kz<^v?)WhB(3^*Dhxs0?ltA}(-oJZJ7*vM*y(_CAc3ShTr03)}%(FcM>Zo

lyS;94ef?@Z>zU81HX4*r@7O-jh)5RvKr_O^bb=X zrY>S1CHozN6I(rQ^5Oj3H;+*WX$;| zhJ250S&i^}L#_gP>*+aRe`;uIXsWzko@*uaZ?Q{lskzi-|BQ7Z_jNvly`B8rbMLvQ zh0_APG>fD~(kOY9+*WC;R8T9Z0bjs(9jww;Xnz5uv3&SR z(g(^J4|=SaJMldJ@h!3^#hA_2w;DzG58_$L#P(m1kZ^dyd8Mk z+oAls_PbUPa6jrqb)vdS*`)j+{~-S%{Xw}+$}i^sUww;5(ntRFEwUf-&#o-)8UIh; zB6C#65b7TP-M7g5!8eNf)l9%#i}BpkY|$dLezAY?elNlfcZa)JSnSn>^es2Qu8LwxF@?rJ z?knDcU0K7lVcy<%#t`}z8wMK&?*s1P7qAqYIu!R^vA01j>u10o)N6n;Rp=^=a!0xIoO#YRdz*dAI%PddKT2l-oQdvj^fs33%RS%X3#k`U1Cj%h z-(l9QI9L>46wd#1|MjG^8ypVn&ZG&6ZE$fK=|FQR;;ZjuF8g5l} zb?&uLaz+qAK!W5T2oeMdN*0hLNDv8&0A+weEhgu^nHQ?M zs^0wMRl8SXFCIE=weG`+Go1K8Hv)_WgNC&!qUfoJao!1_B%_Tv0z zKZ?0I;hE06FwYP^kEx&{xazwq{1%^hp9s%@OVC7?1Jse;blnvFDbA?Rcg%MjwI8)p z50e>`wUxEKr@g23QhTWrlnKgmYq^+byOOw)pvNa`i{;_@*&g1X)8YG0O)U-dYJ=JE zzkC#WBxa(&4Sow3jMsu&;FZPt`7KnXCID&|c(45tv*@htt^w>FvRBA+p0fz7y$=Sb zLGeIwp~+&cm(Q5b`UL0=&1!!5rTqjJM;AvwG(I$5kG(E*r1#DH=Arl@;loe;(kIp@ zR&%AfQbnzz=F{?NicPWI1AFzo`ds^5JA0<3oTb>xbZ&yrUMF`aH(Eww_f&PvL{leM z+gDrUAvvLa?+ch;@SDY&F6)bY4$MDzo^V!&ISQW{-w!^IA2ILQ6a4M{TlinHj!e&h z#n?UdhwG33+CBBpGoAOs$?9Y=qrM;BWj`fd#z)7Cy&<_`xnj@23G;-g_0o5yd$POG zk-o0Hu4GrUvz;hr5qQ7nd{Q5KAJL!kI6dM_pX!?Gs^PBTehemiCVTRG^TQE*t?*D@ z>|2bkpXH-B96kH)0oHq2*JX{7eRTG#iUN$ziRZ!hqZ+t_IiCRlvK{Ym@YM6v(;RGZ zZ+X7!Xa>BYPB>18y&*;HMeN)k$KL-OZH~5C-K?Hb&L}(!6+lft=h@m~*AersHR-#K zXpCMrS~og5GC6V;`_hU5YIM?qX<{at-b~!X!aRgN4xFpy9g2QH%mG=0-wE~up67f& zID^;=aQ-$M_K1xF{Nb6ThSbnvK+gcyGMT5hgRe(HqoDB&9D*+=_XG@#4-~#Lm6DZ` zd8|AZ1se~+8TE|1N!ui5)Tyyyt(SS>FJKM4+&GIsjl(HG%@pS{X9LbePXgR^#NNhI zz&s>VYNpikfPGxPAJmod{9td2bzb_&wgG&O>~B#k@wNABxclewj`fTc8lVd93hvKc zpSzAak2)dAaFhj|?45+~%m&*A+ga_b(40_5nor56u$gg{XU)h9>xJtHuPoM^I4{dMjs!0N)@?fj*0T71P`kJeP+!eFgwKWFG2XG> z0yDrvKpiS|z14%&gQq};P=`5 zHb7&>8TG;1V6Ba={QN~45C2PQ9L57)5Su|0 znlXz|D7BDy7VHu7j>TRG&k=sZm^1zaZ+L3Bs5!apyX@->SbJ{+j=@8@Fc{_@=05H^ z?)vA9I`hJFm{DinKNV01Ks^9;r2U}}piW?QVzro2|JnTc`HVVs1v8*8pw58bkGA2q zqSl)wlqE#XCrXZi5rF-|b^dkYd&Pe#)(@F~uz$;52w^>oXFQ(?`%~07Yyp`AnctI=QS(NvSH)3zZvYFXT&fHytSLYshm#s>!N=~z; z2^}f-v(?3ndI{_=q_Fb|pr`dB$0El^&X1fWTqRtO0eg6Fd)~$r`C~B~;`BL%=7e4) ztlMq}oadxBFY|Nie^`5`u9x**-nITyN6OwWy=!s-zH@O;T+AZufSHZ<{L*n=N?{NnxY8Evc#Tvzi7(@O|N7^Uc zCwwGyB=izs>~QRe?+u>^y|P#@WF3q5E8cghd+z~00_=zI{>w9kxgpPyDS-K8n?Reu zHP9aW-q>fMCvfF(OpnW<#4m)JHONKjTxEEnhY)|Y9^9yrmd}zFVqJ4sU zZ(Z*d zKpp8hK&`?Y@H2P`d)YX9%U(J)y?j5|FB|}PmgEMUS>QdZ1UQUYh6aFlHfmW|TMWCy zV(02i*G$)W%tAnh<>YJxXCyc)u?jO2oSnF?UKg4ZhvHE3S^2CA$qLCPi6)6&@m}$% z=2UY_Y)gzY;gHH0HKR47qavdsC$O6#Z_|1tqsLu6jgXTUxod+PjN@$Q=wQ2(2uTf79{ zcjhub!-u~G*pK;M&P4Zf_j9v;mUJeal|e5@F9*FP4#H!CUK4Df^Sv&wmRB3WyS}T{ zRqRDrm{^$D5#JHNj9ptCex?6q6Qha2JLloZ;fMpY47Ut#3T+By0<1fQFh9UE#0RK- zZw+`p@P5nQ$6UakI&~+kpYZ<6I&hwU_?+YqJ_050! zoER{4xQX3m2NDMotCOomUN}e@qutvb^!j-^b5=A7v90XygBYU!smp! zLO;x?^P4rqH$>#=ykk-O{uJ6t-4v=>=Nq| zn`O)rd0{LP6Z^oZIk^$KflRuRsP$%r&&hn`5d3EG4$C`MHo$otp6QdoK)~-6d+U5h zcn{_~RMB72KN&m*Ednh97eI4(08=ykId zNMsvm=xvB<`E_qQUppvsfACd-&&hnix(V-Cd>-uCP6s?cI6sx~&Egrtd)6et`a8Y0 z>VsqOzhpmTG5TNhai{}W(>#;DC%TNIjH9i+t$ma}N?&GMX8T_IUb~`RQU6f>pxj!? zVdW6D#rp86=o;@D9}kb>wXwCaOYo-R&^NW`L!d!F5Izu21wBJOLl=S$n0QM(8 zh8giCDzsKYSxa|ju%Z7P0)Cnm*l(FUF)QBQrW6*Rlm@_&_=-Lvz^{f z%tWU;QXM~ob#YN&eWkGta*dBZuLHm_fGdEwOML|G`)6P> zU|*egU(V$g0Mwf<0L%?pJE4EgJ?}m7&D!VLCv50 z?}XNxhP#=-|5a-p2}gw1n*Ax}Z+$U8MXfdWBEWhpu)@DW+_O-+^Rr*bcVs4DKb_w# zezW+TsFQo?fAHbYi3w89kygPzSH6ez;je=IZ1~$o_C@#omk&QicH`F**AvtOtbs0I z7Iv-0T-NQ>-mAucl69BzOY& z&7$`05#YK04&Ysj?*+eItidyH=NUq;EWS@Qz%Ab`-^bvY_nEgV_yMy(Wxyo&BsYC& zbAlGm7EbOP{SLcae%621HBiu2&{jjMA^aBmDgA^GKkxGU68jR@@ zFFEFloKdHit~cO}4}G2Hfz)8C&;aoaISDwcRS@;eTY&Y=9!3v?^-k73p8(cDSr46; zoR?&Mv@`a0zYV{|lGwRQAAa_yn0wJDY>;D+qo%W_lRdkGpg+8sc-~U$Nly}fv)Jo9 z4mjsA2Al#++Ndqz`@npV{X%}jn5#2~=N)SaPk9W$Kp3!lQ*=Ejuw2P4AXJ5`VyL(U~Y3FB)%%nM!)RuxHBNX=czW z(kk**_$#4tXoLMw$AZU#Rl&Z%zQ8-+H~9Nem&Kksi+JpZd=L1Zus_9b6>D4kDT>{! ztexx!c>{TcAE}DjxCww7AnJ@-g^<}q_se3kG}?vd<~ zY-}~Q%EMbVx0+kEz;i2K72k^^p1%8BPo&Bj8WIWWz9@q^N0@UG^4VM-3Yzv@$ZxL+~&12*-9)o?ceX#}R z0&_ro!1G!b@9ik>;za!8`QGmNw)wXHdVjs4y`eq7Bfs!lq~_yO?CpLPew5b$b)M8X z{0kJs-c|OeSd(I|z8*XQ`JwG)Kco%d`@v^Ioi)$li$PS=&}8!d$)H=Rwy{*AVCCSX=HE=@uy* zEgby=e21C&sj;cg^N@mxf(d)lo_qo>V`mfd+!g8yb%HiQ>u&3Aqvolgy&zvR`$_C^ zoaLP5Z0c(2;;hCVK+j$iOo!j%i@q0y#x3j%`&y>7Oj!f?JotXF#>@H%H7D#*u|LIk zg#E&E*gZKG@H=-beYehKbm;4Y?VjzP7eP07w}0Eu_91knoS)jI@6vDDZrTi(du9dH zl)bIIt#q_HT0@gVlXDYu6IuXYpqqYRkP*M^XM3F*Du;H z+E+SOI;cA@?JAAV#2=!TRo7D&>hxcQ=EQ&@E=1>D0CJJz!2w?GNw1gn1#) zdA>WpLLblGBE2}MS7H5~XGov)`KfB~bY#wRH+{DbJs;;e<~isA`B;CfdqHvRP_BnL z?oMhabtrZT%(iA*Ym;k}hZBbr?7_v&xS1c+!yfg4#z1kVKY-?>C>V&HX=g%bM8A+Z z9CJD5bj@BAL|Ud!jfdlhpL-my5BK%E26mdxosC!746{Ct+IzZ>B5^!X|7 zMPMBhrM}2XFfBSQ+RA8U6pa;)S>Tp=%iI^=C-$?kKh?+TW3^UVD{rcAsztOS8cOQ6 zr{Ii!M*qtGm7Thq+RoZe_E1@O9qu0Peg$5k>=%9j@6d;U`|^GQZ=~=)wKKUPXi_Fv6SL_LVfF8;vz*_XXa)UAOIk^pQ;8I{Pc8l)9UWC6Ke>n<*M%d5B zGmdB7c5Se6*{ATeCVIO2EV6Blk2;UFtdbxvV5#SH| zjTgbY!FPkV0d@%BmQx7>$Ed#wp{=*q1_c(lp*QUN%uSkv*B6<%Q&Z>%Mhb zIjw9_x2W^9c^dC7yu)w?7xGfa4`7jVk@J1m`>ssxOzs1K^M8=qi8JH{-wSYYn9LH8 z*zw6cgx@3P;_Q9!nK1vL)}bLN2KYSa;XtpmoM4-8o9|6PT`KeR<(}nYCc2rsnR^+0 zH}5&`!C5rE%Z6|Gyv_~vYYx&fCY9*!8bFZuki3thbC0X14J@z}c z$Y+VwG3prfP}mdML#bn=X}D>4eQ3R?W$_H*cV;xm0(M{@7;7ha!NatN;vM1riZw<) z6W+7V0qW!``74Q8lI#BK{_271=*n*il)^Tv-Jo&0hw>uq)@c-J6yc&MdYv!9-i%LT zpNPHP1>*(d7z0Z@1oSc5VePP%!W)lw`5syit)Z=zGv%hJEmnn2jy-jL z_a1p4dE0|io>QJ;U=((Io^_pN+V5)MY~cLN@tN4Ia~YoW6oArik-9}{PMAy4XKGGz zPI7%>ed0v?MEp1NH= zs3Yb1!1sW)#W{d8A!IIKE^-@W$BskR>c0h?4Vet=L3?l}CM+w-@lDd7Bd$Q5!`1_PY~h2J7;2e2>E3xMjj>cT^rd(&NIC~>aWb9iva2o7{f`}mzNE&pUxg2=Wy5$ zVP4L&V-OesIIB)Q5PMfi!2FTlEaopg13jPnoWO1{$l6Rj^onuq4)4S~+py@cXkDYO zm__(I_IK>Od0u!Zb0(7edq1*1vYIGOl*(#l^(E~k&4DG7zk^fyDWM}}f2yvtu9%5F z<2oZWK(BdT^IQNQc|Y=|fqw9T<2{L*EY^CTf#R4^Xa2$Soc)lQfHhy+J$f8ZI^`RP5>9-sA}ARz8KRhw$6QToLk!w944;Jr(>8sD00<_5O;TB=m_W8ZL?x z>!vLX3RVRxzmi|!nf@2JhTS^5ZM%i$ zq`$qt=ugq3>MmIBTJCD;Zt2!AK=uuwFXDMXT`%(p&KI(FdkyfLR1YxsU@v4m;601q zFFp_I6??m>Q~lljJ6t@fioEbJd_A~RrWk0BU9dy-q52}*BHK=F zr*=`js6JL6i`_aIwO;B-yT`l7Cz+GXO|ea}pNyXj7hr#CH1_3j79kfH6dDw|g_(gy z;B?@$@K9zAeLA2YDWuwBCYt9tp9$x6*jrx#n5$DKR{{Ooao{eXcNyz1)uC}X3o_;l z>8tW_|8CCC?$65V2xbz7kIGoOlSRJp|(&PW*cUE zUw>aOXD?@WIb4qG;Ga5D{@!NjNS9zHIzM!zUjXet{4aTSvsS`9gtbNHhV4LAK%E@( zLiTT81?(5{xnA&I@YV(!JsUkcjm_w!4-6h*4F<O zcUdj$rcMHS49-aRzpP|dGPB0B#<_F#I%>W9llzmat<~0aWxCQ|?XSKMPkZKtx%J$7 z7@V`8voCWjb98rhcNTXQ7iY)<%=}ePpNa16?d=VMzVJ|HeXu6{cUiyXc}-nO4ZwN{ zzf+twMt}DX3jJ4h=jwz1a_TBbh z^j|1*)nBo_VtY$_OQSwxurgSgWz7oEXJOB2Xl4u4PdSJDR{;Iil{9f!VFx&K*7Ll z;K97-98ehEnukHpaL;gV?DM$>=v~J7!m_clG0r~z3XWm7&YHv;v2%5RH9+`k)WWWZ zqFPbmmG#8-MC@n#m;GP%PaU6%Sp?Ok!i9go>r?lqZqCN;1)OKQ0qCK83Y1JKDZG6y zVBav$2O#j&fA^DsO^SnIt8UyT<)bNKN8EBr6v zq0Igfd*5Zj4(w6qJliekNXG)+XL+yX{dNQ3v*4T|-xbz=nZr}p$QsK=K)uQk@HZHQ z8FhQejtz+`LvLgMF@Ls1wnX|x`-xcuj3UAP{O1^b&=Fl1qto07D53#@Fct>a)?qEOKQtVWD&;6b|4wxrY@K*312DN;(u%UCOm}eUd zKg%OPNmayMsyXy=?1%IM%tcr?DGdI(bCoqo&LZRki=n0G$BN&?v+x|s3%a_xy6729 z%?ZYQ9rO~Wr|@Wa3)5qGH@t>3X4L6HOs_2J7F(zL@Uzx?&NydSQA_Mm9~K!FIf`93 z%-05l28c7HNwA5SXL}#sOn+hj_IyBpeb(NurF$szUd89J4D0~xwKFel1em8sK&L<_ z;dAnS@crOJFdBQ>Uk<+<{sByap9eK36y@9kTVq>eQ_LwQ&$ReC7WJy?6@t_NnjX1gvsFFU=UhNFh?%9@M$N6tZB#ylkJ z3wV9if=WT9idDsGo@_33i__uJ#yt?1v7ZgAD~ytWJ6Bi3r}YUmQq*^T5&9xTNT^4Ka)HrY!fwe5=gUm(vOn8Q{AHoBg{q)blO;9UPOZc3W3ziEW1TEor z%Kq)D@Tzd@Nb5+pXtwB0u*O(p437^KkNf~Ahv*sq}CO0NFiW&7k%sZZ$xg0z1`HK9}gW5 z6$SIL35T`CIe|H1hat~{UVyq@)^iU5-m~~D2>+P>9sf6;A)kQ5;AQxn%mwThEF zUKQH+KG5X71VEuodr zGTAZ-Z>F>9^K1hh108QV-*nnsw&(rAj5Fk2^b2{0P?vQw-G`s`bl#tsT(g$N9wFZi zp6kpBYk_~BAq}xllD%K%mOLCrdq;ce!_^#Ya&Hp;mvvlq#D2Ct*tyEz5&o`J!#<`D zu&q zDjx?w4jN!yXkMri_FO##tSz>WwvWDIyuvb#aVmC76 z*i;xYeGFJLWFB4|xnUE)cZA<8{wM!${`dUf`RDP^=l|c=_$%Dn+XJfx`mUosn2Yhzt0p^8W0iOr`7J298c}@+`G(a6G>nMCiJlA>duLVuP z({vBzIOePA)p6T%8{MgDp4ssCyXCs|+=qXvW2(@c+`(*D(w4O41r@c5S`)R2`jPUH zGSV7p&4X@ZLt=xdE%J_!*UBszD;aBRv=#f=GPLh)!fnD^LtD`;d?7S4I8w|a@XpG< zI6X4n1$;j^C&e>^wXC6l&tx)SF2Xt&FEA|u@4f6#jR8q8DL5&ZH$UvhKU?yB4|^x@*D}hPse}-hr5~!Hf;& z3waK(*1H;H=oWeB<#|3Di~;m9quzlzJbUVV9?e0TFU|Kk;2AQ~JM!Q5vpsV?6Z2EO zoxPuXWwDpZo@NzW6G)F*~(-8O@_}2H9$qdQPi?{PQMJO-Q5d#=jHc`braUHc<;Rfc!p5p zz?~j0cia7UQ z0-EV@;5^943tPi8fZr*eA*{XE1)Pa~nDS86A?a1aIiGQW0u$DH1DHE$4S1j9JIVXq zMCU~3e#d^tGwf8%0jlfO_4c;*!b5qXx=^K0I%|s=XL`;=&P1hnCE;^2Ha0d!Pgc&e zrt znrte3PFP#iRb6P`FTewLvu(3&nm$eMYVT^VFB(>&8WFT?A2 z3*cGIz4R=ecLO^Bzen^PWqpzLD{4+y`(>W~pEK&z^=8bd^Gu@m>>$q|&t>>`6b5}< zeZAQ8PRjLTDHENgeuaJCb zJ+#g#=alX0cA+C3Y8z^6rMJ?{*vkm*JJ0l`&ZW+Fu6C|0?kw&jpd0oJ!e&6svt{vR z@l6BNoV36$b$+v`Tg;o9SHz#sgZC@GAB{l?z%%~<=nrxM&W5lLdV!8`PcJ) zA#2S4Z~elD+QaAl!iq{o;a%1fyLC7}`M>EG(r+;n7?s{HK1XY>niKo49aP($mr%%Bb;V;7PU>7pV)zPzHp|Q~D z8S5!#)bqvjahxUoOX8QriR204T{d5tuZ&PfsGYP<+FQ1_Y=!hfdIDUrU$JwqCcodM zp*i^-EO9Rp{VARypF(9A1^uzh>mGP3zg_e!}k;b&IUMUxu#+ zXFkh=OPEFAJln6{U&YSVQ|K2K2cNq?cVBc}bY%hDi@^D8&S~>Zr;e2K+nnQWtF~1+ z*UetrH_2~==HzbtZairw%|hUxwZ&(VXW|SQ6CM-(DfAPRw^c&a>*NC~v8m{FZ~;Ci z)Htw?8%_%gFIe8GSTo`CV4d+epvIIMpx%IaVIgFd8MQ_Byb7UTco6VR&mPGxyvycb zw@y2wo$%~cOa+RQTjuxi@8e4oOA}*~W0KvhZWiY%%3^*hhn9n*ks9?*)H2Vs&$M@R zbaWJV7I*#yHn=tj-**@M71o04n2A0K>cS&-7sv~5rh$OJ`zGMo&0L-NU`N0lu^M0< zn7YL!pgv%2k$Is5jD;_=ALb%FL$3!yHa?-1+s?D=M#A@nZm7wm^_ zp%q+=8QkjO>SCU4Rb*Ah$;wCdZ+Ri- zlc@PG1&>@_9N8Zl?HcW>fSK4|z&Ou1u_t;hG$O@(#jw?2ned411W)A6fIUO%+j(a2 zy`a8sbZ)R`^GBhWhf}MhQu`88(CM@hj{|fL7;T`Hebfi4P`8;^8uK|2M%+uL(Zw6L?IOrPa z8n^-4!8heGV81Y7vmD|b@ z?4A1t`{yQO4_!C-U(zcpD|VdH2b8l2JzYIrFS%cGUjY5#`_8;@31A$VhfrJ97CtiU zsk4@qA6hu-NSSvqAK`maAG`vBDZ!MTfb&-TVV?dv*y`OX_99I8Oc(t^-XSKrCb>>K zPdja(qNAeYL;HvJDf$$Bqiv&@iGHL$Qu&h`UeM*Na#o{cqhyankHp0I#P}L>jd>oP zZ3cdd1O9&U_msP!s)2>rJI}nZH~2m9d!RpH9M^nfx=!_nhxL=O!m>leLd+AKMz}4Rr3-!I~udX?W_*!A{_2u4XPTjFb1I>qz6C z_;Vd8^$D;c5@-6?n2P=#@crN&i{C2tae0RDn^g|b$AO;KBf-mHKX&Lg1n1IyXEtDd zkv|=<7lZx6XU=D$U)avk&N10O*}hfZs$aHUwxwxlOh>h%YEhA=zi+*7^-uOsPESlv ztc$OUpE1vv^fb%~>Kpa{t6#`7Jr#V0dA0~@9Hy7}` z#cx)I@62HMYMci=f4%|*g9Xv0-|&22-qi5aa1HDrGr_^=!RRz&n$aQFAy(0>XfjXF z=ocPH9!P#;ePeN+c#t|s<(`@vwi>qldVbvmm$4(8XL=uJALr}H&Ypth?&WU!8~^$b z9Vzp|-vR4{D**3U)Bv&e&hvawI(#O4M|l5Ye~M>FU2xxbU+nk{c|+(x_V(WJ+z>we z|C5fCxhiv3>SA8Q9-#VKeXXPVTZvwp&7vI%h3 zEt5Z!__pz#Vt;BF2!avVtD6E-Nj~%D@XyxaqkRyJg|BvF>|M$q%O4AYOXekWdwhGG zGm+Gsbj6G$&vedA=E3YFWbn58;E;YuUu<7&|K$I;w|g$;J$PQ{hK`gvYrY%QHZV`; zbK!T3-VR9&Z|wm+fE#@2`w}jJFZ-5zmy0umnv=8WPvr)ku_J@KGOl6z6jCuqDa@jB zCbd6iQ)g+jG|sAWX7z@3!{Q7pXIc3Tpr87O@Kv7-fAw$Sv(8#?e$X+}F|sziHf&;X z!ux=Ii?U!_U|Zk~aMgcRc$aXVjXhfC>CDZk$NCKLx$wTl9xm@-)SPg>@Hg;o;9YE+ zJ{foi`^9d6fzT~74><|OM8-s@vEVH5b-+E*>`(Pb-_Q1X^7SNjmz>MvEW%~=vbsy# zr7f{7u?^RU>n-gq?Zq9%9WlUK>p0gqS2cGvkr&Q{CWP7$&W2Qje?E1GykiXmoYkR* zp*o=MowK*p|M0o+eW?RDAHsX@1VHUOH4cry8Sfd~+^Tz5dscf?(8Aq9=oYDYq4tHd zDg)rRxL98-_C#OTu4@4dpdlqvUshgLI4{Zm6!YFG@hS23=6dr2b_zv}sF+2duJ+5w zmyrkI2jOyHMrelcIpLXp8+!-402Tlj0oE2-duP7EoRIZI&a?4(Fdt$4{SUxptZhLMIsx5!!fFO4t7ezpeK#l)E+cfy@`2CgQrCfSGn zTKQU;u1;6`YyGuWwpO-^dPP06J+tuDU=M;G%B)|oj={TVTkPtJfGOT7-b}tsViqCl zi~4wH+6btVI<$$u10c#ZpaPx!}Fp5m=>HC)B!bz)E<6^9iOb7l%*zNfNon%kD!W`gVbb$zRSt9@+xj?c{S%DMo?VjmcFa%TbcA&eno zc^$j~?K{6&oIlTznnSz`ykAjA${IZ15Bl&I0=$PYr)RB~wJgq0Il&n381J8+KZR~_ zoqOGLjl&4+XWQo3=D26ShbpwkPLIwewkE=Fae_KQU5*`}-&x;1-xJNm_T~7?@w#SR zvv;hw*avn#dY+PrD1TQMh8KpPgr0=n0pG$as~A`xSTD5im;IN8uBSA7$^2=4F<;1Y zoPCg)fX`z)VC|hfUfz${pK@Sd9`9*S0P_$Pv!u&F?Qrcd*0hH=!V9%ev`@5>QORI& z@DA8*?l!seeRyJcf_tJfG!EI}%@hZ}XupVgwiWsceVBciy|JUQBeyd*l+O2@|H5uZ zenS+G;#mc%Vo%fwP|sJ-w+9qVDJb?&@tcLwU7?1Fy9`Ct{qe4`Beo+p)0}C368|Jlt$z7rdEw2(dA29upJ&K0eV9&t;H%gN76AvG2b`l^ zqg)l;6)|P@tMJMymgW5surg~FlK@cl> zl)_eFt9r6}vUQ?$Vo-cge4)9}+#A~~c6{bAav1MM-xak*>N;Nq<3i(v|7Bb3xBCe` z{M3wu{b6y2aONYUUq~$}p97x-gbc;otMVxIMZ5$Kr6YZPyP5MRb>V2j?)7+pC_99fn zzK!PCyYUJ3Z*UI>_i=C*f%`c!gId_vF*G_f`d#F^NIV?Jw)uwPud#O?Qf}du1v#9k zozrw`J?1y5wdTAhYr4z>`JLkPU@o!>90sgq@h(P9-Fd(>eKjZ)EEL=bYGFU(eK0*d zJzO(VlagbhTbyakG&;vR|J&Z~n~9r=L&-zQwboiOqfUP#<{@v|-V}LA49guZ*)Q2w zVSmaem}e`69iNZEVtDS=^3;N>?p@)lfwqgNE&k&BMbs7-rYscRWz_b*30Ujpw~FTn zb&Gr+oQbCXcLt~guKBKsSp=R(JeSUU&Og^JUUpp;y2a+s=3+*DmwlK0o_C*w3~M zln#|frgJ_tC_E@!BvK@D4}2BdH}Tw}5aj|@ZB@lA!a#MPI#Zdc@OSHQ@^JDtcElTTBc2PqVZLF06#FPP&zNVNjGm0r zqqQEqTB&{KeUxYVPV57FE#3c;^>ga0s9E6d5S}6I)AAkRd%K7Z!>Y;*l1+VqP(Kz$0ftVnJd!_B3^}I$4}u zEvc4NGi#aI;?l0!uGzNf+r-}P4;&vjUd3)5YMs})*16id+q+roT?eRrXWq~No=W=w z&-CHoIN}L2z6^INmbRC+x71te{I>EN%Wo}xLHO;ZnE8eDz1{WW_2aDd&Wg>7v3B${`ZW3q z=pN}V{4Y7H+y%RDGBiN+xT0skegA!t=ka;4-*FnS7s789@4TG%Tn~N#%v0(D>Krr9 z^h<$Dffm?O$uoUqXk_Rm>>axZSX-e>X^91(N{cZeh zyaZZDTSpgQcKbYqLDlJAi;cAnr_zvj(VfV11Xf(5#zG0jz7WXT^7f zd(=mO9|7O5Z`1d)9St50whOfjCBcU9hH&RdXR)7+URm3q5gU&kpY6@|X0>>=c)mow zgqGBjzk^HGC2NneM_Hw=Qm1HBwBEMfwkGiVd<|X+7~K(GSu30?oLyX9T>0JkaTC2L z_9A5UX7zppUc;>aHy}&;-tH4ACsKH3QxDe@Fh{2s&}6`8Lfr#{v})ru=dUxc`I;%eoBD#4}PzBHn88pe1q==J(=k3 z*Aq|&#Ak92pmpPK1-615fgB<)^aj1bFF>hKDLDQA5E>aC8K&O;Z?G%6OU$TK160AR zU}lSF<3FD07oLT$6mzLn@UWku&Jg~W)B?V#zp3ZPF6JmW=QtTJr&u# z*}dyQIbS)kd#XT60dZ%d-xBNYyx)Efz69&Q8t?_+OdD&Cd`I|g<2~5}7Qwzn3%oXCu9(=ZLtpK+j2E#LogvUAyhJ4Qut~ti7XMi#iFRycZvF+dEjfnXR;hj06a@x1$;;50rqgI zSz#^fxc4|Ft;>4pqw*Af|5d>l*BIA+=YD6<5p=u^I1}AZ?$UY7`#3k1n+kWJ zxIn>V!Q>l>H-u;J2y=wFDz++i!MGrNPO3($Mn^_Q3V%P={04^xhwh~Ba^X9|nPxwJ zSj%b%e1P{})~#62;>cBb`qIeK zNZV-JD8HSYXXC!)#n4qUUuv0XnW&6inDp#b@bfD;sh(8VYHP)Qwh#3Wg;$o_;dWdF zoQZA;{}=jdd`Ac`(NR|P|c_vUKLu!lE3hX zwE~v--nK7ds9bY)VaJF`}c3}j^y${f*#{iSOle`|EN7SLHJ$whVH|%jx`rJ|AHNZ23_g&U`2Z2vOe?Wf?-m~~z_>NHHa0XPs4&6=Q_2BEl z!{CF^2O$k&*X`ir^!Y;e^$!_`j0Ld;u|8&>=ktZk)5GAFb;~-W98$hfzftM8+Sk@s zcm|Zid|@U>Cb8>iJA8oXrSLlT%-;u7ptCOQEsQG1x8BO|b=?ATr{u<@&S0GACsLfL zPBFK}Zxd^Z)btJj%tfd|?-(!`3 zod00#*|Vh{i+xbPseNb{*#0CD&Wd zx1P_2oW~Ap&W5}QI2%%5tuH(SI2%IGfDO>~o{XOq`wJmI7PWVt>5HO^qMY%|132@? z*}uYovw$8z-x>A`5BLv=7#H#v67LB04J*N1Fb7a8$1{bxMZO=bz3&3K0=Y2dJ}ICD zHIWzQ3FUz+!R}C}aHnwQNM_t7&P8TLXGPl>ZJuj@ZkjirYk)>2M~QynJIXss8MTa> z6&^>_l3&H{%q{vBeS&?0y|tsYqmZ+Z^C4K}S|w(p*^pa~c{cto?*~uZa(pgV~>30MF@eU>j?+pH~W@5_zl z#*grlhPI=6#gij1^Xna@tzc&6m5k4$n5dc@8h6( z&|Df{8XuMzmS~-9oh)mW6=yonb@?MBAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n zAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0nAR{0n@c+jMJg^>EN0p<> zdUd@zOPi(jv-Ptz(VOVS?8WR!aNcp=@rCmXXIocWS5|jc_i@nM)7#_mdb~?PL0>`N zm%yFkPU#8u0wq;RtpGj%gTQDo9CQbDKvr-y;pLhIRc|V8t5DB8#KVo(9Fz6W7YB(+HD z+n^0-51N5WfImN_{FE{WR0p?xw|#v;&>Qsj0k=K3JvG5%_hR?&uHRj+gMQ9_&b5xU zjvMwHb{!Pgi|dVSjcmQNUfM);qPjv^p?q(BZ(T`VNj^8jx9^Ioq1*h$&?JFHC9iKWs zbyjs%b(vs?dxyKTr?W@*>fU9bn6H>`J;;}mFJ&CK4T`1~P3;2afUV#VI1F}xh2UdQ z20Ti6lrkHX0N?w*_f-L#y_>z+!2r(y58p++cJ4;5My|2WvCeIdZQ^;v^q8Ill(Chu z)z#{1ZPYeuFQu0<(i&;aOwLTMN~}ukj_;0NHZPlh$Nr9G1vQKsMxSV(=$goy$m8(i za5*qJG&%Gr_$b&6oDQ50GzNG4cl;wjQSeLJFKO$*81NBj13mzKz)Y|o#6UfNJ^ylG z57+}kK@^M&jtk}v>kMUOQtyms2k7RGo2_k9H>szU z)5@>bua*MxCi5n%CaNad#@oh6o1@J&u{GkGF>Zrxv2C$w<}~x;_{Z_aiN=Yt$+F2@RxXR@+GB80 zy{PWcc4!N13v2`Q0eT~QBl}B^mmJT)4(AT%r>;+3MchT)m%%{KK#vzc3qf{YcHb26 zH)xR3AY}o#475}&wJ_i}>J3m9LlwVyCu3MrpBkn zx0~C|yRp0YI%JByZMFA$e zr?Jx*7aJFAWwtU)#!JTC33uW#IGsG5+-PmIW+}6j{%U`< zpGyJ2XR-$j0Qtc_-#%YsaM^p=`wrOc+3m><`n&tP54#S#9H5S~j&rzUxMRJ2z5S|w zRX1#gEjOs7RnnTP&DGvYZ)Ku2(OQvQk=&cuo466b5$E?HAE+0r7aL>@GS)}eM;}EV zMM{97;i2Mrln#{+Ee$RWz6jNKdtuP?yjP z;TOUuz@*5e$h*;Zqc0gR8BuU8b}hEs+-+rimP&24wpvCj zqvf&XvDtK+{tz6qAG0rWEOYd6_HkBrRpzzPwcWkl-O1DGzs_|2o{tB20MGQUU@q7O zc%B~xJHcYm2k=h(Eah3sBEYlfsPCw+9@y*M>n#Gtd&YaNyRW-n23=fTTwglB6wf1U z58HEr%6etJsjaE4ht@+Isg6`rrOdJ=ph&h%q}V}aV>qW_}52gn4Dr5#I~4BCQfphP-V(yEBN7T*<~ z>rTJZ-vJy26$2Fm-+@}eTEQD&WN2ilc({1@7qBX_D$*<3EBc1;etGTL)JJvS$ zHg^Y42ag4KelQ1F0bWdbQGBb;r<_m8o|--NJunjRy;zqH|M)Y|6!6cvka9u1A6Zkf zrhMi5%J&LbioC`Fx_P>J_PY1Fo!}kUJFW@N3C`V)-HzYvzuA4DlwL~QdAn)dw9)El zb)m9Q*<@|9jwO#J?c=3HZIbmv%308<-9FJ`4qX4od*@kua#@ui~Eq9s!;|XF%g% z@HB&DmzZc)xgyM2ke#WYy%$*2|Vp@hM?& zSG}tq*N$uJZ0l@O^eK8bdpG+VjyD`B&J^d5V3BK)tEs!GTlJ`(HQ+7pTlnH%_O|l1 z@|_2jQ!0z|{I`_f#5>Y1wO#5MzAMZkEBi;Ro#jLiZ1hWdss2QLR}0-oo!z*YZM zky8}%7xLdpyOXvC@ZQ@Uv!Pk7LFH=GiUl6+(_O?9<`2Io0ZMVB6X4ax%Ro% z&DPD$&`~R{eTZF^)2<~1M|J}y-80JZ(#=ya~{iOx!wXJ zog?6(+xdm+7${-*6sTN|y7#+-JdGErG-Ew#2Lw}PA2Zf@5SS095?+u zX3bd5*vH1l#?t80=#|KoNEXmO+&;V|v?b&N1A_yDj{}bbJwVVO^v?tp0Pj?rz$nlG zGzJa9`(OZA27Uzj{Q3L?0Q16nfqH?XfbYnCz*<15aH;UGfZwc-qaTaBFg2DM`vaUc z&zf7~TjPrpixcCMz0yE!pjOZ-X!&jVMV|hf{+oWpe#E}mvDnem+0)5f zISs6HuXDHZwDK5Wws*ESuP-kmxzv}MlA1CQoCC}=_+8@jSOzwM&0qx>58em7YcW?J z3-~NI`!@T^g0a*L>%E=Sjy&N6;R$=LT=+Z|H4pZEXX!f!cI+ zy84y!mB`b7NdAy~lz5a-LH>CDculjW`BChn*c@YyaWr}~8jr*yHNfQX;(_hm+5AcV1$PLgj*pb&{ zQ9G#+t`L3*Rzy}rxJnvYu7XDx;K9a;iC1 zMN_ng;FRr@ZH>N0A8Q|LZ{=v^c*XgO^C{Ti+TiN!?(F8bWGkret?#`CTKZc0PJ=Qj zWm2XB#+lEgE@16y1Yj*|Fkt8&M>;~OJ-9qPs=fyYcK;S^20r;s0D^I{B^^*FX_MOI>-5`CC z-o)O-UdU0%@i*Az+~pkX8tf|RF6q7rMtMeg7&qQgi~5TCmH|hKBjrP|4g5cxy?3}3 zRkrnARlD}CoemO21O!Dzq98$nWF?D&Q`Y0FT|b-{*esdwzfP4SlS`JNmAFG?>;WxO)p2kr-M52uGS!Jc5RPpwa#wa!|O>EN&Ob+e<<(O99c z(C;PhB`bhAi8%=;?!<{yKM0y7nk7xijR>P#y3*x&fX^V^9ic;8@x*5p(jTCk(pI1Rcv!VHg@rCh&{)3(Yv`)4bbqMvQ&*PuRec;{O6w z6IBzpz@+4)WM#cFZcAI=Z|pZFm=nxaRx67&Qbs$Y{ScgY&O1BY9WHbCand-chulN1 zuhdsc`bzq;s9Ds%!T0{}{j&nI0&TQ5TApB@;1w`2G%-{%TrzwHw2!op+yxz@9ie`l z6I#~zwDD=DKrlm4XeIAwcwcDn%(?1-qQD1^rX3aWqi|Z`v}4g@(dOWKfkuHBwHLKt!Ghp|VBJvNkO5|gXNL<#3PrYnV$ovJC4hHUE3gv$3YbSx(|sE- zp0IY$10b!X9R$qDsAW-?>;xV}9z?nUYVU7@g`tI^hrx%zvS5fdMB5VB68OXahd&E= zOMOe_w>(T4rp%Y;%il=fNN2sX-UIgmQ#3cfli#Ur*S346dZy-BbF3rg5fi0}Q3iaX zf1)2v9!l<$cBfIsf;IL4BY{_2^`f1I&%g zjYI)+tTV{3^Manip25x9X6>)QUx60^HBV}vvwgFDjCp6}v+{lEKHFDP9xsnq&MoIQ zahf;->;d-N)ZEm5Yrl2Ryl3VHO^hbS9DR*wGjC1neJ{15v;_ zo&6K`3lBvPMLz(HA=SaA@Fr0gwhOfjZ3u1%{;mD36#y**Ed!tXKllGj{g-;ych>h% zd8kCdtMaRId8xeA&}-=RaC^ApoN>-FdzpPObue|?x@~0ymCQ6Rv0i}sAa%mJfWL3{3fU8x0!D+efHfh{?5*HXZ)`N?nLiI2LUT$MS26?S>?g>(Dcx? z;I-h(pq182n--WB*z4cxXN|<34PyxPp5}6MxsTLG`rP~6TjDNpcRD+r3-$#&o{FcQ z0~M``RyVVoxyV>#{H*`1=LX%9-I50q2NHR}r1+$`3dY68#hwGy2wQ=yfOpeIz@FjA z$M9^JXR(i)F+HQm$5^Llh-DBxTq|aYJ1c74!jD8$UF{T*J&E{rdtFWb} z)YJ`dz&>EFa8@`I-HD=K$hxqaTum;l6jn0&GBUOHol;M!tNp9}LjywtHMAO9G#CvY z1)qjK4doB#4<7~WPu&5$|1X2`Y30*q0_uy|Gh|2Swub0SvHoCv-W{-B!j+W`dWRh#pYu3oN>;`0P5-W^ska%B_AdpChCG6 z@g1TUvMIJHRvxh49tId6s8t;Syswz^vKE;SsK;Lg>|ZqoyyKWJ_W{)2d&PUj<%FF0 z3cQ_so2{$lI(?mpA#a**nyRH*KZ9+lZK;{|OnZPcz-i&OaNqXc_6kS^q)c)qSqE2? zE6Q%)ZXdOxzW%=c>VfKkELs-rC-7zP%V3>Q9TC&#h3AEfMT$lCf{M|KqMx2UExYJ% z>`U7x^!FkeiU^I7x-WaS9|G1TuYkYP{ubX7?>Gs}iq4AW2GkZAL;8gKginM{K&g2# z)H&EWxJp~4-3Z(WWCE-U+o|nDe`=|+RM{)~D|~-)v*aBFG zd>;! zYD}t~-Oi>bgWik`UIs4#u1Z&>gYrR{{kPA3pZmI~UDUVzZ~Lt)8+ zb6`+-P&jiWb7Tp4HTtU1PW)+pQ5Sxl_O-aP_#M0t*t=!?=nB}+Edf}kGtU|TUI5#o z+u)L@9Niz;A1ML83V#(wyEXJ4;NJoN9{6`rEl@4c+uz$iN1dbY^zHQhr2M4B<+z*% zUXxyvDtZ;YCT1wb>T97nSM8UH~AKrnV6X{P{4Nv zzru6!5n%t8{c-kXc^>B;oqMznOb6q@1i;u%56S~jD7{en06^XT&Dfi<)gXU7e|!sI zPJIu|NzO^Wr@yC1jEHdtEHW3FeXKqfzu$s(K|AV1;W&BZTy`(J2fPE`T4}8`U7juv zQU)n4eJyEv17XACv!PBA+siW1= zh6jcR*7?`@&!}fq-mA}mf=WTzE^q z5eEAqZqh|2`fhSbVo5>)tkaoebpb}YA#x__Q^q6X(LTVtY9QzeJ_3UQzZLdNTu>vu zhB!kdro{S!M__1tXq>&TuK{C7W<9fh3d}ZU8|}^ZW@)Rml_`~pt*z8~`@GG#x6EDU zPVy#sgQP)HJGq_wuJW!@%va2pRn5u}r=Ikm^e+o66P}aO!P3D5SQlC+v_(CvhbKiQ zMV^m7ADsvrbYp1kRn2)eOwai=Qed~Vf zo^(z+x9!`u0$xtNoT_2fuzH)l&85at5z}+%IrI+64x&zfHt}rY)A*EY)uCQigtuhGw45)>D52*Ft1k|$FpSlL->+|)tMq8mR z%9dDc18BdzCXYb^@zIMzuZ3rJ?z?A zZP8CZA3QJW^tZxqg|C5uk%6Lr`&sm}XbMor+5&2iIj-mthlF0VV+Y zgV+zD2Z%WU`-O+2hlNk>P~;FIQ?ba5@Qm=?(A`jJFf=$cNGqzm2!?@#wn*K<55L(e(I>|%D^RNWNshI!^Z^Qdu@<(5$q zTJPB8*yP2;MRY6PNX(AUrZf{D8ykx(DMM^U`U(+0s8j6*)DzhYX#m~_JQsSjnEM_F z>@Bth`$6GY;n+%0I9@ou7qm#UNcfVzVCN*aE6N#UQJeGomoIux~bA9j~tNt?;pqy(nLlsf~L0$pRP~8Pl8E zP3-}x0isUdXYMoa8~2TuK^wh|zC5`+8B4?xbpSP|7s0&Pyx7a&oAhten*qiT=2z5q zdjOt8UCR1Prh}~Utms0nh*wTjPW%C8Cub*_+hsN~8^3^! z=0@`~>oeh7tY%lU3pxdzEN&Lp0o1I|OXnr#Dvarqe3N`V)t>5m{`dT^1zrmn;E;Am z8y6fGr1lyE^TYGQWg=xFM?u|a-RKYC&9pbg-#hz-1u_&6eL=>J1%SP&C14Vu&R7=k zJXo_(kNh+GXS6SP6nO-7tbOEI_?XbL28ITP_67F^J2C;Kk@*zkcpuOSFoy8HqQ*#lk>}PBP-}TM_N?d^2IIl_ zOi(CMC~*=DNe)TAp}(R34YnKGjj`rfvzgUQ)P-5>EOrvG@BF>{y}Qxd=*^MlNF(Ku za#y9R^1knV-y7;1Y6gD>s78PInfs5?#%Q&IwSsC$4SfUJ!s9@}XnJINgmpS|Ry9o( zF`eEXek1&y^KN1vWFp{Q#rV!zo%&)dEta+xP-}S*eGvT=co8qsA6yS#4_5*+Lo-7+ zf;WP%0M><515*Qg{CoVj)LUu*&|_IisiZWOo60?OceXoc>@)Vm)WcL} zP}VAIbv8STe&I#^A|gl*y;HJNa!+DUA{U_6D}m9m(dfWtiSci}Ibe;!+?F*UYeDvL zhXeMi*biZ^koOgJ`u|oJK9_hdu?2bL2zwOTmN~$H*hQ5ZrUP>?J3;7GtFQfy5&c5eg)QBd?mON)ULmQFlts?Me~Nrvxvm`W9q=tu7pa5&gZ=NpQ;<{3soey; z%NvIphkRjQcm=2ssSr5^YDa5F_kq{aUK9E)b0-$v6+jz6?SyB-T7{<#F@4<(zU(GrO5RBsChGlAN#~t+ z1W;SN40r*F51`+K+F}^cBR34Z0(M1rMQeb=k;7sZVM%yN*bTXGxO@)(irSe{RuaVox?dkM%CfXB4zwnH8 z#-gFQ5NKz#GuYR@oxGha4W=cgB@*#Oyd$^~yAkUQQt7GmuK??B4NzO;{X{M6NnOZV zo%IRp!oul=Mb3LB{Y-l4Sn1eWP%vIFz8$=mcrWn)%uCKo*469kXp=&{IcF>}mze#m ze%AY`_fv)K!Z!XqnQjZu3G2c&(i&-+JWU>`3{>bFD5sWFv-z|6?}NR8y`o?EF8t2^ zkUz8?v z+w1Lp?tbnrbCx;m`CLm~ODUkBRnTf?HZvz1lZCIBIv;B_>VCZEN5iL{ilt&BKqjyW zvmuNj?B8C2pPD@>)`p(}o(c0^#(H|=>4WG1c7j~7T(QX@5|4_f4C&YX(p!Fb*S&_745 z_g>n)v=yKpU`!tl=zSj=85+40z7wtm7Kavx9t0l*i-Vq8PmML|S^rr-WH~h#DDNxp zYpOI=ddt1#&!x|$CEgNI7oK&_I`{4Sb_B3r*vM*RjWS1>+l+0-L;ay%0t`zIOVTe@ z0xXO#j6Vxz#b&`R{i^Vs(7X7=*GsP`&w#o+^>^mG)KV@0w5^3ler5W~boRCS1J;-W z;{)TNL@2Qe)J@h+QYfTGFw7Wc)G}+CIjx*lIyjj+nc8G;vS&CmoFVQIx1HC{V=uad zTtd#FtgG0dB6l6V;y7HK>K+6IDhC>EtM=KJV1-|Mf!)vhX(IX-l4opH>5VC zCfSqhUQREkvD?_C7Dr7EX)2{+`Df*4Wsh%as*~NxuIbct3cH0}*0mP6DczJfW3gUYuT1t$_VrMEsMY<| z{W$|U1Al_e=$|sz$rs8e`nQ9_gTq-OS)OXW^P=-a9m2o&e*xySc{AkAP#b&*sJ&Bz zXaA6z3D1M`3cWy9K#$y8U`J#}HPai%1JpRC@2+_m@~F=Te*Xs!OoZVm-dd-j?{JQy2XH3&Mas4HToJ~>tE{}0-(0I zGO;od0n`DLv83oNu@2dqzE$+oIj8pLqd!Fto!&Ts?PSS91xHs3G>uznJc5!&J^ zW0i4Bzoi!hgOh`kXA);b452?HJ6IT77%K`+q@NIZQ?c}7Lhq&jigBH1LHJ+ue?~2s z{~YRy{J-Jc5J&%rNJax`KXK!=1 zIrH3k?nrN>*IDW;<_k+GC6uhbtZXs+sBg1hI5;pk!2E_LwS%C4sK1CId%}Cftj^Do zpCe78O`=CYA%op_rV>mT^^KXWKJNz4>#xP%+FKzXdRy#2Jn0wK*X!#GlM9nbcM}Z(HNcW!TWp({N4N&R8)u@*1NurBD|iOXb=fPV z#><@dHlU}My5iR$6Y{f90VJ~6kob^zI1x^)0Q?sDO>RLipWi5F5zwl(ZUAb%bM3kI zP-m#q)@>_%q_0b_OV7&B$|m?l`9<05+bd#7KYu?z^Zx(VFPs~mEBb}IBfBFNq7{VK z`uViy(|QB?Ls|E+r_MWy`U!heJeU7dzmWRlZ~ z9s732lgE>}0q^)JUfL)vW};cAGPVs$4N5h(8{1`^G7je=eV)&|3(iPq zB>H0)C<~O~zTv*sYHPKOzlm7_NSCI zC9N%>kCYyV{Es~+o#E|eTxUPM87Kqjq2qVNJBzu%-soOb`?aITBgZ3^z-r7}2LQF+ z6~Pt3JK7!XWzYy7G5U?ysB6^YzT>{T%3Xdg%8T-gav7~E2?az=eMW((OT&jfyk$ARa;SWfMP zI@Th|;7xRTXoE^>+&k18lC99Iv-Ry2IHWnLK;T?Pl^howd9!wleyb7kor^Ew* z9=GgZd;0eDHXs}L1@j?14}KeC0P7Ie?DV0~mqq=NT0OPijIoTOwzOk*Y)pJiJX<1L zVmoM)Y$N)GC-f8gG-I04%4}s8wTfC=N=w}W-`n5YYn(OCRClU7$QvYP)N9MNWyZ(n ze9wvb!VBsJb)$cye^g*p;C=0V?b+b7!872q&}Sj`R?mRWkS+rA z>q7b%7(b|+(El?E(0kGxP|Kosk+X{uuR^qM1viP$9brym7?x%pgTh=1{M%XK1BmC|3w?*Ddk3+jyyVzCG zF5XVmA=GBdCd;COe>b^YU#@pHIt$;T&+>_W;Ww#oQgiG%_NUILPJ6e#TgR*8y(zsZ zv7ZpY!0|nB%6H1QQQfG14nJC}K&wDutuRYa(VyxX>Kb}3{9Jek;QZ}1&^p>$)P--Q zy(Rh~H`8vWarT4f!Mln*kbm<`zw*${aFj0lei(_>!% z(6>mB1?v#bB9!x&6aB(rzG1$3$~Bd{yJEB-oQU04b*U+N8B0lz)^?a|kO_Y}{fFJLc( z-^;h)9w>s{8pFU9z`S=acsu@f{0!)x=$>G`!x%C|AEK8x${X~)Fs7|XzmRoE7rTpH z$Eo9#a7&0;1YAwh-{6vbN#3jMRhIge`bMdv)Yksi{*r-`0UFXyfGNQ#!5Y{*!u=!k zgp`hyh7x#KXuSupr-V5ceb&sMIE&64mwF=4VjB1Yu!r~o;CXRx0CQyaZ;wZhW5T47 zn2D|$sTx@uUMpfqlTee;qTr(7b?v(L9AJ(?&&e!xmb%Ti&39HgtNbPZ#kRAYUCJ&M z^@={7XB%n{wdbYgrS@8Ttv}2^%&dU38K3K)>!&co&zL?iF)(o@eg(>G?fCcTgVzB! z(r=`X1VsUV-|VUL`xpSagWiC57jvykfL=O!fOmseFn`OLALhO67gkJEOxy&MlarIx z^lG|lsK$?gy?|a;FYDdZyTWsl!O6gp2*g#NcZDo+7CAfZo%W^FrIcxz)=S_$^F4EE1E{@o4uSEUdrjEKCA_+Qz^} zF<;2U>J{}BwTiEbuZ7Y==_~h@zmUF=7I}-j?e2E>gmXf8PE=d9^QQ8q-nHJf2ABiP zHO3m_SN&K0RnQYV92nDI1{32G<1!c(8-=KxF}5y!o#@H3_e9-N zN7Dn;E!-`9Fmy1K2{aBi4$jbKXg>sg2vA$h4XUVB)V991KF$}-lxNE8q;=AF-gn+l zm|G!|l;}YW%MUzF7*TGzU zuHMpUX}o5>#!+1Jq;=9-ms*!%--g;E{e6|ZN?v{`zwnW=E@Z#(JKuM{rRq}k6aOdv z`hog^m$a8q1>DhAVK%vSsC9^5kWHZG{mABmR*ob|5^E~Q@*yMSI#e_h0oo!B`;U2z29y)_cd0eiqhK<$L{I=_G# zu^J+#SHaGJ)1X_To0vslf0BDnIGaKb&}qPa;mFj;6zkV&PBo{HTS#b&NDsZ=rQf9! z@(Hnb=1a^M4paxK_5Jnz`2+cd=j4EPKpPbt6?`l77MxOdLsP<2!UZA)pakxSl#iB= zZUMQm$6+X7y~p1-b18lg+#SHVTk7w;uQ<1p1)NJeC-y!RNGp)GA3IW57yf|VWp4rY z3$cm?lRdUdzD+tz98 zd}4oMf0gS*xaeK<_DTDsRq`r%k}^r@?d$FPK>a{{9kU@c zc3c39v_;y7!4HEuLpejo0e#R+To-}7*uAh2grT8-1a<)m7;j>42K7YN9-Kwsd3*$@ zon!~>nJ~vH4NgZ-M_Ykkurq+U^v>|k@bjQss9R`zaC=bKbgdZReBl)T6#q7Ln|jH2 z$ro4R$}=FpoL{aaRgxNejlGZEkKOUkcxSo2{ON26>vZnQ>Sy#bHtU=9Bz~%a1&IZ? z<)y^O@sHzoFr(fBNPvEYI)MG#Q<$@5J~a{W8yO8|0_wdt0ee`y-{_Ici+SoV!E^EF zgtk~3d(k)>GCDb0%!crAcKtuhhU8WAKAjC&7g#4|L*ByfGWtkYhgOH`h3jFP)!*S! zkx>y`Ut-=f9*svEr!^LN6Sa5tZ>c4+4&hzJ^Wgo(+JrUZ9n6Gseu}={Kcau2^kFz1%19Z{8Xmj|LdMfMm9%c`d zd&7RwfB9eQ^ljWjQm&96(W_iQDWG5!)Au(xp`H*i zomy{ot-2NoM*hcaNSjET$e*Cge|Ugc7g8Hx4BvU>goV%J1 zo(I$6^O8XOaC@=mguY&SyeDguwS$3!ffyFHy#Ok!mBk*QPn1uTS@JBIdnms5zW07{ ze{qve(#Zsh+C}Ypsd}k_)YO^hf@W z{Pb;dfcXNL6`UnzLrlyFEC??Mmx`1UyB4cOtHCj{D@yOkaBu>!4ygpF^HRrRe#Lx? zH3<8N)D~H<&}Yq<{xzmc%7Jeq-$n|8shCl}7rGa!06q(T7W`iOUPB89+b@d*n)#dg zhpWTYMVN!!qwG;Gp`LvxJ(PmrMejwgj9bR7@6>lVi_g6--0yPTyl!R$HI16aIP6Da zUHB59*2~$D55S4o2`IIV|1E|vr=46aXr5@EaKPH++GJb3t^T6%qVWgVYHl^hTjQ;EsdlL-=M^XD2Hn5GCGXO| z#SreytEbje3;PTEA*F~tC)|s~x-eTPTj&VjK2qkU^8mHpIlzxugbrXkphxr#%--^Q z;GM;9gy%xf31j+m;HR{oL{9c5{HLd)r=l$ZV@Q3#{!|XoGt@J*Gq^KoYqs!_b`5k5 z%=XXr?@{-t*L~N0j^e-_o?R&}7Z)??^as!doaCZoEe45pA0nQ?fGDaEu^nJPt z8YCMe*Cp1mJQe-Icq|?p3?OgD)~2r&UPRtU)DM~W^3LKn!t-EE{|0crkUd4l5bok& zojwy}j%UU;wE1H1%<05w;Uj%re_g)|HX0j^A?6VCJ?lM-H4^>#zkwsz&9cGW;Lh@9 zd7nz3N*(2nViuvOuc+9~bPxM44`ElvfVwZg8EU?~u<*XC?M^Xqw6C=5$LrrJM$K z15t;}v*uack*gazwjCBVdg?v(ZjGM zqWO39vi!1KRw^si_3C<^+)nOrXSg%Zo+msGoQZ*r%PNjp{Z2+FG0%1fJ7Ve0;f~{n z@rPn(z@^wF(Jy4Z%{t^Q0Gp8bz4M!3o!%2rKVh!LxK7_mhV%@gAHp8)^Ref#^>;!n z91mmSWOn@Z#Ov6wc`7k9IrQJW?_?gs2&<1V%l@(8)J z(ph=W_nxn)T2zhtquAW`yPy8%G3Z6qL{H+0_x(fc?DfEm$c#u%>B8g4T=`M-5jtEWXa|k*&bk@CDRwB&3eEaA?>qC} zUH)C7KgAt{FZo{bl~c-z{g+*(uF?o^gg4ur?QU{5IY;fI_U+W|R0wdtAA3Udogc?s z@-u+B=;p*`v2T&{Q;Z?h1=(m=p1xf8rvvGM^dB*AKrM^kMgPa}zh<1L&cz;YJwTsa zI2Mi#0Xi5F9}&-rndohgwZ$yh&vhEiGG-Ycnje}at&$e3H>tnC3HyY-#n~b}4x_!% zUU#Xx*zZ?Csi3^hyR&mx~iAnAo0f_0dkgH=6P z9t_e3X&V9?0zYGJp4uX7CC<~gQQ9bj09JC!gFArMJ=9Q zU-r}~=J7muhTNgt7u*N^un&zfWI3R&j8r`Nt^Tdh7OR`p&1_aS>jB{IvUT=4dx|r~ z>F@S;TY0U#>QZ&7h+IVMIkB)?=c@0jZ>PFbo#CJ1?;PkHD5;gyEbvY68!2n0(rZ%T{_{N@cwZB5c6y~oE%OW zyNumD)jT!Q8fk4XH<;J46Dd2OhOr{KLiDGaB$_1l$M*}*3G-EISwE%!gorR)#1P(D z-vfHzSr0OI!JO4y2=FH$wB8%=Y7T?6~vfsf1eSzM_Xk&10 zh}z-_>x8vBwK_G<9%p~#eB{(~>$#=9(%y^MF%`hBsr!Kao~^#EzUk_8wY$H&zjC1R z(>i1Z{A#sBwMBnwE<7j2BgG^80B4!Ef)_B`%zdw%`Q)8N?SwI$-Uil$tPy!0^rEnT z`z_!dN3EB8YYIM|MR-2)d}LU7Soo*VPoaXKZ?JFhYwc?>Ur66xb!dz9=5x-AUj4)J zVfngrUD7?>dj{mkJX=+#>Qm1N_wb)L&zk{I$*3e|)PKOf#T4}w}z#LrCQo8?TSuC=M~J>GZ3)Y{7L#r;*14nEjV-0QSGSGYm+sQHE;{i$JssD zJ;g{;u~U=Fm! zpS7R0X90H@a2A0(4Y=EYI}TuB#>Rt8asli%G)_sRGzF5q84P18@#+ z2yo_TiL^u-Cy$f6E8Ug4zPi35*uM&^p#K_RPl$U?xE~4OE4VbYG(=ze?||`_F=Rk= zK=e02|Hzksx*_i@#&z~YcyG~9%HA!{gC06+!t~S?1f0KR|Mv2K@h$ET?hmSg*R5Rf;O~XLOJ{NS}J2dSALARg zTMTkyR~GlqFg~3HLoi?X#J5QAWN*x8(@RM|3`S8>XE1xm|DWf$b6oys;C~kWXDWhu zwoJZEzK4MQsipp<{=R{}feKm$jl#q(z&tctI9qrds1>Ot>X7%N?~D1Vm(yMr{fz@@ z2T*0$BCd0$jrSH~`TL**2m{tClK_1YoQ3=N@jDf)HR(~MSM{sVS5JM5eY8H>+Q3>7 z)BX4>_skRQ=RYYpAuxTw`7{u0j3I zAv_M$G9=J8(Kf+)p)&Xm?@QDJchm2RJBzyj7$dG=K4cf5x0kVG6JYQ5Z}2MS(>sH2 z!E@MIGZIi+WZo9Vu2aq;Jn=1l4Nq|&qmNP6ENcd>pmh~&Pi+_TZ2g`7PBXWe@V@7j z@=6goB0mJ@mGdHoOjD<+UHx6f&R$qZvF-4rHX%46SUFS~3e&yNj~wGXb;rADcf~w(bIkW(r3AXSGoS7`VNmJ!cvsdd z*lEqXlAe=4FwgcpsOqok@1}MWF@)amAK(%H6>qtuyp;DWDC!n@0^S|? z+WOkMhMmRKvT7N%j4$*r^mEup$$kiDaR0>aGHQXBW0&FJX%}N3b^+krAZI^Vk8cI^ zk@C*^3h;Y551#lI8FQY*kYm`E^)B8GxdiB~r{{$Iss4I@y@XMMYbA^$*rhh#ns2dx z#=4OEI-kehPX7Gv{qCKRPDu39%u(hjLwrMg&D3UUNq)vzekWxCMn1$m8@0&S0Q*yQ zz>kq1BUQj!cus<#WvHdtq5P-zr}hfqe$>(a(f+mSTJ=ZYkG{W@zbLmUFUc?cSKs3P z)c&WwMfO9U?8@Sv@qhXjnWHj>Q1|#x-y**c-ci)ACIRMJj3);G>vYbuu|LH-i}Ru@ zLEd;?v2U?@qPmz-pO&1KWZ#&Ew;#YPbC%f!JCrM9e=YaeqD5%`=KLn!McC|Z_U1}+ zMO{eWaxLttD4-TlX$<7P;`P{-H9#96_P#TQ(6?ASTswRla1XzPrP$P=xbKR+4Qg4x z0`{QZ0h}phe#LX)-No}jxsl-v-WQ=~s2E_*Ol|QRJYJ2!{_y^A9xxCy>W6}dg8Zop zzxN=#^TR&>DR|$R05OK}o~?y_!|kMY(hzTmH`ATzZge&}$L-_xz0|!_M!=cqu4Y$r zp|Mc-7W3$N^j^tc$saIlRuIgI&xvOQvoJrE4}72gz0k4>q8IoGKkON@?%=mUO^Y%8 zC}2)ZuMp3JUM_my7XikQ<)AeBQ>=A{VOHx6%&6Z3n~Y7yU~{lZ-$kBOo|FTAv464m zJNum#?h1FJH__`W^_A$wD?eKj^0)CNn7REAFeO)Kj|2-Q=;-SZSfRP|UNPbIv*3 z@kwp5BzAtb!tT$B*!xaTEf?s$1EymC0j#Zb@v)b4WzPiSvi-IOObq%?*`bV?oy}wr~BD6Eus}+ zD^uHmJ$r3KZ9`}oiMOXJU?!SAxp$)Ph&tqXc;9;h))&09sOeH)&i z8NUyn$3@J0b_EY355@jV>d4#~Fc)u6-3{LTA8$|nGo~{y950U-GwOS=yX=yC$&EQN z(Vya;6TX!)+!}6ikHv4sZ|Fw6Xmrp!=$n(9q4;UZE{QIQbMbRxeu|#;<{$w-DC@ii zfO#+Hb@)B-Oc+b3HL_PIVYcc`zxvd*OTG24GWY)6=((CSfZpdr?*Zh1xj=leB$~0x8yiqR$ts~Z5s~*2~#Kq{6}xEt7S63+(mC zW9BjMgZa1=qhaF@a7;cXZ%{Uf8FhMWsP(cgya`remm6mh z=yCV~&@;uk%&CAg(c=K$I%02QK42a4OonGNlmzVK^828#l<|YTDeAo3Bijt{9NFKZ zS7JqE1-AQVkBkbB5+0y8LvMyg21f=DY6mq~G6KaxTYp=zcV?Y$o$t7ETzF3CBh4k{ zlBhe>ck8P^0q8@eueUeBaddDMK2pAmunrzG&ZrMi1}M#Z&3t?(B@6cA{t4(e=dQzQ*lpng z{@pgl9)A8Ijlup)dK|_8CW!Un34Jn)@N$Ni#aXaN$Q+Bk5XKSSVXPT1VK+QIT=blr zjh>Bu2&la`1Bb9f`BgADG&uBq@cZCDXVh62{)icM_Wd&e`T*z$ppUc<`~ma{EO(ZR z8TIR_>rZFY=_{B7e*t|4yg!;Jn+vTsOCn2xo=-@Qv7vzd!Zqn@#C^s8P}C1uf3Sbc zUI?L{#Td^sVSkDqhfN@JEHgHxjE+gznZn&Exv)cJ59o|{d~)hJ^~+#^vA|${QQj(V zWld#Gapvv5w3wL@;hQSM2l*|bHZIE)NQ{8oaf|jUe@RI|4@6Uua|l+bFKgMk+S#8-8I<( zzd1W>i&=y%*k|qqz2G}wm^Mtjmq+b@Kb&WKqV*1t2gsA8NzzhpskZ}rx=%Z&oj>hA z?EuJ^%9pBR)v*Se1OLrO`f>8()UlXfG2f-{y$k3F z*bia;%b3F2ka6U5z=XodIQ*k|ER;4;ZF$-lrVyw%5Vv<%)a!M=*V*Uo$Da;r$L7AW|lb6Xmq#e>J@09nu`@3s9 zwv!dSVZR|fC){7b`NC7iDYm(Uk910MN|K)R3V``(Ho%yO zT05;TQ(vYA*@Ns>PAiA+%DwKr?$Pgu)n)Qsa7HrVrB(<87|z0DoT>F{54s9K`!8 zi~%<>+f1#nBw+uReOi7a^#AZX;n~n9$M53~;Cb{1Pkf6TV;f^{#NUYT0gW*eZGx3} z7lAP(myyf31-6)5%yHH@;W?>nR~DWVtaWi8g3I1zkGt{K$ZNzKxP5$meD&4(Y7u`C zzdzs?zQu)jTc>TXt*FzFVHTlRxR;nOT!1$|g+CfBr30uTvM%QtuusUI zI`1pyzRv^tf1mgk&tUI6YnkiV!`~3>!F(@gqI-pUg{YsonyZxo-2&YL+%2&WJ0`em zf(>+j*CpkWavkih@8ES1?;^~0W;~x>Ex41B@Y2K<|4K!1%!Ymc5VZfIW5kPN<(S|D_I`^B;Roa>sJVrU2%>vp@mt zIXMdYJl=Cc-#zusf9^RkvC!dXyj`}}+3PHKmy5cvztmr9DYtz3#wW#9zR$K7`=hxp z>`A}y7rd7@Ei_H+Ibp5P3p47xvj#>7iaMP+7QOHH0P|b+&Kb|?wSLksq^`xYqEBcG zpw`0v)Ku^+;7(1>B5x4)eouUODeo>@^YeUsGBgy;(4%VI}tE`aDM8^ zoy8c!JZl`F{?1)nHNhe5zhpmTF8W{G<4_e)(>(V0o#;0LZv>kAoBM~U!_)=71->21 z4&|JDPQEMMrQKS}=4BJwVomI+=wNrS$6!bCYHPK12D_;^^iA*iKzPviCif;YfUb$I ziIee@@rqzqY?qi(XDk>BSYt5f<@^-&E8bVV!9c(~i!p@XNS^dO;;m@T;8M$40}5ep z$_~&V(IBA%_9t8FE%g_S7oOf(pIe_>9a0@q@7V9y`J8+X7f&-uzUE!?jz~wOf64!n zzf`_dhGNfW3$=xqiOvwn5V#K3Xlpda*1Xs}auIxj-D2$PtpP=&Me!Qsswnro_63Ik zQUH-lb%gi*Q!pN|ug=_;bGa`9`b}p6)`rwhxWDE`=*JInGD!Z=e@-{i|0h2+)Mvu5C8L+AmtosS-j`U?~r@=%i?`D{M+igjotra4?jkB z?aR((hkk%n@C8i4o2vumfpROQl~M&WNqN*fstYdoFZfpmR*IdyC4(h{e}g5VC89q? zZIN{~eIlQLzX0zndf#pX#`W5OxfZ_*-d)t-S+_HWa90+;r;6Z8^h)$2a6fWC(gB>t zEYKTZTxeW~dug8s4Yh_E-y7YIw_L8P*Hs1N@#XPVR4R&ni@l^?Vh=xa`Q6TL=dyj- zHc|$*QN56=W>vHLnte^~wD=vnEee2v$$?4krhEf@75_@?W|{*fiu%Xl^uuE2vjFDL znb#fy)UY_$Mz~9kwIXNK>80xdIOD^;PBTD;cn0ACVhlL~IIEQhdgc{CeY1<%#iZUz z-SaO%9h7?L40nc0ee^@T+g$_u7GKAktK7rS{uFC3?g{H3=pU%8Ro2+E+Xwn!HxuJ6 zy`J1j!aIw-zV89&JVt;Y0E;$yOZYvo9%R3ecNlAR*6_@+rh`i0TJ#zwuzE-Jh%WYO zT*v-P?$vnGpDK`K-K0BZNE@mpZ z14&;%|Z7vE8xS;CJlzqc4j+b&7cGhwK3SPS~H~ zT}5q+Kl$)BE47n7;Dy)=VjroD*|@QQ9w7RR8Ydek{kmV@3%Dzbo|CLrR`Fimq12(& zQhTY`q1?so;=bp-=as~6)f{pT*#o~Szl!;(h3Z0e0N!q_8K@axFZ(AjJ2+c-91@{K zXjXVuxNxL!Ys`?C11cE{vnAWiQlj>`fm43-%MX0wU7F)|6PCXKyI;bk)DsLupen>OG?}KMTpEcwC!?cHD|3>??_I$ct zcuorAP2zQtbxSo;&pTZJo2|(ANZChrbSI0-Zvg{_TCXcJPsMe(D?b8}(=3 z&ps2&J)Z^il+}=GNNv0}-XM37JKdS?Y{JgGQ>jxa&bj{6`@Ub_&;M9@!(>BIhh$7- zObm+;6I#}%*yHmI*oYk&EdbBs8uq%g=HOXSFQG?{8YAmP&a?5(qA#2N?85MAF97UM zaYp?u?1=aoFs7Hm+d6STuO2;n^pU=idLu>i!QX&A9O^#YQOI3|+*#N}X`+<#mGk9P zbE+6`S5Ns*`IiKi1n4_28Z3&=#9g6fRSQ>xJN=gMoOtl74~-5LzQrdooxXN{2dv5I z{bBA)SQj$R^V_)ve>{7O+{Hn^3iWr!kdGhFPnE+?N7g*o9>1-_osTmDGXmTJc}KmY zMnFNlpEy@*un=Fx8vtt#((t2b=>AdvJEjPUQyG@s4^wv!96Rzrk~o5A?&E zX~z=BM8A+V9BVn&bgb=m;k`U+@4Szg*YZ4=SFsjhj>WkI`WzTrGC$sPvLSs#I?s~& zy9q`o zuPLu7kkozmz%lihy3D`KPv6Zu+B+J1sMKADgocFjVpk~pg)Ol=^bf%I@-Bh$kKfk0 zhW!lGMxN|Y=35A#0Oq{(meMDeOiMoXEz;w_y6`zbZP5+8a1MVM=C{b7_k-^TCu$S5 z@9<{EBmX1u=4wT}vDg~#vkg&(D4dC2FRhmjd51je*BFm+G6H%|>iw7bsSorIp1!T~ ze&T)cULNa)b=a#>22caxJ~H;oA7BS8zl8c4-en@Mh_5Uy5q9$v2ZTW$GPB|w$Co|L;|HHR9GdT09Z*d;p)+r9( z;$HCIe2dJn*sJ9o)&0Nt7FnmWuhlu2a|PVfV17q^6{{TiY#adC!9P zjQ5Pm`egl5@{;IJao+5H{61c+Z4>A3kvn^xbSHfYs1K+w^3GxmVIO2Zpw`G5gx?2! zy?ldb4&V>_ji*4}c-{C_K;I%Yv+o}7$|_})GHmdJ`GfhD^_B3Pd|-cI7k7#~&$-W0 zUT}Z)e)Wz@N2N{jCV7T3Lt*a19ELNvu$Kl-gE`t9t!c1n@R`svp}m0ff3Vt#7?LrX z5nCL_Qvwoie6kMVeZ*Rvy$_xV>koPz-US5!&x1Q0xa;hBusOOpS_#mX$~t{vc%hhy zt{k!L?EG?dxq8HR#CKb{O?g_$CFhb$OQoOg${Op8b(l+1 z+y2w~6R*f;v8tL?P3}*k3JO^*<)Y0qcd?<>$ z&gbFXjP6!<@osk>JCBVqFz1i|ue~!5*RkCD{ymQiB@(;HkSWU;MH{IUl6E9Y#z@MP zP=-*pc?wZcDitz?D7&2urDP1*85#^FDwTE5_jM1?_j4X=twTNU`yS8p$NS&CK7X`# zd+!eWyw-J{=lT16f8Vdb$LPK6d)dYE#^WsisN+$`UCz6l*Gq$@vZDK2u~xc8bmv7g zxXb*@{2c-vjIYKsgy8^YuIAwh9@$KQ-?`!LA>wU)ajLFtHBu{z-p!hAKTSRlhT?(J6 zxtY0{mFbn~&r+YIezbnH$kD8?S%e;m9*Oz!`El}X%81_4-qFpG&5`ngI|KcYX9Ybb zdQIp^*&lchs4dPF%!I%^!CmAVaiua2snu^3%!W)A?yx&NTU3!}2R)a8(SgxQu}UW6 zlR4l)ng?#Fx!|ibAIxCY*Qu{l+-1quL32WFu}7hYGW%qnE6;Ua>`-nunX7%geY`b% zHGDsam;5go|I5>X(`HY%Ndq)a{4P4GU-*vT4pK*22Hp+o?~@C8TD=fzi}cxxOcemTcma%`w~|r(cIbGcqo&jK1I2)OQbp3 zl-X45bAoYBb*sARPd%M@I9qJY9*d5)ZdA3pUQSsJ^)@Byr zkK`Z8ebzqXq0CGq`Mv$J{jwcw9c(w*Z?a$OxYprOh~#;(%eBksNa;_t_O>=N(Yt-S zjRvSrpiW@F=ojo4yeNjs2aa1#T#;+EhV0if8cJ_`SBj=u31yOh`1NZ*3x~QXya;QW)YrqJm*-f%+(FH4Ypm% zSN=ZpeTLrjm_wM1%*JQMmMe7m?SN*;0XCgpoi7v}}q_o7BIT+%8`aGG%IsPRfFP+V!;SCFe`dO^!{D1NH;< zbGCCPTc@bji;lE^s()&VHN{$!T$B7d@pZx{=ueGTULLau<;94|h{y@e473+tguXBy z%GA(j3j9bV)iyKH?B_fa=5^?;zb?3|qmyf_{_RBZoxr<{`b%?Z9QKH!`9geE9*aE| zs~xW$N360{SwHiW^OJ+DK_+vxZo00?)=`XH=9E0x*wd*$EOab%jB<{0c6D`iHF7s{ z`#e6+QE{n`l;7JT9qA&?L|2rK^hM$Li~l8iH?VHxVE%N9=1}pvJLo)U<_q&2d5-Js*V$XxTG+Z| zyJUxEhGu4{KfNNgBDKrfWnGZ=shq$MX`JdvAIU4rDLO_wMps8x7w_ruP~7b4>>+4Q zdWs4HKRM1=JOg?l)E22}p|$3Dpp&D2%UQXJyy%vT>!c%nSKMBh+dW&}Wv!G=oe_8p z&MNf3ywSSRDw8UcB6IbqYQ0-BTQYBD-^$Lk&9n`(53_fbr#<(=3a$#SsMzb?>weYq zs;9rVzqhupw%J1#Xy&hZ;Y{?P;Gkew43UR2^}$=@zf1j={Tf|K3qiev?-a9!>?u4C ze(0yq6lhMUz4sO8lo#4d><#Rd`%_($mv`8A*m##w>z(GA=GpAt>^|i>h0N7;o%1^9 zt&UqA=rcyzM%w0N=a_rpj`WW7_o?qwl3rU?1saDji7|*(1<7a1Z2J z@Sb!RoUu3$)5CgIv=cw;mj8@!3eIi6=md9a@3h; zJ0TtEbAt0M=UUFUs|3%2IYZtRYQNm!(KS+ISuN13JSF}RBQ&G#j<}VO_(tST(gObCa288!11_9l}=9X3kQbq>rN? z^0?qGLfxdAxHNN>nk2Ib*NB&;rRQVCH*t?VhprZVeSLj+2BSIAn6C#fVLXM$%Uc+a z;mz_IE}ButgBY(YbcK8F|v|AsxaU%sg9H zc{Ba4{OuP6{`%D3j}&?+bFSifyei%k^xC->win#fW1?56m+?928txiCE5<9Qy=t^- z^h+^CejaE}5apZ@>yqn|)2wM0dtKXf+jM>=Kf^2qGZoBMFk^vkarXbiho4$6{ld}8 zEx1Cn{Yyo)zhtiBpQELv3+xXs*dHWIuRZpzEcc zyG?M;;#mOyn!m??#vU?IY!_AKb23lRFI*sMMrs=E`(SDEu9YJc{X%q$^b2p2|79tw zl>UT2Tf0-cQ)|*|()`)E+xApG+a2~h?AJT4ca(CLGTuyk3g_8|dxm>jdRuy(K4)>i zuxJmtNBu(f5Oi6e7y9s1Pv`u^<(gU+Jwo0M_I2)rt;D5!$X&{lr1#6+lFea!aC{IS zu1;c&e~t0Kyxn)Z$!GgenXCMc@Vj!e@|Ye{UN5!91@dNk*Y>Wthn&uwHafZT>GEbK z`XTEfYhrR@a(!Zb;>Y-pM*H3;)+e?$x;E+%z2)!6`Lw0j7TOlNTbz|fm;MHQ4*DI3 z)%RF0=!3A2&==v{MW2NFJbjbpf<6lG7=4w;!jFX$Vt!Tt_{}Dt8YAFOUjVxF+t6cdw6Z#4Lbn*8e8aiT zvCVP9e!?zGI2!@r)w9*JEi)}M52hbXqX&H1dfD2V+-m&&=+kj8n-`lGI}tr02dg?p z`~GYASE)X`hmVJjn|>jC0eb>9L-r7!2VP~o8{9?sZgF?#?8P^Wy`Ou?w*uYbzeH2{ zH-091NNa7=9OG)i??L5w<@h<(f4`3MX8KV6e&xkq zH7ET%{fy>>{?t+DQ76CTmx)^TTJ~FPx0rj#kj#)j`TLzso=uh%%@fTN%v-LFtu-^z zw<>RbQDjksO8~#mXF_L8PBit8mj!z|^B?RLoU7=Aa92l@MW2fL;&H(_i#p`LM5RzA zef8#sF4HX5V$m?tFmhOM#=aqT1CQGDrzR&RCmxhP5wk>BDC6@|pOe+u)yC&!ynVc# zc{XZ``L29dz#Y&D^Nf3wXOrhy@3ThxZui@zT-#{!+2|L}3C;k%nmC#`I@mkd``P;0#%9N6=S#P-D!t0o7CGbVwX*V)`N;pN|(41U_cy9k|2OQ|Ebf z5*PC><~=LeL&gTj{wbgBg71QvpBm&HRP2>SFO!~TQ)g3WXGdqpVEbVEWZPs@Tf{^8 zK>9%X=hV*}&r{c1*IS*Eostt06A~Na8{@w#hqj>@SD4RsgYs{Rd`{2+)exVkmc>3@ zRiNGdx8Tgn_lmj+bu7-k-wO5+G!E1wFISce_4}kK>KCFp;n}Md8rvzR#;3+RCORgn zCaWg-`H!;R-%q`tT9jU7Je2!q`I1UW^_{a-K5^hB{w6x|EE$TNWN6nhA@_tt`$=(8oxnmQz2 zHO%=;6bMYH^@cQe(nWBd2}deGwNT2zc9MRt)Z<(YkldS?kaE< ze5F|_)}QYd&xLn`9wNGTYAf9ZJ$SW)%)Rip&~Kq(;bCD(_#&@}R?$|`Kg4p)B0Q?h z)%uD0l&lhmlZQ<{+lg-8)&yEO;2pp1sM>R3nH`rvZp7WgZR1o-_3{qa%9OoS8TE|+)Zq0q+Ih@I6 zq#`YsZJ23jwC{ud(l0D4AN~&U4#u+=o$d8vYGi8U_weuG-s1bv_o|!^Fdngdv-l2` z5!}bo@bVluXVItnm!KCyeV#dz#UdiQhq^1F=TNAla;Lu+_^43B+*#;z(lp*wx6^E# zd+KY2**a*In#gMn?UMd4WX@*KX7}3m+BVoX7#-=;&ZnLCyY6?@ch@)CclPwf-o@T- zzHYuN{8#vQh)0w!D4PK@&vr%L6?roRnv?sKrOr1C-Qv|HuQuz?^Wc2N`*F9pUa;qX zEQX2lg4q!Iz}w_=!u|iXz-z_*LTb$aw|?PS$Jye3VG~;u<6SmD**eTm{!jXa_$`(a z;|lwQeE-V`dQD^ELXeBV zd^U61?CI!8ncrrP`$7AIcILY2wJpmmGn$j{Qs1RAR>rC#F0CzIh+Qyy$b{&G=+}|2 zrMzt#L9cU-ctc4=4a9!=oS<=_jvKugHD0issi>LoJg7776lhG*01Xn{3#;f>SyWr3 z=T$}h!mWZm{mR&t#=C5;vUR#8x*5-2n`M*Y#tGcS6fN+dbRe)6>&a+gscFyIAF0WqjX#@>f_PnrkNdbJ1EJu^))5<;^r) z@Vjpb_HOR#+y{FK?ua)F>cHq07l}54+9LNtk9bbL%mp$RVGr5h-{5zOyOh5>-8x`o;B%bLM$9&K*s*_OtZ#`-81xmKc<@ygnh++$`DCZ;AD z&tCL>b+dJ|Wo%`5RDZe`GM|LzzpgxTIXKcE8t)tLYpj{rQ(|IZqREL~A&p3_yjn^% zc-45s_L3*^T0zeceLH&w?*;k>>b~@*{wC4WAo=(rbqj+7UMBh-~&@s_XzA5Jf{lcQ!;^f%m7&F-#r!g6yYt%QJY)!TvPCaaV z_-kcqncVJ3Hj@3u_Kj_aa_5#Qe{QOB=pK>(C0&)KpsjjPJ~H&wsby7^77iUL_YUqOyeDnMbs}6MTw;@8-ijaY=?%oX;5w6w zFf%aI^b0vdOz}l95qO+0lpoQyo(sk2xQ6wsp02k*%YcB=;Bc)SIhJ z;EukIzMzbgKP=RdrUI#A9Vz+**$|mM{cTM}pBKCzoU!;;(Z^*E;hWV+;NyU&^;l6= zY*B{pU1D#c@60OAFY?nvxft{dFL*DQeqlFHH_ue}RQEd9I@clRA?HQMMXsZc8ul9I zp58UvH9IUbEHg7bGyP8Loz!k?w}q$SRiaIz&423`vZt36&uE@4rkQATq|B)E{o!uG z9h~>z1Hs;bK5m}iyTv!F$aiL>d^Pq7_MbOJ<#1(n=~or!DFCq9f&AcwSH^d|hzHLIXtYo&9`7Av_b_5zb%qr`SVUi_>|hO~z*= z7*PjuQ1DpbnDOENKj}!ht8!;W7gI+$Ky4gt9KG$m?W1j@ZS%78vMVzyGoPeCG5tdJ zbi7^KCfk~sXf!8hV`r7PT01r}Ix@O1vQG}K`NnsqRJfF>^)k=)k#eLS5$q4VA9w_y zBjv76{e)+-MlkDEs-Tqlw((BUpBg2?VvKTiOUP7`XWmKv*)I8LZxzqUSNm?|E>%oc zOh&{(>!7tEwIRh!B$|`HnvrBrXJ+zmnw^vk-g#PVb8U0I?0(rj@PC=xJx}u|Al@k-t+atW-Ow>+4Q_NYHqLG)He23Z+L zG<_URbVbxsa6(r>-=d*dA6g&!yZEZ$E8|_lJR3b)?&;jk(PKR$crKi`=;3k(LvzA> z;g8~;&^=0<{yfx9`C`Y!aOoDghkPz3#3sbhSTGBGRFD%*f9lb~e6|Le1{rjh%;hnQ zaL9hh{(<8I$0Fw<=V;exS7&!;cWqB?Pf}28o#>nByV-xUxfjlsCIoE=vmrOjKOfy8 zXRJ|zSsgSC%>}x5W^d8|@LYIbZWqjlaPFNX(7vN_XfJjLckATVJor}Nt$*f7HkBuIpxj2@0EU&*fuiOjrFLnoZ zn|sIv`9SUU?e&!s?Y!;0<2>VxZt<||uq*0}8r@=jM}6bB*r(7dtEfMbKNI*hBbc@s6Oi z2A&7nUcP5&w;mSMdau^})C}PZ`*aI=-e?@qEj}K7+;}t58!PHhHA^-#`E0*gzgY)T z2T~i-8;sxL1o=QeYJ1f75Bopt)J-cmD>yB2)OFOg&b`k4Tw%s%X?bPs7tbjV44vE_ zfj)#aWG#=1zf1ehH;ei6awW@|cY*U2I#O!zydU`RR}q}UxYJYXrIy9~lvhj$P6+-M z_|51R-|@dwtZ^8le75zT^`4XNld3`o+<0_$aCR_$i<9h=>`RpK`F{5O;+$wMwpCMA zQ?0Gm)}Z7dlLxjhz7NSnoZr=j(S^}pBELl1iH-8gswGy2RvPX5p@Kt3*HcfvWCa%s z%zPpHIDL@Wg6FY8PrBbO6*3Hm8j1bYa&MeZR7loQQ4`%&Mc##e(`;LAiacQcdmIl(!>xx}&LzxnXv z&2*#kz^D<8v_@L5CSOgWHOJ?$kr*Bu9@`S#V(x{5B7-7dg}*XB4m*`8$+@*iC)ZM$ z^|H@3H4^UTXtH=7?C;zSna!p4$hU2Q(4#BprhK+TqI0;jrsU3qpNTvZsT{3btZ}$A zerLQ?qLkbpze~KAd@niMnr#hC4NRfczaevj@n&M4?H6(B9x}=`%7s3#rt-jI;$!c} z-f_Nhz9#-Anlk&rcx6=yR?)3tU9h42FPSeaU7~b}!D5SG&qlvXt^IL7Vx zzhtXG`(9S8&ReZ1#U^^t`mzYIb)iGj*R_^WPlpf%8Hmui=)ldhA#Jac&_F22uxZ)Vij$^&e^W)Vg@M;6x> zJ^J~N;EdBtz8dIkcZorTSuSXHxEC%Eb{P+FPe*gYy^lTQQr+T^l0(cHi`oeVU2637 z-)o8;c{}p%5eI??jBasFU=32BKj{{$d#igN@I2s|?4Imi<67f7psd~tjtdUIsG?ki zo0YfGNx2&XmA^p_2YDRKB9PBfTC`GL$J6nrmivo$=LB+r`utPvxC5wZ(-c78>s|w7o3_wO+ne>>ubB zc^=F}qyL>HZWKrIj+j{l_9OPCeSv+&y2V4jLq@mQ$=k`ysDI%8z87(UG9o%6T0K@hc2c|+S1ZHL{%-x<>X+=7oS&GV_&ol39FNvJ zWtm;gx98hS zJ4(~yavX6Uajti*H@V#pc^>lARJIOU=XZSX_`3VM`>FN5BhbEcZ)ht|rH=%A`e?CJ z@I2TxrF^F=OpJOsU7_q|22M{=pXBE{4beR zepuNzMH(PHuJ8;vU2xjm^LQTgJH8O~Likp3=4IYOJZ$C2mnp!(+;go8y|} zTIXEn+~?Tmpth*1t^F$7Rkr%s`q{Rbwwb<~QGZrBbW5$J)@RD4`y=s3;#$!q-X*?3 zv-{sDzph9F^ox@1sLisc_Yk3ikU2B4&JKabf%-19(9}()3F=z(tawMrQ6D4zBY3|y z7Ur{k68HKyIb9@n^QNZu1Q~$c4Qox^WtFk zVD>}Xhqk5mrS@r#X^uh8LCy~H`>Z3c1dZ+(udLU-uX`W%J?yLKuc(vg0h5bRCRir8 zOw`e=|1xn!VQ%+lB|a;`o{b)EfZ&df7tmC}GeP%2Z}&%eV7??;2<#ogxNq=Y;K_uy-vEIQh-b1_ zsC83tzgQ>Ah02+GVK5vFzbNWP>dNW=%gEU1*eH7YKg0*|56p}@8lc8jW2)C7OJ(*#muCz~(Q*mYR%HT@TD6f&p zo~l%$k~uTsw?y5Y^X;?Z74eQ(E?yMOv{7^99pT%?IXNI+mdEVh1m7&`$lb)d^4d)L zk|tXRU+op16&`w+XinHe8ao?1J2*Nx`YBs(jBSjWQD2@}p7~flVEE2Rva4OQjD=?N z;l#s<7ve9(_r~^O4QV_BmPMBFiHEy#6VG0oetr<2+dsFjaI7%-Y<*mPj8~T5{+jc+|c4GX`3PsKk)6LCVmOn5kC$5Gj@)v`a>q{lPLqp}&ZboR4!m&i<;S* z*;_KVWFAOAVD9NJST9(clbe&L5~s8Zmz$i5DVovP7u_cppsUS%A^r3_#SZ0$v=!)c z$B80zTpcp3b*WjGRbKxC99o>C_3XoGx! z@KR`?ocYsYnsnCHg4I;z*ciM?zOL_z3MDFNQfH)g^v_CoOM1=R8s8>rifDSD6x>D7 zoKWXt|9DDJv)`myA7*~g05uYe1B(MOe@sbN?fmnVd3D%(n6jgp4H=+3lS|K7=ai$) z4`-};*?L*@<2}``Xi~ zV@(&l8_W-G6V!Pph>>En;J(g`I{QaO`CfAm`BYpVy58g>TpPaD+|zHb&@J+QP<#JCln<5Hl>3yBBkVBu!oNlSCRc*ZkzUbW(bBQf zI!)}2&56&6KahB!SOaw2I$o>+8kZSo`i1Rm?QHe!_3dTkafFuqD`jWC>w4EU$vw&4 z#nZ)8#aqRDRxI@`H8asPM!&;t1v;IsX^>vvZf!5Qm5 z$9)bw1E$-i+uqK;ouwA^ZTj1^EP$jwyC!v;b(^WZFG(y({6}7L%r8A8A4={847K); z^p6~o*D>>KheL-${RHz<=tAk?^4(&u;9cMzNUsWC2QGnE6LbK&N_l;;8Y8qN9 z@LF6XYHC)8XWlQ`FM5UYB++ { - const outputPathArg = process.argv[2]; - const content = `${JSON.stringify(createDemoJson(), null, 2)}\n`; - if (!outputPathArg) { - process.stdout.write(content); - return; - } - const outputPath = resolve(outputPathArg); - await writeFile(outputPath, content, 'utf8'); - process.stdout.write(`${outputPath}\n`); -} - -void main(); From b45cbd2a21012d83d1ae7cbc430d6c2cf4c2c950 Mon Sep 17 00:00:00 2001 From: Seiya KONNO Date: Sun, 11 Oct 2026 20:44:29 +0900 Subject: [PATCH 2/4] chore: drop mise in favour of Vite+ Vite+ already manages the toolchain: vp env reads .node-version (as setup-vp does in CI), and package.json pins pnpm through packageManager. mise.toml duplicated the Node setting and asked for pnpm@latest, which contradicted that pin. --- mise.toml | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 mise.toml diff --git a/mise.toml b/mise.toml deleted file mode 100644 index 6db33381..00000000 --- a/mise.toml +++ /dev/null @@ -1,5 +0,0 @@ -[settings] -idiomatic_version_file_enable_tools = ["node"] - -[tools] -"npm:pnpm" = "latest" From 54e53ef39f2d5ee3c2b78d13d96e57f013e0206a Mon Sep 17 00:00:00 2001 From: Seiya KONNO Date: Sun, 11 Oct 2026 20:44:29 +0900 Subject: [PATCH 3/4] chore: simplify the tsconfig layering Each package's tsconfig.build.json now extends tsconfig.options.json directly and sets declaration and isolatedDeclarations itself, so tsconfig.build.options.json goes away. The shared options no longer turn on composite and declaration only for the typecheck config to turn them back off. Nothing builds through tsc's project references, so the clean scripts stop deleting tsconfig.tsbuildinfo. vp pack's output is byte-identical before and after. --- packages/audio-renderer/package.json | 2 +- packages/audio-renderer/tsconfig.build.json | 4 +++- packages/beatoraja-skin/package.json | 2 +- packages/beatoraja-skin/tsconfig.build.json | 4 +++- packages/chart/package.json | 2 +- packages/chart/tsconfig.build.json | 4 +++- packages/editor/package.json | 2 +- packages/editor/tsconfig.build.json | 4 +++- packages/json/package.json | 2 +- packages/json/tsconfig.build.json | 4 +++- packages/lr2-skin/package.json | 2 +- packages/lr2-skin/tsconfig.build.json | 4 +++- packages/parser/package.json | 2 +- packages/parser/tsconfig.build.json | 4 +++- packages/player-tui/package.json | 2 +- packages/player-tui/tsconfig.build.json | 4 +++- packages/player-web-demo/package.json | 2 +- packages/player-web/package.json | 2 +- packages/player-web/tsconfig.build.json | 4 +++- packages/player/package.json | 2 +- packages/player/tsconfig.build.json | 4 +++- packages/skin-sdk/package.json | 2 +- packages/skin-sdk/tsconfig.build.json | 4 +++- packages/stringifier/package.json | 2 +- packages/stringifier/tsconfig.build.json | 4 +++- packages/utils/package.json | 2 +- packages/utils/tsconfig.build.json | 4 +++- tsconfig.build.options.json | 6 ------ tsconfig.options.json | 3 --- tsconfig.typecheck.json | 3 --- 30 files changed, 53 insertions(+), 39 deletions(-) delete mode 100644 tsconfig.build.options.json diff --git a/packages/audio-renderer/package.json b/packages/audio-renderer/package.json index 7ae22124..de9acebc 100644 --- a/packages/audio-renderer/package.json +++ b/packages/audio-renderer/package.json @@ -28,7 +28,7 @@ "build:bundle": "vp pack", "build": "vp pack", "build:sea": "node --conditions=source ../../scripts/build-sea.ts --package audio-renderer", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/audio-renderer/tsconfig.build.json b/packages/audio-renderer/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/audio-renderer/tsconfig.build.json +++ b/packages/audio-renderer/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/beatoraja-skin/package.json b/packages/beatoraja-skin/package.json index 22569f5a..9292d108 100644 --- a/packages/beatoraja-skin/package.json +++ b/packages/beatoraja-skin/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/beatoraja-skin/tsconfig.build.json b/packages/beatoraja-skin/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/beatoraja-skin/tsconfig.build.json +++ b/packages/beatoraja-skin/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/chart/package.json b/packages/chart/package.json index d9a294fa..726a17b3 100644 --- a/packages/chart/package.json +++ b/packages/chart/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/chart/tsconfig.build.json b/packages/chart/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/chart/tsconfig.build.json +++ b/packages/chart/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/editor/package.json b/packages/editor/package.json index 81950aa9..6cc9aee2 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -22,7 +22,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/editor/tsconfig.build.json b/packages/editor/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/editor/tsconfig.build.json +++ b/packages/editor/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/json/package.json b/packages/json/package.json index 9aaeb983..e9426b10 100644 --- a/packages/json/package.json +++ b/packages/json/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/json/tsconfig.build.json b/packages/json/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/json/tsconfig.build.json +++ b/packages/json/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/lr2-skin/package.json b/packages/lr2-skin/package.json index 5dd5e8b3..70b8f554 100644 --- a/packages/lr2-skin/package.json +++ b/packages/lr2-skin/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/lr2-skin/tsconfig.build.json b/packages/lr2-skin/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/lr2-skin/tsconfig.build.json +++ b/packages/lr2-skin/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/parser/package.json b/packages/parser/package.json index f54c7da1..74e45b43 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -22,7 +22,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/parser/tsconfig.build.json b/packages/parser/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/parser/tsconfig.build.json +++ b/packages/parser/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/player-tui/package.json b/packages/player-tui/package.json index 117b3c11..55149d11 100644 --- a/packages/player-tui/package.json +++ b/packages/player-tui/package.json @@ -24,7 +24,7 @@ "build:bundle": "vp pack", "build": "vp pack", "build:sea": "node --conditions=source ../../scripts/build-sea.ts --package player", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "playlog": "node --conditions=source src/playlog-cli.ts", "diag:keyboard": "node --conditions=source src/keyboard-diagnostic.ts", diff --git a/packages/player-tui/tsconfig.build.json b/packages/player-tui/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/player-tui/tsconfig.build.json +++ b/packages/player-tui/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/player-web-demo/package.json b/packages/player-web-demo/package.json index 9d470db9..3a3e968a 100644 --- a/packages/player-web-demo/package.json +++ b/packages/player-web-demo/package.json @@ -10,7 +10,7 @@ "deploy:cf": "pnpm run build:cf && node scripts/sync-ffmpeg-core.mjs && wrangler deploy", "cf:r2:create": "wrangler r2 bucket create be-music-ffmpeg-core", "cf:r2:push": "pnpm run build:cf && node scripts/sync-ffmpeg-core.mjs --force", - "clean": "rimraf dist tsconfig.tsbuildinfo node_modules/.vite" + "clean": "rimraf dist node_modules/.vite" }, "dependencies": { "@be-music/beatoraja-skin": "workspace:*", diff --git a/packages/player-web/package.json b/packages/player-web/package.json index 9b2497c3..a77eafaa 100644 --- a/packages/player-web/package.json +++ b/packages/player-web/package.json @@ -43,7 +43,7 @@ }, "scripts": { "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/player-web/tsconfig.build.json b/packages/player-web/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/player-web/tsconfig.build.json +++ b/packages/player-web/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/player/package.json b/packages/player/package.json index edee6fa6..d7e14918 100644 --- a/packages/player/package.json +++ b/packages/player/package.json @@ -114,7 +114,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/player/tsconfig.build.json b/packages/player/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/player/tsconfig.build.json +++ b/packages/player/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/skin-sdk/package.json b/packages/skin-sdk/package.json index 83da05c5..ca0215a8 100644 --- a/packages/skin-sdk/package.json +++ b/packages/skin-sdk/package.json @@ -19,7 +19,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/skin-sdk/tsconfig.build.json b/packages/skin-sdk/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/skin-sdk/tsconfig.build.json +++ b/packages/skin-sdk/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/stringifier/package.json b/packages/stringifier/package.json index ee9aecaf..822f205e 100644 --- a/packages/stringifier/package.json +++ b/packages/stringifier/package.json @@ -22,7 +22,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "dev": "node --conditions=source src/cli.ts", "bench": "node --conditions=source scripts/bench.ts" }, diff --git a/packages/stringifier/tsconfig.build.json b/packages/stringifier/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/stringifier/tsconfig.build.json +++ b/packages/stringifier/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/packages/utils/package.json b/packages/utils/package.json index 3689a45c..e51c23b5 100644 --- a/packages/utils/package.json +++ b/packages/utils/package.json @@ -54,7 +54,7 @@ "scripts": { "build:bundle": "vp pack", "build": "vp pack", - "clean": "rimraf dist tsconfig.tsbuildinfo", + "clean": "rimraf dist", "bench": "node --conditions=source scripts/bench.ts" }, "dependencies": { diff --git a/packages/utils/tsconfig.build.json b/packages/utils/tsconfig.build.json index 30b0433b..5d3517a7 100644 --- a/packages/utils/tsconfig.build.json +++ b/packages/utils/tsconfig.build.json @@ -1,6 +1,8 @@ { - "extends": "../../tsconfig.build.options.json", + "extends": "../../tsconfig.options.json", "compilerOptions": { + "declaration": true, + "isolatedDeclarations": true, "allowImportingTsExtensions": true, "rootDir": "src", "outDir": "dist", diff --git a/tsconfig.build.options.json b/tsconfig.build.options.json deleted file mode 100644 index ea21101f..00000000 --- a/tsconfig.build.options.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": "./tsconfig.options.json", - "compilerOptions": { - "isolatedDeclarations": true - } -} diff --git a/tsconfig.options.json b/tsconfig.options.json index 27a3cd10..b6a12656 100644 --- a/tsconfig.options.json +++ b/tsconfig.options.json @@ -4,10 +4,7 @@ "module": "ESNext", "moduleResolution": "Bundler", "strict": true, - "declaration": true, - "declarationMap": false, "sourceMap": false, - "composite": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, diff --git a/tsconfig.typecheck.json b/tsconfig.typecheck.json index 153bacc3..2159c083 100644 --- a/tsconfig.typecheck.json +++ b/tsconfig.typecheck.json @@ -3,9 +3,6 @@ "compilerOptions": { "allowImportingTsExtensions": true, "noEmit": true, - "composite": false, - "declaration": false, - "declarationMap": false, "paths": { "@be-music/audio-renderer/triggers": ["./packages/audio-renderer/src/core/triggers.ts"], "@be-music/player/playable-notes": ["./packages/player/src/playable-notes.ts"], From aec878c30f70d3f6350b08d643274ab3b61b5bfc Mon Sep 17 00:00:00 2001 From: Seiya KONNO Date: Sun, 11 Oct 2026 20:44:29 +0900 Subject: [PATCH 4/4] chore(player-web): add the LICENSE file Every other published package ships the MIT LICENSE; @be-music/player-web was missing it. --- packages/player-web/LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 packages/player-web/LICENSE diff --git a/packages/player-web/LICENSE b/packages/player-web/LICENSE new file mode 100644 index 00000000..5a266f50 --- /dev/null +++ b/packages/player-web/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 nulltask + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.