363 Commits

Author SHA1 Message Date
4bc77ed0c8 release 0.4.0-alpha.1 2026-05-01 17:01:07 +08:00
166e80a6dc Add support to unpack CloverGAME's 飛べない蝶のバレンタイン 2026-05-01 16:51:34 +08:00
50e76bbb6b add support to handle tostulover choice (#8)
from 7bd3db8e21
2026-05-01 16:34:57 +08:00
aafe7411e2 fix bug when loading POINT.DAT (fix #8 ) 2026-05-01 15:34:55 +08:00
b7e9ef633a Add support 棺中 甜糖热恋 2026-04-30 23:00:05 +08:00
21d026731b Impl better to_data for some archive entry 2026-04-13 16:36:39 +08:00
4f7d696dbe impl Send + Sync mark for archive extract API (#12) 2026-04-13 15:35:01 +08:00
034f4f7a52 Add Send + Sync mark to Box<dyn Script> (#12) 2026-04-13 14:49:55 +08:00
dd2921f2dd Impl A thread safe DOM for xml5ever (#12) 2026-04-13 12:05:32 +08:00
e16412350f Add is_audio to ScriptBuilder (#12) 2026-04-13 08:31:18 +08:00
8f59064239 Fix detect function panic 2026-04-12 16:50:29 +08:00
acbd18a3f6 Fix lifetime 2026-04-12 16:25:59 +08:00
3457dcb5df Add serde serialize support for script type 2026-04-12 11:44:40 +08:00
73059190d2 Fix overflow problem 2026-04-12 10:54:34 +08:00
d21e8c04d2 correct is_this_format document 2026-04-12 07:32:02 +08:00
52145d7c04 Fix some overflow problem 2026-04-12 00:29:11 +08:00
6265c8f46b Add SmxCrypt 2026-04-11 22:10:52 +08:00
9b983728ef Add MadoCrypt 2026-04-11 16:15:21 +08:00
2873780797 Allow to speicfy custom file list path 2026-04-11 14:57:55 +08:00
9bd284b149 哈希娱乐 2026-04-11 14:28:04 +08:00
072fbad6f9 Add RhapsodyCrypt 2026-04-11 14:02:35 +08:00
4f3110cef8 Add PuCaCrypt
Fix CaseInsensitive cause BTreeMap not works correctly
2026-04-11 10:37:12 +08:00
dc29823b16 Update deps: aes, cbc 2026-04-11 09:15:22 +08:00
8a3423ca4e Update deps 2026-04-10 22:47:40 +08:00
ec39c256b5 Add KissCrypt 2026-04-10 22:27:59 +08:00
dc4cac84f4 Add HighRunningCrypt (untested) 2026-04-10 18:41:00 +08:00
20b3c14807 Add support to old pimg file which don't have diff_id (example game: サノバウィッチ evimage) 2026-04-10 16:55:53 +08:00
ca24c31ede Add YuzuCrypt 2026-04-10 15:29:05 +08:00
122cd17ef5 Add SmileCrypt (tested game: https://vndb.org/v17515 ) 2026-04-10 14:39:04 +08:00
b02e033873 Add ExaCrypt (untested) 2026-04-10 14:04:42 +08:00
bf11009b1f Add StripeCrypt (untested) 2026-04-10 13:52:00 +08:00
5b817b1899 Add HaikuoCrypt (untested) 2026-04-10 13:30:11 +08:00
1db58c6c53 Add AkabeiCrypt (tested game: https://vndb.org/v23242 ) 2026-04-10 12:52:03 +08:00
2179094303 Add HibikiCrypt (untested) 2026-04-10 10:26:09 +08:00
0eb9de6bd8 Add SourireCrypt
Use case-insensitive method to compare game title
2026-04-10 10:11:50 +08:00
d11af6fc1b Add TokidokiCrypt (untested) 2026-04-09 14:41:46 +08:00
69f28e13c1 Add AppliqueCrypt (untested) 2026-04-09 14:20:40 +08:00
d1b1b162df Add PoringSoftCrypt (tested game: https://vndb.org/v532 )
Add force decrypt option
2026-04-09 13:47:20 +08:00
c81689961c Add NatsupochiCrypt (untested) 2026-04-09 12:56:18 +08:00
d4c5c76dc7 Add AlteredPinkCrypt (untested) 2026-04-09 12:39:28 +08:00
7ef5d030ac Add NephriteCrypt (tested game: https://vndb.org/v15822 ) 2026-04-09 11:47:13 +08:00
720cdee1de Add DameganeCrypt (untested) 2026-04-09 11:22:38 +08:00
c97c085225 Add DieselmineCrypt (untested) 2026-04-09 11:08:59 +08:00
f50d8e2fd1 Update deps 2026-04-09 10:35:28 +08:00
4cde396b99 Add OkibaCrypt 2026-04-09 09:52:20 +08:00
688464bff0 Add SeitenCrypt 2026-04-09 09:17:19 +08:00
cbcac9d166 Add RiddleCxCrypt 2026-04-08 22:19:36 +08:00
31d0c5c9d0 Add NanaCxCrypt 2026-04-08 18:26:57 +08:00
b5aa53690c Add CabbageCxCrypt 2026-04-08 16:19:05 +08:00
a8ed40db2c Add SenrenCxCrypt 2026-04-08 15:32:11 +08:00
36ee257776 Update game list
Add size check at compile time
2026-04-08 13:06:59 +08:00
e09f5a4430 Update game list 2026-04-08 11:05:19 +08:00
50e43956a6 [skip ci] update gitattributes 2026-04-08 09:44:35 +08:00
0fbe9cedbc Use msg_tool_xp3data package to store xp3 data 2026-04-08 09:40:29 +08:00
6f6d76e5a9 Fix bug 2026-04-07 23:00:07 +08:00
6645ab6138 Add StartupTjsNotEncrypted support 2026-04-07 22:58:02 +08:00
c595331dd0 Add force extract flag 2026-04-07 22:16:31 +08:00
0907088ad1 Update game list 2026-04-07 20:47:16 +08:00
3989a91049 update game list 2026-04-07 17:11:20 +08:00
2a93993cbb Update game list 2026-04-07 16:28:52 +08:00
bf14ff980b Bump deps 2026-04-07 15:09:11 +08:00
1e1d6b342d Update game list 2026-04-07 14:35:09 +08:00
a6dda9397b Add a option to dump debug info for xp3 archive
handle time prop in xp3 file entry
Remove already processed hash file name
2026-04-07 13:33:43 +08:00
73f635cdac [skip CI] fix typo 2026-04-07 12:08:07 +08:00
47921bfd77 [skip ci]mark file as binary 2026-04-07 12:05:59 +08:00
7b0de4468b Add support to read embbed control block (tested game: https://vndb.org/v19829 ) 2026-04-07 12:01:27 +08:00
80150784ab Add CxEncryption support (WIP) (tested game: https://vndb.org/v5502 ) 2026-04-06 22:53:48 +08:00
ad25c995ce Add FlyingShineCrypt (untested) 2026-04-06 16:41:54 +08:00
025b802fc9 Add XorCrypt (tested game: https://vndb.org/v23388 ) 2026-04-06 15:57:14 +08:00
01216d49b1 Add HashCrypt support (tested game: https://vndb.org/v16201 ) 2026-04-06 15:01:15 +08:00
d9e640d437 Add MizukakeCrypt support (untested) 2026-04-06 12:48:41 +08:00
323a312362 Add support to unpack Fate/stay night xp3 files 2026-04-06 10:43:13 +08:00
a85c67e806 Remove xp3 deps 2026-04-05 23:36:26 +08:00
fdf6f7561f Fix CI 2026-04-05 15:46:18 +08:00
7b340492e2 Fix ci 2026-04-05 15:44:43 +08:00
692f9faca1 Handle zig can not compile libjxl 2026-04-05 15:42:09 +08:00
96f0471d66 Fix missing cmake 2026-04-05 15:27:22 +08:00
221f19f00b Fix ci 2026-04-05 15:19:27 +08:00
0aa5ee543a Fix ci 2026-04-05 15:16:05 +08:00
d5f8193418 remove rustup because image don't have rustup 2026-04-05 14:55:14 +08:00
2c510d5285 Update macos release ci 2026-04-05 14:51:14 +08:00
30d2ec7ba4 0.3.1 release 2026-04-05 14:37:22 +08:00
73b19dcd41 github pages build now use latest nightly version rust compiler 2026-04-05 14:21:05 +08:00
fee14e1867 Bump deps: html5ever 0.36.1 -> 0.38.0 2026-04-05 14:08:10 +08:00
4706482e37 Bump deps: rand 0.9.2 -> 0.10.0 2026-04-05 13:44:54 +08:00
a752629886 Bump deps version: sha1/sha2 0.10 -> 0.11 2026-04-05 13:26:54 +08:00
30ba09a3a6 Add support another struct artemis asb script ( fix #11 2026-04-05 11:39:43 +08:00
cf8bae238d Add support to unpack qlie pack ver 1.0/2.0 2026-04-05 10:14:04 +08:00
0a2918ad56 fix bug. 2026-04-04 17:12:58 +08:00
90db67de1b fix bug in qlie 3.0 unpack 2026-04-04 16:49:07 +08:00
ea3c764360 Add support to unpack qlie pack v3.0 file 2026-04-04 16:35:05 +08:00
d4101ae493 Fix feature deps 2026-03-26 09:23:07 +08:00
c97f59f43b 支持 Psb Version 4 写入 2026-03-26 09:18:54 +08:00
841dc7e79d Reduce memory usage 2026-03-26 08:32:16 +08:00
f103b313a1 Add support to modify bc7 compression settings 2026-03-25 12:54:26 +08:00
2b6df23b9e Add support for BC7 encryption 2026-03-25 12:44:38 +08:00
fd5b78e788 修复了部分加密的PSB无法读取的问题 2026-03-25 11:09:10 +08:00
da3e102baa Allow to specify bom type for patched kirikiri ks script 2026-03-14 10:19:16 +08:00
cf82b19f25 Add support to extract message between Talk and Hitret
releated game:
https://vndb.org/v20490
https://vndb.org/v25143
2026-03-13 16:02:57 +08:00
59a82a5363 Add support use original text when import text 2026-03-03 13:51:57 +08:00
1e50132e34 Remove print 2026-02-12 14:42:36 +08:00
1502dee4e9 Add import psd support for Qlie tiled PNG image (.png) 2026-02-04 17:49:36 +08:00
33a513ef15 Add support to export layer id 2026-02-04 11:32:11 +08:00
b094defc65 Fix group layers may not contains left, top, width, height 2026-02-03 21:30:42 +08:00
73fb288692 release 0.3.0 2026-02-03 16:34:17 +08:00
f58a9f646c Add support for layer groups in PSD files 2026-02-03 15:43:49 +08:00
8b2eef1028 Add support to export pimg file as PSD file 2026-02-03 11:22:20 +08:00
151c71d5e9 Add RLE compress support for PSD files 2026-02-03 10:12:08 +08:00
7046510d19 Add support to compress psd files 2026-02-03 00:20:47 +08:00
014654fb38 Force convert to rgba before add layer to psd file 2026-02-02 22:50:19 +08:00
dbf1357dbc Add support to export qlie dpng image to psd 2026-02-02 22:31:36 +08:00
3a4ca5d59a Format code 2026-02-02 11:13:16 +08:00
8d633e2aed Fix qlie script may not recognized
Fix ambp10 parser
2026-02-02 11:01:41 +08:00
88b2b67a6a Fixed length formatter now support don't break russian/greek words 2026-02-01 20:49:16 +08:00
7c178092d3 Fix bug 2026-02-01 20:22:27 +08:00
36f55fcfab Allow to break long message. (Fix #6)
Fix patch address and offsets
2026-02-01 20:09:18 +08:00
24bc35d1db Add support for text block without language tag in old version ast files 2026-01-31 21:36:48 +08:00
57fa1aa6f6 Fix name may occur in text block in old version ast file 2026-01-31 20:57:37 +08:00
2fe915a0c0 Add import support for Qlie Abmp10/11/12 image (.b) 2026-01-31 20:07:04 +08:00
7f8d1daf9d Add import support for Qlie tiled PNG image (.png) 2026-01-31 16:36:49 +08:00
3c424a28c0 Add compress supprot for qlie pack archive 2026-01-31 14:14:59 +08:00
487d403d60 Add pack support for Qlie Pack Archive (.pack) v3.1 2026-01-31 00:05:11 +08:00
fc6910df0a Allow to export abmp10 image recursive 2026-01-30 16:28:56 +08:00
78ff32112a Support more tags 2026-01-30 15:25:14 +08:00
fd9533ae7e Add basic support for Qlie Abmp10/11/12 image (.b) 2026-01-30 13:50:04 +08:00
59c40b451e Fix dpng may contains zero size image
Use better message for scn
2026-01-30 00:16:16 +08:00
736fe4d6a8 Add export support for Qlie tiled PNG image (.png) 2026-01-29 23:35:38 +08:00
430ffb26f6 Add detect script type support for qlie 2026-01-29 21:50:12 +08:00
770a32bdde Add Qlie Pack Archive (.pack) v3.1 unpack support 2026-01-29 18:16:10 +08:00
f6246576d0 Add support for Qlie Engine Scenario script (.s) 2026-01-28 10:58:32 +08:00
b8e004bff6 Allow fixed formatter to keep space at line start 2026-01-24 12:07:57 +08:00
c6b5bcef60 release 0.2.18 2026-01-23 13:37:01 +08:00
9321d931d6 Changed some scripts dumped JSON to pretty print JSON
Formated code
Add protect when read vector of data
2026-01-23 13:28:24 +08:00
fed9a155a0 Merge pull request #5 from imKota/master
add names to favorite scrips
2026-01-23 13:06:39 +08:00
Kota
aa73e04ad3 add names to favorite scrips 2026-01-22 19:46:53 +03:00
9e423b1227 Add support for Entis GLS engine CSX Script (.csx) 2026-01-22 16:47:59 +08:00
769f2d3317 Add support to export game title 2026-01-22 15:44:07 +08:00
ce5aef4121 Add support to import all texts 2026-01-22 15:23:16 +08:00
8caa2a82b6 Add export support for csx v2 script 2026-01-21 16:36:33 +08:00
ec39882034 WIP: Impl all op code that not impl in CSXToolPlus 2026-01-21 14:06:11 +08:00
e8bb180b14 WIP: impl Entis GLS CSX v2 disasm 2026-01-20 21:44:15 +08:00
edfb17205e WIP: update csx deser 2026-01-20 17:36:27 +08:00
bb6c56e560 WIP: update 2026-01-20 13:34:19 +08:00
ff886e66d3 WIP: Entis GLS CSX v2 2026-01-20 11:40:09 +08:00
8c9f2d7d52 Use box instead 2026-01-20 09:14:25 +08:00
d780da9215 Add import message support 2026-01-19 15:54:55 +08:00
4670f4e2e7 Add import multi support 2026-01-19 15:10:34 +08:00
c075d4593f Allow to import strings in custom mode 2026-01-18 16:13:48 +08:00
763ace6149 Fix extract message name not works on yosuga
Fix typo
2026-01-18 10:51:09 +08:00
812ae2d31a Fix disasm wrong offset calculate 2026-01-17 22:27:49 +08:00
5822fbee71 . 2026-01-17 21:28:05 +08:00
3fa2cbec7a Add export support for entis gls csx script (v1) 2026-01-17 21:22:38 +08:00
ed4179473f add entis gls csx v1 disasm (ported from Crsky/EntisGLS_Tools) 2026-01-17 17:30:41 +08:00
3444c3ac65 fix circus crx image original row type may not works 2026-01-17 10:29:21 +08:00
b8387843b1 release 0.2.17
bump deps
2026-01-17 09:17:23 +08:00
5fcf46005a Add support to enable multi lang support for artemis pannomimisoft txt script 2026-01-13 18:18:46 +08:00
11a32f1578 Add support to read indexed and grayscale-alpha png 2026-01-12 21:03:42 +08:00
04fac1cff7 修复边界情况 2026-01-12 14:24:10 +08:00
0bba63d303 Use better way to detect bp script end instruction
fix bgi dsc overflow in debug build
2026-01-12 14:02:05 +08:00
0a92233e6c Fix some bp script can not be extracted 2026-01-12 13:17:25 +08:00
d2bcc4d4bb Add zopfli support for xp3 pack 2026-01-06 12:24:37 +08:00
c1492724db Add single language support for panmimisoft 2025-12-31 15:48:10 +08:00
eac7501969 Fix m3t parser 2025-12-30 11:40:09 +08:00
f58ffd290b Add a new comand convert to convert between outputt script types 2025-12-30 11:18:26 +08:00
7670570a88 Update po/pot dumper to add name to msgctxt 2025-12-30 10:22:25 +08:00
d8ef082645 Add new game support for escude 2025-12-26 17:29:05 +08:00
ce2d901523 Merge branch 'master' of https://github.com/lifegpc/msg-tool 2025-12-25 23:30:26 +08:00
1619ebfa20 Add more decl for escude list 2025-12-25 23:30:14 +08:00
71b05c9aab fix cfg feature bug 2025-12-25 18:29:11 +08:00
71ee4fcc84 release 0.2.16 2025-12-25 18:25:46 +08:00
155bf0b57a Fix psb output float number with unneccery data 2025-12-25 17:10:27 +08:00
20ec866f2a Add warning 2025-12-25 16:23:34 +08:00
110e15e7b2 Now psb as_i64 support float. Fix some re encoding image not works 2025-12-25 16:17:37 +08:00
5af17cee87 Add support for decode lz4 encoded psb 2025-12-25 15:40:17 +08:00
3b33dceb61 release 0.2.15 & Update deps 2025-12-13 10:09:33 +08:00
67ea0ff8e6 Allow to load files without case sensitive 2025-12-12 23:01:09 +08:00
552160ec86 Allow to load file with ignore case 2025-12-12 10:50:21 +08:00
1203b25b63 0.2.14 release 2025-12-11 15:39:57 +08:00
3c49e9a991 Add support to import softpal pgd image as normal ge image 2025-12-11 15:39:14 +08:00
cf677dc786 Force write speechtext, textlen and uitext for scn script 2025-12-01 18:04:52 +08:00
64dadfb03d Add multiple chat key support for scn script 2025-11-23 20:46:04 +08:00
5fd1a336c6 Add a new argument to BGI script 2025-11-15 21:52:46 +08:00
37cade659b Add support to export/import all string for BGI script (with custom mode) 2025-11-15 14:32:01 +08:00
36810994c6 Handle some messages missing 2025-11-13 17:11:03 +08:00
089294bd4f release 0.2.13 2025-11-13 16:27:21 +08:00
0822ed1a91 Handle missing message in willplus ws2 script 2025-11-13 16:26:27 +08:00
52dafaebf5 Add new flag to xp3 pack 2025-11-10 17:06:20 +08:00
f9144184e0 Add missing global flag for arguments 2025-11-09 23:08:26 +08:00
a61d43441f Add arguments to dump to m3t files without add quote in translated lines 2025-11-09 23:02:54 +08:00
e49f0b1920 Escape space in dep file 2025-11-05 09:31:24 +08:00
d2fe23a3d3 Fix import image to archive not works 2025-11-04 20:32:38 +08:00
ffc85dde5c Add dep-file support for import command 2025-11-04 20:09:01 +08:00
245543baff release 0.2.12 2025-11-03 23:08:08 +08:00
a3d8065ab4 Add more verify when unpack paz archive 2025-11-03 23:02:47 +08:00
0e4b308433 Add support to speicfy exit code when error happened 2025-11-03 22:46:45 +08:00
5df59d6345 Update README 2025-11-03 22:31:21 +08:00
67db6e772f Add alias support for --music-game-title 2025-11-03 22:24:17 +08:00
30f0ffe4c5 Add more game title for paz archive 2025-11-03 22:12:10 +08:00
cd39270b22 Add more game titles for paz file 2025-11-03 12:50:06 +08:00
64a487da57 Add support to compress files to paz archive 2025-11-03 12:11:05 +08:00
9da81ddfaa Add support to decompress files in paz file 2025-11-03 11:20:49 +08:00
f363a8a24a Fix musica sc script handle 2025-11-03 08:38:47 +08:00
9f920e3573 Add mov pack support 2025-11-02 23:36:05 +08:00
50c460a518 Allow force overwrite xor_key by argument 2025-11-02 23:03:56 +08:00
2db38962af Add xor key to schema 2025-11-02 22:50:59 +08:00
a4b9dc1190 Add paz non movie files pack support 2025-11-02 22:23:26 +08:00
ec0a962365 Add script type detect for paz archive 2025-11-02 19:49:36 +08:00
22544bef9d Fix audio and movie unpack issue 2025-11-02 19:35:55 +08:00
04f9b1469a Add Support for muisca paz archive 2025-11-02 17:43:00 +08:00
fe31f5c595 Add Musica Script (.sc) support 2025-11-02 10:25:13 +08:00
f872302e5a Add dep-file support for pack-v2 2025-11-01 10:41:13 +08:00
90a9a7f9b1 Add pack-v2 command which support multiple input files/folders 2025-11-01 10:14:42 +08:00
31980fbafc release 0.2.11 2025-10-28 09:13:57 +08:00
338c69d440 PsbValue now use BTreeMap 2025-10-16 09:53:08 +08:00
49be9a8a58 Add support to insert a new language to kirikiri scn script 2025-10-16 09:45:11 +08:00
a017af81a9 Fix --xp3-no-compress-files not works 2025-10-15 00:25:11 +08:00
e791d967c6 Add psb rl compressed image support 2025-10-13 23:09:17 +08:00
c99fd6450a Add support to load tlg in dpak package ( fix #3 2025-10-13 17:23:53 +08:00
9569be0301 release 0.2.10 2025-10-12 19:53:41 +08:00
f99a15090f Fix bug when import catsystem2 cst scene file (fix #2 2025-10-12 19:48:02 +08:00
4c16c68921 Add multiple jobs support for import task 2025-10-12 17:15:34 +08:00
34a8de51e4 BREAK CHANGE: remove '-j' alias for '--jpeg-quality' 2025-10-12 16:59:14 +08:00
03a9e52dbc add multiple pack support for xp3 2025-10-12 16:51:14 +08:00
0e01dcc194 Add ZSTD compress support when pack xp3 archive 2025-10-11 22:48:18 +08:00
6a5550e4c3 Add script type detect for xp3 2025-10-11 11:31:56 +08:00
ad82ba13fc Use thread pool to compress block in xp3 file 2025-10-11 09:29:16 +08:00
309bccd485 Add support to pack xp3 files 2025-10-10 20:52:45 +08:00
021fe5b71a Add mdf decompress support when unpack xp3 archive 2025-10-10 16:23:46 +08:00
fdbfab18ab Add simple crypt support when unpack xp3 archive 2025-10-10 11:16:59 +08:00
f12a66d3d4 Add krkr xp3 archive support 2025-10-10 00:23:00 +08:00
f8a487071b fix typo 2025-10-09 21:57:31 +08:00
0c2a5c2756 fix missing feature change 2025-10-08 18:12:17 +08:00
6ec138d90b Fix doc build in subproject 2025-10-08 18:00:02 +08:00
2701f990e4 Fix doc build (https://github.com/rust-lang/rust/pull/138907) 2025-10-08 17:44:42 +08:00
93a4b52cb9 Release 0.2.8 + Bump deps 2025-10-08 17:01:25 +08:00
3ad378cafc Fix softpal pgd decode bug 2025-10-08 16:30:06 +08:00
fe81571a98 Use better way to calculate count for phone chat map count 2025-09-30 16:02:46 +08:00
9200b1e214 Add support for artemis txt script 2025-09-28 15:28:22 +08:00
93b07d08d2 Fix typo 2025-09-28 14:27:59 +08:00
0c06c9b61a Add support for WillPlus/AdvHD WIP Image File (.wip) 2025-09-28 14:26:32 +08:00
acf9a33597 Fix README.md 2025-09-28 10:56:59 +08:00
15d67c6b7b Add support for HexenHaus Audio Archive File (.bin) 2025-09-28 10:55:27 +08:00
3ae55b03c0 Add support for HexenHaus PNG Image File (.png) 2025-09-28 10:09:28 +08:00
91bd43826d Add support for HexenHaus Wag Archive File (.wag) 2025-09-28 09:37:04 +08:00
4f98a2a99d release 0.2.7 2025-09-27 19:40:16 +08:00
d15fb0013b Add --backslash for pack command ( fix #1 ) 2025-09-27 19:34:03 +08:00
292dce240b Add pf2 support for artemis engine 2025-09-27 19:23:00 +08:00
6a1a89c8ad Fix typo 2025-09-27 15:50:03 +08:00
1cdf0bc7e8 Add HexenHaus ARCC archive (.arc) support 2025-09-27 13:12:34 +08:00
0fd2323ecc Fix scn patch bug 2025-09-27 09:35:47 +08:00
c780a40ff4 Use better way to patch scn phonechat message 2025-09-26 15:10:39 +08:00
f77ea8a207 Fix bug 2025-09-26 14:02:18 +08:00
903747071d Add new options for scn script to disable chat message multiple language support 2025-09-26 13:24:29 +08:00
f5a124b084 Fix fixed formatter handle of scn special tokens 2025-09-26 13:13:36 +08:00
885704ba5a Fix special token handle in SCN file 2025-09-26 12:56:08 +08:00
e94a14cc94 Fix scn phone chat message load bug 2025-09-26 09:51:52 +08:00
2692612254 Add support for ExHibit GRP Archive File (.grp) 2025-09-25 15:39:47 +08:00
45a8e0227a Add support for circus crx image version 1 2025-09-25 09:46:53 +08:00
29d08a6935 Add new rule for fixed formatter 2025-09-24 19:47:57 +08:00
1f46cc8cc7 Refactor circus import message method 2025-09-24 15:37:03 +08:00
fb07e46caa Add softpal pac archive support 2025-09-24 09:13:42 +08:00
ec940e8dd7 release 0.2.6 2025-09-22 09:55:42 +08:00
2c9c1802d4 Update README 2025-09-22 09:54:56 +08:00
dd4dc2f070 Fix typo 2025-09-20 20:30:18 +08:00
e7cd7b9f1a Fix multilang support for select in scn file 2025-09-20 20:22:16 +08:00
e794d558a8 Add new options 2025-09-20 14:24:47 +08:00
9b41742c0b Fix missing hover message 2025-09-20 13:22:54 +08:00
b1aae1c75d Add multiple part messages support 2025-09-19 21:42:04 +08:00
c4deb47716 Fix some background pgd not works 2025-09-19 12:38:45 +08:00
73ee2107f5 Enable fake compress for softpal pgd image by default 2025-09-17 23:30:53 +08:00
8afc11b943 Add compress support for softpal pgd image file 2025-09-17 21:32:21 +08:00
6e64a85950 Create pbd by default for tjs/ns0 file 2025-09-17 14:14:05 +08:00
1e0c92a3a1 Add tjs/ns0 create support 2025-09-17 14:02:49 +08:00
9cdd977c3e Add support for export Softpal PGD Differential Image File (.pgd) 2025-09-16 20:45:42 +08:00
3508960835 Add softpal pgd ge image support 2025-09-16 19:00:10 +08:00
6c3c31ddbf Fix unsupported TJS/ns0 value type 5 2025-09-16 13:39:06 +08:00
86192056c4 try fix build 2025-09-16 12:24:51 +08:00
9873241be1 Try fix release 2025-09-16 12:04:47 +08:00
56498ee7f6 release 0.2.5 2025-09-16 11:16:23 +08:00
cd9c754d0a Update README.md 2025-09-15 23:53:25 +08:00
ec137bc5cd add import support for emote psb files
fix create file bug in main
2025-09-15 23:14:19 +08:00
28288ecf1b fix compile issue 2025-09-15 19:23:37 +08:00
9f03ebf435 Add basic emote psb file export support 2025-09-15 18:58:37 +08:00
eabfa43da5 Update break with sentence behavoir 2025-09-15 14:27:21 +08:00
f0037b2c92 Add more check for break with sentence 2025-09-15 14:15:17 +08:00
56a79106c4 Add do not break chinese word support for fixed formatter 2025-09-15 11:40:21 +08:00
1567c16273 Add new argument for fixed formatter 2025-09-14 23:15:40 +08:00
a4aafb089e Add silky engine map file support
fix output extension for custom when importing
2025-09-14 20:18:29 +08:00
cebf06a4dc Change Licenese to GPL-3 2025-09-14 16:32:03 +08:00
fed1f2d14b release 0.2.4 2025-09-14 14:04:43 +08:00
ff526d600e ignore some warning 2025-09-14 13:48:38 +08:00
0860ceb8a0 Add mutilple threads support for export image 2025-09-14 13:37:15 +08:00
3dbfaa866b Update lock_blocking code 2025-09-14 11:48:42 +08:00
5fb7a8b601 Add some config for jxl encode
Remove clap_num dep
2025-09-14 11:08:46 +08:00
199442ac6d fix bug 2025-09-14 00:08:22 +08:00
2e7cd8119e Add JXL image support 2025-09-13 23:50:04 +08:00
4391ad6de5 Fix white border when decode bgi cbg v2 image 2025-09-13 19:42:19 +08:00
01477b31a0 Return error when create ThreadPool failed 2025-09-13 19:05:45 +08:00
e5e437b1e3 Add thread pool support for BGI CBG Decoder 2025-09-13 18:44:45 +08:00
8df08f487b Add support for png 0.18 2025-09-11 15:40:26 +08:00
600ffc9c83 0.2.3 release
Bump deps
2025-09-11 15:29:42 +08:00
6630effc00 Fix scn chat message patch bug 2025-09-11 15:22:15 +08:00
c7d451b98f Update comment 2025-09-10 22:04:35 +08:00
ff4316178b Add Favorite Hcb Script (.hcb) support 2025-09-10 21:18:35 +08:00
dafc1c6e15 Add title support for scn script 2025-09-09 17:21:41 +08:00
e25d97f041 Allow write contexts 2025-09-09 12:35:57 +08:00
e9a7217ba5 Ignore 7z warn 2025-09-09 12:22:52 +08:00
555ade4bce release 0.2.2 2025-09-09 11:58:22 +08:00
b33fb8db41 Add auto release script 2025-09-09 11:57:32 +08:00
00b0af3f9d Add scn special tokens support for fixed formatter 2025-09-08 21:10:52 +08:00
ec6de9a7b9 Support remove zero width space 2025-09-08 19:29:19 +08:00
5393c64fee fix po parse llm 2025-09-06 18:22:10 +08:00
ca3cd41c0a Add gettext po/pot support 2025-09-06 17:05:29 +08:00
65b22ccddf fix warn 2025-09-05 22:06:56 +08:00
7fc13b1619 fix scn patch bug 2025-09-05 22:05:38 +08:00
900678f89a Add silky engine mes support 2025-09-05 20:35:54 +08:00
4f862fd2a7 Add detect support for circus mes script 2025-09-05 13:09:07 +08:00
e5043d0862 Add Buf for softpal script 2025-09-05 12:44:28 +08:00
356cdd6a53 release 0.2.1 2025-09-05 09:57:58 +08:00
d43b8342bc fix scn patch 2025-09-04 23:23:59 +08:00
fdb5456926 Fix mark bug 2025-09-04 23:01:20 +08:00
754d67b3d0 Fix mulitiple languages support for scn script 2025-09-04 15:08:57 +08:00
496b5839a1 Fix kirkiri_language_index not support to insert new language 2025-09-04 01:39:30 +08:00
61b183d940 Add load m3t dir support 2025-09-03 23:33:42 +08:00
59798fe697 Add a new alias for m3t 2025-09-03 23:03:35 +08:00
cc72c89f0c Add a new option 2025-09-03 22:59:22 +08:00
4d5ad39e24 Add support to export all chat message 2025-09-03 22:44:21 +08:00
279d6a5573 Add support to patch save message in scn 2025-09-03 19:39:40 +08:00
405f663b27 Add llm trans mark support for m3t files 2025-09-03 15:32:21 +08:00
20e51a6813 Fix patched scn script may broken 2025-09-03 14:51:14 +08:00
2e306df6da Update README 2025-09-02 22:13:22 +08:00
1f205f2cd0 Add tjs2 support 2025-09-02 22:06:53 +08:00
3469f6babb feat: add new fixed formatter option 2025-09-01 18:50:27 +08:00
94b489f412 Add new script Kirikiri TJS NS0 binary encoded script 2025-08-31 00:06:02 +08:00
cef3064763 . 2025-08-30 14:57:17 +08:00
4057660d3c v0.2.0 release 2025-08-30 14:53:32 +08:00
86b8231395 Add alias for m3t output format
fix kr scn extension
2025-08-29 21:16:21 +08:00
d9a789f388 Update build.rs 2025-08-29 17:18:57 +08:00
0b2e5f5589 Add format lua support 2025-08-29 17:08:54 +08:00
40436a05f5 Update default value for artemis_panmimisoft_txt_blacklist_names 2025-08-29 08:32:56 +08:00
6974ce665e Fix cfg feature compile bug 2025-08-28 23:18:28 +08:00
ec97f2a87f Fix cfg bug in last commit 2025-08-28 23:15:37 +08:00
03e7dd220c Add support to encode flac
Update ExtraConfig's default value
2025-08-28 23:12:10 +08:00
7b3b852483 feat(artemis): add support for ぱんみみそふと TXT scripts
- Updated main.rs to include new configuration options for artemis-panmimisoft.
- Modified asb.rs to handle both .asb and .iet file extensions.
- Introduced new module for panmimisoft scripts and implemented TxtBuilder for parsing.
- Enhanced the parser to support new tag structures and attributes specific to ぱんみみそふと scripts.
- Updated types.rs to reflect changes in configuration options and script types.
- Adjusted mod.rs to register the new TxtBuilder for panmimisoft.
2025-08-28 20:35:11 +08:00
bb27378450 Add new argument for fixed text formatter 2025-08-20 23:05:46 +08:00
5898d8f94e Add artemis txt script support 2025-08-17 17:19:13 +08:00
1df6f0e414 Fix compile issue 2025-08-17 09:44:52 +08:00
02707fc867 Move Pimg/Dref to emote
Revert part of last commit
2025-08-17 09:32:10 +08:00
0a8df19d19 Change utf-8 encoding behavior 2025-08-17 09:20:17 +08:00
3f155fbe51 Add Softpal scr script support 2025-08-16 17:22:22 +08:00
e9c777ef5a add softpal export support 2025-08-16 14:23:05 +08:00
3ae3f0545f Update tip info 2025-08-15 16:13:47 +08:00
bb7e458710 Install old nightly rust to build doc 2025-08-15 15:53:39 +08:00
bd9ba85687 Add support to read int password from exe file 2025-08-15 15:29:21 +08:00
8f24b5aa02 Use windows to build documents 2025-08-15 10:24:19 +08:00
db8feced48 Add JPEG Support for HG3 2025-08-14 22:53:55 +08:00
3973f3bb43 Fix compile issue 2025-08-14 19:30:35 +08:00
c25bd62ff1 Disable useless WC_ERR_INVALID_CHARS CHECK 2025-08-14 17:32:07 +08:00
3820dbb194 Fix 2025-08-14 17:26:54 +08:00
d6581b597f Try to fix 2025-08-14 17:20:16 +08:00
243394db6c Enable unstable feature doc_auto_cfg 2025-08-14 17:05:53 +08:00
b5189695df Add TLG encode support 2025-08-14 16:50:03 +08:00
2a098d2af2 Bump deps: Fix tlg format detect bug 2025-08-14 14:03:28 +08:00
296 changed files with 55620 additions and 2306 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
msg_tool_xp3data/bin/*.bin binary
msg_tool_xp3data/cx_cb/*.bin binary

View File

@@ -4,6 +4,8 @@ on:
paths-ignore:
- README.md
- '.github/workflows/github-pages.yml'
- '.github/workflows/release.yml'
- AGENTS.md
branches:
- master
pull_request:

View File

@@ -9,11 +9,13 @@ on:
branches: [ "master" ]
paths-ignore:
- '.github/workflows/CI.yml'
- '.github/workflows/release.yml'
- 'doc/**'
- Dockerfile
- docker-compose.yml
- check_features.py
- README.md
- AGENTS.md
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -36,7 +38,7 @@ concurrency:
jobs:
deploy:
# The type of runner that the job will run on
runs-on: ubuntu-latest
runs-on: windows-latest
environment:
name: github-pages
@@ -50,12 +52,18 @@ jobs:
with:
fetch-depth: 0
submodules: true
- name: Install Nightly Rust
run: |
rustup toolchain install nightly-x86_64-pc-windows-msvc --allow-downgrade && rustup default nightly-2025-10-07-x86_64-pc-windows-msvc
# - name: Install Nightly Rust
# run: |
# curl.exe "https://static.rust-lang.org/rustup/dist/x86_64-pc-windows-msvc/rustup-init.exe" -o "rustup-init.exe" && ./rustup-init.exe --default-toolchain nightly -y && rm rustup-init.exe
- name: Document
run: |
cargo doc --bins -vv || exit 1
cargo doc --features unstable --bins -vv || exit 1
- name: Add index files
run: |
echo '<!DOCTYPE HTML><html><head><script>window.location.href="msg_tool/"</script></head><body><a href="msg_tool/">Content Moved</a></body></html>' > target/doc/index.html
echo '<!DOCTYPE HTML><html><head><script>window.location.href="msg_tool/"</script></head><body><a href="msg_tool/">Content Moved</a></body></html>' | Out-File -Encoding utf8 target/doc/index.html
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Upload documents

92
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,92 @@
name: Build release
on:
release:
types: [published]
permissions:
contents: write
jobs:
build-musl:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [aarch64-unknown-linux-musl, x86_64-unknown-linux-musl]
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Set up Rust
run: |
rustup update
rustup target add ${{ matrix.arch }}
- name: Download musl toolchain
run: |
arch=${{ matrix.arch }}
arch=${arch/-unknown/}
curl -L "https://github.com/lifegpc/musl-toolchain/releases/download/gcc-9.4/${arch}-x86_64-linux-static.7z" -o musl-toolchain.7z
sudo 7z x musl-toolchain.7z -o./musl-toolchain || true
- name: Build project
run: |
arch=${{ matrix.arch }}
arch=${arch/-unknown/}
export PATH="$PWD/musl-toolchain/bin:$PATH"
export CC="${arch}-cc"
export HOST_CC="cc"
export CXX="${arch}-g++"
export HOST_CXX="c++"
export AR="${arch}-ar"
export HOST_AR="ar"
export RUSTFLAGS="-C linker=${CC}"
cargo build --release --target ${{ matrix.arch }}
version=${{ github.event.release.tag_name }}
cd target/${{ matrix.arch }}/release
7z a -mx9 "../../../msg_tool-${version}-${{ matrix.arch }}.zip" "msg_tool"
- name: Upload to release
run: |
version=${{ github.event.release.tag_name }}
gh release upload "${version}" msg_tool-${version}-${{ matrix.arch }}.zip --clobber
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-macos:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [aarch64-apple-darwin, x86_64-apple-darwin]
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Build project
run: |
docker run --rm -v $(pwd):/io -w /io ghcr.io/rust-cross/cargo-zigbuild /bin/bash -c 'apt-get update && apt-get install -y cmake && cargo zigbuild --release --target ${{ matrix.arch }} --no-default-features -F zig'
version=${{ github.event.release.tag_name }}
cd target/${{ matrix.arch }}/release
7z a -mx9 "../../../msg_tool-${version}-${{ matrix.arch }}.zip" "msg_tool"
- name: Upload to release
run: |
version=${{ github.event.release.tag_name }}
gh release upload "${version}" msg_tool-${version}-${{ matrix.arch }}.zip --clobber
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
build-windows:
runs-on: windows-latest
strategy:
matrix:
arch: [aarch64-pc-windows-msvc, x86_64-pc-windows-msvc]
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Set up Rust
run: |
rustup update
rustup target add ${{ matrix.arch }}
- name: Build project
run: |
cargo build --release --target ${{ matrix.arch }}
cd target/${{ matrix.arch }}/release
7z a -mx9 "../../../msg_tool-${{ github.event.release.tag_name }}-${{ matrix.arch }}.zip" "msg_tool.exe" "msg_tool.pdb"
- name: Upload to release
run: gh release upload "${{ github.event.release.tag_name }}" msg_tool-${{ github.event.release.tag_name }}-${{ matrix.arch }}.zip --clobber
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

3
.gitignore vendored
View File

@@ -3,3 +3,6 @@
/output
/patched
*.log
.vscode/
/vendor
/tmp

36
AGENTS.md Normal file
View File

@@ -0,0 +1,36 @@
# Repository Guidelines
## Project Structure & Module Organization
The CLI lives in `src/main.rs` with argument parsing in `src/args.rs` and data types in `src/types.rs`. Submodules under `src/format`, `src/scripts`, `src/output_scripts`, and `src/utils` hold codec implementations and shared helpers - mirror that layout when adding new game engines or formats. The procedural macro crate is in `msg_tool_macro/`; keep its API stable with the matching version declared in `Cargo.toml`. Sample game assets used for manual verification live under `testscripts/`, while patched reference outputs go in `patched/` and scratch artifacts in `output/`.
All scripts should implement the `Script` and `ScriptBuilder` trait in `src/scripts/base.rs`. New script's type should be registered in `src/types.rs`. The corresponding script builder should be registered in `src/scripts/mod.rs`. If new flag are added, please register them in `src/args.rs` and `src/types.rs` (`ExtraConfig`).
Some useful utilities are in `src/utils/`. Some utilities should enabled via feature flags in `Cargo.toml`.
If user give some example files in `testscripts/`. Run `cargo run -- export <file>` to test if export works.
## Coding Style & Naming Conventions
Target the Rust 2024 edition with `rustfmt` defaults (4-space indentation, trailing commas). Modules and files stay in `snake_case`, public types in `PascalCase`, and flags/features use the hyphenated scheme already present (e.g., `bgi-arc`). Prefer explicit `use` blocks near call sites and annotate complex transforms with concise comments. Keep CLI option identifiers aligned with the conventions in `src/args.rs`.
DO NOT USE ANY CODE CAN CAUSE PANIC IN LIBRARY CODE.
panic only allowed in main.rs , args.rs and tests.
## Core Utilities (`src/utils/`)
- `counter.rs` - Thread-safe counters summarizing script outcomes; used to report OK/ignored/error/warning totals. Use `crate::COUNTER` to get global instance.
- `encoding.rs` - Shared encode/decode helpers with BOM detection, replacement handling, and optional Kirikiri wrappers for MDF and SimpleCrypt payloads.
- `files.rs` - Path utilities to collect inputs, filter by known script or archive extensions, stream stdin/stdout, and sanitize Windows file names.
- `struct_pack.rs` - Traits plus blanket implementations for binary pack/unpack backed by the `msg_tool_macro` crate; used when codecs read or write structured data.
- Feature-gated helpers such as `bit_stream.rs` or `threadpool.rs` stay under the same module; enable them via the matching `utils-*` features in `Cargo.toml`.
## Command line tools
Use UNIX tools to list directory contents, search text, and compare files. For example: `ls`, `find`, `grep`.
POWERHSELL COMMANDS ARE NOT ALLOWED.
## IO Extensions (`src/ext/io.rs`)
For endian-aware operation, default to little-endian, unless `_be` suffix is used. `_le` suffix are not used in the code.
- **`Peek` (for `Read + Seek`)** – adds non-destructive read helpers: generic `peek`/`peek_at`, typed endian-aware primitives (`peek_u8``peek_i128_be`), string readers (`peek_cstring`, `peek_fstring`, UTF-16 helpers), struct loaders via `StructUnpack` (`read_struct`, `read_struct_vec`), and assertions (`peek_and_equal`).
- **`CPeek` (thread-safe peek facade)** – mirrors `Peek` on shared references with exact/offset variants, typed primitives, string helpers, and matchers; implemented for `Mutex<T: Peek>`, in-memory readers, and writers.
- **`ReadExt` (for `Read`)** – provides endian-aware reads for integers/floats, C/fixed/UTF-16 string loaders using `Encoding`, vector reads (`read_exact_vec`), and equality assertions (`read_and_equal`).
- **`WriteExt` (for `Write`)** – exposes endian-aware writers for integers, signed values, floats, C-strings, plus `write_struct` delegating to `StructPack` with encoding awareness.
- **`WriteAt` (for `Write + Seek`)** – writes at absolute offsets with typed wrappers (`write_u8_at``write_i128_be_at`) and C-string support, restoring the original cursor after each call.
- **`SeekExt` (for `Seek`)** – offers `stream_length` (length without disturbing position) and `align` (rounds the cursor up to a power-of-two boundary).
- **`MemReader` / `MemReaderRef`** – byte-slice backed readers implementing `Read`, `Seek`, `Peek`, and `CPeek`; support cloning, EOF checks, borrowing via `to_ref`, and safe position management.
- **`MemWriter`** – growable in-memory writer implementing `Write`, `Seek`, and `CPeek`; supports constructing from/into `Vec<u8>` and borrowing via `to_ref`.
- **`StreamRegion<T: Seek>`** – wraps a stream segment with bounded `Read`/`Seek`, keeping track of local position and guarding seeks outside the declared range.
- **`BinaryPatcher<R, W, A, O>`** – coordinates incremental patching by copying sections, mapping offsets between old/new layouts, replacing ranges with provided writers, and patching values/addresses through user-supplied address↔offset closures.

2023
Cargo.lock generated
View File

File diff suppressed because it is too large Load Diff

View File

@@ -1,87 +1,146 @@
[package]
name = "msg_tool"
version = "0.1.3"
version = "0.4.0-alpha.1"
edition = "2024"
repository = "https://github.com/lifegpc/msg-tool"
description = "A command-line tool for exporting, importing, packing, and unpacking script files."
license = "MIT"
exclude = [".github", "*.py"]
license = "GPL-3.0-or-later"
exclude = [".github", "*.py", "AGENTS.md"]
[dependencies]
adler = { version = "1", optional = true }
aes = { version = "0.9", optional = true }
anyhow = "1"
base64 = { version = "0.22", optional = true }
block_compression = { version = "0.9", optional = true, default-features = false, features = ["bc7"] }
byteorder = { version = "1.5", default-features = false, optional = true}
bytes = { version = "1.11", optional = true }
cbc = { version = "0.2", optional = true }
clap = { version = "4.5", features = ["derive"] }
clap-num = "1.2"
crc32fast = { version = "1.5", optional = true }
crossbeam = { version = "0.8", optional = true }
csv = "1.3"
ctrlc = "3.4"
digest-io = { version = "0.1", optional = true }
emote-psb = { version = "0.5", optional = true , features = ["serde"] }
encoding = "0.2"
fancy-regex = { version = "0.16", optional = true }
fancy-regex = { version = "0.17", optional = true }
fastcdc = { version = "3.2", optional = true }
flate2 = { version = "1.1", optional = true }
include-flate = { version = "0.3", optional = true }
int-enum = { version = "1.2", optional = true }
jieba-rs = { version = "0.8", optional = true }
json = { version = "0.12", optional = true }
jpegxl-sys = { package = "msg-tool-jpegxl-sys", version = "0.11", optional = true, features = ["vendored"] }
lazy_static = "1.5.0"
libtlg-rs = { version = "0.1", optional = true }
markup5ever = { version = "0.35", optional = true }
markup5ever_rcdom = { version = "0.35", optional = true }
libflac-sys = { version = "0.3", optional = true }
libtlg-rs = { version = "0.2", optional = true, features = ["encode"] }
lz4 = { version = "1.28", optional = true }
markup5ever = { version = "0.38", optional = true }
md5 = { version = "0.8", optional = true }
memchr = { version = "2.7", optional = true }
mozjpeg = { version = "0.10", optional = true }
msg_tool_macro = { version = "0.1.0" }
msg_tool_macro = { version = "0.4.0-alpha.1" }
msg_tool_xp3data = { version = "0.4.0-alpha.1", optional = true }
num_cpus = "1.17"
overf = "0.1"
png = { version = "0.17", optional = true }
rand = { version = "0.9", optional = true }
parse-size = { version = "1.1", optional = true }
pelite = { version = "0.10", optional = true }
png = { version = "0.18", optional = true }
rand = { version = "0.10", optional = true }
rust-ini = { version = "0.21", optional = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_yaml_ng = "0.10"
sha1 = { version = "0.10", optional = true }
sha1 = { version = "0.11", optional = true }
sha2 = { version = "0.11", optional = true }
stylua = { version = "2.1", optional = true, default-features = false}
tendril = { version = "0.5", optional = true }
unicode-segmentation = "1.12"
url = { version = "2.5", optional = true }
utf16string = "0.2"
webp = { version = "0.3", default-features = false, optional = true }
xml5ever = { version = "0.35", optional = true }
xml5ever = { version = "0.38", optional = true }
zopfli = { version = "0.8", optional = true }
zstd = { version = "0.13", optional = true }
[features]
default = ["all-fmt", "image-jpg", "image-webp"]
default = ["all-fmt", "image-jpg", "image-jxl", "image-webp", "audio-flac", "jieba"]
# Zig can not build libjxl
zig = ["all-fmt", "image-jpg", "image-webp", "audio-flac", "jieba"]
all-fmt = ["all-script", "all-img", "all-arc", "all-audio"]
all-script = ["artemis", "bgi", "cat-system", "circus", "entis-gls", "escude", "ex-hibit", "hexen-haus", "kirikiri", "will-plus", "yaneurao", "yaneurao-itufuru"]
all-img = ["bgi-img", "cat-system-img", "circus-img", "kirikiri-img"]
all-arc = ["artemis-arc", "bgi-arc", "cat-system-arc", "circus-arc", "escude-arc"]
all-script = ["artemis", "artemis-panmimisoft", "bgi", "cat-system", "circus", "entis-gls", "escude", "ex-hibit", "favorite", "hexen-haus", "kirikiri", "musica", "qlie", "silky", "softpal", "will-plus", "yaneurao", "yaneurao-itufuru"]
all-img = ["bgi-img", "cat-system-img", "circus-img", "emote-img", "hexen-haus-img", "kirikiri-img", "qlie-img", "softpal-img", "will-plus-img"]
all-arc = ["artemis-arc", "bgi-arc", "cat-system-arc", "circus-arc", "escude-arc", "ex-hibit-arc", "hexen-haus-arc", "kirikiri-arc", "musica-arc", "qlie-arc", "softpal-arc"]
all-audio = ["bgi-audio", "circus-audio"]
artemis = ["utils-escape"]
artemis-arc = ["artemis", "msg_tool_macro/artemis-arc", "sha1"]
artemis = ["stylua", "utils-escape"]
artemis-panmimisoft = ["artemis", "rust-ini"]
artemis-arc = ["artemis", "digest-io", "msg_tool_macro/artemis-arc", "sha1"]
bgi = ["fancy-regex"]
bgi-arc = ["bgi", "rand", "utils-bit-stream"]
bgi-audio = ["bgi"]
bgi-img = ["bgi", "image", "rand", "utils-bit-stream"]
cat-system = ["fancy-regex", "flate2", "int-enum"]
cat-system-arc = ["cat-system", "utils-blowfish", "utils-crc32"]
cat-system-img = ["cat-system", "flate2", "image", "utils-bit-stream"]
cat-system-arc = ["cat-system", "pelite", "utils-blowfish", "utils-crc32"]
cat-system-img = ["cat-system", "flate2", "image", "mozjpeg", "utils-bit-stream"]
circus = []
circus-arc = ["circus"]
circus-audio = ["circus", "flate2", "int-enum", "utils-pcm"]
circus-audio = ["circus", "flate2", "int-enum", "lossless-audio"]
circus-img = ["circus", "image", "flate2", "zstd"]
entis-gls = ["xml5ever", "markup5ever", "markup5ever_rcdom"]
emote-img = ["base64", "block_compression", "emote-psb", "image", "json", "libtlg-rs", "url", "utils-psd"]
entis-gls = ["xml5ever", "int-enum"]
escude = ["int-enum"]
escude-arc = ["escude", "rand", "utils-bit-stream"]
ex-hibit = []
ex-hibit-arc = ["ex-hibit"]
favorite = ["utils-str"]
hexen-haus = ["memchr", "utils-str"]
kirikiri = ["emote-psb", "fancy-regex", "flate2", "json", "utils-escape"]
kirikiri-img = ["kirikiri", "emote-psb", "image", "libtlg-rs", "url"]
hexen-haus-arc = ["hexen-haus"]
hexen-haus-img = ["hexen-haus", "image"]
kirikiri = ["emote-psb", "fancy-regex", "flate2", "json", "lz4", "utils-escape"]
kirikiri-arc = ["kirikiri", "adler", "aes", "bytes", "cbc", "fastcdc", "flate2", "int-enum", "md5", "msg_tool_macro/kirikiri-arc", "msg_tool_xp3data", "parse-size", "sha2", "utils-case-insensitive-string", "utils-serde-base64bytes", "utils-simple-pack", "zopfli", "zstd"]
kirikiri-img = ["kirikiri", "image", "libtlg-rs"]
musica = []
musica-arc = ["musica", "crc32fast", "flate2", "include-flate", "utils-blowfish", "utils-rc4", "utils-serde-base64bytes", "utils-xored-stream"]
qlie = []
qlie-arc = ["qlie", "utils-mmx", "pelite", "rand"]
qlie-img = ["qlie", "image", "utils-psd"]
silky = []
softpal = ["int-enum"]
softpal-arc = ["softpal"]
softpal-img = ["softpal", "image"]
will-plus = ["utils-str"]
will-plus-img = ["will-plus", "image"]
yaneurao = []
yaneurao-itufuru = ["yaneurao"]
yaneurao-itufuru = ["yaneurao", "utils-xored-stream"]
# basic feature
image = ["png"]
image-jpg = ["mozjpeg"]
image-jxl = ["image", "jpegxl-sys"]
image-webp = ["webp"]
lossless-audio = ["utils-pcm"]
audio-flac = ["libflac-sys", "utils-pcm"]
unstable = ["msg_tool_macro/unstable", "msg_tool_xp3data?/unstable"]
jieba = ["jieba-rs"]
emote-psb = ["dep:emote-psb", "adler", "lz4"]
xml5ever = ["dep:xml5ever", "markup5ever", "tendril", "crossbeam"]
# utils feature
utils-bit-stream = []
utils-blowfish = ["byteorder"]
utils-case-insensitive-string = []
utils-crc32 = []
utils-escape = ["fancy-regex"]
utils-mmx = []
utils-pcm = []
utils-psd = ["image", "flate2", "utils-bit-stream"]
utils-rc4 = []
utils-serde-base64bytes = ["base64"]
utils-simple-pack = ["zstd"]
utils-str = []
utils-xored-stream = []
[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0", features = ["Win32_Globalization", "Win32_System_Diagnostics_Debug"] }
windows-sys = { version = "0.61", features = ["Win32_Globalization", "Win32_System_Diagnostics_Debug"] }
[build-dependencies]
parse-size = "1.1"

687
LICENSE
View File

@@ -1,21 +1,674 @@
MIT License
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (c) 2025 lifegpc
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
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:
Preamble
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
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.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.

190
README.md
View File

@@ -10,6 +10,11 @@ cargo build --release # Build with all features enabled
cargo build --release --no-default-features --features=circus # Build with only specific features enabled. See supported types below.
```
## Exit Codes
By default, msg-tool will always return exit code 0 unless a exit signal is received (such as Ctrl+C).
You can use the `--exit-code` / `-x` option to specify a non-zero exit code when some jobs failed.
If all jobs failed, you can use the `--exit-code-all-failed` / `-X` option to specify a different exit code.
## Basic Usage
### Extract messages from script files
```bash
@@ -36,6 +41,10 @@ msg-tool import <input> <output> <patched>
### Pack files into an archive
```bash
msg-tool pack <input> -t <archive-type> [output]
# Pack multiple files/folders into an archive
# If output is not specified, the archive file will be named with the first input's name with the appropriate extension.
# Use --dep-file xxxx.d to generate a dep file for other build systems. (such as ninja)
msg-tool pack-v2 -t <archive-type> -o <output> <input1> <input2> ...
```
### Unpack an archive file
@@ -51,8 +60,9 @@ msg-tool create -t <script-type> <input> <output>
## Supported Output Script Types
- `json` - [GalTransl](https://github.com/GalTransl/GalTransl)'s JSON format
- `m3t` - A simple text format that supports both original/llm/translated messages.
- `m3t` / `m3ta` - A simple text format that supports both original/llm/translated messages.
- `yaml` - Same as `json`, but in YAML format.
- `po`/`pot` - Gettext PO/POT format.
## Supported Image Types
| Image Type | Feature Name |
@@ -60,24 +70,28 @@ msg-tool create -t <script-type> <input> <output>
| `png` | `image` (enabled automatically if any image script types are enabled) |
| `jpg` | `image-jpg` |
| `webp` | `image-webp` |
| `jxl` | `image-jxl` |
## Supported Script Types
### Artemis Engine
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `artemis` | `artemis` | Artemis Engine AST file (.ast) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
| `artemis-asb` | `artemis` | Artemis Engine ASB file (.asb) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `artemis` | `artemis` | Artemis Engine AST file (.ast) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `artemis-asb` | `artemis` | Artemis Engine ASB file (.asb/.iet) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | For `.iet` files, only custom export/import and create features are supported. |
| `artemis-txt` | `artemis` | Artemis Engine TXT (General) script | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `artemis-panmimisoft-txt` | `artemis-panmimisoft` | Artemis Engine TXT ([ぱんみみそふと](https://pannomimi.net/panmimisoft)) file (.txt) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `artemis-arc`/`pfs` | `artemis-arc` | Artemis Engine archive file (.pfs) | ✔️ | ✔️ | `pf2` is not supported now |
| `artemis-arc`/`pfs` | `artemis-arc` | Artemis Engine archive file (.pfs) | ✔️ | ✔️ | |
| `artemis-pf2`/`pf2` | `artemis-arc` | Artemis Engine Archive File (.pfs) (pf2) | ✔️ | ✔️ | |
### Buriko General Interpreter / Ethornell
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `bgi`/`ethornell` | `bgi` | Buriko General Interpreter/Ethornell Script | ✔️ | ✔️ | ❌ | ❌ | ❌ | Some old games' scripts cannot be detected automatically |
| `bgi-bsi`/`ethornell-bsi` | `bgi` | Buriko General Interpreter/Ethornell BSI Script (._bsi) | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| `bgi-bp`/`ethornell-bp` | `bgi` | Buriko General Interpreter/Ethornell BP Script (._bp) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
| `bgi-dsc`/`ethornell-dsc` | `bgi-arc` | Buriko General Interpreter/Ethornell compressed file in archive | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `bgi`/`ethornell` | `bgi` | Buriko General Interpreter/Ethornell Script | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | Some old games' scripts cannot be detected automatically |
| `bgi-bsi`/`ethornell-bsi` | `bgi` | Buriko General Interpreter/Ethornell BSI Script (._bsi) | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| `bgi-bp`/`ethornell-bp` | `bgi` | Buriko General Interpreter/Ethornell BP Script (._bp) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `bgi-dsc`/`ethornell-dsc` | `bgi-arc` | Buriko General Interpreter/Ethornell compressed file in archive | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
@@ -93,10 +107,10 @@ msg-tool create -t <script-type> <input> <output>
| `bgi-img`/`ethornell-img` | `bgi-img` | Buriko General Interpreter/Ethornell Uncompressed Image File | ✔️ | ✔️ | ❌ | ❌ | ✔️ | Image files in `sysgrp.arc` |
| `bgi-cbg`/`ethornell-cbg` | `bgi-img` | Buriko General Interpreter/Ethornell Compressed Image File | ✔️ | ✔️ | ❌ | ❌ | ✔️ | V2 is not supported when importing/creating image |
### CatSystem2
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `cat-system` | `cat-system` | CatSystem2 Scene Script File (.cst) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
| `cat-system-cstl` | `cat-system` | CatSystem2 Scene I18N File (.cstl) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `cat-system` | `cat-system` | CatSystem2 Scene Script File (.cst) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `cat-system-cstl` | `cat-system` | CatSystem2 Scene I18N File (.cstl) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
@@ -106,9 +120,9 @@ msg-tool create -t <script-type> <input> <output>
|---|---|---|---|---|---|---|---|---|
| `cat-system-hg3` | `cat-system-img` | CatSystem2 HG3 Image File (.hg3) | ✔️ | ❌ | ✔️ | ❌ | ❌ | |
### Circus
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `circus` | `circus` | Circus Script File (.mes) | ✔️ | ✔️ | ❌ | ❌ | ❌ | Some scripts must use `--circus-mes-type` to specify game |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `circus` | `circus` | Circus Script File (.mes) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | Some scripts must use `--circus-mes-type` to specify game |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
@@ -122,50 +136,128 @@ msg-tool create -t <script-type> <input> <output>
| Image Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `circus-crx` | `circus-img` | Circus Image File (.crx) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | |
| `circus-crx` | `circus-img` | Circus Image File (.crx) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | V1 is not supported when importing/creating image |
| `circus-crxd` | `circus-img` | Circus Differential Image File (.crx) | ✔️ | ❌ | ❌ | ❌ | ❌ | |
### Escu:de
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
### Emote
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `emote-psb`/`psb` | `emote-img` | Emote PSB File | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| `emote-pimg` | `emote-img` | Emote Multiple Image File (.pimg) | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | `--emote-pimg-psd` is required. |
| Image Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `escude` | `escude` | Escu:de Script File (.bin) | ✔️ | ✔️ | | ❌ | ❌ | |
| `escude-list` | `escude` | Escu:de List File (.bin) | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| `emote-pimg`/`pimg` | `emote-img` | Emote Multiple Image File (.pimg) | | | ✔️ | ❌ | ❌ | |
| `emote-dref`/`dref` | `emote-img` | Emote DPAK-referenced Image File (.dref) | ✔️ | ❌ | ❌ | | | |
### Entis GLS engine
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `entis-gls` | `entis-gls` | Entis GLS engine XML Script (.srcxml) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `entis-gls-csx` | `entis-gls` | Entis GLS engine CSX Script (.csx) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | |
### Escu:de
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `escude` | `escude` | Escu:de Script File (.bin) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `escude-list` | `escude` | Escu:de List File (.bin) | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `escude-arc` | `escude-arc` | Escu:de Archive File (.bin) | ✔️ | ✔️ | |
### Entis GLS engine
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `entis-gls` | `entis-gls` | Entis GLS engine XML Script (.srcxml) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
### ExHibit
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `ex-hibit` | `ex-hibit` | ExHibit Script File (.rld) | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `ex-hibit` | `ex-hibit` | ExHibit Script File (.rld) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `ex-hibit-grp` | `ex-hibit-arc` | ExHibit GRP Archive File (.grp) | ✔️ | ❌ | |
### Favorite
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `favorite` | `favorite` | Favorite Hcb Script (.hcb) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ❌ | ❌ | |
### HexenHaus
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `hexen-haus` | `hexen-haus` | HexenHaus Script File (.bin) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
### Kirikiri
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `kirikiri`/`kr`/`kr-ks`/`kirikiri-ks` | `kirikiri` | Kirikiri Script File (.ks) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
| `kirikiri-scn`/`kr-scn` | `kirikiri` | Kirikiri Scene File (.scn) | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | Patched script may be broken |
| `kirikiri-simple-crypt`/`kr-simple-crypt` | `kirikiri` | Kirikiri Simple Crypt Text File | ❌ | ❌ | ✔️ | ❌ | ❌ | |
| `kirikiri-mdf`/`kr-mdf` | `kirikiri` | Kirikiri Zlib-Compressed File | ❌ | ❌ | ✔️ | ❌ | ❌ | |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `hexen-haus` | `hexen-haus` | HexenHaus Script File (.bin) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `hexen-haus-arcc` | `hexen-haus-arc` | HexenHaus Arcc Archive File (.arc) | ✔️ | ❌ | |
| `hexen-haus-odio` | `hexen-haus-arc` | HexenHaus Audio Archive File (.bin) | ✔️ | ❌ | |
| `hexen-haus-wag` | `hexen-haus-arc` | HexenHaus Wag Archive File (.wag) | ✔️ | ❌ | |
| Image Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `kirikiri-tlg`/`kr-tlg` | `kirikiri-img` | Kirikiri TLG Image File (.tlg) | ✔️ | ❌ | ❌ | ❌ | ❌ | |
| `kirikiri-pimg`/`kr-pimg` | `kirikiri-img` | Kirikiri Multiple Image File (.pimg) | ❌ | ❌ | ✔️ | ❌ | ❌ | |
| `kirikiri-dref`/`kr-dref` | `kirikiri-img` | Kirikiri DPAK-referenced Image File (.dref) | ✔️ | ❌ | ❌ | ❌ | ❌ | |
| `hexen-haus-png` | `hexen-haus-img` | HexenHaus PNG Image File (.png) | ✔️ | ❌ | ❌ | ❌ | ❌ | |
### Kirikiri
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `kirikiri`/`kr`/`kr-ks`/`kirikiri-ks` | `kirikiri` | Kirikiri Script File (.ks) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `kirikiri-scn`/`kr-scn` | `kirikiri` | Kirikiri Scene File (.scn) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | |
| `kirikiri-simple-crypt`/`kr-simple-crypt` | `kirikiri` | Kirikiri Simple Crypt Text File | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | |
| `kirikiri-mdf`/`kr-mdf` | `kirikiri` | Kirikiri Zlib-Compressed File | ❌ | ❌ | ❌ | ❌ | ✔️ | ❌ | ❌ | |
| `kirikiri-tjs-ns0`/`kr-tjs-ns0` | `kirikiri` | Kirikiri TJS NS0 binary encoded script | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| `kirikiri-tjs2`/`kr-tjs2` | `kirikiri` | Kirikiri compiled TJS2 script | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ❌ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `kirikiri-xp3`/`kr-xp3`/`xp3` | `kirikiri-arc` | Kirikiri XP3 Archive File (.xp3) | ✔️ | ✔️ | |
| Image Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `kirikiri-tlg`/`kr-tlg` | `kirikiri-img` | Kirikiri TLG Image File (.tlg) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | tlg6 is not supported when importing/creating image |
### Musica
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `musica` | `musica` | Musica Script File (.sc) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `musica-arc` | `musica-arc` | Musica Archive Resource File (.paz) | ✔️ | ✔️ | |
### QLIE
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `qlie` | `qlie` | Qlie Engine Scenario script (.s) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `qlie-abmp10` / `qlie-abmp11` / `qlie-abmp12` | `qlie-img` | Qlie Abmp10/11/12 image (.b) | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
| `qlie-dpng` | `qlie-img` | Qlie tiled PNG image (.png) | ❌ | ❌ | ❌ | ❌ | ✔️ | ✔️ | ❌ | `--qlie-dpng-psd` is required. |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `qlie-pack` | `qlie-arc` | Qlie Pack Archive (.pack) | ✔️ | ✔️ | Currently only v3.1 are supported. `--backslash` are needed to correctly handle file paths when packing. |
| Image Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `qlie-dpng` | `qlie-img` | Qlie tiled PNG image (.png) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
### Silky Engine
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `silky` | `silky` | Silky Engine Mes Script File (.mes) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| `silky-map` | `silky` | Silky Engine Map File (.map) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | ✔️ | ✔️ | |
### Softpal
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `softpal` | `softpal` | Softpal Script File (.src) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ | ❌ | ❌ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|
| `softpal-pac` | `softpal-arc` | Softpal Pac Archive File (.pac) | ✔️ | ❌ | |
| `softpal-pac-amuse` | `softpal-arc` | Softpal Amuse Pac Archive File (.pac) | ✔️ | ❌ | |
| Image Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `softpal-pgd-ge`/`pgd-ge`/`pgd` | `softpal-img` | Softpal PGD Ge Image File (.pgd) | ✔️ | ✔️ | ❌ | ❌ | ✔️ | |
| `softpal-pgd3`/`softpal-pgd2`/`pgd3`/`pgd2` | `softpal-img` | Softpal PGD Differential Image File (.pgd) | ✔️ | ❌ | ❌ | ❌ | ❌ | |
### WillPlus / AdvHD
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `will-plus-ws2`/`adv-hd-ws2` | `will-plus` | WillPlus/AdvHD Script File (.ws2) | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Image Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `will-plus-ws2`/`adv-hd-ws2` | `will-plus` | WillPlus/AdvHD Script File (.ws2) | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
| `will-plus-wip`/`adv-hd-wip` | `will-plus-img` | WillPlus/AdvHD WIP Image File (.wip) | ✔️ | ❌ | ✔️ | ❌ | ❌ | |
### Yaneurao Itufuru
| Script Type | Feature Name | Name | Export | Import | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|
| `yaneurao-itufuru`/`itufuru` | `yaneurao-itufuru` | Yaneurao Itufuru Script File | ✔️ | ✔️ | ❌ | ❌ | ❌ | |
| Script Type | Feature Name | Name | Export | Import | Export Multiple | Import Multiple | Custom Export | Custom Import | Create | Remarks |
|---|---|---|---|---|---|---|---|---|---|---|
| `yaneurao-itufuru`/`itufuru` | `yaneurao-itufuru` | Yaneurao Itufuru Script File | ✔️ | ✔️ | ❌ | ❌ | ❌ | ❌ | ❌ | |
| Archive Type | Feature Name | Name | Unpack | Pack | Remarks |
|---|---|---|---|---|---|

13
build.rs Normal file
View File

@@ -0,0 +1,13 @@
fn main() {
#[cfg(windows)]
let default_stack_size = "4194304"; // 4 MiB
#[cfg(not(windows))]
let default_stack_size = "8388608"; // 8 MiB
let stack_size = std::env::var("MSG_TOOL_STACK_SIZE").unwrap_or(default_stack_size.to_string());
let stack_size = parse_size::parse_size(stack_size).unwrap();
println!("cargo:rerun-if-env-changed=MSG_TOOL_STACK_SIZE");
#[cfg(target_env = "msvc")]
println!("cargo:rustc-link-arg=/STACK:{}", stack_size);
#[cfg(target_env = "gnu")]
println!("cargo:rustc-link-arg=-Wl,-z,stack-size={}", stack_size);
}

View File

@@ -3,10 +3,14 @@ import subprocess
import sys
def filter_name(name):
if name == 'zig':
return False
if name.startswith("utils-"):
return False
if name.startswith("all-"):
return False
if name == "unstable":
return False
return True
@@ -39,7 +43,7 @@ def main():
features = cargo_toml.get("features", {})
feature_names = list(features.keys())
feature_names = [name for name in feature_names if filter_name(name)]
feature_names = [name for name in feature_names if filter_name(name) and f"dep:{name}" not in features[name]]
if not feature_names:
print("No features defined in Cargo.toml.")

2
msg_tool_build/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
Cargo.lock
target/

19
msg_tool_build/Cargo.toml Normal file
View File

@@ -0,0 +1,19 @@
[package]
name = "msg_tool_build"
version = "0.4.0-alpha.1"
edition = "2024"
repository = "https://github.com/lifegpc/msg-tool"
description = "Build time library for the msg-tool project."
license = "GPL-3.0-or-later"
[dependencies]
json = { version = "0.12", optional = true }
zstd = { version = "0.13", optional = true }
[features]
kirikiri-arc = ["json", "simple-pack", "zstd"]
simple-pack = ["zstd"]
unstable = []
[package.metadata.docs.rs]
all-features = true

View File

@@ -0,0 +1,107 @@
use crate::simple_pack::SimplePack;
use std::collections::HashSet;
use std::path::Path;
/// Generate crypt.json.zst from crypt.json with minimum format
pub fn gen_crypt<P: AsRef<Path> + ?Sized, D: AsRef<Path> + ?Sized>(
json_path: &P,
outdir: &D,
level: i32,
) -> std::io::Result<()> {
let p = json_path.as_ref();
let json_data = std::fs::read_to_string(p)?;
let json = json::parse(&json_data)
.map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))?;
let out_data = json::stringify(json);
let out_path = outdir.as_ref().join("crypt.json.zst");
let mut out_file = std::io::BufWriter::new(std::fs::File::create(out_path)?);
let level = if level >= 0 && level <= 22 { level } else { 22 };
let mut encoder = zstd::stream::write::Encoder::new(&mut out_file, level)?;
std::io::copy(&mut out_data.as_bytes(), &mut encoder)?;
encoder.finish()?;
Ok(())
}
/// Pack all binary files in cx_cb into a single archive.
pub fn gen_cx_cb<P: AsRef<Path> + ?Sized, D: AsRef<Path> + ?Sized>(
json_path: &P,
outdir: &D,
level: i32,
) -> std::io::Result<()> {
let p = json_path.as_ref();
let pb = p.parent().unwrap_or_else(|| Path::new("")).join("cx_cb");
let json_data = std::fs::read_to_string(p)?;
let json = json::parse(&json_data)
.map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))?;
let mut pack = SimplePack::new(&outdir.as_ref().join("cx_cb.pck"))?;
let mut seen_files = HashSet::new();
for (_, obj) in json.entries() {
if let Some(name) = obj["ControlBlockName"].as_str() {
if seen_files.contains(name) {
continue;
}
seen_files.insert(name.to_string());
let file_path = pb.join(name);
if !file_path.exists() {
return Err(std::io::Error::new(
std::io::ErrorKind::NotFound,
format!("File not found: {}", file_path.display()),
));
}
let file = std::fs::File::open(file_path)?;
let file_size = file.metadata()?.len();
if file_size != 4096 {
return Err(std::io::Error::new(
std::io::ErrorKind::InvalidData,
format!("File size must be 4096 bytes: {}", name),
));
}
let file = std::io::BufReader::new(file);
pack.add_file(name, file)?;
}
}
if level >= 0 && level <= 22 {
pack.compress(level)?;
}
Ok(())
}
/// Pack all binary files in name_list into a single archive.
pub fn gen_name_list<P: AsRef<Path> + ?Sized, D: AsRef<Path> + ?Sized>(
json_path: &P,
outdir: &D,
level: i32,
) -> std::io::Result<()> {
let p = json_path.as_ref();
let pb = p
.parent()
.unwrap_or_else(|| Path::new(""))
.join("name_list");
let json_data = std::fs::read_to_string(p)?;
let json = json::parse(&json_data)
.map_err(|e| std::io::Error::new(std::io::ErrorKind::InvalidData, e))?;
let mut pack = SimplePack::new(&outdir.as_ref().join("name_list.pck"))?;
let mut seen_files = HashSet::new();
for (_, obj) in json.entries() {
if let Some(name) = obj["FileListName"].as_str() {
if seen_files.contains(name) {
continue;
}
seen_files.insert(name.to_string());
let file_path = pb.join(name);
if !file_path.exists() {
return Err(std::io::Error::new(
std::io::ErrorKind::NotFound,
format!("File not found: {}", file_path.display()),
));
}
let file = std::fs::File::open(file_path)?;
let file = std::io::BufReader::new(file);
pack.add_file(name, file)?;
}
}
if level >= 0 && level <= 22 {
pack.compress(level)?;
}
Ok(())
}

View File

@@ -0,0 +1,5 @@
#![cfg_attr(any(docsrs, feature = "unstable"), feature(doc_cfg))]
#[cfg(feature = "kirikiri-arc")]
pub mod kr_arc;
#[cfg(feature = "simple-pack")]
mod simple_pack;

View File

@@ -0,0 +1,66 @@
//! A simple implementation of a pack file
use std::fs::File;
use std::io::{BufWriter, Read, Result, Seek, Write};
use std::path::{Path, PathBuf};
pub struct SimplePack {
file: File,
path: PathBuf,
tmp_path: PathBuf,
}
impl SimplePack {
pub fn new<P: AsRef<Path> + ?Sized>(path: &P) -> Result<Self> {
let mut file = File::create(path.as_ref())?;
file.write_all(b"SPCK")?;
file.write_all(&[0])?; // No compression
Ok(Self {
file,
path: path.as_ref().to_path_buf(),
tmp_path: path.as_ref().with_added_extension(".tmp"),
})
}
pub fn add_file<R: Read>(&mut self, name: &str, mut data: R) -> Result<()> {
let mut writer = BufWriter::new(&mut self.file);
writer.write_all(name.as_bytes())?;
writer.write_all(&[0])?; // Null terminator for the name
let file_size_loc = writer.stream_position()?;
writer.write_all(&0u64.to_le_bytes())?; // Placeholder for file size
let size = std::io::copy(&mut data, &mut writer)?;
let current_pos = writer.stream_position()?;
writer.seek(std::io::SeekFrom::Start(file_size_loc))?;
writer.write_all(&size.to_le_bytes())?; // Write the actual file size
writer.seek(std::io::SeekFrom::Start(current_pos))?; // Move back to the end of the file
writer.flush()?;
Ok(())
}
pub fn compress(mut self, level: i32) -> Result<()> {
self.file.flush()?;
std::mem::drop(self.file); // Close the file before renaming
// Move the file to a temporary location
std::fs::rename(&self.path, &self.tmp_path)?;
{
let tmp_file = File::open(&self.tmp_path)?;
let mut reader = std::io::BufReader::new(tmp_file);
reader.seek_relative(5)?; // Skip header
let original_size = reader.get_ref().metadata()?.len() - 5;
let outfile = File::create(&self.path)?;
let mut writer = std::io::BufWriter::new(outfile);
writer.write_all(b"SPCK")?;
writer.write_all(&[1])?; // Compression flag
let compress_size_loc = writer.stream_position()?;
writer.write_all(&0u64.to_le_bytes())?; // Placeholder for compressed size
writer.write_all(&original_size.to_le_bytes())?;
let cur_loc = writer.stream_position()?;
let mut encoder = zstd::stream::write::Encoder::new(&mut writer, level)?;
std::io::copy(&mut reader, &mut encoder)?;
encoder.finish()?;
writer.flush()?;
let compressed_size = writer.stream_position()? - cur_loc;
writer.seek(std::io::SeekFrom::Start(compress_size_loc))?;
writer.write_all(&compressed_size.to_le_bytes())?; // Write the actual compressed size
}
std::fs::remove_file(&self.tmp_path)?; // Clean up the temporary file
Ok(())
}
}

View File

@@ -1,17 +1,22 @@
[package]
name = "msg_tool_macro"
version = "0.1.0"
version = "0.4.0-alpha.1"
edition = "2024"
repository = "https://github.com/lifegpc/msg-tool"
description = "A procedural macro for the msg-tool project."
license = "MIT"
license = "GPL-3.0-or-later"
[lib]
proc-macro = true
[features]
artemis-arc = []
kirikiri-arc = []
unstable = []
[dependencies]
syn = { version = "2", features = ["full"] }
quote = "1"
[package.metadata.docs.rs]
all-features = true

View File

@@ -1,3 +1,4 @@
#![cfg_attr(any(docsrs, feature = "unstable"), feature(doc_cfg))]
use proc_macro::TokenStream;
use syn::parse::discouraged::Speculative;
use syn::spanned::Spanned;
@@ -34,7 +35,7 @@ pub fn struct_unpack_impl_for_num(item: TokenStream) -> TokenStream {
let i = syn::parse_macro_input!(item as syn::Ident);
let output = quote::quote! {
impl StructUnpack for #i {
fn unpack<R: Read + Seek>(mut reader: R, big: bool, _encoding: Encoding) -> Result<Self> {
fn unpack<R: Read + Seek>(reader: &mut R, big: bool, _encoding: Encoding, _info: &Option<Box<dyn std::any::Any>>) -> Result<Self> {
let mut buf = [0u8; std::mem::size_of::<#i>()];
reader.read_exact(&mut buf)?;
Ok(if big {
@@ -46,7 +47,7 @@ pub fn struct_unpack_impl_for_num(item: TokenStream) -> TokenStream {
}
impl StructPack for #i {
fn pack<W: Write>(&self, writer: &mut W, big: bool, _encoding: Encoding) -> Result<()> {
fn pack<W: Write>(&self, writer: &mut W, big: bool, _encoding: Encoding, _info: &Option<Box<dyn std::any::Any>>) -> Result<()> {
let bytes = if big {
self.to_be_bytes()
} else {
@@ -60,6 +61,103 @@ pub fn struct_unpack_impl_for_num(item: TokenStream) -> TokenStream {
output.into()
}
fn has_skip_fmt_attr(field: &syn::Field) -> bool {
field
.attrs
.iter()
.any(|attr| attr.path().is_ident("skip_fmt"))
}
#[proc_macro_derive(MyDebug, attributes(skip_fmt))]
pub fn debug_macro_derive(input: TokenStream) -> TokenStream {
let ast = syn::parse_macro_input!(input as syn::DeriveInput);
let syn::DeriveInput {
ident,
generics,
data,
..
} = ast;
let data_struct = match data {
syn::Data::Struct(data_struct) => data_struct,
_ => {
return syn::Error::new(ident.span(), "`Debug` derive only supports structs")
.to_compile_error()
.into();
}
};
let mut generics = generics;
{
let where_clause = generics.make_where_clause();
for field in data_struct
.fields
.iter()
.filter(|field| !has_skip_fmt_attr(field))
{
let ty = &field.ty;
where_clause
.predicates
.push(syn::parse_quote!(#ty: std::fmt::Debug));
}
}
let (impl_generics, ty_generics, where_clause) = generics.split_for_impl();
let fmt_body = match &data_struct.fields {
syn::Fields::Named(fields) => {
let fields_fmt = fields
.named
.iter()
.filter(|field| !has_skip_fmt_attr(field))
.filter_map(|field| {
let ident = field.ident.as_ref()?;
let field_name = ident.to_string();
Some(quote::quote! {
debug_struct.field(#field_name, &self.#ident);
})
});
quote::quote! {
let mut debug_struct = f.debug_struct(stringify!(#ident));
#(#fields_fmt)*
debug_struct.finish()
}
}
syn::Fields::Unnamed(fields) => {
let fields_fmt = fields
.unnamed
.iter()
.enumerate()
.filter(|(_, field)| !has_skip_fmt_attr(field))
.map(|(idx, _)| {
let idx = syn::Index::from(idx);
quote::quote! {
debug_tuple.field(&self.#idx);
}
});
quote::quote! {
let mut debug_tuple = f.debug_tuple(stringify!(#ident));
#(#fields_fmt)*
debug_tuple.finish()
}
}
syn::Fields::Unit => {
quote::quote! {
f.write_str(stringify!(#ident))
}
}
};
quote::quote! {
#[automatically_derived]
impl #impl_generics std::fmt::Debug for #ident #ty_generics #where_clause {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
#fmt_body
}
}
}
.into()
}
/// Macro to derive `StructPack` trait for structs.
///
/// make sure to import the necessary imports:
@@ -70,6 +168,7 @@ pub fn struct_unpack_impl_for_num(item: TokenStream) -> TokenStream {
/// ```
///
/// * `skip_pack` attribute can be used to skip fields from packing.
/// * `cstring` attribute can be used to specify that a String field is a C-style string (null-terminated).
/// * `fstring = <len>` attribute can be used to specify a fixed string length for String fields.
/// * `fstring_pad = <u8>` attribute can be used to specify a padding byte for fixed strings. (Default is 0)
/// * `fvec = <len>` attribute can be used to specify a fixed vector length for Vec<_> fields.
@@ -78,9 +177,20 @@ pub fn struct_unpack_impl_for_num(item: TokenStream) -> TokenStream {
/// * `pvec(<len_type>)` attribute can be used to specify a packed vector length for Vec<_> fields, where `<len_type>` can be `u8`, `u16`, `u32`, or `u64`.
/// Length is read as a prefix before the vector data.
/// * `skip_pack_if(<expr>)` attribute can be used to skip packing a field if the expression evaluates to true. The expression must be a valid Rust expression that evaluates to a boolean.
/// * `pack_vec_len(<expr>)` can be used to specify the length of a Vec field based on an expression. The expression must evaluate to a usize and can reference previously packed fields.
#[proc_macro_derive(
StructPack,
attributes(skip_pack, fstring, fstring_pad, fvec, pstring, pvec, skip_pack_if)
attributes(
skip_pack,
cstring,
fstring,
fstring_pad,
fvec,
pstring,
pvec,
skip_pack_if,
pack_vec_len,
)
)]
pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
let a = syn::parse_macro_input!(input as PackStruct);
@@ -97,10 +207,14 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
let mut pvec_type: Option<syn::Ident> = None;
let mut cur = None;
let mut skip_if = None;
let mut is_cstring = false;
let mut vec_len: Option<syn::Expr> = None;
for attr in &field.attrs {
let path = attr.path();
if path.is_ident("skip_pack") {
skipped = true;
} else if path.is_ident("cstring") {
is_cstring = true;
} else if path.is_ident("fstring") {
if let syn::Meta::NameValue(nv) = &attr.meta {
if let syn::Expr::Lit(lit) = &nv.value {
@@ -163,6 +277,10 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
if let syn::Meta::List(list) = &attr.meta {
skip_if = Some(list.parse_args::<syn::Expr>().unwrap());
}
} else if path.is_ident("pack_vec_len") {
if let syn::Meta::List(list) = &attr.meta {
vec_len = Some(list.parse_args::<syn::Expr>().unwrap());
}
}
}
if skipped {
@@ -180,7 +298,13 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
if let syn::Type::Path(type_path) = field_type {
if let Some(segment) = type_path.path.segments.last() {
if segment.ident == "String" {
if let Some(fixed_string) = fixed_string {
if is_cstring {
cur = Some(quote::quote! {
let s = encode_string(encoding, &self.#field_name, true)?;
writer.write_all(&s)?;
writer.write_all(&[0])?;
});
} else if let Some(fixed_string) = fixed_string {
cur = Some(quote::quote! {
let s = encode_string(encoding, &self.#field_name, true)?;
let mut slen = s.len();
@@ -197,10 +321,10 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
}
});
} else if let Some(pstring_type) = pstring_type {
let write_fn = syn::Ident::new(format!("write_{}", pstring_type).as_str(), pstring_type.span());
cur = Some(quote::quote! {
let encoded = crate::utils::encoding::encode_string(encoding, &self.#field_name, true)?;
writer.#write_fn(encoded.len() as #pstring_type)?;
let len = encoded.len() as #pstring_type;
len.pack(writer, big, encoding, __info)?;
writer.write_all(&encoded)?;
});
}
@@ -214,16 +338,25 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
return Err(anyhow::anyhow!("Vector length was not equal to {}", #fixed_vec));
}
for item in &self.#field_name {
item.pack(writer, big, encoding)?;
item.pack(writer, big, encoding, __info)?;
}
});
} else if let Some(pvec_type) = pvec_type {
let write_fn = syn::Ident::new(format!("write_{}", pvec_type).as_str(), pvec_type.span());
cur = Some(quote::quote! {
let len = self.#field_name.len() as #pvec_type;
writer.#write_fn(len)?;
len.pack(writer, big, encoding, __info)?;
for item in &self.#field_name {
item.pack(writer, big, encoding)?;
item.pack(writer, big, encoding, __info)?;
}
});
} else if let Some(vec_len) = vec_len {
cur = Some(quote::quote! {
let len = (#vec_len) as usize;
if self.#field_name.len() != len {
return Err(anyhow::anyhow!("Vector length was not equal to the specified length for field '{}'", stringify!(#field_name)));
}
for item in &self.#field_name {
item.pack(writer, big, encoding, __info)?;
}
});
}
@@ -232,7 +365,7 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
}
let p = cur.unwrap_or_else(|| {
quote::quote! {
self.#field_name.pack(writer, big, encoding)?;
self.#field_name.pack(writer, big, encoding, __info)?;
}
});
if let Some(skip_if) = skip_if {
@@ -247,7 +380,7 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
});
let output = quote::quote! {
impl StructPack for #name {
fn pack<W: Write>(&self, writer: &mut W, big: bool, encoding: Encoding) -> Result<()> {
fn pack<W: Write>(&self, writer: &mut W, big: bool, encoding: Encoding, __info: &Option<Box<dyn std::any::Any>>) -> Result<()> {
#(#fields)*
Ok(())
}
@@ -280,10 +413,14 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
let mut pvec_type: Option<syn::Ident> = None;
let mut cur = None;
let mut skip_if = None;
let mut is_cstring = false;
let mut vec_len: Option<syn::Expr> = None;
for attr in &field.attrs {
let path = attr.path();
if path.is_ident("skip_pack") {
skipped = true;
} else if path.is_ident("cstring") {
is_cstring = true;
} else if path.is_ident("fstring") {
if let syn::Meta::NameValue(nv) = &attr.meta {
if let syn::Expr::Lit(lit) = &nv.value {
@@ -346,6 +483,10 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
if let syn::Meta::List(list) = &attr.meta {
skip_if = Some(list.parse_args::<syn::Expr>().unwrap());
}
} else if path.is_ident("pack_vec_len") {
if let syn::Meta::List(list) = &attr.meta {
vec_len = Some(list.parse_args::<syn::Expr>().unwrap());
}
}
}
if skipped {
@@ -364,7 +505,13 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
if let syn::Type::Path(type_path) = field_type {
if let Some(segment) = type_path.path.segments.last() {
if segment.ident == "String" {
if let Some(fixed_string) = fixed_string {
if is_cstring {
cur = Some(quote::quote! {
let s = encode_string(encoding, &#field_name, true)?;
writer.write_all(&s)?;
writer.write_all(&[0])?;
});
} else if let Some(fixed_string) = fixed_string {
cur = Some(quote::quote! {
let s = encode_string(encoding, &#field_name, true)?;
let mut slen = s.len();
@@ -381,10 +528,10 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
}
});
} else if let Some(pstring_type) = pstring_type {
let write_fn = syn::Ident::new(format!("write_{}", pstring_type).as_str(), pstring_type.span());
cur = Some(quote::quote! {
let encoded = crate::utils::encoding::encode_string(encoding, &#field_name, true)?;
writer.#write_fn(encoded.len() as #pstring_type)?;
let len = encoded.len() as #pstring_type;
len.pack(writer, big, encoding, __info)?;
writer.write_all(&encoded)?;
});
}
@@ -398,16 +545,25 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
return Err(anyhow::anyhow!("Vector length was not equal to {}", #fixed_vec));
}
for item in &#field_name {
item.pack(writer, big, encoding)?;
item.pack(writer, big, encoding, __info)?;
}
});
} else if let Some(pvec_type) = pvec_type {
let write_fn = syn::Ident::new(format!("write_{}", pvec_type).as_str(), pvec_type.span());
cur = Some(quote::quote! {
let len = #field_name.len() as #pvec_type;
writer.#write_fn(len)?;
len.pack(writer, big, encoding, __info)?;
for item in &#field_name {
item.pack(writer, big, encoding)?;
item.pack(writer, big, encoding, __info)?;
}
});
} else if let Some(vec_len) = vec_len {
cur = Some(quote::quote! {
let len = (#vec_len) as usize;
if #field_name.len() != len {
return Err(anyhow::anyhow!("Vector length was not equal to the specified length for field '{}'", stringify!(#field_name)));
}
for item in &#field_name {
item.pack(writer, big, encoding, __info)?;
}
});
}
@@ -416,7 +572,7 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
}
let p = cur.unwrap_or_else(|| {
quote::quote! {
#field_name.pack(writer, big, encoding)?;
#field_name.pack(writer, big, encoding, __info)?;
}
});
if let Some(skip_if) = skip_if {
@@ -442,7 +598,7 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
});
let output = quote::quote! {
impl StructPack for #ident {
fn pack<W: Write>(&self, writer: &mut W, big: bool, encoding: Encoding) -> Result<()> {
fn pack<W: Write>(&self, writer: &mut W, big: bool, encoding: Encoding, __info: &Option<Box<dyn std::any::Any>>) -> Result<()> {
match self {
#(#variants)*
}
@@ -465,6 +621,7 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
/// ```
///
/// * `skip_unpack` attribute can be used to skip fields from unpacking.
/// * `cstring` attribute can be used to specify that a String field is a C-style string (null-terminated).
/// * `fstring = <len>` attribute can be used to specify a fixed string length for String fields.
/// * `fstring_no_trim` attribute can be used to disable trimming of fixed strings.
/// * `fvec = <len>` attribute can be used to specify a fixed vector length for Vec<_> fields.
@@ -473,16 +630,21 @@ pub fn struct_pack_derive(input: TokenStream) -> TokenStream {
/// * `pvec(<number_type>)` attribute can be used to specify a packed vector length for Vec<_> fields, where `<number_type>` can be `u8`, `u16`, `u32` or `u64`.
/// length is read as a prefix before the vector data.
/// * `skip_unpack_if(<expr>)` attribute can be used to skip unpacking a field if the expression evaluates to true. The expression must be a valid Rust expression that evaluates to a boolean.
/// * `pvec_max_preallocated_size(<size>)` attribute can be used to limit the maximum preallocated size for packed vectors to prevent excessive memory allocation. If the unpacked size exceeds this limit, preallocation will be disabled. Default size is 0x400000 (4 MB).
/// * `unpack_vec_len(<expr>)` can be used to specify the length of a Vec field based on an expression. The expression must evaluate to a usize and can reference previously unpacked fields.
#[proc_macro_derive(
StructUnpack,
attributes(
skip_unpack,
cstring,
fstring,
fstring_no_trim,
fvec,
pstring,
pvec,
skip_unpack_if
skip_unpack_if,
pvec_max_preallocated_size,
unpack_vec_len,
)
)]
pub fn struct_unpack_derive(input: TokenStream) -> TokenStream {
@@ -500,10 +662,18 @@ pub fn struct_unpack_derive(input: TokenStream) -> TokenStream {
let mut pvec_type: Option<syn::Ident> = None;
let mut cur = None;
let mut skip_if: Option<syn::Expr> = None;
let mut is_cstring = false;
let mut vec_len : Option<syn::Expr> = None;
let mut pvec_max_preallocated_size = syn::Expr::Lit(syn::ExprLit {
attrs: Vec::new(),
lit: syn::Lit::Int(syn::LitInt::new("4194304", field.span())), // Default 4 MB
});
for attr in &field.attrs {
let path = attr.path();
if path.is_ident("skip_unpack") {
skipped = true;
} else if path.is_ident("cstring") {
is_cstring = true;
} else if path.is_ident("fstring") {
if let syn::Meta::NameValue(nv) = &attr.meta {
if let syn::Expr::Lit(lit) = &nv.value {
@@ -560,6 +730,14 @@ pub fn struct_unpack_derive(input: TokenStream) -> TokenStream {
if let syn::Meta::List(list) = &attr.meta {
skip_if = Some(list.parse_args::<syn::Expr>().unwrap());
}
} else if path.is_ident("pvec_max_preallocated_size") {
if let syn::Meta::List(list) = &attr.meta {
pvec_max_preallocated_size = list.parse_args::<syn::Expr>().unwrap();
}
} else if path.is_ident("unpack_vec_len") {
if let syn::Meta::List(list) = &attr.meta {
vec_len = Some(list.parse_args::<syn::Expr>().unwrap());
}
}
}
let field_name = match &field.ident {
@@ -581,15 +759,19 @@ pub fn struct_unpack_derive(input: TokenStream) -> TokenStream {
if let syn::Type::Path(type_path) = field_type {
if let Some(segment) = type_path.path.segments.last() {
if segment.ident == "String" {
if let Some(fixed_string) = fixed_string {
if is_cstring {
cur = Some(quote::quote! {
let #field_name = reader.read_cstring()?;
let #field_name = decode_to_string(encoding, (#field_name).as_bytes(), true)?;
});
} else if let Some(fixed_string) = fixed_string {
let trim = syn::LitBool::new(!fstring_no_trim, field.span());
cur = Some(quote::quote! {
let #field_name = reader.read_fstring(#fixed_string, encoding, #trim)?;
});
} else if let Some(pstring_type) = pstring_type {
let read_fn = syn::Ident::new(format!("read_{}", pstring_type).as_str(), pstring_type.span());
cur = Some(quote::quote! {
let len = reader.#read_fn()? as usize;
let len = <#pstring_type>::unpack(reader, big, encoding, __info)? as usize;
let #field_name = reader.read_exact_vec(len)?;
let #field_name = crate::utils::encoding::decode_to_string(encoding, &#field_name, true)?;
});
@@ -600,13 +782,17 @@ pub fn struct_unpack_derive(input: TokenStream) -> TokenStream {
if segment.ident == "Vec" {
if let Some(fixed_vec) = fixed_vec {
cur = Some(quote::quote! {
let #field_name = reader.read_struct_vec(#fixed_vec, big, encoding)?;
let #field_name = reader.read_struct_vec2(#fixed_vec, big, encoding, __info, #pvec_max_preallocated_size)?;
});
} else if let Some(pvec_type) = pvec_type {
let read_fn = syn::Ident::new(format!("read_{}", pvec_type).as_str(), pvec_type.span());
cur = Some(quote::quote! {
let len = reader.#read_fn()? as usize;
let #field_name = reader.read_struct_vec(len, big, encoding)?;
let len = <#pvec_type>::unpack(reader, big, encoding, __info)? as usize;
let #field_name = reader.read_struct_vec2(len, big, encoding, __info, #pvec_max_preallocated_size)?;
});
} else if let Some(vec_len) = vec_len {
cur = Some(quote::quote! {
let len = (#vec_len) as usize;
let #field_name = reader.read_struct_vec2(len, big, encoding, __info, #pvec_max_preallocated_size)?;
});
}
}
@@ -614,7 +800,7 @@ pub fn struct_unpack_derive(input: TokenStream) -> TokenStream {
}
let p = cur.unwrap_or_else(|| {
quote::quote! {
let #field_name = <#field_type>::unpack(&mut reader, big, encoding)?;
let #field_name = <#field_type>::unpack(reader, big, encoding, __info)?;
}
});
if let Some(skip_if) = skip_if {
@@ -637,7 +823,7 @@ pub fn struct_unpack_derive(input: TokenStream) -> TokenStream {
};
let output = quote::quote! {
impl StructUnpack for #name {
fn unpack<R: Read + Seek>(mut reader: R, big: bool, encoding: Encoding) -> Result<Self> {
fn unpack<R: Read + Seek>(reader: &mut R, big: bool, encoding: Encoding, __info: &Option<Box<dyn std::any::Any>>) -> Result<Self> {
#(#smts)*
Ok(Self #fields)
}
@@ -663,3 +849,134 @@ pub fn gen_artemis_arc_ext(_: TokenStream) -> TokenStream {
};
output.into()
}
/// A procedural macro for `#[derive(Default)]` that supports a `#[default(expr)]` attribute.
///
/// This macro automatically implements the `Default` trait for a struct or an enum.
/// If a field or enum variant does not have the `#[default(expr)]` attribute, it will
/// use `Default::default()`. If the attribute is present, it will use the specified
/// expression as the default value.
#[proc_macro_derive(Default, attributes(default))]
pub fn default_macro_derive(input: TokenStream) -> TokenStream {
// Parse the input tokens into a syntax tree
let ast = syn::parse_macro_input!(input as syn::DeriveInput);
let name = &ast.ident;
let (impl_generics, ty_generics, where_clause) = ast.generics.split_for_impl();
let default_body = match &ast.data {
syn::Data::Struct(data_struct) => {
// Handle struct fields
let field_defaults = data_struct.fields.iter().map(|f| {
let name = &f.ident;
// Find the `#[default(...)]` attribute
let default_value = if let Some(default_attr) =
f.attrs.iter().find(|attr| attr.path().is_ident("default"))
{
// Parse the expression inside the attribute's parentheses
if let Ok(value) = default_attr.parse_args::<syn::Expr>() {
quote::quote! { #value }
} else {
// If parsing fails, panic with a descriptive error
panic!("Invalid `#[default]` attribute syntax");
}
} else {
// If no `#[default]` attribute is present, fall back to `Default::default()`
quote::quote! { Default::default() }
};
quote::quote! {
#name: #default_value,
}
});
match &data_struct.fields {
syn::Fields::Named(_) => quote::quote! { Self { #(#field_defaults)* } },
syn::Fields::Unnamed(_) => quote::quote! { Self(#(#field_defaults)*) },
syn::Fields::Unit => quote::quote! { Self },
}
}
syn::Data::Enum(data_enum) => {
// Handle enum variants
// Find the single variant with the `#[default]` attribute
if let Some(default_variant) = data_enum
.variants
.iter()
.find(|v| v.attrs.iter().any(|attr| attr.path().is_ident("default")))
{
let variant_name = &default_variant.ident;
match &default_variant.fields {
syn::Fields::Unit => quote::quote! { Self::#variant_name },
syn::Fields::Unnamed(fields_unnamed) => {
let field_defaults = fields_unnamed.unnamed.iter().map(|f| {
let default_value = if let Some(default_attr) =
f.attrs.iter().find(|attr| attr.path().is_ident("default"))
{
// Parse the expression inside the attribute's parentheses
if let Ok(value) = default_attr.parse_args::<syn::Expr>() {
quote::quote! { #value }
} else {
// If parsing fails, panic with a descriptive error
panic!("Invalid `#[default]` attribute syntax");
}
} else {
// If no `#[default]` attribute is present, fall back to `Default::default()`
quote::quote! { Default::default() }
};
quote::quote! { #default_value }
});
quote::quote! { Self::#variant_name(#(#field_defaults)*) }
}
syn::Fields::Named(fields_named) => {
let field_defaults = fields_named.named.iter().map(|f| {
let name = &f.ident;
let default_value = if let Some(default_attr) =
f.attrs.iter().find(|attr| attr.path().is_ident("default"))
{
// Parse the expression inside the attribute's parentheses
if let Ok(value) = default_attr.parse_args::<syn::Expr>() {
quote::quote! { #value }
} else {
// If parsing fails, panic with a descriptive error
panic!("Invalid `#[default]` attribute syntax");
}
} else {
// If no `#[default]` attribute is present, fall back to `Default::default()`
quote::quote! { Default::default() }
};
quote::quote! { #name: #default_value }
});
quote::quote! { Self::#variant_name { #(#field_defaults)* } }
}
}
} else {
// Enums must have exactly one default variant
panic!("Enum must have one variant with `#[default]` attribute.");
}
}
syn::Data::Union(_) => panic!("`Default` macro cannot be derived for unions"),
};
// Construct the final `impl Default for ...` block
quote::quote! {
#[automatically_derived]
impl #impl_generics Default for #name #ty_generics #where_clause {
fn default() -> Self {
#default_body
}
}
}
.into()
}
#[cfg(feature = "kirikiri-arc")]
#[proc_macro]
pub fn rhapsody_crypt_const_name_hash(input: TokenStream) -> TokenStream {
let input = syn::parse_macro_input!(input as syn::LitStr);
let s = input.value();
let mut expanded = quote::quote! { 0u32 };
for c in s.chars() {
expanded = quote::quote! {
RhapsodyCrypt::update_name_hash(#expanded, #c)
};
}
TokenStream::from(expanded)
}

2
msg_tool_xp3data/.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
Cargo.lock
target/

View File

@@ -0,0 +1,22 @@
[package]
name = "msg_tool_xp3data"
version = "0.4.0-alpha.1"
edition = "2024"
repository = "https://github.com/lifegpc/msg-tool"
description = "XP3 data for the msg-tool project."
license = "GPL-3.0-or-later"
[lib]
path = "lib.rs"
[dependencies]
zstd = "0.13"
[features]
unstable = ["msg_tool_build/unstable"]
[package.metadata.docs.rs]
all-features = true
[build-dependencies]
msg_tool_build = { version = "0.4.0-alpha.1", features = ["kirikiri-arc"] }

View File

Binary file not shown.

28
msg_tool_xp3data/build.rs Normal file
View File

@@ -0,0 +1,28 @@
fn main() {
let source_dir = std::path::PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").unwrap());
let crypt_json_path = source_dir.join("crypt.json");
let outdir = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap());
let level = std::env::var("MSG_TOOL_KIRIKIRI_ARC_GEN_LEVEL").unwrap_or("22".to_string());
println!("cargo:rerun-if-env-changed=OUT_DIR");
println!("cargo:rerun-if-changed={}", crypt_json_path.display());
println!(
"cargo:rerun-if-changed={}",
source_dir.join("cx_cb").display()
);
let arc_level = level
.parse::<i32>()
.expect("MSG_TOOL_KIRIKIRI_ARC_GEN_LEVEL must be a valid integer");
println!("cargo:rerun-if-env-changed=MSG_TOOL_KIRIKIRI_ARC_GEN_LEVEL");
msg_tool_build::kr_arc::gen_cx_cb(&crypt_json_path, &outdir, arc_level).unwrap();
let level = std::env::var("MSG_TOOL_KIRIKIRI_CRYPT_COMPRESS_LEVEL").unwrap_or("22".to_string());
let level = level
.parse::<i32>()
.expect("MSG_TOOL_KIRIKIRI_CRYPT_COMPRESS_LEVEL must be a valid integer");
println!("cargo:rerun-if-env-changed=MSG_TOOL_KIRIKIRI_CRYPT_COMPRESS_LEVEL");
msg_tool_build::kr_arc::gen_crypt(&crypt_json_path, &outdir, level).unwrap();
println!(
"cargo:rerun-if-changed={}",
source_dir.join("name_list").display()
);
msg_tool_build::kr_arc::gen_name_list(&crypt_json_path, &outdir, arc_level).unwrap();
}

2557
msg_tool_xp3data/crypt.json Normal file
View File

File diff suppressed because it is too large Load Diff

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,18 @@
wÚ ß\úɨ¥¾i7¿EDÆxÑ ZúêVwëy0Hk‰î#",Ù÷æè0Kñq–eà5ÈÖ2‘Äø¬Ú
€f@lžì…·G­F#ØliSïÛÌÐJ¾ŸCà[cØânðzÊ‚®ó5ehö–ø´¯ ô¯&3ôöU&…+$:éË5½6—Lxcm¥‘Þrg]èÄy[uè2t�Êe³I‘âj×�$ :_cF•ƒ ×f÷Ò6î�ñi‹+‚‰b:9}*–\v<��
¥’Öë;•¯ùNÑ�šß!ã7‰Oד*þêÈ9…¹��˜å[" ,m 6H$‹z—2ËE7<ö°Á)8?j�ø.ÔäºÞðkgTfŸ†7úVà„HWC’m¦æ1b 7¨šàŸÍ\—ˆ �Þ.hñ˜óØc+ˆ3ø*+,Ú‡Äã‹ÞïP“\¾÷ݬl³’P&ÿبI#ps|*íwà¾ýnd|Y ÌÔ°G׺³¾î0¶Ê8=mÐNc!ŽéÑJW¼ôd§biTãFÖŪäÐx×Ð֜Ҹ%‰ßcÛ9úŠ×W}Q>šs†D£36,q&—˜u®j9$’ ÓiK®]J �²Éâ\ójñ>×$ÃúK17ωš#yiÖ¾Eñs{JÌç}çŒdPc*†—½2Š� tò©éñàÇ¢b7mÒ¤r‘W�'šZYq¢·Uª¾IÂvÆoúVŽbË•&@Y{N+xA¶ÉÈ1|(ƒI>ü�ÑVC;…áwŒäã]–<†k6ù¸sâuóýfUóma=æS½'‘ôýL<h0ÖLÈSœüu
4lü3Dk›=§þ­�¦¶ºÈ›ßªàÆ«9™`«_ô‹ézYüO¼Æ°«º©aîç>òq]Ý^bä›ç¥àI\8)ˆP?—í8Fß½2V‘Ž#\ý5qŸ&øzÄÌèýíÒñSÁW ´ÄIC¹æ\Ž‘�Ayv”2 w{d‹¾¡^?S÷ÒÊ“F’lïvPãˆ}†”î‚oïÁÒwK³‚ç�DÿîÚ£A¿–,Jiö¡˜,ò,0-•.¥H-„®L@Τ¡–0S)¿™ óW·§Ãk”áë ;]Ny‘4ÙkøT#ôoùÑK¾äG/—Ñ©a|œ «uUÖØµ�ò5\>×ýª˜9é @ÝpÒ+ºäºÈ):çæ5
S-ªš)Wc[(Ü Å!÷̰ÿ^qƒß"C†:U¨·Ô±’$ƒ±w„
�þ“Ú†í½÷Ä"d™e(÷]põâìÙš«WËZZg¤Þ—7ÛKy9[ w@R€6pj‘*˜¬‡x‘â�ìNÒQCºÓ žö OêC&6Ó‹A—W���+ÚÓ½´E¶<ÁíîÔç<¼dÊÎÞêYjй0k–âQl³óüKVh5 �¾<¯ô¢­¾ÕøiÔ£2ÇgÕB¢ PN ËÇƒŠ£ NæÜmߣÅhÃQCApt°nF—µ¹É‚a¦ƒ½Yë½bŃ g6#^Gª¿!$æèMjé«!&N
ò^ZVÖøhaôÀ[y W®šåz…¥3®†¬läˆ2XÑ4�r›…«jØT™O\"¶W~çÏh{ŠFô ¡ûÞ}‘½ûíIGcÛp9ÇìØ£*è×ô ´ý'rZˆ¢oR»ûcÕÜÚvÎl»Î\Z ï<¹'Ž �´ër3ÉKI�®k š¨ÖO¹‘± •4VöαéæPÄt©"“`?Nç''¬˜ zC?
µ€ƒÊÔÀ‰³� ôG�–š³€}ŠŽ'ª>ßhrž6±YT è¶©vʘìZ÷»}Þökûôd6n‘%·'-¦–}+ҵ˒TKƒá;4ݱ)ÕÉ|TÀ…z˜J·m¹Gdo•g2@P\!h‘—ÿ€ %ˆÿšeqO} y ôm
¢”:¬M<Ç"KnúÌø™F!E”¿„¿°[ôßøªrºìAÔ'KSyY v›â²Y ˜"î3I{\™R’Á🎦©0§c="ešé&rᔆñÝšòEH°Û„¤½QUdm.‚VÁ5z�] o‡b¾”3žñ¹F,ÁÈTWœš¦7à[†Å#þÎŒ±çb37¤U^Øt¸;ò]ª›gxb�–)Ç'>ð�ÒýÙK¿ÂÓÔ6ZφÞKÏ[æŽH†­á ?´Å„YþÜú¨2ñ �ðÝ{¶ ü›m¥¯3#v&x„²ÿH«,µkIó–¹*b¹UÁß¡¸rK
.bµ¯³ïbU¶k—�o¦™id�7C= øÝåƒCQÉçã ¿¾'fýmæM7uΩˆ
G›ºá:#‚ŸÓ^}µðtKÇ»¥¯Ôï5`IåûWJf¾‰äœx‹ˆÂúm¦'¡7ÐM‹¤á«g"îî2%’ Ÿlë]ü!Õ°­´ŒsäižÅM*[åþç³RÝÊÕ,2
ùf$*˜£ShHü‚”—c¿$õ
z§å¿+ž-Ÿ.^6EFuÃÇkïC�ŒúÏDE`°ç yBý½
#â£,{ØdŒ][8Ç™Fø~u;ßÍ�öÙ“ª¼š6”sðÉz¤\øPZÀ£?«Ô†07Uí4Qö|öbò¸Ôw�,N»¶œZ¿ô»Þ8\=)zzUà“Îl}s°ôÞ^pè�¦x[×l¾ÍtH(~·K¼7Ùz÷³ê'´¥D¤¥g€ .Žu¡ñ7ô&•Ù±;Ó]=)Wªê7_¢Œ5¶¾Õ\�V6&LF�'ÊÃ+!é#­cù0‹±SˆÜê|X`éáM†û/Sôh’lÕuêâ­ÇÈÊå_â?ØÒXcI<“´ÏÏ蹦ÅÇÔš­ññr›åŸ'X2Y¯ŠgƒÌü|É=`¨l­#$g&÷U2“kYG¬,J¸]!m<Ž6­håä4„ºïóó([/HˆO&Ë JÚƒ†V%2àWHVm€ˆ+-1XK€°˜ˆ>ZÈÕ:ðŠê·û¥£;'oýŒíRZvÒŸµDE‰þAÕ$ÀÈ$QÆuôŒ^>Ô^tQôÆpp};l�û¿à%�´O5iÒ4‘8(—! fLÅ�+ŠªÊúœMg¢lîÞCBAܽ·Ø©ÈöIˆ¼¨ØŸ¡ù'J�[�(ô®Ö#AÁôE\wë=Í×W1¶Í?§yp»`]4�T¥Cð¿éI§¬AUÚ§àGIžoÕî‹ðiQƒÿÿN¥ñžÛ4e´åô”Õ÷Zd a5SB!¬íï·ÒmM WÁ9ïBú!�½¢Oö™ ²}Ž|ecîá'åì�»gÖ°¾ã¤%ìÁsw÷ÍÓ‹fYñåZû93¿c®{¸¸ò
–^Â;bïªYÀÌôé!(nŸë* ׫&.¡TI1§†Z+ñŒµ8*E+ô%óm¨6¹h:vÕí75×›IÑRmÙ7úþ×:©Ý@_ïžCþÑדšp¤/•`mf ÂcS„ûÿÖW Ž.@êJcÖÆë ‰\ç{^Ñ„?m «‡ë’„š0s¥šîQQçÙkbN©ºÐÒ2^föqþýiõHÌØ@È¡ïͳ%‡Á8Ù\¯·ú•8Eðûex€ð™ •á�Üß=U†’ÿeãœù#QX°¬�œ`–WÉ—¢;qѶ¾Å/•…{4�üx4S»tâî’{;FZÛYÏoí†_1À´íÌ=Êä¯z�uîþÏÚºö&ãè`Åò®}m¤Wúý¼f°¯ô'œÌpçñ‚¿µ,ùáÍp94>xµ»Š§ùÜ@* ge×+0Ó†�T)Àÿ–®•,ü´�óD·¾gH_‰þ „+Ý©ß9aí;pŒ3·r2Û—söÆL¶eá4¡¬ïp]Åtÿø»F4 ùÏCŒ=ºZD‰.L³/Jñ"œÀÞÇ Ö·�R±£�Ê5�91¦Ñzä/¨lmžÛÝWŸð6ž=ük¹cU_…D¡º#ôÄF¦}§vó}´¯sw†c\ŶL[IªÝÛ àžî -iÔ¹‹{ÏèÊ”—= ‰xgÀÌy ê.KiÂ,EóèìäEzîí·¾´ƒ|F:˜7²H›„ÿŸ s2|6\çu6f¬.bR`W/]æ�„c»ì”E6vÂ7=ÅîvRRˇì£ë‰<㯢êƒê›im˜põ%øìë½ÃFá-ö4˜´Øä¡*ôW ™ªŒcfÖY†ºY.G¼6žå^~€ý*¢Âq7iZ¸A ¿ZØÅ}â͵MCÝà䜋Çßj×m­?>pnõF­L¸=š2zï |‚z)¦øFÅñ÷oôð¬tYi‰íê÷á&¢—DŽaÓý§ØÍ™±Úç>÷?kw»ƒUhÜÄJë£rÞ™mtYOJ>ß?¼þ`¸ƒ›_z ÄÚ,‡«ÕòÀ/ŸBm=Èà ¢ãËç³Et„"þàsÌMøWhr2ýªÿ:z1²oå0Æ
WzˆÁ$E· ‹oBüz«œIF ‡‰Y²ŒçÁ³´¼ºå}½£bú<Ð¥êäèˆÊ©ãB1�f½5äÛL;¯k×"åó¦ÉôV±�¥cªMõ>û˜…Ü«l)F¸[Óœ Ó´;8¦š‚Ó( ÍÓ;j‘Tò”|áHÄrûw­(-%2ȉIeRPþK8Æ„÷‘¿àĨ(˜T¦¸‡ g/h ¯‘/qeæ}ÃF!Ç¥ÞÑó‹"£qTEDîæ 'ÁÇD“(ìÆ ûFª#c;Õ=q¡;'šL�å�é†�ðMµD¿í“¯Ýä´ Q�{ç)_û}T:Æü<,2IHÅr"üorvž¢EŠÓ©³IŸ—Î ËfóÊëL 5D¡J3…mÔš°>5“þ"ù.‘ŠQëz£Úl½¤·O{ëŽèÒ$N¹³y&�ˆ©0¤ù£;ØvÕSfž¦¶0üÕ<¼“A’â÷Â݆©¹îÈÕ$Žæò™ àb{˜U{¹ƒü’M„-…’@™H^´ïû¥‰EŠ\ç0sÆš™nÜ2ÐÖ§ZÈgv÷KiÌ ¦ÒEOÕБþ—Å=ƒI0Û5³v¥Œ·ö;–d ^U‘Ó=пuOÈ[Ÿß}gSßnJóÒÄbxY‡¸c·goé¨ë;�ˆ– I>&0Ãî¿“Gbs¬�GÏE;�üµŽîæÉ(æAo¯6&\mo¤œÈ£ÄM´ìt]Ÿ�<�iÑ(vÇ„
þpÓDìXKüRœÈMèBÍ×4-®�{¿¾rVß`?¥.¹%2M˜8Æ
÷™4™Á=$ÊÄÊ4ó3‹ï]ì4g¼0~=ÆÔ½c&æ$˜

View File

@@ -0,0 +1,15 @@
vŠ�WB6Èõ‡ÚIÙ¬`É¥Ý - TiºÀ»m:'ƒIÞÝêí°sÁÐ)ðòèF�Ž$¼£ÕøHéÐáJŃÑí|ó©�
;þx�Q8CÏíu�“üVÎd=�òÞ9[yE�}OËÏH§~i�&wW·=.�{)Rå¬[«òá2>°7lÝX—ÈãIšm¦n#2ÝØ¤Gô®Ø7^ìËóÉáWO6n¤Pf“kÍÔ¹y®zr¸1aLŸ˜…ŽéN§¨^Çü޲ÃNÙqÞԔ Äí<Eï»Ì.ýj¿¯f’u]VЭÄŠöpt�¨½Ô23Jã6.°$”Æ–1ÀUá\”æÕÎ>*Ö‚’ä´Xܧßwù b8XìÑ£¦÷Ãn
0FEØbäåfÏ>Þó½ÿù,ܵí£_ÇH½³�ZNç¼mÒŒHoØ¥ó/BH¤Ì™ÿÂùê1rÁ¯*¡�»v{9âãIC£èJ`ÐSÏ#Ðýîôœ.tâE ÐxÏö~ˉ9‘^3DÎÊy`(Cq�£ÚÑ´ùäÓËQIâÌ3áO
a—Å ­øõ²Ž �tCÞ+çjA†Ð§ &1¼s�83fϤ:Ñ è ·ÙÊM$´�%ò/pJ©`´%%ÂvùÔ߉ /ÑÉ;~Sù“oÇ®A0_YŽ[šiD@?â¾zK=3ƒçxØ¢—üÁAìú®�.%0TQ6'*‹r|}¨ô0«ÉIv»¡êmÆä¥€ò*<GTcrÞT÷å�cî™|UÏy,†pÒŽÊýGïaäý_…ÜŸ ™ ò}Emógñ„"þ=¹Ü;]n#&
?°ç¹»>¢åÓ'Üaúã:š&±ÛÏÄúÿPûÖ´�‹ˆ¶ì} Ã²’Â�GÔ#JÄ„
ìÖ±·%¸ åO ”1œÞ݉¾!s0XŒÚV%LU7`¬3íÈ÷n'­>ò‚êÀUL)�¶øḄÒô5Ãy£î�‘¶ý›í5ÂTr¯˜V ‚JMä8„Å<w|´]ˆ˜ Õ�a–�µWs#Œ`Òa»³§1à–O^Ý致ôúŠ1Ù2¯*\Ê•µrOS`0‰[�ž¶»©¾ul¦¹ÿ±]ߥJ�“NÑpPè´ª;•s‘�'®vEF1+ެÚµQðõŸKz–É«8œ{ 79H(Àb°0˜öMª"eþÑägËnÍ`t<–ï¾sÔM»)ƒÍ�%LºÒQþåœÚAxBÔ³IÁý%b[£’FÄURÆX3¹&<F¸(ï{+µ·¬^Vï¿u”ºšsikò in¹5|·³tåi,ã}‚nïíʘñ…“¥_Êh–°fß 4Z[ ±É¬l2ºã„¼•™o7 ‘³Ðt—üá|·cíeÒ!üýXE„²Iïg#cî3oo…êæ =w°ì9msv´+pQ 7w*ªS¶s“�t
—‘‰†v-„êY¹¯,�&uæ6¨YH¸+L2ßpŽ-¯ærc�½hýC›~˜'UhÓáÚÚÓ<  Õ–¯/ÿu4ˆ¹Up]DœbæéX_Ï£ÆÌœÂIј:Ðx6-AØ»[;¶»�ÜEâ )O5fY8Ÿs¼�b�¦›9] fÔDcG„Ü›Ÿ—÷Úó,t68•ÂkÃK,óde¹Õ;ñ©Ï»_KrèGÌàIõ~>�z…Г8�8LÉÔZwä-/@ðÖ á*2 ¤ΈýÔq£Ê§|ç“pv?J±¿’+ΪÛûVcÙÌ…g–ayS�€ež)¶´ÅÒª[äÉÆÄLGßJ\üvÈŒ…ö¨‰»ÅF«°°èÈ@ž÷bx¬ RòÛ.”ÿƒÔÏrï£qv‚z;:/~²¾Æ°u+83Jˆ+Q¶¬eN ûØõ‹M$~{æÕQ LGÎõ;4m…¶ù™¸” y‰¦ß¦oo,$tÓÃ�Ôø(wù©ã 0†o:hWÄD ²¿9-HpËÝd¯ø´¥+F©&Ͱ.´Ë:X'±º<uµm+ðʸfÔ&«ô”F¯jhTn ê¸ìÚ˜ÈUkÌQ†J¡ÛèX­9E„ûÿ“„'wj¯È%J3¶²;/´CZ[[ý,€ÔŠÇÃ',ÿR¯YÞ_\ÙùšŒú%EÌ'�ß¿C¯(çÁyFšÃþølÜÝ/…>A]E+–áñì•1ïÉ�–f^\$!ã5�=;6²¹.ØZù\VÕOA;–‰ú߆±B‘¯ J7;˜xÄTÏÉjs�-©i§Š¬±à‡’Ü>OXìÆäâú»ˆX”åÏÜh.ròPUb üíï=Ž H‡Œzq×5Mg—kí!‹²èJ®¡] ùþo�lø~CLÝIÙøJ¹ÀœÍŒäÙ"»PdÇÕ�ÅQ¶Ãr¤[�õ4½·ÿl KÀ
™S>¢5Z”ÂNÍ›Ø ‚k…òLwÆz®¥'øƒ™ÚèOÌÌÍG7R )u¼ÖÞT‚b¼'@¡–©p[îëÖ*û“Æùäk˹¤2vç#[æ¾CæRÍ#”Ãÿ¶iâXZ#ÆSÆÜ ö¥wi—`�OèŒøbQ’'6Ù-x$·È„Mì$—ôÒ™‹T:*¿ÐhÎ’ü(mäw£×gûF*ÕÛßñ`4Ÿ'öAÚhw”N ]î)‘"c.^ðÏ‹pÕïg&ÈWk(çiÕ~ZÕxö~ï’Øë:¹¢ÁŽb¢¡ÅÓã¯/ÂÁüÆ7|SLÔ€Ñi�Ý»qx°,d=¸åÝè±äo§ñ�òn¢o·�h� UÛÂŒšêZ0eáë­‡þ7BÁ´&¼ù"âQ-äÎß}ø?«>¢9`XêŠèGÍeQ¬ðóì"mI}=†q)\ùžg‘Úâ§…˜6†|›[ž&ÅÚ©†4âžóÌïêB<©”»ŽÛô|Ö-FR±PdC¿<ü-ùq~Åù•žÊÊf¹)yRÑ�´â³~ ̓<­?åa¿µ!¤¦
†°yÿzzY½–{ß=ªÀ‘§Úä§@º”Ó¥Æ-âE¾«¦Õ~ò´·G¨øÞr/í†=ÒÍ‚ï­É|ôú¡e:çe,êN€œT–èJ‚ôbPŸn ĺs[
!†ƒœ¹ñ¿ÿÕHÀ *›�TîœâmÃúã…aŸv6–ž�ÙÌ»ÙÔL;ÚÐå�º¾ãÐd¹Åv©+4ýö€¡æ4ú@u½ï·§Ší�¢Á[ŒY
KŒ4{¯ãÿŽ4Û_±¤Qý›t_%VÁ/?cïgQ­³¤XÑyÆèèϹæîÃû̇Ò\y&‡·¥§�Ÿ†]rfL×’º¾Ï¶]Éc“L ›˜"4kÐûøó­Ìôõp÷
vþ‹9‰oîPé_rÑ~Á�hÜ„™~i‘EøG/ÅŸk¦pœuÅZԠש³M›
vêd{ Äð¬cˆ‹—'‹ól(EóÃ3*™„ ˆL—i|B‚¼ó¬<5<NšÁø�Di a†ã*VJ;ž�ƒˆP4ØBåD«ÆmcNÙÏk½?“J´é:’&´¡†æ©3µÄš�EZœù™(ª\bØÙ|p¡G`p¸GÑÄþiRcHHã;]èœ6ü´bUµ²%³ËDÄ}¥'¥;‹ãàD\IØ!�:.èÑ#`kêòNB¬)mœ˜ßì7˜ñ8ÒY“§S6Ù?D“Y¨Âà 2ˆÕY-ŸJ�ÄÔd Jh&¨"œ ç«CK°Ð¬ªÉlâÓÈWÚÖåó¢ÙšXòMn[‰pwFW<l¤puF;€ÔÝóÃÐ]I³¥óÞãíO{XUSоL_ã¨ÖXY2÷SËo/”™z‚'ð\–¸ýÁ {ýp+cù¾J“lЇI£è#À'†÷eô2óŒI +1ŠF«&éljW[MÇ·z! ëÅ7v€ØÍÑÚ8Å_·å�u Û¹¿W~ÇÀöQ~vðI·£ g½„ä7êJDÙB”§¦�ã zõ œØþJ·ßxH$ €s!–ytÈW(ëä eæ‹;�Ên6ÛzBSý�DS¿.„?ÙÌðÐ ¤»7°�Æ ß"Û:ÉǹAc>PNËv'Žñ?9õÕwPàóš‘,BL»Sã@›ZŠ�Çh¨nfV�Ù¦%è}ì-~€Ž†»è&ú‡ÄF×ëÇÌFÞ/\?0úþvpþ0ÖÙÃ;¿ˆÇ,ë‚[MH’ù0y¼lAnCÌYå& ×jËúä=lÖ´³–¨Y¥yÂÑPÝB|ØxÓÑî¼ÿ.˜ë¢A%�WÃ0Ñ]ü7_ŒOŽ)}|bƒjt•XLÍ~C~Ð�åoÌ¡ (gTI½à¤JîfûPª·hb{’ªÊ¡%JŒ©JŒ‚�G&«™PíåÊc´B_£]ŽH”oí’|itÝï³<_)O—ɇrñÌ{ð‹²B»Bä(Šø´­R¤‰ÊýK ¦8«6´J„r®é•ƒWYFÈú¹ð2Ž•1cO\|Ž_÷ÁºŒ˜W�aO¬.G§»g6ÕuyÙ F‰É–ˆ>yÂ:(7˜¬ÄPO>§§nä1›8D�6!Ë&”3I:ÝÉ*Ô/ìç`4âßî
‚#X0sâC#œŽcÞÛ«eN)BéÍ}³®¬QAQoî›×L'bkï=ù“E S ±êyÞyøCû~¯Ì¯uŽó½‰œz'áÊPQLPOÂiì‹è˜BKD`PØë»ñõV‚”ŽçñC)Ð-v ü3Õ›^e÷[QLïj¾•VW¦5§´‘†üÑ�4M6þ÷‡ã±éóZœu©íz+e¬ó3Š{î¯à‘¡»VÂ(ˆ´X"ã”øy{›NX¶¤EiNˆ ô›âíÄW“'h1ÆGlðÍ�ó>~ù²1᮸9QR¢â¢: ÿØã �¬Iç$ËÉSãD¶ …ö‘›@SX¤DÉÛ«3²ÁeItÌâž~÷Æõë“ç)°,
æxÛk�cŒÇÔi¿ƒ ük»ÖÖ1mÆöj<¹‡ÑPE\à³µvo3~ìQ­OWGcý�ê—¾mSPwà¥{,Æ”«�±Ñ) Bâ•dÔ’Æ‹.gJ¾ŒoŸ¼áÕ¥¤¡`ì]?]O‘/7}ºL¬üz“„íö$òé÷ÒRÓúì:ò˜oÜÃÞ?<U¢–ü³?ÐŒÿh¦©éÜ“`w]8Èv6‘´Ý‚L4Íév úr9gø~Œzû¯ù8Åc‚ý¡Ô'ßÔruâ¼j¼1§´[åÔÜŒìèğ"Þ¸_ÁÌܧ7Ác°ýyðî'݆€¾ddAïôôФª>vW@!†¡ý+JIŽže[é§JŽ92³’*èxs÷ N^Øìû

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,16 @@
ýŒ¯i oÜOÜh³•žšÐTˆ«-$Ô#†ûlà!‚¯#i¤·¨ÿÒ‡Ó£ýÄt¨0T“ ¯k™í´UE! ’ïÏÌãŽñÅ[Î3)ö1Áyc*.Ö0U˜ZîŸû“­|x>|Ð�"‹5;gQÈ$C¨k‰üCüÌé€ó[–6€D£–ñú¡ƒ³7í¨—ùÑæ¾‚ˆ´¿~Ãw!¬}nß�Ý",Ó‹¡ª›^a�ü3Ñ.‹ÎQ÷vfóèQU’Ýé—È#v.Å໇Î×tú‰3B²YÒ…‰BL¼!ðŸmÒ[¡à62÷N·O¡¹.NËÁ;‰QbäãkÝO´!{² DWJK#�^vg‰‘R…�£¿
ë€Ëáï‚ÃßÇJþÞ{%% 1‹'Z²�Γ~!AÄm|¯w´êø(½œk¬¨›‚Ú}‚!é \½ååd€n%h�gP–€÷Ž~ÓÁ¹}Ê1~ì ¢q«pà©Ä³H'<0Ty÷:VÈ£Éûê. ÁÇYî¥Í×’~zõÁCmÙŒOkøy‹¾U“mÐ’â¤`(´V›ïãçÄ©/ƒ6 ÝôlýbÐ3ô(í±<‹Á6ÔrJAÖÎÇ»[«îkKåo%ÆI Z”oPüJ½*´UÏÊ5™0«æÏh:âlé;$Ø&-šZ<¸¡1l¢$j�‹>ZüüþÔv‚Þ†.îñV1€-­þ‰i5ñqB�}¢ª/v‚ÍÆL"›öba·s`¤œFIÄøFA(UD�´V�¼:ü½YüVÍ@IÛ¤û¡nWw€”îò
jRQ„x™Å¤ 2�Ûð+Ð èŽXBÉ- ôš¢ú L]B8¥mqÞ~ÝŠƒ¥3" CÚj[Ú£Qq7Ža1 7wy5èSʺ¾
Jö0ü2ͅŇl±* éÿú0·
`�{�wT�A•@ákF˜Ž‹4\ùÊs8 ¬Ý14þ‰è[o5ýˆ€f‰ tšÿá4™�‡¡.œ�ÚøÇQΗ i'æc'T9],ýœ-÷4›zYìúXÒ¡ÑÊÔTdÈ‘ði£Ã½:ÑTúBƒ?hÊÀ]UJ8`ž=žÐ/Év0C-† ¹Å0@¹ã lÓ+°o6o7Q úÚ*MsG®M��ÂQä á?¿F&t” “6xsñœýŸ\‡ð¬L2ÜoW1Hâz5q=ñx—— Ÿï°@û³ÔL{�sÃ<´<C#J¸£+½°¿”O6Ì�YsÊX’ß”}Ô ì<ø  I´‚¬6I¸‰ó@W“·°¾3)gÓ²o¯x¦»�64ÐŒ¼!,þψ›#€jÊ5B£9­é
OÄ£·ëxå¾�›w~o‚9ÇE’u÷è�ùù”.Ÿ {¥ú"7Ã@À¥÷j³¶Òã�2ó¹ñª‘mñæZ>÷ݺÜJ%ÀTWjt·D�è ¸ûI2¾&Xr[B1�_ß±"o^[{guµÆ.Äù¦MR­?v¸UÏ£÷8ð¥‰+!qâ‹4KÍ7àb £$®qžœ:׺p:ãëÔ �õøeG ^²dÞ%88áŒî=ufýìy¶É|¤Ï*­ ËYÈOyZðr“€©³ý-å¥YË4È�!¦õÀ/[÷ nkŸ;ÂA>˜äJ•�_üCß ìCªdØL
g@-jýÝPôîÃÙíWt€$²Z]ø¹Ü$á�D×¹4‘ß§B”¤³¸¿y¨[²\7´FˆMfóäÛJã;^vöPÉÔ;ÓÇmͤÆ-uË­¢Üëu3rLîp!oî@ØBñ!¼ƒw�‡›xÚ:…í$Å›9M‹Ø¨ o:†Á ~– ÷wúLÎ9º\ueÞt”Ý !®ô‚¦.ôÃ×§ô|yÿcðD¤çÒ¯qaÑÊZ #Lè<^[ã*<v¯Ö·±ki¾ ÍÁßø�‚žê]൵ðz›xÕ0Œ°,Ówß“GW•ZÐèÑÓ‡R°8MÉNO&ª ‰R+ VxWËíÆ„9�Bj©Ž¥‰Â;‡*<‚ÑиÊ$gC6Ã�Ö ¤y�ÊtK]Ck¡©F>XôS3²ùgE ySƒÚrÝ¡vcQýÛh/›å)«¶ 4´{–É ¢æ¾
Ýæ÷œP­Ä³—´×P'"0¿ÝüôÅh¨ÃKàü,8êö¼HVº3–aÖ ØØut#gZ%bžËø¤ôW E†V/¢›ÁŽŒ89Iþ �ŽLœýfrH„žSê"È¢ÊÀõ#ÙÆ!I!éY  z0�Ÿxp™…ž>¶|`˜úŠâ_KM�W…úRÕ2ÂGG¢™Ì¾¬¿&ÇÛ³ØnÈ9�÷ ZIíÇ„�XMjL Ø*Ç»À‘CÃË�8ë;“U©�*E§¬ÕíéÄ_ø¡�ãi�
ærÕ×eÞÖpóóCÉ&ÀiDV“[šAŸ2Qèω˜èO|˜f@ÇAÅ5€De�YÔŸÀIà(Ŷ`ü´Ï’4é9íò\`ßpÞÆÙ1S–½>´¼‘6}Òo¹º´TŒêi)�ȱR’~]¥…„½ö>¡Ø¼†ÊyŸ‘׎véÁ®^u‰{^µ|û8>W|õ°˜G­W˜‹,P«\X<y}?}YQo�«\`ÌŸW@=Àá»MÂîfK¿›ØËɘ;H#O5]G$¡…z’øÈ¾v"S8Ôl‹ÁKýËz–�íÇb&UðÊÔ:•?#¨²M^˜é‹È„jô¯€Ý6žUEeðâÛâœÑ’êGO{¼˜¡žh=^Îq˜šÙ}´�LtïLö¨ÌøC¿­ßRs7/ù„¶E‰Å'ÖQt`‰z¤ð¿²I˜eŽ8z¼p= ˜gÖzˆ¬i×¥S6ù¦�$(Õ<1D™XbçÌèÅ�1ôÇO%Ýše¤¤L»309ëѨ4s§_×"R—F*–¿¹Ý_6ž?—SàÐ:,%�´ž�C^´™m$K0ÖÓö@¨}ƒ‰˜ƒ$yî¦ÏJãy}ztEUè¤àgÊšA†8EJ£È‡gߌßA!6“R3Žê-òò€_«£OhØÅSÇ÷ƒyjQ8 ´D—”ÏïâÂ[*2ñ’½à½?Ô!Ê ”tl®Vú’Å\Üͤ2dŸ
ØëösµFê¹2»fº‡/›Ñl—t�}fø»MŽ]ë¨ J£Y³2Ø‹š1wí>]ê·×nô)gñÙ¸¬oÿ•/çF‹;j}pt…Œ';n å` ž³GÕ3®t?üÑ,T*“ÔÙãç¦e êNüFÊ& F�%9ÚhHª$[Ñü”¹'é� ¨ûØ7êà×^×�8úûF‘ðdk WDšÊbÖÆ ¿Mjê 4^hóë²[v,éÕkú.‘Ž*Sþå�¬Ùuq¸ #crfÀÿŒ¨×gÜç)á¡y;üÑ=fEæ�× A¬hlÐØq–ý®ÀsöZ…'ŽÐ«ºkæxî&(yMç0ÎÜuû—H%3\-¶Ó2Q‡��
>þ?5¿ž ×ÌoÙ,šïÍÚ×b £À§>§Ž™ ExDbÔ àÌkHë �é_ð÷ ý�ÈçXçÞ݃憠¨ ûÁ` z�L½Ç(ç—%¤ºÚ€(øúÛòË0‹aŠ–("EoXûÓŽ S3U®?ËŠ1‰pØxÈŽ¶þAjÒhJA¸”ˆ”‹/Cã#_þ·ÑñÍC‚BnIÊoˆªý�V|:——I‰9#‚úHáô]ígΫþéFîøÎŽÐ,XhÈ# ÙÑ`'À=‘”±ÜñkÔéd,䩸ÉF]ëYò¯}H৉Ðïˆ~¥pç×Ò)Ï4]?÷ÙÿØ×ÏUŒi·“³¾ðI!渣õgë«…ûṞ/Ŷ�6/ϳƒ�×>ïH1©—+‚ƆyKç[Øqä§c³}ê ªÀ“`Ñ�!#xÙl<ÿ[pkÏÂ`Ì¢i÷KVc‘N«M^ØqlCœ+·¾ñEôanulDE§6[Cœ¾n­�¥ì»öíÜágKé ­‘¶tl2œüäß�ª]ÒU^—票 q zÇÛ—÷Yÿ¤mžÊIwuâV(o½\ªó�œÊ.¹Ô=š'?ÆPwoã-úצðÙ3·3§,âÐæue…OJï7'º‚¶G¹i2VfzQ/1|7S{‚�¤1ôAU£o’hiGpÍáµüöFS'œ(I�€æCD,Î
ܹt‹¨-6¾†w^ô
�ȃ~¿ *_FkN¹hyÏ‚Æe��ü7ø¾Ð#„ù˜fYW³ ꥸ³‡8�‘tW'
Æ_Ò×duh‹7Þ}XÔɰá‰8p’IRQ”2­æ/\¼ŠÒ"5¬¢Š!AûCLpo^¦d¾àð½§M�µ«otH·ÂqF¬QHum_ÙòÐ
±í0ýØ|±j['è·7›¯¬úëÍ„Äü% 9ö²+¾ 4Õ˜ýõbx`D"¡ôìÛLð¾tY Ê÷nW­¯@j²ì [$á¨tVó+í„¥â8š›rJ’aÕ¶VT×YlR2‘M”•– ïŸþ³×ëòÉžYÅñÎ4ÌÔ¼-¿Iœ Ö^ãdàÓG1 ·»¥ôP©l¦³8ZËiß`W*x’!¶bÌÜv°çB)ŒVŽbK*�á�PùR!×L@�›ï;ÍŠžß•Œ¡+4ØÉºö‰òGSz',ò(ªýR eÉoÜýBEJ“@8zqlS `˜j1€²UɪͯÅPº†y¢f¼� ÷Q¯9…/»È"?dI¿«
�(]Ëæûžt¬ô²&¤zmD ¡à7³B ï¾ªÙËó¡c[ÍæÎ¾°,ìÐh§4¸ðK4»æ›z(ëËŸ‹tÒQš E¥•¦ý/97G•0ë@³”ô£Së2{Àú1þ4–tkíÖ-oÙø*™ÁOJôt]°,ÅV]¼Ž®7±OÃ&Ä×V!j%_?." úÐ*ÛoEÎ�üÈ.e,~/5iI˧jEÿ€EÛ\ɸ«¯‘oÿ2º ðzוv`Ø�ƒF1(Y£›˜ Üš+'Tö¢D¾wœ¶‰_­�G·Ø·±w]¡SÖ7`4€ÅæcÉ#3êœ|¸wzáfÕ¨ã¹l6<kÝ‘Ÿ½ûr†ë‚†½Øtkyô{WÑHCb œTŸèsHjòŽSüö“ê\×ZÈíÒæW6“QþO‡ƒc®L¼; ’…#=÷9Q+s¬ÊQÎuC[6hÙ~ zç5Çóøè·á�뛀°£ØIèÓ¥k•@{˜á½W|t wèÝÈÿ—¨J\Š> t¹CŒ"�<ÐÞeÁZí™ð€ðOÒ[ã�Ñ›ÐJÔmà©Á

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,16 @@
b­|sNn¨âI g õQJÄ’¶ÆDÊ%Ç~ð«"Ü0ÞA#hÂÊ ž£dR{ûïâÓÙÉ”y“lv«ºxÿî¥*õNO7±„-ô¾=¶o]ÕowûéYR؃>xÊÈ¡v…þ}S ˜‰u¹Ggý!·=õ $–!Wýâê5°þgžyêǬï2|aØj/VRD‚<Ó@Õ6¬ý†B‘ÛLKi‘�›q \i߰Ƀ œ×�ß&fòMÆ“ËO})*�>ýñ–ì.sC‰¤�æí„q‘ÏR`ˆ =W¤¿*�Ü’SÐÌ6Åü¯�v]Oñ—b¡ü柞tToñÖ¹§ùUµ”���E¦&CZgO`zýßfñ:‡ÜÝe;ú$v:ü–lJö˜åüçö rwûf…­=½N}ëwˆÕ*ã
Å&@;ìŽ�ƒÔv¸±ÆLv¬ç€,ªêÆI9¼NùšÌ"÷�/²DՋ̘è|×[ÞÓ.c¾oó/ 2Æc[�D½ŠÔöïâ½fñŽâÑž–4<œ�¾MMÒ]ÐÁ�Ã�‘^�³…f¶Öà¨M ø�gýφ}�+BÉ©nè¬f*Ñt¶€‰7<+w˜ - ÝÔФ^tWÅ’£lI™Ce—²X�Ðw×ã7ÜÐшÐýAÁá—‚–éOÆXcn=&ḾÎNB½vÁ0Æ9™Aëêriå”û!Ö�ÊNœZ]ääbaäÒŽb�¬“}0 Ó·`‰mézÕ õýTîøÌG(ŒÇ Gd:þq1V><¾tˆ@?òs¶´È’qZ5[$O[ (¿Å]¡ýü<ü¡Û¨äŸ=²ïµ2‚Èwëö%ðЗºï…q-;k$�Å{ìº]ê —�°¤íérâ5/ße•`ͯÝ/±™¼(%&¯ ®ï1Jðè/ªûÐ/€÷qbûœRbgQ‰–„xNtÙb�ó➘õS7À;¬·ï½'—ƒ_2µb¾»\°X¼ñ(@ãl@Ma'�h,©“‘àÖBánk?x¶ç0û’6×F‘TüéÆš@ Qõ1­<5
peªKkÎUÙ;X3.ˆ*Òåî ³Û9!±{;ű�J2LaÄÇÄs}°2½J� ¹Åîëð%”n!p„@–Ìy)bN÷ƒªÃa*$2åïE4ж
†�¥‚:ŠßSåÀc‰G^D[ÃB‘mƒz‚mד�™°yU» mŽþ>ñn‡Ló‘ ’(}€Ö/LJËo|¾üI¦¸neòÀÅrŒ˜ÑÆ<{Î9ˆcâ5ªWlþQŸ‹¤àt£ZóŽúµ�Ô{]V‡ª‚j÷;Vò\¼µÎ ;8D
9õêg±ýfȹÓé÷Á)ZDઌJ? †.—Ày`£¹Ä®5ÇhÀU³YfõßöìbV½âÁUQÕŸá]�w£·v<æÑZÌãá@l°Ær¾ë�î�Ù½;'ç�ÞŠ4§¾ó3a|Hù¿qSËlÆxå˜#D­|T¯+iéá0ÖÔ>¿­$t–7ÚºŸþêGz3˜*êÉ $Q(ñ3FÏÂMA­?ñhöˆ †ÎXØÊ&/óW§ñïÇú­œÛ‡õá dŸ£g‘àšÐ…iÒj�´dm%gDá¿A°†%}G meB6¥ä„<HI ì¦Y�¾Ãç.W ­vùŠZÄ[ÔlX“¿ j›*5½‹9‹±}¬µVÑ:q Â<ì§”°ùâ~µ,ïoºw…”mëÇ}yÅÇèãÎb ê¯Ém9­œ
ª>Äw/ä bÿÁB1´¸G¿Þ¼
[¡B½°YÈ›¥ªËŽcM–{€u&п4¼%AÊ_лDºÒŸ¦€+ñøžaA#¸‹�V“¥‹îÆ�qÏÉlׯ%�oª¼‡]>|·�S¿m9úõ¼2P�f¡[Þboï±P?ÅkD˜åÌxÜÏAÐû3×öuNí49”d`8Xâå ´ ‰È©Ÿ;ŒS!vwöÅwRãá£ÿn¨D)ÊTp–R»’¶¥rË1¾ ö\<Ê�ÀV®iÇ5eî»\û2W¿c‡usÊêë`!€W|Êɶ!j¾o|1çl£WhbÌ2N:×Zº@Œø�ÐV—¤îâa|r¢ ùV”ϘÊ@%-ѦÀßPLÐg3àu;þ¨N�>œàë>ÓĺŠÀ`c]á ÖOI6Ô¨Äß¶˜—s[•ëz�ð?‘d+Eêà…Æã±'SÌ5¼|¤ýÁîéŸCèçÏÙ’ƒªc^4ÉÇ“G6Ô0‚fœƒ;è€]vk
¶£ˆt¼óO1{„—ÚüW“Æä±?%{]F™ÎëÜl—ñ’¿hßÜkPá?àg(`{\š™d$‚(LU¾>;�­†Úק÷ë÷ະ;Óª€èŠiʞÜÍ'¡ö`¬Â´µˆÝjv¨ŸºôwÜ< })Ÿþ«~*—*y pZ4Áee0Éç Åhñ¾Ê—µÒ“Çuíý¦5±GJ;+Áe¶{üüP}ù½8ªÏá+W¿ T'�DHÊjIBRˆîÛtð†°+GxMKáöõ:#}Ž^ê�¡EÁQàS …Æ
½VS(A®R©€˜ò$�2ÚßsVx`9ç0ð¸â'Ð}L‚ÕÀTˆ=é„”®Ì+{\·o=
F�ƒ¹ô�ot7 >k�~#<}Òs,7Î×U1¤ƒçÜeܹ¡eVDÛ• i¡VÚaÜððúïì{6ÿ±û¹P�½â‹¬ÐGÞþßT$ÿ¨ÎO3²¿9ÅIí«av$í¢/¬zñhÍý3c —Wfžž Ô]‚�MK¤i˜6·ˆÁJQ~ƒv/$^ÊžÓOœ·¡ÅŠŽ¸™QªUGN§,0‘ÅVÁ÷)ˆuùÔ�“A+ã*.ˆQléGœmr¡HÞE¡âhXÛî)#�78Öå*›·þláŽai©<å,&³ °×vr3Z<__�DíͶ£¡…³+(Y·—[P�Eye¼H€È¾
w”¾€Ùo>}ÖÄÄUo¡vCS~íòé%4ÂÀ71òÊê¸Óý 6øŸ—&‰\cÜ$29)²7C…DsÐ|>JÍ墑9O`#˜Âjc‡ûA^/8�â
ÏÇct'H^“ý4©À–&àO#õ–ýÞÊí†"*9hÔ¯²!›¬ÛX1wŸ ëWv¡ Ä�) ,Œá$|¬\X\yÛOF‘g„äÛèðÝ�%<ÔxÍ`zv%# á!6•ŽÓMFÑÍAéW{* c‰ï]+WoG÷#…« Ï@‹ �¡=ÔÕ¶3•Õ•30iµá½’覦ž#öh Á×tߎ«I¼9ì»w¼r‡óqç(ÖÞ±RæaL·iÌQü^æôG矣Å�½OÊ{“ Dž(_“!3üós‚á½^„ü7pá­°>¶v �p·Ù¤œ•C ÏäJr·»iZ¹¬vKî»æJYbæAÂˬ ´Âô}ì½�&pÜýg‰Æ¯ëõR—4KKyºqtg¨ñ1Q8{
¡ýðk®]óD²'WÞÔ´a²Î ¡i<2æ#QAðï}òž®­�oG‚¤¤ª’´È“]€2å²T–Á9Àãx¶¯ÐÆA.�Çj™W�ùq¤/˶«q(¡7ýF)Úûª�O öïoI{µµ>ÜK$é÷2Ÿ#‹@áã(Jæ·#õ7TÿZÇdXô$ƒàíÃ[^jú* ã« 0G
«iL––Q^¹êKÉž£ñ|^sânj$qÖ€z^Ð/¹ IwaÚeñGFOÈeR,¡Hl4 eÛ5ÏÜ{뙋Sä9ðK\ ‹:¾¡çf„Áwì`z¸ƒ€éñã!îÊ"Ê×éþ€Öm³Ãƒ‚\¬�d"L¡Ãm #êQdb¬¯2Th5úÝœ.Ìò[NÖl÷6ö£1דÝɇy-®5<ÇkTää覽Ç`„–ž·F }êKÕÇ!B•t"Êûð³—n.Ôîër¤ã,NÓÃ8”d­ !ÛJFÔGœB¦ µ¦C„gB%ÚRȪ#²i·LËØ6jZ„÷ �͈Ó'ÜŸ‰ÏkÝ~‚Ág j…N\(ö4?Ú¢Ü 3ûëËfƒÁæFUЩûi'9ZSœpÉâuO³5uÜ­HBê¾MÆs’2Jw|˜ò$]æ¨÷§v¡4p±� CÝjŸ çLݺm~NRb5 �ó6A è£ÓlH_~8U‹AŸÖ› ÉÙ5%2:·”O·±,ní(ö8fÓ¦7=“úÜ+QT‰™AÑËz× ´¥à5©�'HtJðh‚ÒyÍÃU9­†ç>ˆ¬3pO¼öÛ¾½A˜ðµÑT÷6|ü0àÑÂçßi0�÷ØX·ÖLMènœûÝg½[:ÙŽzñv;£�›¿Ó˜ëEÍ0ÇGÔ~XÿóAä�N–Äèòq‡üc޽¨||Ætª6ð;¹˜õôê\ƒ‘
·ƒÌz S'Ï@a’›Œwd”þ†mKÉ~„TÈ*ñ%÷›¯³LCOö8Ì”b|Á€õÈëñ²œ×ì—±PÔ|üî±Zƒriâ‡Í°|‘QÍÂ4)&({ë5HlVq ¸-H‘È"H0„µFº{/±ê40À–¿Ø‚ý£œY?ï@aqâ„u*˜r€;r8e’:_ÖÛÆî¤™öû:7•�]´Ñ5ÞÛT s±œ ˆ±Ì«>¢ú‘u•ÏRà€k­#‚ƒÛnÔX®¹e<}daY쨚ñ36—}Ö Ê�?h5Ÿ0 ¤ÃêÑ�2!°h OšX.%噚z±ÒuÇ�<…Õ„wqpR�Ã`D·2Þä?™ÆÌó+¢•P ðÞˆ-*âˆØ41‡W™Ä5Ù�#«H„D¶õ�$XÎx€]8”&$f�N3»[ÖåÊ*"c_Y
_0J'o§¼v¯†ú!ÖÕïå*ïˆð/DÃ,t@7T@‰GHÅe+Ïî%©÷Ê‘Q¹à:†ÛBZÞðÀ„*—Qf‰KÄP98X‘s_újdò©®}a1T‡¯gYªC¡.A¯2ÛÄÁTc©ÊÂí^R¦~S[ùnÏš¹Ù@—Ýy¥”žo -©�OžZ%0Hä-kbÛj@½Ñs1Aö½$Æü}Ÿ�Œ½Yê&ƒ#Oˆ×ObѳàèX¸B'ß—¼t†ÒôÉbß`jEƒûi"í ªìMÍaܬÐQRëí20wèöçŠ0îO:§Ý�ZïÕ¬9DÄ y2é~Ø»þ²´8¸>œÁ�¤U2«Ô¢c÷\¸B ÖOµñEXOaȨ†`ˆÌ"ÐÈ…·/&®0ÝëùÃ� è Ý”Gnx</äƒö­iÆ; 4a7‘ÁväW‰èõæÃÃaŽNhsjð%¨˜„TÆŠ®Õö×(håô;š ž

View File

@@ -0,0 +1,17 @@
Ä|–'³™ö7íOØFÖšáÚ AÈÑOF¸CÐ19hw*éˆ"pt#A€¨Á³¡B°…·y¼ÂÝ?û}#¸ì—áY›h)Ùm�dÀ/>½&šòd<@(´ ¿ÑrâJ’[#QI™e¦aÿêÇz´Â\¼Z03òuãy ›ÊD¨¢|O™¼žlý_™~ëEgÔy�IM½œi™–,—¨ï_¿¡vÇf� 0Ai]/u²À›U•à]¯b�z°E_¤Û/ª1þŠY¬c÷-�té -éŽàÛÏ_9!‰Ã({°ª ð¿uÁç& Hˈ‰ƒÓSÂÝfÚÉE…º±HßRŸ¸C”‰Uç<ñ�oÉ÷1{íyò䤇'¥Mî“lâ£.}þj#ê‹OFæ'1Yoyyns ÝWhۋ⡵¾HA4#—P[yƒ<CH02^�uj ¬,%ŠˆÙÄÇ -.Sþ¡f\E¡œš‹w+™»è<y_©3ÜX~T¥ð›Ï´Á[ÐL EŽ�ÛÔAj F¾±}UÄ`Ú]ñ²Ë0 §6¦GR6)¾Àm³0Ä gë˜O-ïÍ1"¿ÞRQF–³³$8,‘ó ÷§¶Åû@8´pJÕÝ ä N*O™e�vÑd¾«½Ûî+$Ð6‚g\‘Ü4~n'ó®©‚Æ Ìš•¹!/—ïô[Â]*ÃS;KT¾á¦à‚6K» ë˾º–—H½iðÜ“�}o.…œõ<çþ²b.þ§Aª¤ˆŒä¬a|Š^ÈHjõDQÓÉ´~p¡ÚÊ H3œ&|Œ™/ô‘Z0³ÚhœÇùOAÎu‚Þ‰vçe§böÕ‡Ÿp¾)o¼¶5V› ÑE³‰×ÑðÍz³µ¼\å�#tV0P¢ý[²D©îWXŸêçq÷k]ÞÀœ}D)f¯¯:Ö+F�Ì- –ÜÙÅ—“ }¤yùàÈ!f¼"†z%à¬Í,µøÊe݆lœÕ„¬±M^C Qp|Õª£´÷®³sÊåÁ’1刦H�ªŒÉ&Ì×é`GªOµã¡à#lƒ;§v€¦-z^÷Bû}òó$ô ã⃯-óny[߬2ê[«Bko�Í«17<"¸Ù üïã¸MŠÃ.ºúi¡ÒÌ< þ/M�a«Ìí'îg+ç€XB{ @ÏÂ|5Ù;or_q "áõuöÚÅ�Ï'îPGLËüáDr—ýÐ!dŸ'ôµµeO
Z" íø‹Ž
af òòt½ÑÜJ Ƙ
¶(þB À€¸l¼õ½—ý?S6ÿ}oÁj¿Â ~äò¸­2™´D`®Chµ21RH×üÇ¥_RDþ‰º&¹¥:Eb|#¥$Ñí°j‹)8Äk–*V|­ì»}F¨é2�ÇŠ0Œ¤Ê±!4Ô8ÁãoM£•�˜φå�xF¯.ª'Œœö¼ØI*'èÃð#vØø^m~Í»÷Y–3Û°R´[^|kp9¾¥Û^ 7†dí$m>ÂC~û“ "#¦ÝGŸ­�$‡|¶«oó“ S¤Ø%ÿŒ ÿßpBÑqÚDó%.Í ‘†�¢›Ó3=“)Ÿ"`²„ z®Üá6÷¢+´ò*+?KMI<�ðPÊĆÓt„ÕvµúPGËàm7Àá]ĺV¦.ÊaÒNlõnr­n&m\{Ò ÔØîjšä‹^Óë¨N?<žÚ‚‹ækå}K/òD;t¸C² fú§¿—A<Œ˜"¢‹è’Á¨y:ôsã‹ç–! c}+J´˜iFSŽV+ñè½ÚÙi½1äeo Èí‡MXµª¦6zã$3l‹ F1Ë‚Â~˜¤þXãëQ2ÝHLf Sv‹Gºx{EE:•½ WÊX£(5È4L„ì׊M¨KƵ~4KœL»ä8HÚÚß�9@‡Îå*àø”)È"Y¨Ú|³¹�ÏÌZr"}¦8?¨”>µØô›Ç�Ý‚šÙ>°û'<ˆˆ|ø&zÝ
…uò4%ô…n¥"¶_>_ôSÙ°ËÐ_/ÞMF?ú¹Õªo}áóØœÎ6àdš.Í3�@ ·Êƒ%ÐW 쿇×�5ÐÏ·lâi£ë“L׺Ö9Zd‘åº.E¢-n”É.e’çɱµÀ¤¤û�Xpn¤@MÎ^Ô¸¾[ÒÔ†!h\h²ßA?GêmØö)‹^sù­¶j=ÙÈ=`.ßÄ[ß›éŸBýц¯‹õAHÿdJ2 æzçðwK¥èYãÀ‚ßÏàk¡£˜ ¿©îB1WGß/Ð7ÈÊŒ(Ê뼇˻#ã„–…šÈ£iBzÑ܇�œOûyizXŒ©Ì2(†>¿Y8[óq)Û†}¹;7T£mÈ!Än“ìS¦ŽGºàô‰[¤:½®éPÛÂÃ)%`Ó2¶cbL²gK¡Ÿz—)TŒ° Æ §æ›EVNääb½n~áò¹òÅýìzE-ƒU–uôµ9q±\-€b>.cM~cEÅKµœÑñ†dóÒš+ÌQ|]LÝ€€o3g½´€ú’BMÉÁ7Âaìq"¾ûx…ë>0O?æ¬R˜¤O3Î?AØ’×õ¤ ±|³T ‹�ƒeAž¶"
[>÷ ppƒ‘î+}>ÿ%`³t·¡h[Œî»žïáœI׆’‹Y\X©ç"·µM•’=r
\5|ö9žùAÁ^w¦“H‹’1žã#-ƒ+½…&Êé7s`}Llg=»f³OìMèÑ`›÷Lœ‘€»|"eb\…_Z†ÿF†ü›§ZËUÁY¼SŠfåJÛpø#‚ ŠÜÿ\m@Àê»%ÀöòÒ•X[ÝX[ý¼°Õ\‡Žˆ
&" ºQ€œ#aöE+n‹Mý�æ£r»’ÿ-Ý5ŠÍ†l‹Ô ¹×·Ñ¤´e½z°uç™?PSvz£ÆË÷zÍ�4îÎ>úÛB«üh|ê­ ‘¥JdÜÚAñôwŠ)I!Ä‹:iØ�8w’xAÇkåƒ@á/ˆïtº Ë{ª~¾þöι¾«Ç ÷LGÌÞ+~ Ãg\E8òð³Ç}Àô¶?šo&õ‡‡E‰Ex¾@O#½ˆ«M—I1¢WtAHqDA(»¾`-½Œ Z#M.åë¯E'K+À0<)ŽB¤Oóýý¶„Õ+/#䠮В2¡‡ÙvÉÂ.ûˆ%K…Z¾s·|r«�Ư¨j›•³�V Î[2_Öh¦1D¬b�× ñ1F½Þm<¤ÃEL»åлïBõÛÊ´¦‹›lã^|¡zÐjò¸Ûø&f#DuêÜÌm/fɤ+43Ø,Ž`¹@9Óuˆ qžåî@c��øtÖÈÝïç”0)š‘õÒ‰Œ…Â(~FÔõ
Ž9_‡ñÕ±åÌUd×!¥—Ìï–H"‚þþ½vðÕÛ_Ô\ôôS$˜{àªöO'k! 7woEé«å› ƒ·Äl5’¹ݦ�;cr„«É͉Ê,£Qp%Ù>@‹†© ;KÓ¬‚àïçhèZ=3YtHŒV¼[|¦-2ëVQÁй—ö£™Š©ÑÆvõBÆ-xõh_ð¥ac+†”+õSÊ*\ÜÉÜ8“§É¡¸eÕúösR«§¹5ÇC„Îfn‰uâ¾çU0“‰xÅÇÂJõûDðíãÖü‰3Å@>Œu£éaiÎF^ç�‘‚f¨çEŸ÷£À$òP³¶tº†yHBvƧþ•¼”lÀä4f ÔžÃáS>v’Ì ¹/o9#Ç2¹XlUlÏ›§¢ÃWdþÜßW#R;‰Qç`P77©Ü„aªÄMº&*Û¡,wL@Q,Ó#ò®’p‹�xö#øŠ­JcçÂÆ:èrz·býÌ*Å$!Œ
”’}©2-ÀͶÚ�*UÌùZêqv�ZóMGûÀ‚<K“ë—⥜ðc¢Ñ ƒÔ6¡òCL¿¥¥� ôU?°îŽÑ_Å1{Š¥#öûwê�¾vÁ ¸1x¤8§ô0:•É
xÅÒ¼#¬oß‚ ÖŒª!„ìy
éJRO,¸Dꕚ5+28å¯Î¼§ScÆ%ÓÔ7á§@ùÕΖöB®ÛN…Ä–÷¸‡q>7{uÝè·r“ !(&|üõ7ÊÌ“ »ãIQ½$|�‡îÑß?P/bòݱ·¸Žj’ýsÖ§Âìý«hÍè›Õl¹ABärËu¡nìsqÙ€ÞR›kYPÞô¡ÿ5äÊÃÕ°Û­r$0—ýz{Uôý­³s—uOsÌ~ Râlj3N/hsrz"ÅÓãO›“^µð±V‹>“`ü{"‡!ÌAEí¬³£ôºaW ®ûŸ'ªZÜÞ}ÑøÖêÓ×"gúÈŠ)<©›fMêøLeWé£Àñqa�œBz³åV3Gø\\„F›'s¼䪫áC‘�˜ q8å\W±=tÑÝÆu´m;ø(Ÿ°cxâPV)§#i/³÷
`à˜NHÔ×d(ת6öOóˆû}i‚þóÚ8d+òE„›¾Õ.´=Ùõø—5ŠO8­ÜO‰Äì7:ÍU®*ÚÑ ÿ³Êë38êº6@M´ýû
�×–™xeYªh(‚6tìÒ ÎÒÑ�xqˆ�¼qû¤dN|Æew~Ãym{ ¯ÊiÊ‘CÅCÀÄ…Ù;Q�Üú`IQ²)Ãg y·&jØÐ÷|?!V¶Ü•Y}ñ-¶­3&úêä5$’„Ÿ)Ädn6÷
Jš4Iþq Òa2°ëÕ§mÍ�³°å >}=õÊ à %ÈMSiªÜõ9 *»H˜™˜¸stÔ^›ûÇyAûíÏ »°Ö-cŒùY‚T_|‡7½¨Âhp8 2¥Ô9§ÊLL<®"¼t G¤*Ç*¹‰«–ðo—Rë‰<”4E/˶yH%{òÇ©³æöÄ@ Z}IæsL)¼”Ó/gË»j`ÌvK®ò“G^í|ÕB<κ§q–Z#]Ü©[£w8ór8àY™»fà—œøÈ)DZ±þó›R*<]²dHÉ÷í�¨ˆ{ò~ƒ¢˜z›\÷Hp*HA6—ÎhO=…¢,oñú\¥fÓ*ª¯£ùL
-_E�…&3p ˆGQâ‹uÅÉö€ -Æ·«_µ�œæh|­PÑùk@õ�ðy‰ì�©"¶01Ù4;Y‡JG¹Ò¯¨Ô±ó}òw ¥¸ÐÁ1,‘Á1/ìgí£À4ŸŽÉAïÙ ™LûïéÞÑ%DrtóFEûÿÛgú<Páß[€/‡åùO?‰9‹N\õU5cl3Ô0Q;Ø ÎËŸ·aN‹qŸòÏ~‰�%Šw˜øé IED+lšW=¥­€±ÑböåÜÌFRzSÇ_ÆæŒà^åwá´^›À‹p q‚U'a5Ë]o ˆxé�5ÄÀ

View File

@@ -0,0 +1,16 @@
9 Ί†®»¬iR‘¤>i�ómûTŽƒ-¦÷IÉ Ï³ïÑê«$ZZlB0T4‹1’Š´˜.¶OÉ»{Ç­¶×CVë8c×ëK¢tÒæ›!—•¨‘«v§} ^G¤,ò-�ýÞWyž®ã<—F˜Mir]Þ~ÑÍ›Úhÿ! #ö…Ý™ê!BÝs ¨»ÒÔMþß*Þ~)º4±�À›YŠ Ëñ
ˆ%ÐiúQÂ6h�£””€Æ�j ˜­È“@ç”LÞ0¦|€­¢×gN‚ þ­¥Z@ROjL³x¾þ°!5ʬ‹2‰}õÛC²¸eƒ‡�§¦‡¶ÞôítQ¬æÍ,*\HÄ ÈÜâ´“ƒºÓjÂy¹F쵞0B*‘½…ûìj’r”ÉH"åÌÙ)�B*?m°Û•d!šôÈP Ôwß½bÓ�¿Ìánˆ} ÎíO˜7›~ó¾¸`+õ"KüÉ×StG'@©UP<1w¶tÊrE$0 RŒH
K˜–…f‘�ñu�À{¡Zµ0:ç�‹©ÂÜ:¦¸jº¸1¯‡u‹k³ÑŸµ™‘©§¸-ʪlh�9WëF®×„>þa6<¸4 ¼ÍƒxÚ9hì·Ž%mQÑÂ�“Î01nÑ딌Z¥tž®Óˆ=™„ÎWoÁ8µ# ¸ùdG£kS; »@É�3ê*´Ü*WVh4­�—|�+bÏç�ºÝþãǺÆdÿø›WþBÂ<¡h£ù½ÉØG¾;íì0×èz.䎷» ¿.ÊÄ´g/˜£ïØI@½ãƒ‚§’ˆP4¤ÈÍ6®>z½ Ûjb5PjЙþÉG@O4‰ôPŒN¤Ä‘Mì"nƒ¥d,ŠåÁ5ý‘}ßÏÒRCCæy±ˆÍ˜¡†¿^y¶§"ëEPœ×º}ƒj†LíÚÝÿ8MDtɯ¯]úWšsÖëNˆâ�´óA4S¶%¸Y×*í^aY¡†�úµÒý >š— $ƒ ”¯ùÖÉŒÊHçë´½ºœ¶Úì8ú¸sþd+ª Àà´2µlC.þ2œžPZëE™à¨àà…ØRC€‡ÝGÃÃêhÒ~Ý7àLÏaÎUO .SùWÆ-RÓ'Ä44ž¶À#4p#¥hŸŸíГ±7•|p%㎜w5Š eóÆ�Bï3Ü%3(¨ê-¢žÝ ö™`/Þ!ZëéåPJ H:c‚šFÎ:ÝãÇwŒ²î£.'>ÿP±w,ÅØ.쨘ÙqwÇò°Š-c�Hš¡x$:Hý™à2/ü¶œÝÈþ#ß&6+So4‰´•§ ,Ü:T+E5(Ëxê9ØnO˜�`Šñ{: ~ËŠ/b²?ÂØ’”BIÎ�$z¢„T{þ8þ—P
nÉܿ雦ë¹ã;9NLŠ¿BÅ¿D v–Ñb`»W0a2¾´(*ôïzä3¥ d7Ž5:ú¨Qlcûʯ«Ôßí,ÂøMÄ}¶Ê\/Ÿþ¼(p÷ó%AGÜ•\²´��„lEÊ@ÛÉ}¨Rr¹sïN"+¯ë\>@ñÀyè³�yÓÇio‚¡¾×Äv½BûMR°ü„Ñä$Æ^ Å65ýÞ4Zæ|–'EÄÕX“»dò�Dõ:§¤3èy„ÿŠ
¿ˆ³î<÷¯ÔÄï0Æ…Ÿå"Æ<Àp¦Uòß2�Ÿœ¼ÃÁ5¿ëÈÁx«à¡u1ÂÇy«”b!d¯…íëìSS1•h«©†=Û®Šj˜Ý°¢»ÜHF~¦ã˜ÕüÏv~ËbN….’ÎvÈ¡’ Âi+±Ô¾géé}˜ñ>B»j/ˆaèÅÞ/¢ÆH”ïæ‡/3ãJèÛ$//Ò* Ôƒ€c ŸOa ž)
BíÑ•ãÑ@Ç!!˜Ïvó’d:ÏWÎà§úíËúÆ #5{Ä#• ÅçÔ´Á 5–k
˜UaH”Ì•Œút˜Ýí'EƒℱMºvHEñºê3õälDÐ�…ù³¢R%û×BN]w¶(”‰Al|‚:Ä„4ò{Ù>RçQÑ0OÊ|¤Ú<T�ª+Ú¥ç]ŸÐ0y€¬k§mGªØzEV÷ߌé‚Y�,Xx¹kã²Ýey­úÞâ$µ¨ãh¶äýL§çòZ>_ÜòBYgx·uH¥†�Žöwî:ÚSÑÑ¿òšSœü€)�å%|€k’0´íë€m™Ö $�_“�‚ ,¸YRFæ Ãp豆ïýûï°Eæ}±ç§8—mn>òow) ;æH¶>!³á‡‰ÿaeì\&!g T^�´ˆÐËEÂ^绪¼§'¡2£JW>}>¦ˆî ¦ü7ô­ducùÛk¸N“¬ùðÆ*�[9 UœaD΋hÐ1xNyx�¢Šôzéýº›OOð­„ÚXŒB8"G>[ÀªÙn&@D_jñÌ3ÊR\®ø¶÷Y™D�›Øõ+u}”å±ä|è×9¿>8‰h‹wÏœ›×4öYîj4/ªž§/FÍæ¯‰¨�±À63;ŠOx3Ó€†–ϵ)èã/Åa….|JÈ­€rl\ôêRß·Ó‡5–#FÀJEp6W I¦;E…>‘¾*F K2³y>Ò”¥(‚È,@ó+ÆljOm¨Þhçõ9[ωômHKJà€ÉMÃ7ëµCã6O.#ñ{F›U/¬Òó4nAX %<+Ù]ÝQ#mä ‰Hµ«Ï-g’%5VrÃ.Ä È§OåÔÚL:M<OÂ�ÀȾU(Á"¯ÙÇcVH§Ò'ÚÏ
™°L�¶ÈÂÿ³Rª£ØSó¿´ÅPz>RoxÕãì¶æ‘×®~åœIT˜¬¼ŽÿYÛ/«È¶ü£¨E=0ªøfbƪVñVbÞp‹�?&]q¢°í90Í{c�±¥Öÿ3[Œ¯ýöÛæq*{ÓV�«¾åLI™wp3¯Ò¼_ÈX¼ “`-ÉÈ…J”8VÌõ¼˜&oÕû­³-,žúUyd ‘¢™êY|°¤üê—ñBÅñ=)þkÔµ[¬¿ŽûtS˜"�‡kò,¯d^çUpŸ¼H2K_ OÐÙ¨òÔålûO™œáPz¶|Cµîeçü’¾ Y¬TIõ+‰òt¨™}‰H¹ Hm~8ÉT ûÆ4ïÁüŽ+|¯¸Û§J¾vÄ…yË¢«Ò\ªŸ¬Âõ{&38‘³9ìiKÌœi¿4íö“ÏÝù ª —PG­¥2éOýÈ»[üHp?Šk_k|šZ3a^1b?5ò��^L­“8°ž:ºœkpAEíO 2˜F9Ö"wæ7Y©"„C\@¿+£;Jžâˆ7ámc$åeʺ%
L.÷û¥ÕÚ8._)<4ó(v�*-³jžAr‹ÿÂËçþ鎸jÙâˆs1TÈ®S–e>–9E½7Ü»rÚ4r@Ðä€2ã–^êËïû÷‰,6!`è î¯FÕ÷¬È\ùF‚êYG’ÑMâ€2°�}¼»ñæ Sï"
Åã3d$$ñH mÀǤ#–$a¤éÔK&Ô‚L[–Ó¡¨U‡Ïh܉@$ÂŽ¥�/Üp©mt€°pÕ¢Db‚Càu6ÄÂ;i¹OÒ§¯´v†¸„×7¹¸” €Â+¾AOhôþ(Æ 5Ó0¯—)�©:Æö¼‚k­Ÿ—- Ù)óø^îˆz_hŸ›Uˆ2ÅK‚·˜CîQ³Ö<IÃD«¥Ÿ;iöÇ“ŒMdˆ™Ìàß�(¬ùl¥™`A?ôcŸ? ;ÓLAÅŠWEìë™?° ‰—'§×䇄Ly�);
Íyõ”Á‰óZ Õm’vŠŠd¨ašéôœI@ÀX�s¨qQ`ÿàû±¬å¹ìÁ¿�*+ZR ÞÆQuÎ4$Äç›|›ÙÝê‹A;kFɳ®«�ƒ¬éq?d·NðDz|?Á¿Z!(8WM£[H[e½Ú·�"ù~ÕŒ3›ÝÄ ä3‹¦»mS­…•iµ¡`2|FAùøPéî²®#V~¦Âü’ùyDçdo„Kz½4+±¡�ň“qx–éiÌR£¥Ž‡\Å‹,_^´"ÃP7¨šäë÷òšªúCû©0¾Î¶z ˜)�óIŸgú¤ò"›[‚ßN ‘�É…Á!µññ#¢�éØœQÄŠ’>tE&Ž~kwXÔ¶‹ðaVkãªÑ‹`Æ„”%Ûû˜ÀÛTcü8àÞoÕ �bß8ÿÛfUñBin.uÀÚ0emu ô(ïvv³ÒT@ú˜g7Àë´2ÃÇ….ÎRç8µÙŽà/%mNú‚BFå¾Û�‡Ë1"Og½6Wx†}§¢& ½ñ�½8É6%‚½ôeNèèß:}]—ñËnç9dÿÈ÷îè‘Ó¿‘F°“Ҁ߈j<DÐÐI÷¦X–ÏÜPzãäyèæm¬nA��’<ºN”,B<‘›1•Ö1uײ¥ºíÏî;*Ïw“
� H•f?Xͤ?!cç¼à5“õ-$ÉÉ1Ð XcÏþÄÛB®‘xŒ¯ß‰Ð‡J”2H@)tÊÌè„*^Ës”¯Ô@ÀÜ1ˆÄåV²
„)ÁØ= èIì.'S�?0—£p•IŸúm‹vâT2æ•·oZó~ÜHXÛ,uÝ«×ÄË4Ë�=bɪv»Z9%ù2¿ÚÅ7ÎýçbŽþ¨§™ �3¦JV;:…"�MwVg�é’zh“›A4=K1œnÖy¨ M�ÍMòÎÖ C ª'òãæžP·ÃrïjÔ{";#2ÄfT!©[m»ÉÌÎ6²ï¦F?S>‘:ÐÃÜY~AM"º ¸RªoÌtõt¦º�Ë1ªÔ¬²Ìݘ3Rµq0ÆưkÝiY¢,RêvÛ~Àæ).{1ºÙìÏ3û‘P¼Òù”Óyç5f‘ƒ“8)/»pu]¨Müõ +ÝpnLØ+,ƒâÏ¿MB¢Çš6*•댔¡XqÞ^¹y”¬©+­i€Ä 5`:r¾oïñGgŪÍä0èð@“ £ø¥ê�/^Š›¿AF1,«ÙuIÆ>ÞW–ºÒùÀˆ �S¦[©ØÔ�jÒ„pƒ–õìU¶7ç4 �Gi¬˜O—o@PÓU ¼0Ž*5ä>@ëÙݰné0î™`�7™má"VKì=Ô$߯Y„aê0Gë€M­ÚD^ Žøæ{©k¡_agä]ÑÁr!]cEù{IØ‚Ï=3M¤äëÂvK‰®šhbYp[–õ
ˆ«dqÚ u_ã„:¬)þ{üÝì66~§!>.!ç1ŸôÕæ“T¢3μÝ/éð!âL—40°:ÄwÝ«<ˆ ³$n�Ÿ‹G¶ðr!}E �õG
ÿT=n3¸
ÇÇ@¸óB彈¤òŽŽ5‚

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,23 @@
#Êiäob³û·øTTn‰”ê$QDÚ�y|I~ïç<$.è‘ÎÝ2d`M1~gU$Ø‹KFgÈ÷œH¶z»@Ö´c´ZSpaÀŸ–mæsV :ã½…~ä~z\!ýÀðü.­¤âk';ø@BgåþÀß§"/zäŒ×Ü9ñ#J�ðå - £b¶rr㢠XÊCƒÇJLž¿ñÂ{ô¬ƒ¦³Dœ‘¥íú"BT‡ÚåIGúÏä�øÛþW_ ôAͱ äSÕp4AǺfúÀW}{WÒ.>™Ä_Mâ“A{ÀÞ†…f×]æFɶì‘™M“ ²p´L §H'-Fè”Aß5ÏÞ/ ‡^sAm¿�·cÿ5g˜t.ä¡p³úB�†,äJ
íC)¤ÚÖr~>F»>’Ãéÿ \éûõ·ì}Ð@1*4�ÿ( V¬ßp*ºõúh<–^(Ï[´)AU¼†�Ä©\žíCaÄøç0T‚È“ RÙoîéWˆ‚Ü#óñòRMÀûõ6¿ÜSU€ÓÓ�$Ã. hsÍ1~•À‘ž0¾²ÞvKpÿ‚Ì•”ÿÑ�xÓOâÂÞ7EÄMJ?&/dLPí;Ã4ÐK‰,bä~W H”¸G˜¶ùá®[ˈuÁ(õūӂ:퇞Ë5—Dh[Œ]©J¡ù•Ð!Úa†µÙóã��@³T*Ù˜ [Þ«S*ªÖ˜Þô"É–AŠ÷áE>tÅz&©¦+Òs­?øj‰þýh"þé”ló¥¿�”~[±Z­?‹ê°XŽ jÃ0E@êÎj†®Ù¥³ãZñ+IÉí~\Ú•¨ÝYʦ±·ø¬E·×-tê±oÑJ8yÎæØ…“sÎGÉE3dä?™m¨ãa�+w^ª£5I™8úêÂÇQuiªÃM{oŽR³8!R«ëäÔØy}ØíMe¨$Ášü©Ø¾8ÉMÙ–%-£{ðþþå¾læ6·||rÿÂÔ˜Úˆl�Ü1
ŸoBQ­Ž•v=Û0¶c©ñ%Â:”áÂS¶¥Ü_hki/m¥l‹}C–«DMŸÆŽÚ'jë}ïXM�¿zpuLþ…eò¯]ý4u�
¦%~´4ǪX'*ôÚ2fh¢†�®üv†ƒyÁþgóÄÚFI5gü¦*O=çŒýkçÒ 7#AHø-mMy^ôK‹¯-€sé°StA ðª"¼o¹í ¹ˆ˜ÁLë½}&²ÊûÍì5Ãð¯jQ‘ƒÜ"¥)ÌÓN0¿œ:]GH×cŽTLU·[©ä@ %Ãæc×9Ì)ï¢�/j4ŠÕ~üûai»{
¬¥DØ&móOÓï“÷ahƒ¡~ZX1o0½ Ë|@5¥\ƒ/QI"FY\JíTí]Ù‹¯úÏb29?Ñ=Št9Lo­#Í 6™ÏšëîëXè ð ømÀÉD¨/”Á{¢h·ù"BÆ1 KÜ~¢�S›êeQOxF=†R÷1‚kŒ{cM­ðÆ®XÈý'Õ1lðÑj<hÊý]ò~¯5£}™bÈS&àú
xF6ôVÔ0}Yœ. åûƒ×øòÇõl*ó#^Ðqm²ŠG›â“c��›?îˆÚ®y·âÚ�.ÒGŽváôÉ_$zÒjÆ‹ÜvBs@ôfdª„Ÿæ�_þ¿=… w¼æ¤¯Ý¥îÜ'džPCRÿç”Z½|->^Ÿð ­WMGÞ�…,Ìx>W‚ Úžõtsj^ÍyQõÒ(í©g½ˆ�8¡ìÝe6¦%7F›Å�zvÀK/°KÉ™HÅ} ˆýx׋¸8M ™¼Ú‰ƒ<�?½$‚ �â'ÓºG;ÊÞo2ô¸$n· •Ený*…M ¦>
Ã? S|%ùt‡$Â}-ãtËi,PwÍV ^47CÍEåøe(‰AÅ“ï¶�—Ë2Ÿj‰ê…ƒò¨•º¾•qÆŒxÐK�®�þ³eíÅ‹ïKÚK0WQ†4õ;]ÉÌÐM[¬J˜Ö«õÝø½5ãŸÆKTE�Ñ~Ý}°�Sì~Ë÷¥•zí‡V4·ëòtn¹}wer°@ÈÂ[GˆˆCÙ=áÑ0{áSÚÊ^“•*î@þu¼*oK]©X)_fCпyµ{M—qî‘8RA^-|­ %öCçý)nMïÆ:
-hŒ¦h†¯Ãçi‘ƒ¾�wÝ%€<ÝÃ:ûƒO²ñíîûηÆx½©ßMz¹�>+qÌ¥eí¼'©j~�›ö¿èbq ­ï¶V–Ÿ›IL¤áO?ˆ¤÷ëM¿ï˜jÃ3nYAÐý®ˆ|á §Ž’µœ££Ð†¹
iG&»Ç8ìW- ø¥ )‹Cä~[Ê�…‰Ñ´‘Z× Ý÷ˆwJr9Ò!ç<V/Á?wϽ‘
OŒ¨èÍYÌÿOŸqë™ÄpB,°÷ú vÂ^Æ+›Ç <XLð6‰æÛ“eiPÞ¯Ëj«¦�]•˜„UÒÀ² �ÒZëõÚº3]Äyö_Ûõ�SÆäHÿò }®všX÷C´_–SVç—®zøìÒ˜Ë^º”*¿¦øj,±½e³Î^¾2jHžýÏ[ôçÞôŸí$E�‘ë¥?v§ó0ZàJíÀr$ÓœÖO:AlÛgÎ`‹Ï±Î-:eëhã´‚ÈEa {þb?zá_QøtGö•™®aÏŠŽ '~+º£åíØkŒä¹-ëI|¡²»L רcÁ”Cß½]yñ§!ÚÜZ@4_ÆÝ÷ö„ã³Ëzc‹|·°¬ ï矙€ Þ*¬F5b£mºùâÖ/–ûøéBdHvße) ÔŽW�‰ÇzÊš™—$}ßir/Ôçä¦.ëSݸ<Êù¬†Ààd¬×iÀþü� j¾\.“*øjÙϘauzÞ†wO ÷ìQÈÜU~Žˆ~2 B²ÚPÝ1VH,;»! ?ÙÈ•?[7çz±Dꫳ,K>šB;¦å7f!X³†­'î¡3@ùyÒ¥0—½Ô€Õ÷£¦>b ìf^”ü­êÜÎlˆQ1 t¸Q‘œ[±¾BÒNÛ®Tò�dl’iëT¹üÌn68½ëX°³È 
›>qÆá�®’ÝÒ®Ú·çn4ÁÓP¢ý˜ñ6žýîí_+¼HÞ!ÛIšó¥ü¸÷ûÆÌxäjFQ¶ê`Áuæš[µçV ߪ"ü5 ó±Ëð#1{f¶‹§Qì²Ï{ñâ³TÅþ« quÉo§mâ˜ÝdIºh"šY•Úo Û€÷/™Ô–Âd£�b(¢×VŒóÕtWšîD#Õ€->xü¹×›[Ãk¬Ä ÐiðQž\=¾3ˆ, ª#ö€Äµ Üî~S®ÊæÀ÷’«á7Äú»Qù&Jº5Hà¿é2ÕÓÞr¶ß8Âpm³0Ÿyû·;âW¿
1ޏ¾ÓF¡¥½níÀߨ:iŠ:Yi|y2¶Öµ8…—^µèœ³eµg×
îxB>¹3j$M.ý ¡ò`èíˆ�BžnÕŶøq„È}¢±¥ W¡ %Ù_TÛ§°jBåÇCN£”Ö…/àpÍÓO@Weµw´ŸÚ¦B@
†µ Ùpí›Å^‚s 8¥#ت¦O¦³þ'—ƒ°6uÞˆÉ PDE/ÇL�XÉ�âQ*nÙÉÚ´À!,LÖÔ‚–MÜ Ý˾罦~·†4Æ�¶ð0±o û´iàF$«4Œž5XòÞJËJ×.¥0XhÛÎCÿ¬È ±2 °;Ç®Q»YË8vµkEÿ[SDñ�Ê*:á^¶ò"Î#%ˆ‡ ¿®¯ £ëa÷ï½Á<(gõt�¦ïToÕÿƒ¶s$)FÚ±}&Ú �À®¡8¯ùþ¯Yjµ^9¬—P¤
P{‘7—¯Î}l
ל!t³VöwA2׆üè•Ó
µF|+ö2ø k§·Ý©xÅ8<øA†Â®¸`Ž{:Œ¬tÊàò2YÅ+R¸
wwü+K’Ò*mWNjC2§æ*ç¦?=LÁAJ¨Á�éF*ËGK��õ‚Z¢…“,–q`(˜\ª»ÉbO­>O*bk1÷Þ`ñÇ=…Ê¥ ýI½Ô‚Pß_$l>§4¬¬(g%o©#T)e:G4µŸBÍ>W¾wÊ’#.U¯_ZȉªŸO礩Ucê|€Ïóã‘°]¿í”;¥‘iö” ÈÉ ÔAš›,rzð3 Ú”NÅŽÔáE{||ÕßC8ËrجäØy‹Ù~¿ðÕøÝ†‡:±[�$ âvìõžÿ{²°qfül€ìEjñŠãoôz×¾†Ç,ðöý¦}¸ÉЧ‡ÊÿÀ¡Æ†¹oÊJâ?ðwÀCx¯±oM˜7âÐd�—Ô’˜Æ8HW.âµþï+B T$yÞÊ"‚²Tý¾‡ ÙÓX¬�çÊâ¶ ¬ë~XÏc“B@ÛäAS“Å,Ä
k½ÙÃøBºRÅ€C*vNe°Œ2õO °ÑŠ�=áæÚK›ÁzžÜ§)¢[­I#Èl¥òþý[™B’(lÌ¥qÑÝûŽ-`g'¾‰jˆ>IÖ%…²øpƒO
gV?8¼y?Õ3!…j�œOUÎöüŠìˆØó™LÄ囹=‰7b*’Ù&ßûÓÏ"÷Œ&um“þy.p÷Šð½)HIv˜�dÒEŠ!X³ºz `BÉ“�È9z^qË29—’Q\qtêÄu Ë
à7Þé<´ýê9Ù�÷ûšpÓ¡¯T 0ûƒ¤» %Éâfy»ÙÐ:Ûx�*£è~'ÿA†Ë bWõÿk¹c,�KÕm•õJÔ’7]mõ ¯klFï/8=-í*–õ-¯Q³^â›0ŸçùÓñ9â YZB”™¦v�å°^"¾.ée6ö;ïò‘Ð×i)�}¦À=õ/£3Âôc°Lhð× ”}Ç^¥Jþ€*)ìý´CŽMtödO©«Ï�½¿Èzíb†�_}V=•p™Â€wôû×>|m —è+ñ6:ÈA:{¼|Ç�I@_ÄŒª´x�ò•�9š&[¼0›e¼!94‰<ï7/¤?�ÒÀ]´7¤†Çk*Ñ<C§ø?¤SV·x‡q‰š²¼ŒFÉ §9óè_·Ò/w˜õ›kÿrjÝ–¡öù *ÿ“°‡bXXÝÞñÈÍÏ{s6.¿ø�ØÕ�ÙÄY9Á3•lÔ�Ø=ÐN¦ˆ%‘¶
Ëì= ÷ðX�¦–V7ᱩ<Zë³ý ®Ñyç#ƒ¯'“où±")ŸÝïkÉl’!JY
‘øìDRîì¿ì7g¼wÜFøÃÀÏãÓÍdå5pŒÂ]֬ʎ4XÆÄ~Ïo‹Ïå0‚7®6«ëµÝÚH¶œ�RÍ-éCR�úDËL™}IP‰øh7Ý—¢«»µyMJmtü¡}Yåö¤pÖÑ

View File

@@ -0,0 +1,23 @@
#Êiäob³û·øTTn‰”ê$QDÚ�y|I~ïç<$.è‘ÎÝ2d`M1~gU$Ø‹KFgÈ÷œH¶z»@Ö´c´ZSpaÀŸ–mæsV :ã½…~ä~z\!ýÀðü.­¤âk';ø@BgåþÀß§"/zäŒ×Ü9ñ#J�ðå - £b¶rr㢠XÊCƒÇJLž¿ñÂ{ô¬ƒ¦³Dœ‘¥íú"BT‡ÚåIGúÏä�øÛþW_ ôAͱ äSÕp4AǺfúÀW}{WÒ.>™Ä_Mâ“A{ÀÞ†…f×]æFɶì‘™M“ ²p´L §H'-Fè”Aß5ÏÞ/ ‡^sAm¿�·cÿ5g˜t.ä¡p³úB�†,äJ
íC)¤ÚÖr~>F»>’Ãéÿ \éûõ·ì}Ð@1*4�ÿ( V¬ßp*ºõúh<–^(Ï[´)AU¼†�Ä©\žíCaÄøç0T‚È“ RÙoîéWˆ‚Ü#óñòRMÀûõ6¿ÜSU€ÓÓ�$Ã. hsÍ1~•À‘ž0¾²ÞvKpÿ‚Ì•”ÿÑ�xÓOâÂÞ7EÄMJ?&/dLPí;Ã4ÐK‰,bä~W H”¸G˜¶ùá®[ˈuÁ(õūӂ:퇞Ë5—Dh[Œ]©J¡ù•Ð!Úa†µÙóã��@³T*Ù˜ [Þ«S*ªÖ˜Þô"É–AŠ÷áE>tÅz&©¦+Òs­?øj‰þýh"þé”ló¥¿�”~[±Z­?‹ê°XŽ jÃ0E@êÎj†®Ù¥³ãZñ+IÉí~\Ú•¨ÝYʦ±·ø¬E·×-tê±oÑJ8yÎæØ…“sÎGÉE3dä?™m¨ãa�+w^ª£5I™8úêÂÇQuiªÃM{oŽR³8!R«ëäÔØy}ØíMe¨$Ášü©Ø¾8ÉMÙ–%-£{ðþþå¾læ6·||rÿÂÔ˜Úˆl�Ü1
ŸoBQ­Ž•v=Û0¶c©ñ%Â:”áÂS¶¥Ü_hki/m¥l‹}C–«DMŸÆŽÚ'jë}ïXM�¿zpuLþ…eò¯]ý4u�
¦%~´4ǪX'*ôÚ2fh¢†�®üv†ƒyÁþgóÄÚFI5gü¦*O=çŒýkçÒ 7#AHø-mMy^ôK‹¯-€sé°StA ðª"¼o¹í ¹ˆ˜ÁLë½}&²ÊûÍì5Ãð¯jQ‘ƒÜ"¥)ÌÓN0¿œ:]GH×cŽTLU·[©ä@ %Ãæc×9Ì)ï¢�/j4ŠÕ~üûai»{
¬¥DØ&móOÓï“÷ahƒ¡~ZX1o0½ Ë|@5¥\ƒ/QI"FY\JíTí]Ù‹¯úÏb29?Ñ=Št9Lo­#Í 6™ÏšëîëXè ð ømÀÉD¨/”Á{¢h·ù"BÆ1 KÜ~¢�S›êeQOxF=†R÷1‚kŒ{cM­ðÆ®XÈý'Õ1lðÑj<hÊý]ò~¯5£}™bÈS&àú
xF6ôVÔ0}Yœ. åûƒ×øòÇõl*ó#^Ðqm²ŠG›â“c��›?îˆÚ®y·âÚ�.ÒGŽváôÉ_$zÒjÆ‹ÜvBs@ôfdª„Ÿæ�_þ¿=… w¼æ¤¯Ý¥îÜ'džPCRÿç”Z½|->^Ÿð ­WMGÞ�…,Ìx>W‚ Úžõtsj^ÍyQõÒ(í©g½ˆ�8¡ìÝe6¦%7F›Å�zvÀK/°KÉ™HÅ} ˆýx׋¸8M ™¼Ú‰ƒ<�?½$‚ �â'ÓºG;ÊÞo2ô¸$n· •Ený*…M ¦>
Ã? S|%ùt‡$Â}-ãtËi,PwÍV ^47CÍEåøe(‰AÅ“ï¶�—Ë2Ÿj‰ê…ƒò¨•º¾•qÆŒxÐK�®�þ³eíÅ‹ïKÚK0WQ†4õ;]ÉÌÐM[¬J˜Ö«õÝø½5ãŸÆKTE�Ñ~Ý}°�Sì~Ë÷¥•zí‡V4·ëòtn¹}wer°@ÈÂ[GˆˆCÙ=áÑ0{áSÚÊ^“•*î@þu¼*oK]©X)_fCпyµ{M—qî‘8RA^-|­ %öCçý)nMïÆ:
-hŒ¦h†¯Ãçi‘ƒ¾�wÝ%€<ÝÃ:ûƒO²ñíîûηÆx½©ßMz¹�>+qÌ¥eí¼'©j~�›ö¿èbq ­ï¶V–Ÿ›IL¤áO?ˆ¤÷ëM¿ï˜jÃ3nYAÐý®ˆ|á §Ž’µœ££Ð†¹
iG&»Ç8ìW- ø¥ )‹Cä~[Ê�…‰Ñ´‘Z× Ý÷ˆwJr9Ò!ç<V/Á?wϽ‘
OŒ¨èÍYÌÿOŸqë™ÄpB,°÷ú vÂ^Æ+›Ç <XLð6‰æÛ“eiPÞ¯Ëj«¦�]•˜„UÒÀ² �ÒZëõÚº3]Äyö_Ûõ�SÆäHÿò }®všX÷C´_–SVç—®zøìÒ˜Ë^º”*¿¦øj,±½e³Î^¾2jHžýÏ[ôçÞôŸí$E�‘ë¥?v§ó0ZàJíÀr$ÓœÖO:AlÛgÎ`‹Ï±Î-:eëhã´‚ÈEa {þb?zá_QøtGö•™®aÏŠŽ '~+º£åíØkŒä¹-ëI|¡²»L רcÁ”Cß½]yñ§!ÚÜZ@4_ÆÝ÷ö„ã³Ëzc‹|·°¬ ï矙€ Þ*¬F5b£mºùâÖ/–ûøéBdHvße) ÔŽW�‰ÇzÊš™—$}ßir/Ôçä¦.ëSݸ<Êù¬†Ààd¬×iÀþü� j¾\.“*øjÙϘauzÞ†wO ÷ìQÈÜU~Žˆ~2 B²ÚPÝ1VH,;»! ?ÙÈ•?[7çz±Dꫳ,K>šB;¦å7f!X³†­'î¡3@ùyÒ¥0—½Ô€Õ÷£¦>b ìf^”ü­êÜÎlˆQ1 t¸Q‘œ[±¾BÒNÛ®Tò�dl’iëT¹üÌn68½ëX°³È 
›>qÆá�®’ÝÒ®Ú·çn4ÁÓP¢ý˜ñ6žýîí_+¼HÞ!ÛIšó¥ü¸÷ûÆÌxäjFQ¶ê`Áuæš[µçV ߪ"ü5 ó±Ëð#1{f¶‹§Qì²Ï{ñâ³TÅþ« quÉo§mâ˜ÝdIºh"šY•Úo Û€÷/™Ô–Âd£�b(¢×VŒóÕtWšîD#Õ€->xü¹×›[Ãk¬Ä ÐiðQž\=¾3ˆ, ª#ö€Äµ Üî~S®ÊæÀ÷’«á7Äú»Qù&Jº5Hà¿é2ÕÓÞr¶ß8Âpm³0Ÿyû·;âW¿
1ޏ¾ÓF¡¥½níÀߨ:iŠ:Yi|y2¶Öµ8…—^µèœ³eµg×
îxB>¹3j$M.ý ¡ò`èíˆ�BžnÕŶøq„È}¢±¥ W¡ %Ù_TÛ§°jBåÇCN£”Ö…/àpÍÓO@Weµw´ŸÚ¦B@
†µ Ùpí›Å^‚s 8¥#ت¦O¦³þ'—ƒ°6uÞˆÉ PDE/ÇL�XÉ�âQ*nÙÉÚ´À!,LÖÔ‚–MÜ Ý˾罦~·†4Æ�¶ð0±o û´iàF$«4Œž5XòÞJËJ×.¥0XhÛÎCÿ¬È ±2 °;Ç®Q»YË8vµkEÿ[SDñ�Ê*:á^¶ò"Î#%ˆ‡ ¿®¯ £ëa÷ï½Á<(gõt�¦ïToÕÿƒ¶s$)FÚ±}&Ú �À®¡8¯ùþ¯Yjµ^9¬—P¤
P{‘7—¯Î}l
ל!t³VöwA2׆üè•Ó
µF|+ö2ø k§·Ý©xÅ8<øA†Â®¸`Ž{:Œ¬tÊàò2YÅ+R¸
wwü+K’Ò*mWNjC2§æ*ç¦?=LÁAJ¨Á�éF*ËGK��õ‚Z¢…“,–q`(˜\ª»ÉbO­>O*bk1÷Þ`ñÇ=…Ê¥ ýI½Ô‚Pß_$l>§4¬¬(g%o©#T)e:G4µŸBÍ>W¾wÊ’#.U¯_ZȉªŸO礩Ucê|€Ïóã‘°]¿í”;¥‘iö” ÈÉ ÔAš›,rzð3 Ú”NÅŽÔáE{||ÕßC8ËrجäØy‹Ù~¿ðÕøÝ†‡:±[�$ âvìõžÿ{²°qfül€ìEjñŠãoôz×¾†Ç,ðöý¦}¸ÉЧ‡ÊÿÀ¡Æ†¹oÊJâ?ðwÀCx¯±oM˜7âÐd�—Ô’˜Æ8HW.âµþï+B T$yÞÊ"‚²Tý¾‡ ÙÓX¬�çÊâ¶ ¬ë~XÏc“B@ÛäAS“Å,Ä
k½ÙÃøBºRÅ€C*vNe°Œ2õO °ÑŠ�=áæÚK›ÁzžÜ§)¢[­I#Èl¥òþý[™B’(lÌ¥qÑÝûŽ-`g'¾‰jˆ>IÖ%…²øpƒO
gV?8¼y?Õ3!…j�œOUÎöüŠìˆØó™LÄ囹=‰7b*’Ù&ßûÓÏ"÷Œ&um“þy.p÷Šð½)HIv˜�dÒEŠ!X³ºz `BÉ“�È9z^qË29—’Q\qtêÄu Ë
à7Þé<´ýê9Ù�÷ûšpÓ¡¯T 0ûƒ¤» %Éâfy»ÙÐ:Ûx�*£è~'ÿA†Ë bWõÿk¹c,�KÕm•õJÔ’7]mõ ¯klFï/8=-í*–õ-¯Q³^â›0ŸçùÓñ9â YZB”™¦v�å°^"¾.ée6ö;ïò‘Ð×i)�}¦À=õ/£3Âôc°Lhð× ”}Ç^¥Jþ€*)ìý´CŽMtödO©«Ï�½¿Èzíb†�_}V=•p™Â€wôû×>|m —è+ñ6:ÈA:{¼|Ç�I@_ÄŒª´x�ò•�9š&[¼0›e¼!94‰<ï7/¤?�ÒÀ]´7¤†Çk*Ñ<C§ø?¤SV·x‡q‰š²¼ŒFÉ §9óè_·Ò/w˜õ›kÿrjÝ–¡öù *ÿ“°‡bXXÝÞñÈÍÏ{s6.¿ø�ØÕ�ÙÄY9Á3•lÔ�Ø=ÐN¦ˆ%‘¶
Ëì= ÷ðX�¦–V7ᱩ<Zë³ý ®Ñyç#ƒ¯'“où±")ŸÝïkÉl’!JY
‘øìDRîì¿ì7g¼wÜFøÃÀÏãÓÍdå5pŒÂ]֬ʎ4XÆÄ~Ïo‹Ïå0‚7®6«ëµÝÚH¶œ�RÍ-éCR�úDËL™}IP‰øh7Ý—¢«»µyMJmtü¡}Yåö¤pÖÑ

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,23 @@
#Êiäob³û·øTTn‰”ê$QDÚ�y|I~ïç<$.è‘ÎÝ2d`M1~gU$Ø‹KFgÈ÷œH¶z»@Ö´c´ZSpaÀŸ–mæsV :ã½…~ä~z\!ýÀðü.­¤âk';ø@BgåþÀß§"/zäŒ×Ü9ñ#J�ðå - £b¶rr㢠XÊCƒÇJLž¿ñÂ{ô¬ƒ¦³Dœ‘¥íú"BT‡ÚåIGúÏä�øÛþW_ ôAͱ äSÕp4AǺfúÀW}{WÒ.>™Ä_Mâ“A{ÀÞ†…f×]æFɶì‘™M“ ²p´L §H'-Fè”Aß5ÏÞ/ ‡^sAm¿�·cÿ5g˜t.ä¡p³úB�†,äJ
íC)¤ÚÖr~>F»>’Ãéÿ \éûõ·ì}Ð@1*4�ÿ( V¬ßp*ºõúh<–^(Ï[´)AU¼†�Ä©\žíCaÄøç0T‚È“ RÙoîéWˆ‚Ü#óñòRMÀûõ6¿ÜSU€ÓÓ�$Ã. hsÍ1~•À‘ž0¾²ÞvKpÿ‚Ì•”ÿÑ�xÓOâÂÞ7EÄMJ?&/dLPí;Ã4ÐK‰,bä~W H”¸G˜¶ùá®[ˈuÁ(õūӂ:퇞Ë5—Dh[Œ]©J¡ù•Ð!Úa†µÙóã��@³T*Ù˜ [Þ«S*ªÖ˜Þô"É–AŠ÷áE>tÅz&©¦+Òs­?øj‰þýh"þé”ló¥¿�”~[±Z­?‹ê°XŽ jÃ0E@êÎj†®Ù¥³ãZñ+IÉí~\Ú•¨ÝYʦ±·ø¬E·×-tê±oÑJ8yÎæØ…“sÎGÉE3dä?™m¨ãa�+w^ª£5I™8úêÂÇQuiªÃM{oŽR³8!R«ëäÔØy}ØíMe¨$Ášü©Ø¾8ÉMÙ–%-£{ðþþå¾læ6·||rÿÂÔ˜Úˆl�Ü1
ŸoBQ­Ž•v=Û0¶c©ñ%Â:”áÂS¶¥Ü_hki/m¥l‹}C–«DMŸÆŽÚ'jë}ïXM�¿zpuLþ…eò¯]ý4u�
¦%~´4ǪX'*ôÚ2fh¢†�®üv†ƒyÁþgóÄÚFI5gü¦*O=çŒýkçÒ 7#AHø-mMy^ôK‹¯-€sé°StA ðª"¼o¹í ¹ˆ˜ÁLë½}&²ÊûÍì5Ãð¯jQ‘ƒÜ"¥)ÌÓN0¿œ:]GH×cŽTLU·[©ä@ %Ãæc×9Ì)ï¢�/j4ŠÕ~üûai»{
¬¥DØ&móOÓï“÷ahƒ¡~ZX1o0½ Ë|@5¥\ƒ/QI"FY\JíTí]Ù‹¯úÏb29?Ñ=Št9Lo­#Í 6™ÏšëîëXè ð ømÀÉD¨/”Á{¢h·ù"BÆ1 KÜ~¢�S›êeQOxF=†R÷1‚kŒ{cM­ðÆ®XÈý'Õ1lðÑj<hÊý]ò~¯5£}™bÈS&àú
xF6ôVÔ0}Yœ. åûƒ×øòÇõl*ó#^Ðqm²ŠG›â“c��›?îˆÚ®y·âÚ�.ÒGŽváôÉ_$zÒjÆ‹ÜvBs@ôfdª„Ÿæ�_þ¿=… w¼æ¤¯Ý¥îÜ'džPCRÿç”Z½|->^Ÿð ­WMGÞ�…,Ìx>W‚ Úžõtsj^ÍyQõÒ(í©g½ˆ�8¡ìÝe6¦%7F›Å�zvÀK/°KÉ™HÅ} ˆýx׋¸8M ™¼Ú‰ƒ<�?½$‚ �â'ÓºG;ÊÞo2ô¸$n· •Ený*…M ¦>
Ã? S|%ùt‡$Â}-ãtËi,PwÍV ^47CÍEåøe(‰AÅ“ï¶�—Ë2Ÿj‰ê…ƒò¨•º¾•qÆŒxÐK�®�þ³eíÅ‹ïKÚK0WQ†4õ;]ÉÌÐM[¬J˜Ö«õÝø½5ãŸÆKTE�Ñ~Ý}°�Sì~Ë÷¥•zí‡V4·ëòtn¹}wer°@ÈÂ[GˆˆCÙ=áÑ0{áSÚÊ^“•*î@þu¼*oK]©X)_fCпyµ{M—qî‘8RA^-|­ %öCçý)nMïÆ:
-hŒ¦h†¯Ãçi‘ƒ¾�wÝ%€<ÝÃ:ûƒO²ñíîûηÆx½©ßMz¹�>+qÌ¥eí¼'©j~�›ö¿èbq ­ï¶V–Ÿ›IL¤áO?ˆ¤÷ëM¿ï˜jÃ3nYAÐý®ˆ|á §Ž’µœ££Ð†¹
iG&»Ç8ìW- ø¥ )‹Cä~[Ê�…‰Ñ´‘Z× Ý÷ˆwJr9Ò!ç<V/Á?wϽ‘
OŒ¨èÍYÌÿOŸqë™ÄpB,°÷ú vÂ^Æ+›Ç <XLð6‰æÛ“eiPÞ¯Ëj«¦�]•˜„UÒÀ² �ÒZëõÚº3]Äyö_Ûõ�SÆäHÿò }®všX÷C´_–SVç—®zøìÒ˜Ë^º”*¿¦øj,±½e³Î^¾2jHžýÏ[ôçÞôŸí$E�‘ë¥?v§ó0ZàJíÀr$ÓœÖO:AlÛgÎ`‹Ï±Î-:eëhã´‚ÈEa {þb?zá_QøtGö•™®aÏŠŽ '~+º£åíØkŒä¹-ëI|¡²»L רcÁ”Cß½]yñ§!ÚÜZ@4_ÆÝ÷ö„ã³Ëzc‹|·°¬ ï矙€ Þ*¬F5b£mºùâÖ/–ûøéBdHvße) ÔŽW�‰ÇzÊš™—$}ßir/Ôçä¦.ëSݸ<Êù¬†Ààd¬×iÀþü� j¾\.“*øjÙϘauzÞ†wO ÷ìQÈÜU~Žˆ~2 B²ÚPÝ1VH,;»! ?ÙÈ•?[7çz±Dꫳ,K>šB;¦å7f!X³†­'î¡3@ùyÒ¥0—½Ô€Õ÷£¦>b ìf^”ü­êÜÎlˆQ1 t¸Q‘œ[±¾BÒNÛ®Tò�dl’iëT¹üÌn68½ëX°³È 
›>qÆá�®’ÝÒ®Ú·çn4ÁÓP¢ý˜ñ6žýîí_+¼HÞ!ÛIšó¥ü¸÷ûÆÌxäjFQ¶ê`Áuæš[µçV ߪ"ü5 ó±Ëð#1{f¶‹§Qì²Ï{ñâ³TÅþ« quÉo§mâ˜ÝdIºh"šY•Úo Û€÷/™Ô–Âd£�b(¢×VŒóÕtWšîD#Õ€->xü¹×›[Ãk¬Ä ÐiðQž\=¾3ˆ, ª#ö€Äµ Üî~S®ÊæÀ÷’«á7Äú»Qù&Jº5Hà¿é2ÕÓÞr¶ß8Âpm³0Ÿyû·;âW¿
1ޏ¾ÓF¡¥½níÀߨ:iŠ:Yi|y2¶Öµ8…—^µèœ³eµg×
îxB>¹3j$M.ý ¡ò`èíˆ�BžnÕŶøq„È}¢±¥ W¡ %Ù_TÛ§°jBåÇCN£”Ö…/àpÍÓO@Weµw´ŸÚ¦B@
†µ Ùpí›Å^‚s 8¥#ت¦O¦³þ'—ƒ°6uÞˆÉ PDE/ÇL�XÉ�âQ*nÙÉÚ´À!,LÖÔ‚–MÜ Ý˾罦~·†4Æ�¶ð0±o û´iàF$«4Œž5XòÞJËJ×.¥0XhÛÎCÿ¬È ±2 °;Ç®Q»YË8vµkEÿ[SDñ�Ê*:á^¶ò"Î#%ˆ‡ ¿®¯ £ëa÷ï½Á<(gõt�¦ïToÕÿƒ¶s$)FÚ±}&Ú �À®¡8¯ùþ¯Yjµ^9¬—P¤
P{‘7—¯Î}l
ל!t³VöwA2׆üè•Ó
µF|+ö2ø k§·Ý©xÅ8<øA†Â®¸`Ž{:Œ¬tÊàò2YÅ+R¸
wwü+K’Ò*mWNjC2§æ*ç¦?=LÁAJ¨Á�éF*ËGK��õ‚Z¢…“,–q`(˜\ª»ÉbO­>O*bk1÷Þ`ñÇ=…Ê¥ ýI½Ô‚Pß_$l>§4¬¬(g%o©#T)e:G4µŸBÍ>W¾wÊ’#.U¯_ZȉªŸO礩Ucê|€Ïóã‘°]¿í”;¥‘iö” ÈÉ ÔAš›,rzð3 Ú”NÅŽÔáE{||ÕßC8ËrجäØy‹Ù~¿ðÕøÝ†‡:±[�$ âvìõžÿ{²°qfül€ìEjñŠãoôz×¾†Ç,ðöý¦}¸ÉЧ‡ÊÿÀ¡Æ†¹oÊJâ?ðwÀCx¯±oM˜7âÐd�—Ô’˜Æ8HW.âµþï+B T$yÞÊ"‚²Tý¾‡ ÙÓX¬�çÊâ¶ ¬ë~XÏc“B@ÛäAS“Å,Ä
k½ÙÃøBºRÅ€C*vNe°Œ2õO °ÑŠ�=áæÚK›ÁzžÜ§)¢[­I#Èl¥òþý[™B’(lÌ¥qÑÝûŽ-`g'¾‰jˆ>IÖ%…²øpƒO
gV?8¼y?Õ3!…j�œOUÎöüŠìˆØó™LÄ囹=‰7b*’Ù&ßûÓÏ"÷Œ&um“þy.p÷Šð½)HIv˜�dÒEŠ!X³ºz `BÉ“�È9z^qË29—’Q\qtêÄu Ë
à7Þé<´ýê9Ù�÷ûšpÓ¡¯T 0ûƒ¤» %Éâfy»ÙÐ:Ûx�*£è~'ÿA†Ë bWõÿk¹c,�KÕm•õJÔ’7]mõ ¯klFï/8=-í*–õ-¯Q³^â›0ŸçùÓñ9â YZB”™¦v�å°^"¾.ée6ö;ïò‘Ð×i)�}¦À=õ/£3Âôc°Lhð× ”}Ç^¥Jþ€*)ìý´CŽMtödO©«Ï�½¿Èzíb†�_}V=•p™Â€wôû×>|m —è+ñ6:ÈA:{¼|Ç�I@_ÄŒª´x�ò•�9š&[¼0›e¼!94‰<ï7/¤?�ÒÀ]´7¤†Çk*Ñ<C§ø?¤SV·x‡q‰š²¼ŒFÉ §9óè_·Ò/w˜õ›kÿrjÝ–¡öù *ÿ“°‡bXXÝÞñÈÍÏ{s6.¿ø�ØÕ�ÙÄY9Á3•lÔ�Ø=ÐN¦ˆ%‘¶
Ëì= ÷ðX�¦–V7ᱩ<Zë³ý ®Ñyç#ƒ¯'“où±")ŸÝïkÉl’!JY
‘øìDRîì¿ì7g¼wÜFøÃÀÏãÓÍdå5pŒÂ]֬ʎ4XÆÄ~Ïo‹Ïå0‚7®6«ëµÝÚH¶œ�RÍ-éCR�úDËL™}IP‰øh7Ý—¢«»µyMJmtü¡}Yåö¤pÖÑ

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,25 @@
ªZ5áu `y5y!‡ gØ¡z yÅr• s=5g§ûNV ¢b-C…‡TRºLTp–�;ŒʘN{´‡$méËUKO׎-uu‰28{ó,¯’h›e3þéz›'É:ÆX¸?”ˆi¸]Éžq•m•ÏŽ:GédÆÖE“ž ¿Öú(Lñ­'CÏ6Ò4¢’\ÃEMP—Äsp»=Ö³#Q޼|—¾Éõ;¾‰ÖÜP£¡¸ñ“4Lãn�äíz :zÃKDcf3¨ÏAñþ—Å5Ê1ËY›Vœ&H sJìÉ:%¯DÅ"a»j‰Gn-Œ“JúR£sT´ñ¤Pw£Yû9IÐK½)ÆŠþ÷)°¸>ŠÜåÊ/%BÌEYkôâ–°@"î±¾¬Æ§Ôã˜�L†3ÕV&@�êeÑ�¯]Rít¼ƒÂ¡‘’÷F´ùe“Qô…\]‘°éjc¤ÂJ
GóöôýÀ 2-„¼`žçí†c˜vïŸ
”?òXæŒD£‡qKå1ª_À¯ßIšô \Éoi™Œ-[CÞ;€BD&ôG)qç° ·tÀ,ž·-+EôKϬUZO›†ò#ƒà„ÃGsuĈ2qé�þ5¯ìDí’Uv\N¾Aù'ݨ8º�ËW˜N;&³@q.ßé•�§'¬Glê±®�“Ñ+EcÙØìs¦;ôšÃ h¶yýv髺Uá©JØ8åOa.LZ×u~}pÎÖa±iF¦™À¯ýø_ÚK8oNø-éWS
‘à¢WÎ{Y½©Æ®7³ÙýЦøÖÎ
²”¨Ê¥LU6ÕDØ”û�žw›åÝü¶ö E'Ȭ5JLëC‹Ââb¼íÂõëã®b†‘]%¿ç¤½éĸ>` þ’n†ÂÉ`ø}—?€�ê¼¥“«Ï®ToÛÞ>�Ÿ æfôq‰ìŠª{ÄÔœéhÅS ^¤Žûé §æß»Ooîª/þèjÿ¾U»ÔµçþáàéÌ¢ö:ÚÔ[YÔI™ì¤l¡WD5O�—°¬¥·‹ã¹N[:Àjî�µ´v³\gf ŒC‡[‘]]ÄD®B�ÿwâ.Ä“›·Ù\<9Åç�´5˜/­bÖæ�®ÁûäIéÃÏ–oÓI"Tª½Û%{:NÛ©�Î¥„iMÍþ7ÈyN6k}+Œ1±”ÀIÿ‹ÊåøŽ&øª×[ã¶= ´R'ð¦öFTÒgpk)ùvcÏÀá€F“IK+Eë÷f£¯É�¹FÕ*“4èA& npW_Nå �Qôò
¬zÄ‘Ï{JZ£Y+�H+–¼{2Š
VsÐF�I'¡õ7f½â·û+/V"M• ía€Ýâ¸J³üï{…@o.MÅ5ß�ëfýËßëŽ÷bíß½J{±xyy?�Ú×®‹†¨ž œÅß#Q¯ ãy� ´1 "Wµ�­Bâë8æ“=Â.וÝà€¶<ai¦3Ð&&ž—Í€)šäƒ…h:´SC Œë
§�†GƲÝ+Kàiþ¦FË}óZÕ¾zþ
h€ò"Ü…÷è:û›zÁäÆÌ”­%Ëoñºðâ7@¤ƒV?=Ïfq@æ³Àf�¸¦]‡œ}ˆç¶X¢rJzäø€¸­m9Á0.D²<R9±7@áziDK.å©îó–ZŒ¥ÎçÊ#9ð˜•E û8Ó;
¯½rþ Æ“0ИUšODQ×/ø“Àº(“X˜a•]�ÅØlûa“SW]=ãDÄ $]äžÄé�LË;OoSY`Sð#°º·é0øTåAÞZá¶D[ž ¬>Õäé˜Ùë t,”4�?ê“<dÅHõ'~èÒ³�ïapËxïï OÓ{v9jFº£²7¢K;[ Å–OGíꔨë|?¥Ïhx\GÓ�ø§¤<㇒9�ˬŒC�Ì©/8ž/'EZ´¢åm“" ^%xhŸ¡T]Kö뢴È@)áU�âóGA-p¶$•&Íþ6ìÙ.Zv¹1è'�.µ»IHÔñ0/Z^w`²25£ËXï¤YÑ¢ ;ЂÑPÕÛ¹F‚M÷Y´Gè U€Ú/ŠšQòdÊÍaæÑîFã‹"ÜvBlKÀ·iK/�ƒF^ŸO˜Ñ;r€P=eÊ/Ó[”¿ ¨£\gø„Âi‰"E˜Fµt¯×*x粃 ^A«ácM“òÛ@î’ X/ÙÙ¯ šFùcî®wá:?láîµâ’áhÄtÑvájÀ�…HŸ ƒ!^cÛ“ ƒžÎ.&k`Søªýw
³ÅP~ʹœ�{Ã@ð¶ôÂÙp„%r‰ð{Pë(TéÞ?xÒY|²­±¡^ú4D5ø\ï{v\.ú³`ÊY
DGZqÅœ`Õ‹å_.¬ƒë³ãM
Àˇ¨¼*ê7Ë®u‚Ê¡“¥ôä¦zÆ;H�6ĘäI£¡k•Ôä#/jÙµä<Z‹Å]îÁï,&K^‘Ÿ�“v��µ2>´q @%‘1“½"^°®Aº¿Žøñh]:îj�±)¬éÁÓ:È‘kÅ,£å9Qy×0Ë7´ºûÇ‘›<ùÝ"Fr0 Õ̬œŽàº‚4ÍðwÁ¾bymS½ÀúAä+×çyëüz5xä²½†«´ÏNA1›Q•Â"õp‹zèôy, s,>%ðø9Z‡ƒêÒ˜g†…ðk(éhã¬áöûVFá%[ "b ‚ÇØ‰j,‘isÖÑ[’v.FÝý¿œÊmŠÒªì6w>CFd¸NÑ`™mx‹µ¡e¥vWV|pÔ�ÅëÞXðù�Oš„жk%�6›…p¥ÏÁæl› åi¦!2~¥ÿƒÊ�/"¬µðï=í塚¢ìY%Põ÷ÄMè¢ïܬiŽ©GQ�Qn†r×v¿<ÃE‘±ÅãŠfèç?!7–¯V`}“Ž”ßd
®páð(è)7:ç–R®¯eÖZ‚]ó„÷3ÙWOJéOta!.k‹~Oñ #•Ùj–W°ºèì2INûYió½|œKL*
3 —õØ%Øç×8Y3³3•ûÐw'ƒ³}“ェ3 DH8„zy
�Y0
òMh“žik­ŸgC2>a¯98B0 é„!'BŽdäØÎ[@S>þe÷†PÇë––_,‡©ˆß6ý ”¥”'úlã£ØR›0t“ys ?ÏDÞ�‹´Ó±:o±ÓãlFõ žéG?³š8ÕÍ Ó3L®ŠôðB‹º$Ûê 6zº�à“,ÉsÚÕàÄ…J#!WË©ô�Ø„GôV‹w1j·È6\¢üš¹è·�PÕ0­¡¸%p�·äºcb¯Ê²Ö
¨®s#ˆ ¾òñ;aέ÷\Êê;j/Q;�âm¹N…!¬‘.$ô¦Y`¤!¢UœÌµ¡îfáíáo­Ùïp[åŸZÑu瘀éŸÜ2ë@,/iß«@�è\ø ®4WÂã ¦- -»` 5Ù˜�òaàì´Á@¬õù”%Ã=w4…­¹Ð³Šë›ù_» ìŽÊñoåþ+ûÚ8ËéXÒ•àb÷gV7 ‰øžåþWþåc½=Tx�”<Ï¥Ô䉪ƒå'èàGVø) Wtî�Œ |Mj·j­Ã³îp=XðféT­’Ùäß:ÀAÄCCá7w§UÅSà»Hzo93=ßløwªüßúiË mCv¦¯k¶Û�ªÍ»d 2žwžTÜHÝ"÷Sëýry/ùíJEšü¨…¤# `â�§þJ³fq�áü\è–òD-ûâ·¾3ß=¾ë`ÁHy$�9ÛnÄZÃ89„§ñ’‹À´ƒ,Õ’85¾ºn fìp_¥/ [´ÿºo<�µ:q¾¢÷°ÿ…£û¥\"·DCdªîU
å;JËkRÅ!�·™ u‡H“ZÒÃZNñìv,}Ÿ‚ŒýoŸ•‰£US©:h¾hL
þ¨–§¥1°¹çýì›¶Æv‰Ú’Îx±M÷R–4PLF�MMê�Øa·õ
âÍCˆ£ßâ,³Ÿ›Åví-ôúñº
ÚãýipÑ®ž½r2žCÆ5:ÉÜ5ò7„PùB_¾l•¦U]¾º£«µ¹x«Õ:³: 3«•Éb¿ûñ·œÆ³ÃAٴî�ÛFè‡/P–A_eë½·åb§>w_Fj.¼–²ëÔ9ïävl¯è¿O\Z�ÛBS»†ª#»)êv½¡Zj�®¥ëË.m•ƒ2l ðN+Ά¦é²­Î®ièâ�b.Ì� D±¶íÐÞc÷Dn1Jþlso?²:w°=-\�<öŽ$Ò;)o–�=]vO窱Gµ�¢¾-š”îÑ�”Î)³ ªõ/=äà ê´L²Í‰FyW_Ó|b\:FQaN¾°¤>Ì VÉ©°´¼n¢Ÿ¡Œ9t6šQX(�õ9+ßü”E·ŽýŽpV;ä6Þ:,U±›ë‰„¥«ÞnâÝA¸´�“’à¢ÇÄ_ìTÀ4n>-º#¨‚ ýúÁg;"Ÿ ð[κҪ©Þµ0dšÕZSÚ×fîDÅt‡äÂÞ¬š!ô^Rðª+[});ÿÈ�áçJ‰ì(œÇŒ£Ì±¢`Ë2…¨ÿw¾¢’–Õ¯½Æß͈ŒÂµÈÙÛ‹ˆ¼ ©Zð&§²JA•Ü/gßCÈôÀ�Ðaƒ^X<“äãJŽÈN£�$@–ÔÉ9Ü!¢^ˆa{‡yÅú�9Ñó­ýþéo#Úü…ߌ�W9ØÜò½6£¥*,J¹WºÞ‹VµžzkJ\Cí�šk€±mFå2R<|œÇ$@J‡ñŠ$´_Å𹈎añšïžøËâ¶ëv0#j¼hy¾ú8R1Z¥`Óü3H¾¿Á],*5‡��Ê€èhë«Rá°ýHÏ‹]PX锿§æ¯6‰D �{EcB.&¿y≠petI7Öj30™qb6™ó{e#�ß¿~̓ì‚Vakjã-î±æq�òíÆ“gµÀÌ(D׫
} ÇG•ëż˜ã�Gè[É¡xmÛ&'g%äFÓþp«k¿cuýk:1u‚åuˆ¯I
ÕÔ¸ ýgõó; eèwÇ�ì@n1M Oú)ðËv _çÕB—!×,-Šyª©è7nv2‹‘oP1îÙõWÇfÉŒ˜ZÉÖ[É\ZÁf/ �á‘aèíÆ1‚zF1Ö³¿w3I‹uËJ;¥íFrmc”~ŨÝÉ^ñˆ?6
˜€šíK‡Ý¥¬è9T¢éºñ³?aQžB¼g$ ðۘ͒m€]¹w†Våo‚=[Éoð'¶Jd/N÷žÑç³IÜR\ïBÝhl ïj^|ÿhvÃ�#é¬sº„ÁÎ$ö|ôÉT`ïÑ

View File

@@ -0,0 +1,17 @@
;¶»Ûc–0„—œeb^iÿµ¬!Ðk$–øÁ£üGÄÿå6@ˆ®Æ(K+a…Ônúò¥'yZE·úCÒ±ŒOˆÔæ´«tÒY¦EKìÁW™bq]…z®»¤v J4Ç|ˆ9wóQ…H¶p÷kR›?Úgd½«~÷nÅ'æ�<øb(iÇ׈D`UéùÛÇ7ÕY XR±1jbÔÐrám?ù—~ò3þ³:E“¶Óùb¤¼Xü)€3µ2¸çÅ\ÕÚbßâOsu¤‡> h¯sšà¨Ø^©~|œàåò#ñ×U’ïN}vO³—ì]9ýÛ¬gC:|ž��E5 Âáoë¸ÌÖt–½I~Ï•!ØÛßE)´6_�>Ǥq¯»dô.„Ø t`ö\f"&z•4­^÷kÔ›.¥3£ Z2ZPØÅYnâ7û$Z‰09ò"ÔÏ µÅ³¿²¼ÅšIXµÚXrÏó¡¹ ÄóóüÒ£A¸Zm~®@È€4[�ye_iÿ.T†í’<¯Ã&Ü<-ÎJ¶²È@ÈM3B�TD8£ÆEï({Ùã2ä?&ú¡¬Þ´%­Le»�ˆÔé%ÍY¡^d½–5 ·qûã?gpip3DK[ƒ{?7°éË\ L¬êŒeMðû«JgR½¦)FM� l_˜á ûwÂ÷„Ö!ßÒ O¹Ä:C.v¹AJ¶:=¯‰’ò¯ͱÿ‰¼ùKû½@¯¯qó§èÓZõ!`º Z.7u9|«í�ó¹+æ€@PL‰]{;kH“F³V“cî£2Öó×þ+½6Ô}Ü~aEêÅàƒ4¤¥&üïó�þ U€
l|,õHiî�5VÜ>/&¤±@öX0£ÈVè�>íQ:÷×ÌìÀ/u´å‘Fqì„]5f
3|Å?Gd]Gã5[È›"±Ò˜#°â_¸y ‚ÕÓAá#¹H"õ:½L?ѽFº­¶¦Á„Êß|ÐPæ0OŠ·´™æý‰å�ŸàUÊö�Õï«ã<Ž$j¤»æ�5;ö~/øA@€ íÇ¥ýµ+_Äë„s PÃ
‡j‰�[,�iÅåfËÙZm�sK–£ÄòÄüV{*šj0oþá25P^Ìî³
é«=Ìñqç NL/n­¤£ëlC‡ùz»½ö‘¨¦ä:P¨® òs%«Ý�:Zº5 0ýZ0´ U°äÙþÌ5êà1ßQñ•Òú__ ßE·\dzáG¡8ÿîßš¢Vb¯"%3ˆ”
xj;Îk-Âi°{H8zоƒ'iSß�ƒœHÚµË ‰Q4@5ik$Zx¬*
s›,ÒÏP¾å\v@EÃ…A-8i/i¬‰’ùkóÎ&GåR¼ YDÌÚ\Ö>2-`Y"]þ¢‚µj—¤€&:ñm08tb¨s)ÈjT±ä‚Ó{!Á\Ô¼uÔQïR’¬–ίõ3J ëù—¥ie,¦ñ#&$íÀÀ[2ûW§I‡­hÖwÐu}XPïžÐoýœÆJ§8ëÕ^�WÞ¨ŽÈ0ï¾ÕãÇ�TÇææø–G~ï32Ct�}�žÊ<´&à2
U¸ìq³·›'²DI˜vëiDïw‹Ù»ú¦o·U¹Š*BÝÊŠoW8ÁJÛ'»Ó"^ϼV‘"Z $[9N‰µËáÙgå=é½B{¨þýðÅQÒÖl‘fãzí0bMÌ?š†.ÖÐ
e8ˈ–×: =²ø”ÆmÀO,‘ºÆ#?�ô†|Ьå¸ù¤£œÏÒâ¾·M Ë™À;�Tæ.šEd"æÝÈ„ úßH˜ Á9EXe%¯Ñm"ñIû¬$ܕԢ[­Ÿp…jŠ8íË}¨Ïa(�ø„q©œâÆ%xÎÖWPxMãšñ¾FU9àeÍËÂ#°ŠøofO~ 袠ªÈ!Ï.Quw (ßa6¸×·Š€”TgTÉ•°xêWÈ~¹¢‰ñБäìÏ®³ÁÅx.aº|.gt.TLfYø7¥–,Žm÷õÃmÿW†úgN!˜´ŽÐ‚K�ºo½UkhS<Š¡üÇ;è½�±mÉtHèâŸ&VxAxüÓº±öÑqМD|Ã7ªžú!åp # šTcö‰ê5Ã*±ÃˆÍœ§ï Ñ6:fÃ}—ØWe\/Ž_MÝ>V ¶¦¾ˆnRêønØÎ”„£IÏ ÁNÑv÷!ÁGüD$í�~e2õ¼)Ì:÷TBüÝý?ñÉE/WAªºQ¯¾yæô•Ü7™—\¤4XÏÜŽà âY†œ.W¡£~³Ÿ‹&é)¢–˜_' 7›ÌŽ* ß<Ü$ˆ–'Ý è†íTdMnÈ<…!œ„Y©¼Î­s�t(¸~øÍ䂹¥jQ¥
É•Ÿ®,•z¸y1Tè ËcGŒI(+®v0¶“§ àï7úe€· C1¯ê\�î«`³n:ÄWó“ƒ0Ø_g`ÞY@e @©ÑäøNÛ�ê‹ë¨±Ÿëà$Å\‚ìgÑÜwÜc¬šîÔˆ¦¢ððèM°%·[C�Œ½ûæÀ‘ÜëêÙ?{rño©Úô|&‚¡¹MG„çØJ)¡^CPøB/ó1*ØçYäó¼Ëwàûuh­3¼lg'ܻ¼`†’e:J/oÀ ’KöM(ŠÝBœodYƒ~ß6¿›]wÒZÝ[j‹ø&ý#[�O)Òt¹C[aüð»ù 5Íà‡èuH¾àÊ_y.£¿ =C ¤Wî') É(C�hÕaÒîv¥¨Pö®=º-­N`O&¿±:i-ïã_Ň©DþQäRqJô¹n•JY7ØRoXAlÉ@>�XZÞˆ5¼Á°µ~ЪËÁªDÿüôÄ›þm=ŒTÐ¥P>åö¡É�ÆU„(Ø|DºÜŠFÏÈ·ù+°Ò
Þ@½ÃË`œ,ƒ&WeZý�ñAA“5ß´=£;4�@ÞZ¡Òÿ�ø $¦³ï’Ð?á]ɳïÔ¬�ÙoCq L·•Âæÿ+qnÈ–Òз¿™ó,R]rŒ�¡mÅgæ¿ÙáÜñ%_
T�¹åKâD×Aqß4·ØWãù©]ñ„š™!¢g§¼ÎÓ—6Ø(wõü¡ZÒä™Þ>mݱf^ðêGQÕ®äQ•¹¢óº¯(ˆÆº£oâëi!‹¬o޽·Gîm‘ørLè�^i[5 y*ü7åä4¥%Q�ä`£xc¼6´.é¶²Œ�áí€à8ûðTúDq,Jòáú°J€ö¸cMìúÈV\{ÏÉXå9|w¨YàÔ5¡ªÒE퉟 <¨¿®¬Se-!n´VzÏ wjMtš”E¦Ü›'w‰âb¾¸‰æ†Žsh&' ìjèý[¯“Ëÿª8+DV¨Ùß* ¶{�ñá¾Ùw{Öí_Dhô(ÁO=ÔŽÌö°lDpº¸xÿ?^b
æ´†ÇUhñŒdÎrøçÀ{¥ Å:ÇQ,™‰ öB£þ¹¼NÚôÕK+zvÇ… }ƒIø´GÝ+¤{ÍXkOyåÞéB³2X<!êùZølâý½ŽÕ•£c¤é­Ær‡Ÿ­�Á�®¥z çÊ4ElÂ;ÿ?¢Ñ¸k="L=:cï_¿
»ŽDwK*éu­3/P::Ø1Y`ë­7|¹µèÁÚcEžŒˆUt¥òÓm¢h3ºˆÛåàþ¨®Í S\™i£ò—Z¢�¾ÎÑ Ú=-E{,ó;bãUx­¢�ëCaÜ÷’äÝê�¢€`:Mß„W5”ílÆ¢.if\”¿¶´0< åÍÓÄèž' ›fé¿Cg³C�̃Gô»�ü˜–¾u‡ iQtxeâxÉ)jCø[?ìµ0fÜt?à. é4BKÔnkJ þ ã¼]­&�¼Væ%DYS�…ìCQH çX�ž‚/@G¦v2òN&‹œÿž]±éïѸB?Ld5Nò÷IwÒu;ñR©mÚJ«@Kä #Îæº£�1ßjrN„ÂÂát zšP0X€R4–ÕàŽ7åÂÖì/*m&¸8;ËÃó�GXAáÐüú½³a;aÖ¾d†ôÓÀø›eº‹Wµ×›ó;ùnÒoÐ^œJ�¦ 5d_I«I¬æ´_’>ýø9AÃáÃ4ÓÌÚ>�¡&Jßdµ6¨œŸ¥?¥_ˆêµ ”-Ï1ï°zE‹¤âGUžÀÄ¡d>‡^xŠu:Á»:ï¶å{H_š ‚ eÞ$ªL£Q–' ¦&Â(å�gãÈÂÕ¯ý."ƒbÞ1YNÊßæ9�àÐΘm÷é=ÿ˜:ü­ÆÏN®íñ6„Ñø!ôŒu‰àþÉÏUùy` û†¡cž;•1Ú°I¢ÈŒoOyŽ'Å ¤w’Ÿy²æ4M¼Úìx9ÜC“E.Æ&¤ü?1@}&’ì#ç»Ýå:Û<â³8ëp!6
©)+E(~–Ûñ}°‰°,©ÿ8MOt4ÙI”ä{:\Ñ2¦Ø)·ýԊהÅé\Ï8û¬Ui�nD8"ƒé¬cóþŠûkò|¦[Ð'‹³^Ÿ]ØÜ T¤½X\d–‡HU$ïè0w1=ÁC²¨¬³ù;;~Æ>
Å6äFòèé¶œßÏoÓûÑú$î¤ù�!`šyPÖ1Æv~V`mûPaÞ²ÐEêM§È‘ülðFù [Yà§ulùÎfõ³Ø«×U,#9â�C'W�ˆ×?%>{Ø«ï×-bïŽåþ¦ˆr¦ÅìK¯á^Û¢Fim¥p£7ÙCŒE³ð€"©JèÔýÆîÕ5»Í"™ï’¢|¥›"ÏæÍ�PÙËAÊ… òVúˆ¸oý®bšw9~už+µ5`d¹ˆEË>£Ÿ³v³÷瀘+�£öüܾ ‰”ø©zëŽY؆xíŸ 94ìãµUIE«}&´…¾K6–ï­¼IÐöiÖÞáÔ6‚³¥)’ú±^/¥Þ[×òí_ BÝ �Þqá||›ŠÖ¥w2ÆË·ýÏ’š•ôÈÆ86|丛w0”—qG•l 'p¿£uÚ±Ç4ðg·PQœ¸‡ëwC$R­9Ì«|3ÑbLW#��U¾ÿ€ÛG'ã¤î(×÷¨æÀû^ÎUá{…IÁ˜ê½Þ&ˆè2tqž«±ù(`š£èdص¤Nyw·~HDQ´Ã¯bpã FÔ¼,¼Bnd“ßQÙädG¯ì^c“Wsj4Ò‚iáL½70¯FŠgÝ¢`÷2ÕvÿLÝL§ÃÆ{­ÂM�Ý\ÍBãÐ%#‰9^ @#4޲K“(Tv¦î
‚&òr@-þ¿J}ü:ŸÐð#Æ­TÅ™ |[æØj¤ï,Y‘E­Gz¸OɤyöÓd:öÙùr-yTÝP5¢¤EØÍrS|`Îqz{‰ÈWøHb2-QÙ¤Õå‡À³

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,16 @@
×7ZÄ1ìqÖûÝ6v”/N¯âÞ‡Ûxý5ÏØoíʽ2‚S�iÇ¿S¹Že¨ï8Üœ=à†²ø»Î±=@Ì5v¬-{x®ïõâ¿dõ`ø «BþwrTY.e¦ ìXÆfZ&³þf°¯©¥=>Uü�¨ÝÞ(ì †,Yµ%¤à_‰îhòíØçYwS‡¿ y£¶•ZUû,É0çH%¢e14¬§Ç‰4…€ð$“'~$K†"LÙþ‘÷0SàFIoÊ®vB;Ë’CõkP.‚Õ·zŒÈÓ“òÚ€à\¶.z~?/@¥•s±Ö ))_ÿô}œŸâ~^,yª+üµuð M0’å¯NdÆ¥ŽÉ¢óŒÚëSÛȺÁÕûg—@µ•xò){24޶*æèh#Y“2ÂØ$”êä×:žß �ðŽëgE\;úÚÇM÷ô[�ŸAÚ~2 nì¨ü<-BÅñ#4hGv¯„4‚9¬�7¬3ÃiYªê`λ�d{Åóœ_=ÒþåßXNâ¨ßé9ßÎËŒ,4ûûI毇ãlć_„—û²å)u2áÙÉÄD ÐC!�o~¨3ãݘQ–úLõ#ƒíïFÏ(ãq33!¡¢[)Õ
>箲wë6Á<7qÌÙçï†\à‘Ë3$ÆÓ�b"\±|{½«Ö{¾nߨaÎE!ALÆÈ�IJ“?C;ÑBõ†šp±5â÷^! û{|Ÿ6À<}]Ávh|<¾IµI4Ó£ã10°7Hϯó]Õ­k…»Ýˆ×DìÒ QséÙ€u™˜i)ù¿›4fžó»°±åÝ`ýž‹Y™à°6 ,…Ф–‘o’¹íÓv‰
s�#Y.Ç!%ðr@@ò(惲õ˜Œ ˦¨†,l]/„€{ˆJ b:zlªÊ¾_´‡õV_ý ᨯÄsûäº�ä]«Å¥Ô¶Y™'(o8Έ—˜]%!"BmŽ;²§a‡ÓP!Eò¹ï,Ä´BsUuœù©¤@É0+Lµ¯ÉÏ#jS]»`EÞ9óú u,(ÝÊÅà˜Ò+ðšê§TV|dïÄÂ=p”0ê2à r�@êeÔï­1_E­Ë³èÈâ>.þ\6IM@Èoù2UÔ·‚η°A˜Olx?<ùÞÓz6‡7®ÞÐJ5õ=ßðŽ£X|³bfT©‰1òò�è]Äöjñ:sþm€– Öÿê�¦R°�ÓŒ›g�ÍIæ¿·†üï2F xõI ‚‚Ÿ;©‰ï \õ@©ð‘i)hre3‰Â¾qdžíPçÐ8À¤ì&úš‚ù굇DùÀ-Ѩ¼À^ã4z0ÐEÆ6J¯�d¤l‹†�4RD+µR0Hg¼úG‡0UgŠã"ÞÞ˜õš€zᡵjGJ$ªéAà/3(‚þ´¹^�Wë÷JÆ:g‘JÖü)?í¸”È¸À[Ýû~ù¡Ü5’¹ì¿¤¨WT¿Ÿgyæ]°Úýey|‘#5£¥‰ÁçòpwÊ¢±`ëBՑж–¦ç�b…º¼äµœ.þéGŸc”P9¨sYd£€èʆqàÈÔÿ^?g°‰#žÈ ûÂúT%CyFDRËRùÇ“räÃ]hÛŸCõ@øø°½5£Flq'ÔcìXk£œÿ:n1¨¢Pk³)²v
á0Ðäšj&ªÏ^À½MÐqF¡ÛRBi½úßœÔLŒñ?И<Žtgó”ȧ˿:ó¬ j¸ß³‹ÖA)µÎó½K¬~êwv9' ^ ‚D]’ê2$³s�kF0h´üð®ìþ|àÄ1í�$WZA:ÖÅœsÚÉ� ?‹çŒj£á\(’Ì·Ðæ­ï Œ=¼–‘¤ÐtDÃ&œgGzÏÒhk]ã³YÔ¸=¼XµçyZR´ç}då8§V6rT?è"'q@-‚øœø÷2-Ä¡/�Ç ’⌦_ú©ôzÍÍú±€<îÓÓ‹ @íšý—Q_S(êD>Sê ̦’—l¿À{5䛽~+DL0ïs�ÿ._©þîOWyùïBv Õ�Š2¶Ç³6´Y(®BA‘°³}¿æÕ{6‚Ži7­¨qÿ8ÈW+Ýy;"©I<ÕÞÂ-jÿZlûŒa«ÞTS®•‡�LÉ2<¥ŽÚóläŽë@—i,XëB4�!”KuƒŽ™°p{x(šcq¯ó ¢A6§ƒ%æÕxš¯*×å°Çñ•¯e�;¾Y‡ØÄJJüÖ À†¨
Ëú&€×5b ÁÒt›3öd"„�Ú 6 v¡1äu<Ê8„s²LšŸ2{»ê–BìwßÛ¤}BC³¹·nµÇ°Ä'h׿Z[sô·n0
?“Ö¡ÒÚATð+¶!àááʹƫ)|s~FÂ�Òç?át€(;‚ò‘…Ïˇ
d¡ÌŽ=E4(/.KW~a|ÙäãpqçËAІï0ÌÌØ×x6=ÔIµ«•�@~ÑÖ£Ø[²vpŸLüÍ÷(ÀÏ’ê¥ñä}*ïðܯ¾ºëÕ$üzøkÁÅ­][@•ê²ö&…AæÉ±¦¡¿ß¸~Gµ«@ ùF¯0Å0 f_g…@­úâüEå]Ûž�ªêߢ~iÀ.LY×Uÿ¶¾‹œf¹‚Û7I£ÈÇ î)95�bpÓ¨í@(rB–$Ý-{Eã“ÖC%°<Ôzæ¸ûô©‘pvU*À¶�ÿ"\׋] – – OþD®/æ8†='…1æäíÈëòÑ䳓ö­ÀTŸÄ¢QÑÉâWØ“‹¢Ï…™¯_ 0-†Ã1‡€ Œ„$;(Wq±Cúií–£rû¡„G5‰›<½Kýí½«W”Æã.h4l@½¶µÎsûc‡{�îÙÜ!÷Ì{F)ˆ>î1Hbl ž«ûF,3blj²×’e�Â+•ÞLÁ7^‰Q~o®¨²È–o‡8)Ö/ Ï¿3ÏÃØDÀÑ—ÌÍ–­Ó êZ, ŒzÅùw+{‰ÑÉkya�Y¦NñWvwCí‰Õ[Nr9 R€
¹ÒéêðX7åè kàšwÕಶ´å&#jÌì³™@¸É…ÕoC‰²Ç_´¯#kŒô3ß}Å~‰r›ï‰Dc_äòT®ÅU:p�éÅÀPeû€Hà {Ët+ªuªD9l3OÁȹQ�÷´j”h;»ó—.ÚxÈ”ã:žiÞØßbư�ùhŒ
ús¯xÊj«¤ºÜ.‰
°ŸÓîy’ýy°eëÁ-q
ÂDÄ�HÏ Ë"ž
{¹Éå¡(Xa»ÂLŒn›Å0ÝœR×zCKQÉ‹Ê:I!|~ƒª§Š’å0,˜O’·‡`h ½:æz6 €Wòzn�fÀèA V"x*Ë6è·1g–ÿôáwŠ]ƒXeq:¯Íü z»’?èÞÀ2"ðaU„uÖß"}—QÏðso„Ìd»¢µ@úÊl”¡Íª*Á
|–Ú€}ð[’$¾Z³ö¯„‘…CeRíÒÔ’ìžJ^cr�ÆK*}µ»@�˜¦‚^MÝÊ@’ŸëZE¯ñÆP/âù`iæ¢ê<ß•TBù¥ ÓÖÚÆ�@tÿN–fÆÒ6]ŒÁEIç=ÊWúCð’ÓK�Ý7A: ÷tä Ûˆ4ÿ×n¨Û “f KHÏÝÆåenª¤ éY ¾Õ+å¿9¡‘t«Bê¡úq±‰KZў݀£ñ{C!ºýºæXé"Cÿ¯{”#…2†—Uÿ5Ì4öíÍq2tÝ&Z×
öÄ•£]H:Ÿ(`oh v�lI@•äjØt*‰°ðü•·Ùõ¢h>aƒ±Å;§ÿ},QaÑååQý© Û ‡ó}pÆAI¶²¤Îû}ctSŸïšo4®ü.a‡2èÝ/‹Ê;âCêÏ<oñ2‹¸#éˆç‹�tUãä±â�oŒM{ÀY¸uJÆdP¨'*-'_û$÷ �1YZ'À•šQ}Wµ2áNMÆû,A™ƒh"/mw·åÿû:˜ë¶ç¼T³øI,/¾Ÿ7?š‘/Ì®ÿnzMáü–%ÓV!ÚÈ-ZRmÊáà{QÃ37 mãE;^;ÓþF�ìÁ(#L�raÔ~‰½jfRÞ嘸ƒèе™A`Jé�0Š�&IÇ•‡úFœMdTЧ½°.Ó@º7«Dü|Ž”j��+WP*�d‹‡7®4*¤û©’Š¢_•œ¿Š[þ€úyòuA;cx¤ƒâs@š>Ó:â…ö^Ç·¬ã%ù¿%Qyè´¦b:�Æ»3èۮķþÈøÉPÛ”¬>Ù…À»è@-«t- LüñV÷ûKPp±&{àqþôÙ:.,¾+}t"®4åÄ…j̬Ζ�oÅ™: @‡P°U4VÁ“f]ƒîx-u�ù˜ºXˆ½Ç2„ÝïÄ“ ¸ ‰²(G*žCAnJ[VöÙMØ•”_ðŒ0(<rŸüWÊÀËn¯ :+ÉLš]lº]NÍgòÇiÂp¼‡æ—ôë •E|lÅ„»õ�Ny3lV;ƒ‚sÀ”íöÙá�X
$TÄù*Ap9 ú®x !Ž.ªsl–è® °YF�b/Î�fjdUk¶ÎËŽÖÝUïØFI4Ó½Š-e7÷�‚øL)W]à¾5¡£µ<<xš+YÚÜ«?—ž3VeYHÑ“zÅHœe$;õ|…ÛNù`Oæ "be’+nu5²&.’«ëšï˜a[Îq ‹‘'hçyýnºT¦b¼r.Óè”ÜT8JkU77öü¢Õà_[µ˜.Añ4 ó?+?ÈËq;LëÒÆeGê9#!çO‡ªƒÜ"wðdÄÏä Fv¢î£ÐìHç5¦� ½7478�³—‰¥œ…âqDøcÍ)Èø.õ�+M>“L["‚ŠQOø8¢c@¼ÕÿnŽÃòÞPñ¶Žïο4lÅ2� SdÌì|N:•|°°únY¾Äù­ž2“¼šUÙˆ|K\ý˜AQEAš¹^ËܯÒÌÊÜÇg¥Ø…´nêqM•°#È¢˜AÊdž­HƒŸl»OÈ{!C�Ü~{òÞñsu¡<ùþøZÒÿ!Ûµð·Þas´7àR«N"z¾@\Qvwu§î.à–©ÃÂG&eP9¤Ë¤ háþZ_á“-”&ÝhOÙ3gxÁ£‰ëªR
ìNŠÈGŒ«ÏâOiË\rûÃ<0¤É¬ðl®*æò 4‰5_€¹[½öH‹é‘Ëò«-uü·]šIEÖ,�ó~Rv|s@m-È¿rY•†"ü†bóg•\]&‘Ÿy(ÅÉ`sÔ>ÜÏ×­H\´Â–³º…©{—p?òGÀÉ‘«ÙM÷xf�Ì™þpRt’z£h¦qÕS?>b•æ>öœ7b9à‚R“­Œ

View File

@@ -0,0 +1,14 @@
@4Ð5C̨§'Þ³F`\v2 ¬R mV:aU¸hÛ@ù#‡ËšfAfWztwpãñdØ´À+í®fÇGžEK
QPŽmnÄõ.t,Y�ïÓ ü©x'äê%Á±ƒ–äÓZa“I(%u®¼ìÅáRa"?IH¢ Tù*a÷/Ú숨Åce:9HµV ³�„wM ˆ‘zî…]]d™Ò�ÞÎK!oª:2˵{ŸYÔ=aÄ¢_ Ÿûæx×[œ¡0ËN®¬ë˳¥œzƒÔh)œV/`Õªï—&´ˆê#cß6ah+Ï@Ÿþ/|› ÐÙôî–ø“šÙaÑ”~Ohôâ^ÁåKZAÕ°SؔΘñŠŽqEQÃb–qáp¥è®?šKîÉÕ–V$nWc(�é›JDª¢€ä¥:´�‘΂YWÌ~eKi¿èŒ¢Å¯ÑÄÏÊZ`GçßQQ|xœáK¾‘§-š dbWæ‡_”] :ÕJÏ–IN8ÅnY
§Œ�‰Of¦�&Ü|g%è5Ã*ã›#iïù—Õµ—åY^u{¯§c�½îuf¾ì€=R)ä4ƒì¯:JW9OÈd›ëŒÒ'â>«ñ…"qe�¼ý®]ZñB,‹øàZ×lbNBÔ*¥f;ír¾Îþz4DT(Ù%Å®$¯ã=ÐÜè,mܪӫZ´šø^½à¥ Ä y­Ç2ƺ×~jŸ¬k‡ gãPŒDW‚§¨u ¶Ú2Í%~ ®èúó0]åèrWãX. “úmb6 U[ .{¶™È˜¦Ýª¯9B¸$Ïqj_Ç$âÒ§å̘rÎÂíB�K‡n?W´ 3�ñ# Ϊ¡Á^´6�ãNÂ4Qû/OÛÔ‰ÇÐÕ«©ß‹†<?‰A ò삲ùŒgwYN½ÞÒÇYóì:^ĵx4Ÿ/þú—øõoQM‡=àõ¾m8¢Mµˆqœk« 2%uZp·BŒ«|�žå–T0`�xTCË÷ä1·‚Á*׆}m�¾zHŠÙdaG£šƒ[Dé’Tì E+;“†îÐTÓ…'¸;IK+[RCúh�§e¹e¼qÊ$\Â
¬)#ªÊ@ªuŸPú–¸ØÂîgŠŠhn{TŒ;õE6]L°$Þ+ÍÅŸA�;`ŽùÒ+¸ô�p¯dÝÑ‹œ¾{xtß)*so91¿ÐðÕ­oئ_×ußÜ8Åâùž?ÊXcöŒª¤È 
­…ø£<å“Î]"tؽ¿?,οÚ
Á-€‰ñÑö’ Tåˆv¨NI©ŒÐRl)šœî[š>0_Öû`»Ÿ¢ë5¢êË¢Á�ýôF8 ˜Ûvw)g3œüOõÉ'\)nç�Ê�®ŒãÍÏeZäºâ½öôåC8#ÆJº©&P4ö¥ˆ­ˆá㈎"úä¸p­×<>^¦f„…ŸÒÞ’P§‡=r%ñ55”Ó©åS y-fk‰ëˆ ç›×ûLË©¹ZÖÚ` †DÆ`ÛŸ
;e³nè'X¡È<‹°.–ì¾¹mskzTT4üݬ©Z—{hf�åJ|Bð%¿ ÎÛ- ]bY• i,ÓÇÓ‹]ŒZ°Ò‡l ÷ÎC2M:må(Íne~‚³±¯ñ%Ã&_´—±±Ëϲh÷ +yH¯õšDa�Þ›§K_n‰×3äõŒ%™Óø§˜ Üà ¹ùK^Ãð°F·ïHÇ´,ÐÅõ6]y¶MðP«‹½ðVÆÒòÃÁ�âqûÇÏ~mCr]öùÄÊ[¥_z“S=§¢ÄüÜÒ@Á ¾;¶ #Ó‡¹Ý²f–š¡šåÜÆ°pãÈ©X�!qÔ4Æ€›ÝFê��|W\“7?ŸöqEÌ(œFT'ŠSaë5Gd½uÃú�+o àÝ›æXûõþüF~°|Á£¤+ëS1DäT°Ã^ÏÑûûwÃïNIËy“”,ƒiI§¿NbÕ!Ã8ïÖù&Ï*€°î˜‘¿ß:é4FÙL]ï²üüa,È`ƒR©½ÇY�®¼ó‡ÑFö,÷â“÷�ë ºçZࣦª²jXí1Dòš^hÚ@ánŸËàÐ3Ë©(¿ÅÆ—¸©^œ'.Ì(�ìÀ!/s±NÀ5Æ0X˜áPžœ <’”‚%Ä× %ÄÓdôç®Ý)‡g¼]¨ò®F</�ÀJí³,M‚ȹå¦ß¯�8Röºa‹ìOÕÃýþ°OpTæÔ€ cÀCƒ¸=‚™?æ|U*ô˜áŸ¿Íà®àøø…h_Ë1(ÇAn@F
²s'ŠE’%Ùi힃xÝ}‚ÄáT‚QTgpøé~óé¦5€t¶;P(QµôÁÌ/éx<®RUQXv„Z„ ˆö µt.œ4"¨¨¹¨Ä�È\}8Þó-?\y¯e ™zq]KÖUœÕ'ttô5`à¤aö–*—,+ð «­Çã—×Ù-c `#ùZ̰/Çš³Ûõp©<Åý±Ö �ú¯+Âþü¬ÞF''¦µ&?QñÛƒÓfåŸr‘úLñÞ]i‰ pøæ±šaàyÑ«?p èÀ�ZÓäzÉô�†v>©aÔX�½!BõÔ†ç¿ýÞ7A)̰çnœš °vi][1¾y6M,?/“¢1WÏOõù)+‘)øTÑd¼Á±M˜cÎö�ʇ,Î|ÈV„Ú�H¬¶"¯iéí~×úÀó1è…ê¦e\¯D0¢‚ýW„«‰?'HÌ(½³åã}}“%ÄÃíúë- £šë}Q"7ÓÂ~�Áòy¨Pœ±L4;ç~pCÍæ‡ xK@¦4?á¶¾�Ì�R‚@G©½E+ìgÎ>,b㘋ßýÝÆÐBö6öß?Ú¼Aäôü§Õìi4Zžv�DŽ÷ªòàÞAž¥`jN(v4�6eþvìÙTÝ�Å¢D£c!ªygÏ1ù©¼–["€Ë%ȸÙ8+áá-&’ »DiäØ]†dIÛ|ïQ—S�¤=JIx4^íDñ^þœ™;ß(Bº» €¥kÝÈòɘfS_ÁÀ'~T2ïxÑt€+^s  ‘e9S™A«A‚™ÿ:È Ò(A³
‹Ï‹ EpÏåHkÂûŒH³§î0= 2…EÓhfW…%VÎøPz‡ÓÞ(1ý÷¬†£"h˜XHcÑJ;Ò®„°g^(:0ñg-.…vXui5­3–ƒ¿HÓ’­FàƒæÑþŸòa73áQr>âõWüýÇBµ YÔ– �~_©ÄdðxˆÙåA@8˜7­‡-à»"ÂSrÏ€«8[Õ ª}X‹tjR|–ÂáiÜbpÚù �èõ�}!¢˜’�¶¿o0R¢ï,¾Ñ¡ÌÏVé“Á”‘XóOYƒ‰�B³œÎö&ŽJEð/äzf—>ýÄà�óÁâ�U¾p±¦d:Ôw�‰†Õ h™g÷„x'jž|TˆÐé3ÊJ™»‹Áé/á­�ªB•ûždʘ’àgîG…§Ÿÿj£bðÆžîT¸Ð„Èb·«÷v¬õ<­ÛûHÏr6zAÜ‹ˆˆjknGP³&#à>ÑbÌ@áš÷q’è‰3½é‰œ-TfÒÇk‘£½ᓦ[ÓVÖxÍ)¼d˜,ðp®âš\TRÌtÏÞ–ð«˜Ý¦Œ [¹óQTZ4–q\†Ü.©Ž�««f$_�$ä©”à4.þ²{ ›;©Ù0åÛü'sVŽ&dž„�i�9<él%§òö¡©;—¿�D0œ=ÉGäÄw®Š8|Åýôú~í¶ãH:faáMµð%ž2œ²ýl4äJK§V€À!R “3|P™ ©ó”*NûéPœ‡-C©Ñ‘ûŸ‡Å.Çun3™]"5/Í
Kq¸�²ZïÈ3N"×’ˆ‰é6±@¿éµ�C�ï1ÅË%§b²£RódB©‰hè0D‚w‹e™~F+£È+€`)[(„8Lx–!oDÚG [d\N@“^¥MvIÑÞ§1ˆÏ…d!8ø‰Ï-@¤ùöo‚k«jòÜ|¨A´‚o‡9¬éy.ÜìÄ:?r†.*ú|µû«ÒnèArb™RÖÎ
®†¹è˜« à<T`îü(Ð0å¶,{9mZï¶4°i
Ôd— xÜ­Iv—†#6vZ0Àdâf*ËÏX ¸k¡WBM"�Æc~^ ס´¡Š˜ ³Ÿܘ?ÞmN†�íYÃÝ%ø³úÉ
2(�–òy›!M{ FƒZ¸wñˆ°õìö]% >åþ#KAjáÒò%8‚±Æ>¥èi(Í å;�ž«hêë�ëä†�òæ#μµ[8‰â”«–È{F �ÎóY{6)3$�£Ï o¯1ò]BÆ@ÒÐq} -@¹£}纡%HYÿ™ô–’Qq뛹;+EäpUàÕay?T³µ2äµ�»ð„®ýÜ9íŽX¬ïC¨$22ÝT⨠kõò�í›Y�~e$«*Á Aƒ#9_›IÃ`¶h¿.ÍŠoª¢q’ªtò=Ìxvæ–÷wœUD¶�–4ÕÛó €Ô`Ù�É:cc#AãæM,>R¦`—A{¡HG ¶¬UV:œÈM3Т<}‡ódT&yqFö>Ïw$ ^š”ÐÝ6!åëà"©¬´âÛj ¼5ž©5ôìB†?yln�Z¦úß¾Ð%ûa@aÑC�î Óµ"+ùòf΋yæ~Ǥ%³�S4‰ˆ|¹Hõ Þû_9riJYÝìEøüó EEá˜ë3½X¨–Ó%¬4>Žðtˆžö}oHÆ�¸ôKCõ´‹§N<@Ó´‚¸í1¡hÍ·å ëªý ùgµYNnD"¸6¨_¿Õ^Lò²-5kˆª®?á–®è°È+�+ßcìyÐJwË*:¤XØhá´0\C´MZ鬌wÏ}‘ƒ™?ƒéÚÿ�¸Ä ÚÆÂ‚–áÅ ÈÜÈ­Ò¿"üÖt¢9ª=R°Åȼ2šÔ†'á�]'¡I³ZG2b½ã”J)o†Hp߃Éýñðƒ� Hô“§o6@ áTßXæ¨3ßµÇu“arÞûþ¹õaÐ!…´>°k(TÙp¡FŠV“4ùﬤ*§$î¦5f—µ¦Á-½PHÛØô‡á_â³zËbÌ‹ËÅÆzÒ¦o3–E—ô!Dz2oÂä0 =Çh¡š.XÝÞì^h¹,Ou›~ëÇÈDŠÍ¬Lºm/H—ØÛ»}·»Ô9+¥vöÇÕ‚’W‘'‚Y�<äà\kWìP3Æ¢ ¾ƒ‚�ÝÓÔ½ÿMê��kZëÊ{—•^êjåj®À¤;-räwy–b–ƒUûçGWy§”´…jàÍÑ¢h,J·ƒæ<òV 5~_I1�Gâ¦S:ìÊÁÿ€P€áɬyUý¹_¹Ó¶l’

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,19 @@
_édÇÚ• )/¸—r¯èHéROÖ–›öù+ô}Mó÷~ª³]/HR^¼¥ªap]n9™–Ë÷ÕyÐx?V®}€H!xñF_ÃÆóî¶ÔYÎÚ»FýT:­h§,‡•ŠHö߬uÄȨ>@Ra ïË}Á[\B8£•ÑÛ!$DåG 6Ÿ}GCš1j­¡;:¸x"º>sñ“ÉÈ9VëBæå–}7öW1ˆ?äœ÷0Á�£Od¯�Å·¨™¹³å3»ºH¤%)øxsä‡vñW¬¡X_<Q|÷KŽ>:J•é)üHTÓÔßKÀM!Œ”{Æ,/ËÔÐq™*¥Ûîy监Ë0]Y7é Ӫó—¼Éd1mdá»�|IçI¶³Ñ¡©~ÝRµ0ϳ^#bÂòc�6¯8¶ '8:ʈ6|c‹?ð1M³Õ£c5Ó@È‹y¥L�9~±‡÷“‹µÇ_ˆÜUÕ†ÁîÄÉâÀí¾¾ƒ>·©h÷Ÿ3 _ˆæaŽ¿¾c–Éëp$IOèj—„(á´ON\Žôï ˜¡œ8 /±/ìC+[ã$Ô�ÙvI×�‘�ÝÝÌ aÓãÒuh:‹]"E{²OV“�?î© ë5àÉx‰¶Š¤l¿(,8’F÷Ò z9ö¬ »Þ¡Z‹êʯaWû<’ð bF,oÓLÀÛNOÿÿ÷?Å­ðéc54?쓦¨5›äø5c˜#[7xÕ¤r‰k�ƒ±vyÇâNU�ðÀe»R€`iL®O“Åìîm`�‡ÐúOœ º-£ÐrIò]ªù§øäëÀ…ìÑ®y´^pß8Ý‚îªÓøoàµ~A
ÀX…ÿ’Às²å×¼]3fû! Ko+õ㌶Ú$"Wö‡Q}gü-ß\†$U»-Ú2‘9S4û«{‡y²,R­l š²�“»õ toÅ-D\ï›_wåIé‹èû:Ði�÷AËaóœÕ¦ûY•g¶„x D
�¶²>½
>Ó_Ó"£ô6…ùá×|Ö¶|#ºˆû¤·ü´žÈ1è ¨ÝufGiØ
à7‰oÁNÅ=.ÇØ•Œz¯6&AL©éˆûSµBÂÝŒÊ"祀ס‚ȸ@Ék³âÿœÆø LáÜòÞž€ U P;@TÚÒÔ¿³ÄÁýÖ…ÃßÈ–5òÜK"c ¯êaae?“%o;Ìu©W½¿œ$‚ÔÄ�(=kLxØì²Cõ?$ìž<JF4�îƒ{q
ÑW�™Ô§�»”Çb!·™±À~"¤r�¦È„ßÙBn…Ÿ¾/ŠªJ 3&¬½“|$ï)sø'‹Ö›ühCòNž^a(K2ª¦:Ñç™ÅÙ¯@ ÍìòðжÐ]ê ‚e%<ƒ§yÛ¨Ò¹f9–¾É±8I=kó_ÀK—¯)×…ÄyÓ¾‡<5ªîTô™’j>;‘Y«* Š=Þë^®q„˜¦¢ky@úÔõ›²_Î6c¯eXóYœÈƒ?t--7»R}7“Ùß2Ò¯3ˆÜÒ¤ÜyFä&؆Áe5‡ÓîÿQ†BEºç¨ÖëLÂ]J¾&I€ÛX×qh
¬fÊå½å« Aæ~Þ`ó¤ÃOµÞdš Íœ¾Çm­¢~îÆZÙŸò ¨ß ¥Å'õˆ~âÕ6!š; V®bµÚËè•4¼H¡<ÉÉ‚eâÃ:¤Ñ¸ŽÌè�ø)ìPúñðÍWa²}×]Í¡iÙ†DP'…5q×íVªØ®jùñ˜å¾¸ª°©…ü`>Ì’ŠTÖÑßs4¡q‚3©ÀäÝ49yvÅ{f‘­§À¦É–˜}y†Ü›Cá"¢Ó$!(5Q±%n=Ùm%Å=gl§vŽoðRêeˆ/P;7�@ÄÇ皀êÚ saã G[.†Þñz³t¼—Ô
B|ÂoÔ=Š^>0çnùA9P*zUÑDI©çmÇi™Õœ
ÔEõaw »5ßèIgú<¾# ‚3‹�œy†`Vÿ£ìŽ$YŸçÞ!7Ö-KB³ÞpF:j¢o›Onyók3Ôàæq(CCmÉf–™Ò­»„ä¢5^ö.²Nvî×g"Ô:š?.ùèX`-!V–F‘h?îŽýªhtæÚ8EÞÚaë,ÖÒºäZ 3FÓ>£ÑI~¬®Á´Ø"ƒTÏN']áÎډܩ×VÐ︢ƒyä‹ÖW»ç*A,8[yYƒúÏ•ôð/aï¿¿~)âbúDtÛN.Hï»xo.Ëûèži[¦"aÈÚàfIɪu¸Jƒsæ��‚åSo1�{òDƒf:ÑÁ]¶ëçOä¬â.…¼M¸ÌNÛFµÑµ
m�Ø~ Áÿ ÐRÓ·ùgkX¤’ Jè"ý§êÜð8$FÄÊÀô¦žT»·g‹Z¾x¨ß®íšIç`lhB!¢§§�qB ‚Bkó¢R$)¿'€þeä~èã߬«Ù¯ÄT–²îß!GMJÉåo[¶Å5¤8P¸ô�1!dsÛî—ÉåäåS9Ð"®¾Wc÷ð`JÅZ€æó ÞZÈj‘=ThKÅ7n©÷{3n<ë%Û|‹#‡¾ks‡=ø/ÍÇ ½ÝÜ/ú±); ¡à¸otw&a¼‰�¥’®‘“iNפ¢®Æe'¼žAU_«û±î!X7Ð[O…<ý#=kˆ?éET[¨¶É ,}Ç0e,¹×]%¬‚4 TA팡ê<¬ŒÑþ¢�&Ȥhg‡Byöl Ïa'�Ïßf ¿ÁiLàü%Ð2°cIÇU�!NF ·W¿9'KC†Ù©òºPUV¨]§·+¨BÊÿ§tfVú?U)¼Û¹H|ðÈÜ[{œµ5•�(™nx O÷î&_hx¿ ëË/àW­þø]„äÎçpïµ­Ì$f‚•Ñ›Ÿ7#ל궀Ò�ëHaHlÉjFÚ¶m…É‚2æ�…ûû;uêJØ+LRR|×M�h}M]qNñâ@}lt�Úë—ZfàãX2Á]í=”-ê�øÇ~ œzÕLÁfœØhÜïc>˲Å8~“nMÉç³$¥»ñã@¯@îYµ~:ÿœ¹~„ò×» Šð U_Ïì9$Áý
‘k8úqÍi¸ƒV�ÐðI]u;°fÏ‘ Tsé×/®ø‰¹¿ð¼î0þ«m(‘нy9¥$9°˜ &­³À}�w-ô8z÷KeñM0S˜;¶ÏPÉuý,¹ž’ ƒÜn¤ãUX«Zºöôôªmù…LæcpÆÚ求ZYwÿw�ùu^M­Ùé7è¡�9ö¾I\ä_ö= âzÃ�õ²Â¡áΉöï§Æaˆ!á7q×Ä?ŠbO³õ—±© !uÉËÛk'C'âÅŒ¬S°\µûæ44©öÇ5k“;•mâo��Ì.ìë½y‚j0žÙ^ž¿Í�!`O„TN³CYd€Ù£’ëÍ/Œ^Òx\n-±AK¶�$߯¿O%ÞÌ_ðN�›yžCi(ÿ�À»ãxé]£`�ó@Ñ<rà ¥jtˆ®e©}yxUZ”õì7T2›‰u®˜ð5M~†À«F‰®tðÕ‚Y-–JüGÖ@h¿æòÐÆšž´!&ÚÖíÙB¸z3ŒÉ,¥¿f+a™»e�SMã 0ÍK­™ º›¦Cá ejÉf2Å�L-�®’!U¦<ÅÔ¤w "P T¬l=CÍd¡6QÐ+ú²†EM»Yœk !R–c42d‚ÓbmC€€PÀó÷oưÇ*X‡mòe²ÂÀÛÇ÷]¼ïó/äL¸{xŒ�‘�fÛn,˜.Ÿ‡“ü]Ú#ÉÀØŒ=˜v=¨å"÷%æ-LËÞtÈ>°^­(S‚»q£{�2wceÔy�<¾ÍPn´h¦Ò.IɲD¬�Fžã£rÏÏhÿWÝ-x\ä\õ—©>Í4ƒ2gP¢Ã¢ÉJJ%°U5X1­«åã)6³l£ö›*gQY�M¦½2:y¾Íxé=—ÍJœ¾:&þ€0Ï"À•¹{Ë–˜@l’Q<_X„Í{$eà Î7
õ2a} €ª[YÊœ� ë�ôSõB·ŒGÅ*¼z?Óé‹u�ËmØÁyûLTÄjœ·ªB®~)Û’Ê3E<ÆiDx $ò¦ÿ/˜)ŒøK©´!òš8Öî
4Ì&D¦ùΧoΣ=�YðuŽB�qOƒ§�KŠyÁÎ�“·‡ì…ù±lQqëÁç*A|Éú_²ÐX�ÉÔ !¢?·ÂŒ�c.ЮͫF,¬¾½¥åéA&ÇD¶"¤!®Ö}©�f6ˆ…ÓôXø!Þ}W9)“WêÀÇšyðÙDã5±:Y¾öÿý ÃõéKÍCxƒ¸íÂÜ�K7sÛÃvÀ}c¸([#¨¢Ÿ=ÿ_hq,¤ä¬ïkLãïðŽžk/‚[q•ÃÚ.Û“ï‡ÃíX9¢•/7�ƒ»lt�ŒªáÍÈÔŒä4M5ζ^Û
XÑc¦4ª¨·côëôkEâç<¤�h<ؤ-&¡èÉ ø“„ËÕóm¸òÌx�Ö‚S£ilÉ´0"
!M¿EÝ=¢1ÇÏE/¢©6þ*n«) ¾Y
Ÿ¹H™Ø„ï_B5xÔüõÜU P‡hõ‡Î§óÊúñ«ìŸƒ©ÊøûM;Á{�d·JÁ8 r£j9äb¨1ô7´KQ£BÜÈ/ŠÆ~2¡ ͤ­VÐŒDädÈ�©ŽJ%žp4þ9S[–ò!TŇ7Mñkÿçêº “�¢BèM>:bƒK�Jm¾=Q±ÝŠYèƒ*ŒVÉ`lµQ…AºˆC#³¾úÜOˆ>¾û*íÏÚ“(;²yÕªR�žÈ¨'™†¡§K0ƒŒb@þÈ
ÿÍ�È*¹Päh1å@•¢uHD6š™ù­/R{Ä[³Ä‰Vs¬}MÃùs,£%ÉÆ¥Ðb)T��Ÿ&¤.•ˆ €¡.s4ÚWlµ‘O°®ÇûåæÔ^õ<¨þ¼ibë=ÃW¦ó8âüA7i)IÆ‹c6zOìÓDà‰ê«nó¾APÿôܹÑC^§ÏϨÎPEÍF1q 3¦óÝJ�¹¢…z¢”ÙÖ.–å¶þ·éC˜ÃmMåmÛÿˆ˜~ÍY&Òâm$Ãêt+•Û˜�H4H̽Y@ !,Ƽªm†À~Œ‡Ÿ*suØsA¢™h$«kL¡Û Ð Ý$xʳT·”9œ§<í±ÓÚÇ=ùìaƒ2ÁYɞljǶ Ä�ÞQvK¦öYö)âóK–†E
Å{d„™ðÉ·p‡<ñ8AúÔ³3ÎûÏxÑcL@öí­  lE Ù‘�¨èÎŽY;ñدm u<—¿S°{·¬À`„
˜(çOm˜ülƒ'òA�A©�RŸhf&úíA¶Ã§Á²ã´¥¿®kN|Y:Sb³÷)¢À?(" ¡2

View File

Binary file not shown.

View File

@@ -0,0 +1,12 @@
îÔ&ŽL¡þÙÂ=à48‹£|Éœs꟠X?ØÖ†lø ؤÌ‘†ªÑÏÅ}’Ö,h±êõ6�°_Œ”˜ so•ßÔðþõ…Žˆ¢Bû´¦”ûî#“‰ßäçã,Þ…ëK¹½¥–$숲:ÃYO©—â`§¹¥Ÿ®<ÂQ½¾ÆÃ(›÷p÷ý…jö èLÍÇg}̤÷Šâ"�SQ•ãsr‰¢%Þ<�DûwB9™õºÙÜ~ž¹×ßx•ý´³ñÏp¬¡WòùÏ'Ó‚vÛõ»ü®sù1¸6$ꪴQn=sµƒòÉŠÔ• @)@Ïr¾(âkì¿åRže«ºsÁ�ô%�ÄŒ*n„g ZmõDýl>91„µMêha)½XGÒ:¤8Š‘cüú”Ò«ØXø€Dqg¸J1xÇŠ¥jÎj› ; èúöãWYœ£�*�*DvYqG|çÈFqÖAâuûŽRÈ+hØŠ:zét$h=bÙ|’eÍ –OÌ×®KíH°xÆoÞãæÒTM‹™e6ÓÓ *—Œ õ6b�Ýâ\7 ÁÞE$¶ ¼x§‡•SòLñ Údûࣸ÷™Â©xdòßøžþJ5§š@9†jò~6ûYŒýtëD�8DéT¨änȈ°7pu#©.G¥¯¨÷ˆÀð® QñfÚ) ŠÔ�SúgetÜ©W Ã"c@e /o;^|è(­XPü¹�†„Ðΰ|p0–ø°ºÇȹ1€‹šÚQCv½ø²o¨@”ö¡¬)2úgûÆb P¥\×Ì|ªòN>«wÆ×âÉc+Y ÚŸ= ~Õdn5ð‰rÞÖþÂÕ ÙCå”™]w^QV™?ó!*i.˜âÁúWM—^ÿ��žce.*ûAŠÐ¬P)‹bÿ¹�­“4R(G36�s¿cg˜’GJ™n¾@†äv¾6,äèz9åD¢»[]#÷ø¿¾‘¬A゙>b�è_ÄèŠp-¯³m¬¢×ݽyÐ#€6d$Ê&•·ôm`|:M?”2^Lµ;ú'@<(ޤ±LAÇá¹^xKI|KýÞ|‹Èƒ9³ ê@Aް~ö¥G<0—`nZŠOdZ&(€üxÖWmØvj°Èî.�Fá¾òÝ¥þ˜Ç�ZnMš•ì˜Ea×µ„Ug 'Ò´¬ÂVÉMlþ~FÍŸ^d(:oÅH÷ïßÍžMü³ˆªèoËÖ�%`~µD¢˜ò1 £¬-Ç»ÜêǦ󪶹ÍFäpQZž1 þµˆ2í™CFbåpy¦|®êÀÞeÌ×FNj½sŒ-%ß'à¶kцQРÏz�8,þê‘VDº¹‚ëMuVSð¨�]^€º\`2ads··I;”Xl°�giòb·¾� °²ÔNñZ6Ö=jªJ…R­ÔȬ®Û½Ÿn½R(ŒÂsó:jÍH‰¡Ḭ̈ñoQbð×úž9=²ò$Q Ûí�qø¬+Õù9½=r</Kð1Ú3ì[û}W.‘6Ú¡’}ÒN.§/Ê£0r®ÇŽu¨Í¬¬UÏ !žwëäŒúÕ;y箬Xqÿ-/*È"$?¯Xv‹ ãÖ Rq }t%\=Ù�—äÿð¹ßs(ŽŠó¹�Ž®õp¿TS€PÒ�>‡(xÿeð–Žy)�Wƒ`©£û63˜2Y±Ö“åŒWÔW·’ [Ëøª-^ò½_ËÛ#°ë˜¸’Ý�|Œ@^’7'"ÎÄÆFàûðœ¾MÞ]úÒ”Ë+~3¥Ã>¡œ<ˆÂ…´)l8‹2êª�1“‡8]%t"9"‚ëá÷Þ¶y¿Ó™±½ѳ­òQc¢ ߣ® A©©¡TgæY$wº°³}BI±%÷ôN‹#†-Ñè<;§>Jˆªjßj—VÖpQeƒa>{ç8rl‚ ŠUæ™:\~­Q»/†Dš‚ºf4Ë3]aÕ°"~0BQ[*‘SÜêá+Y<Y\‚,[“:ñx4q?õç#%­£·í*‘Å+‰âZ^‡HÙ63»ª«"À!š¹þ¦Ÿj[ÐvµÒbÎMeþîÖ
qý«DÖ—Æ®%˜tG6Ó Õf2Ų¡;èDZ±Œu¤¡‘éSov«gÑç("|‚íJ޳`¥ »Îòl‰‚uÔ†Ɇ>j}L-ô¦¬cÆÀ’¥ "n ïé“Sˆ†©Ÿ@z8`Â7M.™¢·¦tÉàjž 24û²�¥3Q~?´P4Ëï|H lT£”x d�@Ïœœo�° n%Ù; C
>£ î/ÛIF§¥ŒE¾¯[ëÔ96Öêngm‚¼:©ŽlpQЦõ›Ëdk^ïS&ƒ–H‘%/€ÿøú;"? ¨pëòg±Z
ÊøAÝðBÖÌ厺¾]{GuÚê×Ú¬u¥"8U+ƒøè]:=†²B•pnQé�’=ë|/ ›à\TFÖÏçÈ+¹À7§ÓŽlvmß&EÚ +•ÈÇnïyØù¢ËGUØu‰[;¿¾Ê#äNH¦EŠà€²/�Ñv_�äÜ%ºÏiž¯ÀØÔ“;ùõ`ÝPS&J­ö.þ[€®�Áy*‹Y¢ï&t?)ß:G@e•Ê“5ΰnú�ÄU>Ý„™™å:›¦­Ú›ÇEüb«o<17ÈÐOs™¦á™nºXKI]í°nMžR7Ï„JÖTºuÂ÷-n‚¸}~õ÷ŸA:…�dŸbAí/˜VÇíÂ{Jœq_)Ó>øq(�ò3µ‘é®!†i�cŸ?¦äÃk�výÀAá$�ÖqŸ¥”’)¹sûϬDßà†hÍŸ£Ú2)gše•�˰I'=诹¢µšõg+%_w÷d‰‰-ñq]œ¸3ó
qJáÃ÷`«pûšy¾ Y—sdŰ½O­3éíõÛ@ä*FzÃý2 v˜‹>ÆËÿõîHÓ+‘$Oÿž¹ÝBÖ<Ü êõËeµµisËì™ hˆ[§Ê°ÿg‰Ü~*|Ð׌ܒ’Cc~ì_L…л‹ã†ÌÊCQÒKYÓï4猨�îÀRƒ@¼ÏL‡Á邆ÏÖÖ‡ñ@í7‡òoSaŠõ°#ñ|.@<í:Óë�¬bK~Ý]œÓ¢†|€ŠFB9¿<@`Öÿ™î³Ñ$šÞhcѼÏ@ÙèáÀŸ[ /|c<O{Ø%¬2Uu…ž_Îo65¼k~sˆJ1êSˆ¶Y f›î¢düvŨµê°R;�Ò{µ`]õØ)so~ô¦m AÉ)´c‰W�G`þÎI´öS<R®–¨Ù:ûdÀ |ŒìîTòÌ ±ŽÊ*Åö ÛÏ’8þÚY(œ×¾©ð¾Bgê'oˆJÄÔ_·Ü—µ¥·],¼»È¶Èëp©¢ Ev‹]oú8 ‡o4£j}Xi ¦E�ÖFÇ" 8"Þýg°o›„˜œ6ΕdŠà�ÏûSò¹ÅuÓ¢[‚Ë¢·Ý°�ȧ GK–ò.—eKàŽpø°¶´¤x8q•`÷_%¤úÓ¿1€jºClJ}ûûˆå�fø-¹A‡§BÚ]Í
'A°”¦DGÏ“æ!
tÛ³!­íÅ >4.jì¬2Á¸Ó8*ÝRí.ËÁÝÙ…’œm.Úµâ?.ÝCy �±4¨ÂgCqpÓŒ?¦�ªÇÁã}ï*U�'ÊÈ?ÒÉ8|ŒÄrq…¢“›Ì*öFŒ=ï”8ý€Ø†²Sm³wqÇÓw¤�’�Ó̾;7'ýîÑ%zo)÷Snö=§!ƒ%¡qR££­ñ?Gg�}?Ø?â½µÈÌ=ÿ¯Ó²�ƒ
¥ e´y™>0•ÄWtcÃËeFœ|ÛvpDʰ"óæ¥d‡‡‡§äƒmÂ÷ä¿o¤%K�{°M²—¨&=SZQ¹+7‚d$ЄŠÿÒè>[U.&ÜÉw –$–ÒûâÚJNáV~nQ­ˆé,«…A1´<Âèb‹Ã«Æ\p†em¥¿ñ±ë='K†�{ŠCj£Aö?ÿ"Sµ`kì(L±ù¾Ë¼™“¯ý^UþÔO’ÔßÈY´ÉØh¯FgjbDÔÍ¥°ýÖ2ÙTÚcë:{“Dº7A�6‰œw,P?«múDÓÈ�Œ9 ߶̤ M¥oŠúäb ç `Ö"a&T\']Ž3z¾önx.“ ïVÔ¬æP•|>Ì»Zºýà13WÍ Œ®b­’zz«ÂÓD ›ò·~á ¢'Œœ†þ¤'êÂa'ÛDõ!¥Pørô5ì›zï”=cµD31­�àQÜ1 �ØŸÕ Èšè¯!ƒˆ…b&k­Ìfi°ÛIV¢Žä�â~†›'§íºP޲`�ª"ÈéâØòK#>Æ£ÇÅ^]"Î÷í�F©éAÉ'­ 7‚à{3…lÿjXâ8÷*ÞMTO¥Þy!–B^N^ê–è!HžßçäBØÃÜ�3fb‚¬žõýÈÕ�sÇŒöÉMW]i®µØ<2Lõ†q­‚y͸sv�ƒg÷NÒazx£ðw ëržë%oü<ÂÚÖßöØD$,év×`®©Ã¡žêOkLº)+ý\�¬0s,{5ÚøÐþÍOŸ»LÒö1§ã[hŸ�±l÷’ØÕ ?V�&g
qˆùί¢~tå¦�€*è‰@×Ã7µ!ă˜
D}ï}uà d¥âÀ�ÝCv\',q¡æY#lʬêÂÚ|á*~Žž �¸¹ ¿¾�]¨Ó–n„Ó‘q=‘ÃxñEâHœRÊc3¶I]sßÒ‹uŠˆ¼×}JzA«y}Ýßé§ÌNjîbk7ä^$SŒ?cá¦%½>Er†¸¢¸„ú‚¶<WsÀuÚ(óï—E—îRݹC;úZrž‡S˜A©d˜3ËÞíWœÜISYˆ‰s³JÊ-ž—5ê|Z_� Á'ý›TdØþØ�qÖ T±-Q%¯1Îʘì�š«ƒ³$¨öò¸£æîÎTlFÂc™)8såÝ¿S‘Q=ãmC¬ÑÝaZòÖ�OÑýŠSW:…ù˜A:rÈïñ)(vô3`3fmiÖ%B_™c"¾ÏÀòÄrþPÔ¤WÖÒÊ|v°¥Š4`­_Ãø</ïiþ
Š–ïV’rAÖ¾ãgÓ5†Ê<.zø¹QÜ�¤‹S³ŠdAHô›bR…¾Khý™ÍÌéô�¢¼èr¾|žç8ÿxvªþ× ë�¨ÓºÑ;/mÂ?àç²ëƒbd6ºÓ–B.n¤~�Æ�«.µI.ä¯i�g4sÁ3ˈw—ç-ó�˜Íœxždü‘µQ$ÕŠ¹áX¨ ¨9‡,ÜhJÞ[ì�ºgú��5º‰aK6¯v»&I†Í«èR.ÎD=':-ŽLëxd¦M~ð7OÅø#¿ž%29"�Ù¥1`‡:/*_Íà #åÚE™ÿ˜nÀ/¥á

View File

@@ -0,0 +1,19 @@
_édÇÚ• )/¸—r¯èHéROÖ–›öù+ô}Mó÷~ª³]/HR^¼¥ªap]n9™–Ë÷ÕyÐx?V®}€H!xñF_ÃÆóî¶ÔYÎÚ»FýT:­h§,‡•ŠHö߬uÄȨ>@Ra ïË}Á[\B8£•ÑÛ!$DåG 6Ÿ}GCš1j­¡;:¸x"º>sñ“ÉÈ9VëBæå–}7öW1ˆ?äœ÷0Á�£Od¯�Å·¨™¹³å3»ºH¤%)øxsä‡vñW¬¡X_<Q|÷KŽ>:J•é)üHTÓÔßKÀM!Œ”{Æ,/ËÔÐq™*¥Ûîy监Ë0]Y7é Ӫó—¼Éd1mdá»�|IçI¶³Ñ¡©~ÝRµ0ϳ^#bÂòc�6¯8¶ '8:ʈ6|c‹?ð1M³Õ£c5Ó@È‹y¥L�9~±‡÷“‹µÇ_ˆÜUÕ†ÁîÄÉâÀí¾¾ƒ>·©h÷Ÿ3 _ˆæaŽ¿¾c–Éëp$IOèj—„(á´ON\Žôï ˜¡œ8 /±/ìC+[ã$Ô�ÙvI×�‘�ÝÝÌ aÓãÒuh:‹]"E{²OV“�?î© ë5àÉx‰¶Š¤l¿(,8’F÷Ò z9ö¬ »Þ¡Z‹êʯaWû<’ð bF,oÓLÀÛNOÿÿ÷?Å­ðéc54?쓦¨5›äø5c˜#[7xÕ¤r‰k�ƒ±vyÇâNU�ðÀe»R€`iL®O“Åìîm`�‡ÐúOœ º-£ÐrIò]ªù§øäëÀ…ìÑ®y´^pß8Ý‚îªÓøoàµ~A
ÀX…ÿ’Às²å×¼]3fû! Ko+õ㌶Ú$"Wö‡Q}gü-ß\†$U»-Ú2‘9S4û«{‡y²,R­l š²�“»õ toÅ-D\ï›_wåIé‹èû:Ði�÷AËaóœÕ¦ûY•g¶„x D
�¶²>½
>Ó_Ó"£ô6…ùá×|Ö¶|#ºˆû¤·ü´žÈ1è ¨ÝufGiØ
à7‰oÁNÅ=.ÇØ•Œz¯6&AL©éˆûSµBÂÝŒÊ"祀ס‚ȸ@Ék³âÿœÆø LáÜòÞž€ U P;@TÚÒÔ¿³ÄÁýÖ…ÃßÈ–5òÜK"c ¯êaae?“%o;Ìu©W½¿œ$‚ÔÄ�(=kLxØì²Cõ?$ìž<JF4�îƒ{q
ÑW�™Ô§�»”Çb!·™±À~"¤r�¦È„ßÙBn…Ÿ¾/ŠªJ 3&¬½“|$ï)sø'‹Ö›ühCòNž^a(K2ª¦:Ñç™ÅÙ¯@ ÍìòðжÐ]ê ‚e%<ƒ§yÛ¨Ò¹f9–¾É±8I=kó_ÀK—¯)×…ÄyÓ¾‡<5ªîTô™’j>;‘Y«* Š=Þë^®q„˜¦¢ky@úÔõ›²_Î6c¯eXóYœÈƒ?t--7»R}7“Ùß2Ò¯3ˆÜÒ¤ÜyFä&؆Áe5‡ÓîÿQ†BEºç¨ÖëLÂ]J¾&I€ÛX×qh
¬fÊå½å« Aæ~Þ`ó¤ÃOµÞdš Íœ¾Çm­¢~îÆZÙŸò ¨ß ¥Å'õˆ~âÕ6!š; V®bµÚËè•4¼H¡<ÉÉ‚eâÃ:¤Ñ¸ŽÌè�ø)ìPúñðÍWa²}×]Í¡iÙ†DP'…5q×íVªØ®jùñ˜å¾¸ª°©…ü`>Ì’ŠTÖÑßs4¡q‚3©ÀäÝ49yvÅ{f‘­§À¦É–˜}y†Ü›Cá"¢Ó$!(5Q±%n=Ùm%Å=gl§vŽoðRêeˆ/P;7�@ÄÇ皀êÚ saã G[.†Þñz³t¼—Ô
B|ÂoÔ=Š^>0çnùA9P*zUÑDI©çmÇi™Õœ
ÔEõaw »5ßèIgú<¾# ‚3‹�œy†`Vÿ£ìŽ$YŸçÞ!7Ö-KB³ÞpF:j¢o›Onyók3Ôàæq(CCmÉf–™Ò­»„ä¢5^ö.²Nvî×g"Ô:š?.ùèX`-!V–F‘h?îŽýªhtæÚ8EÞÚaë,ÖÒºäZ 3FÓ>£ÑI~¬®Á´Ø"ƒTÏN']áÎډܩ×VÐ︢ƒyä‹ÖW»ç*A,8[yYƒúÏ•ôð/aï¿¿~)âbúDtÛN.Hï»xo.Ëûèži[¦"aÈÚàfIɪu¸Jƒsæ��‚åSo1�{òDƒf:ÑÁ]¶ëçOä¬â.…¼M¸ÌNÛFµÑµ
m�Ø~ Áÿ ÐRÓ·ùgkX¤’ Jè"ý§êÜð8$FÄÊÀô¦žT»·g‹Z¾x¨ß®íšIç`lhB!¢§§�qB ‚Bkó¢R$)¿'€þeä~èã߬«Ù¯ÄT–²îß!GMJÉåo[¶Å5¤8P¸ô�1!dsÛî—ÉåäåS9Ð"®¾Wc÷ð`JÅZ€æó ÞZÈj‘=ThKÅ7n©÷{3n<ë%Û|‹#‡¾ks‡=ø/ÍÇ ½ÝÜ/ú±); ¡à¸otw&a¼‰�¥’®‘“iNפ¢®Æe'¼žAU_«û±î!X7Ð[O…<ý#=kˆ?éET[¨¶É ,}Ç0e,¹×]%¬‚4 TA팡ê<¬ŒÑþ¢�&Ȥhg‡Byöl Ïa'�Ïßf ¿ÁiLàü%Ð2°cIÇU�!NF ·W¿9'KC†Ù©òºPUV¨]§·+¨BÊÿ§tfVú?U)¼Û¹H|ðÈÜ[{œµ5•�(™nx O÷î&_hx¿ ëË/àW­þø]„äÎçpïµ­Ì$f‚•Ñ›Ÿ7#ל궀Ò�ëHaHlÉjFÚ¶m…É‚2æ�…ûû;uêJØ+LRR|×M�h}M]qNñâ@}lt�Úë—ZfàãX2Á]í=”-ê�øÇ~ œzÕLÁfœØhÜïc>˲Å8~“nMÉç³$¥»ñã@¯@îYµ~:ÿœ¹~„ò×» Šð U_Ïì9$Áý
‘k8úqÍi¸ƒV�ÐðI]u;°fÏ‘ Tsé×/®ø‰¹¿ð¼î0þ«m(‘нy9¥$9°˜ &­³À}�w-ô8z÷KeñM0S˜;¶ÏPÉuý,¹ž’ ƒÜn¤ãUX«Zºöôôªmù…LæcpÆÚ求ZYwÿw�ùu^M­Ùé7è¡�9ö¾I\ä_ö= âzÃ�õ²Â¡áΉöï§Æaˆ!á7q×Ä?ŠbO³õ—±© !uÉËÛk'C'âÅŒ¬S°\µûæ44©öÇ5k“;•mâo��Ì.ìë½y‚j0žÙ^ž¿Í�!`O„TN³CYd€Ù£’ëÍ/Œ^Òx\n-±AK¶�$߯¿O%ÞÌ_ðN�›yžCi(ÿ�À»ãxé]£`�ó@Ñ<rà ¥jtˆ®e©}yxUZ”õì7T2›‰u®˜ð5M~†À«F‰®tðÕ‚Y-–JüGÖ@h¿æòÐÆšž´!&ÚÖíÙB¸z3ŒÉ,¥¿f+a™»e�SMã 0ÍK­™ º›¦Cá ejÉf2Å�L-�®’!U¦<ÅÔ¤w "P T¬l=CÍd¡6QÐ+ú²†EM»Yœk !R–c42d‚ÓbmC€€PÀó÷oưÇ*X‡mòe²ÂÀÛÇ÷]¼ïó/äL¸{xŒ�‘�fÛn,˜.Ÿ‡“ü]Ú#ÉÀØŒ=˜v=¨å"÷%æ-LËÞtÈ>°^­(S‚»q£{�2wceÔy�<¾ÍPn´h¦Ò.IɲD¬�Fžã£rÏÏhÿWÝ-x\ä\õ—©>Í4ƒ2gP¢Ã¢ÉJJ%°U5X1­«åã)6³l£ö›*gQY�M¦½2:y¾Íxé=—ÍJœ¾:&þ€0Ï"À•¹{Ë–˜@l’Q<_X„Í{$eà Î7
õ2a} €ª[YÊœ� ë�ôSõB·ŒGÅ*¼z?Óé‹u�ËmØÁyûLTÄjœ·ªB®~)Û’Ê3E<ÆiDx $ò¦ÿ/˜)ŒøK©´!òš8Öî
4Ì&D¦ùΧoΣ=�YðuŽB�qOƒ§�KŠyÁÎ�“·‡ì…ù±lQqëÁç*A|Éú_²ÐX�ÉÔ !¢?·ÂŒ�c.ЮͫF,¬¾½¥åéA&ÇD¶"¤!®Ö}©�f6ˆ…ÓôXø!Þ}W9)“WêÀÇšyðÙDã5±:Y¾öÿý ÃõéKÍCxƒ¸íÂÜ�K7sÛÃvÀ}c¸([#¨¢Ÿ=ÿ_hq,¤ä¬ïkLãïðŽžk/‚[q•ÃÚ.Û“ï‡ÃíX9¢•/7�ƒ»lt�ŒªáÍÈÔŒä4M5ζ^Û
XÑc¦4ª¨·côëôkEâç<¤�h<ؤ-&¡èÉ ø“„ËÕóm¸òÌx�Ö‚S£ilÉ´0"
!M¿EÝ=¢1ÇÏE/¢©6þ*n«) ¾Y
Ÿ¹H™Ø„ï_B5xÔüõÜU P‡hõ‡Î§óÊúñ«ìŸƒ©ÊøûM;Á{�d·JÁ8 r£j9äb¨1ô7´KQ£BÜÈ/ŠÆ~2¡ ͤ­VÐŒDädÈ�©ŽJ%žp4þ9S[–ò!TŇ7Mñkÿçêº “�¢BèM>:bƒK�Jm¾=Q±ÝŠYèƒ*ŒVÉ`lµQ…AºˆC#³¾úÜOˆ>¾û*íÏÚ“(;²yÕªR�žÈ¨'™†¡§K0ƒŒb@þÈ
ÿÍ�È*¹Päh1å@•¢uHD6š™ù­/R{Ä[³Ä‰Vs¬}MÃùs,£%ÉÆ¥Ðb)T��Ÿ&¤.•ˆ €¡.s4ÚWlµ‘O°®ÇûåæÔ^õ<¨þ¼ibë=ÃW¦ó8âüA7i)IÆ‹c6zOìÓDà‰ê«nó¾APÿôܹÑC^§ÏϨÎPEÍF1q 3¦óÝJ�¹¢…z¢”ÙÖ.–å¶þ·éC˜ÃmMåmÛÿˆ˜~ÍY&Òâm$Ãêt+•Û˜�H4H̽Y@ !,Ƽªm†À~Œ‡Ÿ*suØsA¢™h$«kL¡Û Ð Ý$xʳT·”9œ§<í±ÓÚÇ=ùìaƒ2ÁYɞljǶ Ä�ÞQvK¦öYö)âóK–†E
Å{d„™ðÉ·p‡<ñ8AúÔ³3ÎûÏxÑcL@öí­  lE Ù‘�¨èÎŽY;ñدm u<—¿S°{·¬À`„
˜(çOm˜ülƒ'òA�A©�RŸhf&úíA¶Ã§Á²ã´¥¿®kN|Y:Sb³÷)¢À?(" ¡2

View File

@@ -0,0 +1,20 @@
Hd*[sz
6èE%ò‘Ÿ£dˆÑJšévuÚcÚ¿ ¨gQ]à_ÄmËFÓê܉éÛ[ƒð«�Ï•[\«eHñÈ€9ÚÖ(“Ñoö[+g·Seg@üC¥çô1²ñõx!Ó}L̘sê™HÊb—CôèL7«vZÌP�>¨Cüqt¸çážeLðÓÒ€C-¡³9i”¡c %L* ‡EMŒŽ{ØâüŒñN! 4¿$¾EÄïÀØsD‡hDj‚6À' GömjðŠŠxD?y¦DQ#½"‰,tZ�¨êJ¿3ú?+óÃ|
áGÿ»É©¹­oºTÔžÙÑ)%²ÊeK쪡¥Óo Îq\ u|MΤÙ�Êöiä»I�¸™~Nº¨˜Åꂺ·H;ìÕ·Æ×CÁäú€†`o¼æ±I EÖëÆï=Ú#DÅ2n%–�ûÝÊÚúhkyÍGÄ€§ßXÀ€U:žèÓ*~Ló¶Ð“ 9Ã9IŒ¼Ãe!Š7ˆVÔŸñk�&'”¯˜I›õKèÓîÊöqõ<B&ÞLRoϵ>þØS<l'×R¸m`ÅŠui7­7hï&ö¿ÇÁ­…³ïŽÝž‡²�š q3aè¾v2 š€l•Vd¸°ókvUW·«Å³ Ù�àLLTÂ+öU×Ó.`j,dÁš_¹î‘¶q1O¥³ez†t=åyC¢-ãšúwqx‘¨·e×ñ›ìƯ®7�ÁªcFx¾Ìo \F—1O.‘_pÀŸ[r�ïûâ ,­ Æ�5èN¹”+¤`ßZ³ÕaviP©+šò/gDaâ‡'%X)²A žÌh€!1#ªÎ¹ŽáRkýœÌ‡B6ô5³íZ=`ݦ²Kkm¶ÜýÇÕ þŠy9Ui3‘Õ©Žn&˜ÚȪ$Þ ê)‚Š®ˆëz%²T/Â2³¤h±{ëÚÓŠ„f|zSsض
#МØ�˜‹áâ—lYÒƒñÒåG>7ÂØ' k²—VíåŒÎU¾3Λö¹¯©+ûcÆÅ€„°þß.‚S̆•ºõôÚD½‹ç‚3­ŒÎS”u»L~$Ú4§HŽóTw«S1ÂâvLÁñK³7ĬËtÅ-ʸb®5%qò¸ßüI4û°Q…jx´L`¨oP ‚HYÏyÿ×½ùl½eÍMY]šÑ_ùlŸ·pÕ…wrHT�›ÓiGT©�[Ø– _íòÅÜ3A}Y:×IÛP7‰ÞΠjJÑÓÛZˆµwTÉ^{£¶‰el$4Gm³ƒ¾ùxbÉÜ=ƒv¥1ÝA|„ëÙe‘�¦ ?
§Ù‚ùÑ û0â;î–‚! ¶d¯…âฯe ‰vy¾’08 æZ[è®öWCÏ[ï‰ßeŽk±ÝG¹¯$Öˆ ò8ISÕD‹ü××-¨Ô¸®•�@? [lãðI…I8eôGð»®ÎØÁ'MW9� Cõq%m²‡¸Ì&ŠýšB”¹Ÿµ›í­¯É7ÇvþCpK¾À§^8YdÑ Ô!Åœ% -ÏW”Û~m
{FÓµ¿©Ü&¼\…œ ;§‚Ùш3QÈ�c;«"îSÒödKHw|B]£ÝZëƒWß%t³H—«¥WLG#ü«ÞD½ê!y7VßkþÜÞ•}—­+~Ò'Ìê¶K¯T´J‘è@©ï£"5iEéRsõ+Fp�¹jÚŽ :ÿD�ŸäM��IÅí_ý"¥¾JẄ5>'Éìú!¶\e^¨2�Œ~MðƺFè¼ï�gƒjÓÕ�úCûÐCPšpfwð‰X7Ž;
çȵ›aH¡Ã¿ga圠dþgÒ´Ë¥­×úb5j»õ,ÎiÖf£ŽÚ/ÒñB0^¨»(¡÷"�!QòÛí+W\/’k!¸Âx…±ÃE¶ÎŠÚ AV´¶«uw±ÅÕŠ �°NÕNÉR0ŸƒáSs?èæ¾(�¿RL)=+T3îëNX#ƽm¹-‚SÈ„ZPËíeÍèä„.* ´ÞBÇØKÈAMA™UL3TÇ ^¥%àæß�r)®ª²%Vì]÷È'Ó Þ!ó°+©iÆI1;<p£_î8ÐWº»ñz½¶xÌ|N6.ÒóÛ�VkÆ™Ž8_l™N÷Å_bø¹'nÁhÓ“ &Ìψê8ŒûbÅöm½Ùéïã­‹
& V4ÛPòytûÑ@ç�;L¤IöcÝy‘³¨YXKªœnˆpoéËÜ5Ú9LoÞØ£˜ÀÖo2BgNîÛ¦`4J±…‹ÑÙ?)œHTÁV!Go†›\=^\:ðXpìKÃó´
·ÈÙÍŸŽ¦jŽƒYkô™xþ(­^–k
ͯ¥Ʀ\ý’é±Bt&S;ßéjqUÃx‰f&½n6#ÖüBjç%ñÀ¥¨k]Hy„gá!u}}–2ƒÑBBK‘’.d&¤?aDÿ¡OFTl�ä ò@Óë0meÚ›*G„´›ÊÛ‡�óRóG¨¹f{l«2wò°D-ßÍ…O¸ýzi=6�W—O›J,÷;O¿¼Ûû-‡70ò#NüK{_§=? ­Û´9;`ñœ–�”t»ƒtN“âaYSÄçëz œÌ¶
MS�È¿‰ä4‰âÌw-Šy‘àk©œ+J‰6^ "®c{Ü€Ó =<g*<˜ÛÛ8/³ À§?E þqŒºf±bm*ëw <éfÌ6HéR¾|¨è´oØ’Î4l âãìF¤â#ýÖï¤M‡wÜh´¸i­ ùˆÇã8ÞZÒVí!å‰\†¯,l2<Çý1>ºº¥Úo ¿ÈIñ$$°yIôä’‰¡Û…êô øz~À#ßzk±,„»ÑmI; ã](LGŸji)°&×ÍÖÀ땻ʼn<óŠ#4ú¯;ÁY^ðQ‚ªÙ7æ,ªèhSË7DÃÁ^¢k]0’¦ÜÚŸ�LˆI9ÕÅ%t Â{m‚æ(ë¦~"açŸzZJÿmüê@ÒiH{±AÍEs[¸Ò6¾qxñ€öý·,¬âùsUý}åÒÛ= Ú÷QêÏG¥È‰ôÿ¹QMN9-¥}㊣”_r¾m&j9vÚ%2B‡aÇ!ÃgÀJÁ À� 3Ÿ§½´M`ƒ.r횆©ÕwcG•ãbNSEÙ¸]½�0~�•ÍnÀŠÅ^6­bòÏÀ*¶>Á[y©Þ9w.IO£\Z,.õsË?<3€êáÓÃ2AâYÀÄ2`_‚ÀZZ!Dö”›º�zø!º@ÞïGlu_¶Z*ë† —ÐPãj01+oxã^ÒHÃ8÷U¡Ž§Hª0ÀÌ!xW‘Ú\´ �OÏZÞ®ÁAÓy¨Æ »dPlÄ~š…ÖÛžu Hn•…¤µ!ßÍÀñŒu;/T._ßo¤]G�3¤HX-Íz>^uW§Ÿ“v„Ë�tol}K ŸY L¹#$ïÁ¤¹6L¢Š0®o†C•“vÔÍò”1À0]4cˆkØÝÞ`$=üG»ÈW)ÿ˜Ã3vÂ
Â�y%c˜QÝfp.íÖ-Z8A
uk�³Å#!ŒÕÛ€­¼d�ùji‚FÀÏ+ÎÅ 0èøŠzìš\ Kâ€cÌæÕo8Ðõ¢N4æ¿1ÃjÇ ßõ8½Bù±É‰�´èŒ1ãJµü%èD�´^s.aÇ_]©_^Ô+˜˜m»FwóŒÚ­Ç…Õ–]ÒÎÏänó¶¢¶ñó”c¡¶]]5¼| SüK`@ã.£6Èù^̥Ɵd@-Ua‚%ŒaŸsY�YnC'Ge{ “¢;•4öL¯pèLÐ7'ý6›8Ée°3�¨lÕ"°‘`’¬â©×¢o"â "îê×!¶y-@céYðºÖ,8‚˜ò›Lâ²eUò3üRÖ¼°·(‹ÉÑ.†&m£î»–
[,'  Åîí› ¥¶¬i¥åR9 °¹�(»¥š�@I¾*.8íÝ8¾}Mc3�¦`>ÌÅëÊÄï×C« Ãîç#]§á%TØÔÅhð`´$9 ‘ 3ÐÇÀVH׸o°’cgÞyŠ�1†ƒÖÕf[o`˜•¹Òux šT-¨Nˆ"XáüziɧfÜ5«4‹Ûž7L©
Óójž;cPÍHL -‚I\­åäLh9,”ÃðìÌ,~¸îí4JßY±Y6'þD ^wñ€ ÂÆ‚áMâ‹0§ÆG««Bcܹi
‚ƒYwDe›¶8øx°Épøu'ø¾‰Œ+¡d._Ç;}Äý¸ÜÛóU7×¢dX(þvÎ6K¦Ä¥?°sTVÖ¶„ÝP?ÑôÐpḫŸR“ª·´H/w†,Ñf•ñsl«¸—”®Þg}ê�_äV´Qc6ËŒ¾Wêj sû=/—ˆÄ¼Ÿs n�>rŠ+„*_¾÷ Ã
»õ`lÐX“PCѬÃWµ¡Èmc…/ÿûegÝcÍG@ðâèµOÈfÅrb �¹±¢ `?ì}��%À~ÊC«Ìºà57·p Äâ9´D±í.}BPL³Véð+úg]ê™h€Ë«ÉD}Ÿf:Æì¥s0P„E…F˜Y×z÷Š‹±Ò`»áN!kH¸Žº”ëë­ËçÃ�í‚Y0©“îQ¾œ™¥},ïîmEIU†ÒîÓEIöwÇ!³¨ÇÈ|’nEƒçÐÀ™uö@ªÔÀ-Çìh—
øo°ERT<>yeD»2޲Áäd÷ÐòRµ,. ‡—¦càžAë¹
Õ¤#F`6H`Iû„É4O¢€øÑLwœƒ‹>£™ôêr…½k…�ý ¿ ˆ§3-àtÚú4nã™­ø ƒ®vš¢ZsîN Ëõ@̯*;Oa°÷DØîƒž:ۼ̱4
ƒŸ* B5€^M ßóSÜ;)õ‘ôQײÿ= \´Pj¬3<¼°Å(RHä?ÒgyÍ+I|G^õª«0÷Ã&wà!¢Ðg)€ˆƒÑ=› a ‚ðöùeC¦ _ 9¿.áÍÈ|¡·ÚJ�3]™èsß”õ¸DUªÇßKyâ:‰â³ö'1ÃÄû1 .™SÙ[°¡2,ÄÄw ÍA öÆuÎÚ”aÝúõ®ím¤r+/ÜØMØøÎ -ª¤¥‚tS�h®…ÌÜ`M%­‰bÔ䯀NÞ‡ÕUgœ™ƒ"v²·Â`iy¾AüYe€m³Ì×QSe„XŠlÄ!À÷ûvž—³çÈVׯ|y¢>.j†O-Ðå(9&5!ó^[ÃR˜»û±@öšKÙ·Å8a"ŠÇ‰Á`d`:fVl¾±!žU-¯u•˜-hæUü‰áÕ´¡·H,˜%*S��=§ý�o¬ZjȺGJšÔ�³ìÖ`þ*Ìù_l5�R¹‘¨‰½ñ�Á}¤p=60kŸls

View File

@@ -0,0 +1,26 @@
5ïZ> ž?6½aNNóx�%¬FÝ¥�o¡íyëD’¿ÏNâß‹”¶3Y5áÕ:‡þ¢�üØShR-͈F¯BXw²²ˆÚfã7³ue¤¦•y¬Ù|¦¾�|® Î{¬ýkGq4È‹ãfKkØ®©úÚ® œm¶´z#ã‘Ep› ~BwšËñ2ŠÑ§Ä6ÿÅŒ‹cYÛG¥bI§{ï5\ Z¸ ühRaã5w >~¾�™Âé3ù(µ·úø÷¤Ñ’nëÅ
ŒSd„ !êEÔÚ݉ákÜ!
Û;®ì{Ѓ9r¥ñ¯=«´~
¿H,aw
Å8WG‡«é˜ÖYB1Ý9= 9‘.%ò�æmŽ,>Kèá•„À�– ANÜ¿»ˆ.$:ÜSX{Ÿ¬�@/Ä<"`ð–«v†³Äܵµþ�¼'ZËÍæAA%爓T>éÖ2'¦ù(9�3›¿
&^=Ô<„TJ›x——Ú/zí`RÐË#D»OôÃMëAgÚðò†Î u²hªÿ¹4ã�qÊÏBäÌ£Ê}/�gz—õœÉFÿcô—ÂR|ÏöMný¯êжÜ%y•3ÚóåÛQ“˜O—M„¦Ü]¤fˆ`.§Jš¿±ôÿìŸÖ%ÄœukN¢ß½ë|±!õe-ƒúÕoïPW"cç©Hlà¡XxÜw#<ªâk€T�œî™õf}¸LU‡ Z¦�â½U� u–}Uf½SZÆž–PµÇâ±"Œ.2~庰kç{Oz±´Lï~¸F<ÿBܺ¦Å(… ýûè„ûš5öÿoJcÊùVÂ�žjOF*ˆßÊËDÇ«1G�@5€('Û€eFÉ+©IȈ¶ö
…H¤I˜5í7â3.ÛX’�Z>p&:Л´Ì¯nƒƒr` ƒ‚‡ã�TÙ<Y`Tz wðQ žßÝl_¦×Ägk!àæ‘[И1†‰½´†Çûuï£:‚ù”ø
q)��…\© sŽ¥ŸYx^ö¹õgôN§hл)ÑúOõÓ”šñ˜§ï©)ÏÅv×1ªÖ 9^œŒÃ“s·NZrÏO:ª-mÌc$[g•�ü…MSXäÛa„  ö‘L,M1…b]„87<}í®ËȃnÙÊ(ô–üzPÜH1*_Xñh#Ø~‚Ú­„&(�¢4‹A=¿ÐÿÿÙsp´àHü %1
xÁ/¡ 4+öçºt Ìöp’÷Ö …,+žƒ«{UÇ)œÃª§ÿÙJU€­“¦ÞèÇÿñKRö•Hü|ŽÀ$ ¼²^åx¢(éE3ô™ '+šì™¬sû.µâÓAjÁõ(„[[!©ŸëR]Ã7½wÕ¢»"ÚùÊtÙörÍh��ïÒ-ã*/,÷ ~qs·”,…b!�Ч~½Ç¿ËçþÈÀ!cÒMx6`Ù¼NØ-C:T¦©lX¯ÕµuÖ«žywû _þDLÌ&QŽ|Ë¿,ïþsâécå-’úìƒÔº’Dô mkod3µîÐ�s戧¤»J &Ç;>K~?ËÚpvþôξ´xç
‹Ûõ¤Ïd�ŠM¯½žÍ…½¥‚g@Ùu_)«’‰_Ôl»+hžØM´Xyñ 㡸ÞGðOÙÛÖö6pG¦dikø½3_« «Fd­ÊAB�€Šìçú«üANÄ©g¶}o¼9F]­°½[¤�ê-è�7ÝNЕžŽÃÉöÇY�jDAá«ÙGûɱüG¶©èV°æ»þÅ BÕ°óW3ÒýØ]VÓ'š<�GæÆx¶çÀGÓ‰ÿÃÃ
Þ|‹Pù9vDÛÖ(¸´À³��y–a<Ü€'ûÖÝŽ?5À×cZl‚ñ3øž¦”XŠÍ¤jÿ\ÔáO¢­ß÷áâ¸Ï„�y¥Såð$¾]›ó”ç) R±ó°–`Ë¿Xѧýy‚Ͼ‚ÆBµÅÇT÷Ø´SJ�¹ä² ¢yñ*þÓ9¡±úFQûµûC(¢ vïóhÓp‹ÆÓVñþ`´2 Šœ³÷XNVŸ�_rm…qž›ˆ²¿DýÂ0 ,�ij vzB)¸øÕÑ•âÏŽ|gv�Å9¢´‘;a,sv§�Ü]C‚âÇ��[�ÔDÑ{7Åäµ;Ä^ô>šLìÅ_ C�|m:Nz‡^cæ4Ùn->.ïIEq-ê•°DB* I )üdš]²®)Cšó)ëÆ;’žu'Â~ß
»Ø¬­Å;ZE~Äô%µI·]ýÔÍ£(ìÙzzÍsç(.9 ͨ‡¼ô4·bÿmëÚ®�«º$Y»'x2ÛãW}_V?HcNl<{>ñ·À„àRDƒ¥órO 6é nÆžv™˜ùŒfžà0àÝß´$ï…ÆSr *À$òEq’ kÑÜ…7ŠFhŸ<çÅu‚Êû(r`�ò³ƒe7Á·Q£Òôlî�(›Ð •èvH;Äw©wõ—#kksfÚòøYK±o2C¬Œ8Û,‘ÿœAºbe9rB£«n<i)°àà‰6ÍÊ<ÆíôüWÇ
)gj�m=,ó¬ðP�;âxJ\óIÀl"=2'P**·{�»kè�o¢0‰îY³Þ±­*lô¡…¸È…”$�Ð9µ/IZ¾s°m‘–¹�‘ã§ Ç7Nrx�zÒT™UFJ²­ÞÒsÕ™ñÄ•>µÅ šs£ù™ÅcöQùL:!ˆÝÔ°„g‘Ø�D—BÏÍÇÈÜæçò™1¤wzŸ7·ÂÎÎnó:†:b´~µš.
`!²ê½QvåÌo¿ÉŽIu§‰¸ÿúÙÝW¢ƒŸÝ-UïMo±F-…DåÝœsÉÁ—Éû®0sF?ˆsªzuUæ”ÅN=A@¦¤«ÛLèlÇ¿)ø;ÄW|ʶá"ë ßwehU›ŸðÑÔÊ«µ7¾¡´¿ÌßÑKOZ~i“
kø›þK!âéõ9ÚZo$NQ0Õ‚¥ûãMߥKΈ"Õç@ŒUpL×ù‘Pr½€@ªûËÌ„)‚à€./Ú2;Œb6$1W¡ÿ,˜D<îÓOŸfãW§Qt%±DxËßHSá¹7ü¾Ž)¬pF“û‡ðžr•ßMkñ^·Q ¿ý ¸˜Ì‡cÒêˆY_èUi¥=¶•¨#CŽO¦sKJUµqÙ�h`-–v²u!5AKû� ÉC¥’î›f~¦Ô=IB—_ßñú<ù(K6ÛuƤ0H8Ñ„©Átk’7zS¥8é­âðG×—‰ ŽÍ÷êÊJn�ŽW¼.·c’£Árg̺†„|ëG¶½Kù©I
mi M«Í›·dÒU¿š[ýŽï¬�B¦Â;³râE€uV‘ÃÅ6cþÂ#yËÁý[(¡»\BF×}�»7[‘?jó#-‰„†Íq³C/è÷
¯Øz 0ÝUk :��—ú!®�gÊ–
éØ+iE©ŸÏh©~_± i R�À>�ä¶ÛþæÒŽûÍ×yߊˆ˜Ü·Æâ/�¾k �q�žó Àˆtù–+àöayº‘ê(¹áC«¯
â’Üôè¨ÞËD
ÿÌ}ÆŒ‰ðïGwðëËž57ƇUêTãCVXl?9†¯Ú8$dgCe ÏßÓ\lO‡¿ädlÐüëVݼ�#k:»a†u}¼””+ïãÄÄ»nU °ÙØ+Æ¡1jøøqçDzM™ÂÍñ%>�$=òá•À•ÔN÷†â_J�2îA½ÀývÙ_À|½³àN£6ø”£¥G¨^l |š±ä!@*Hs‡dàLšë+ýàÉ!¯�¦ ˜ž
ã¾!Àž�Œ ‚¡ß³íT_%°`=»`r`†Èf�3„H} 8ý ;Û^ÃíûmK6Já 8 ¾4‰Ã>B›8ýã�*]|²a/ÅóÊ0¿T>Qé«{¨Hör’‰Õó¦ò¸Ð2X*ƒ}ßz.|K«B†¬t–Ó­vÍ
ÚmzƵFP¶'XÐ µFú¡²ÉÐì?®,¯‘U5aÐGhb=DÚz^(ûð6•‹’ãÑq3¼Œ-нë—ðÑÓ3ë– »Ÿ�g–öxc :ÔBqã0Ïå­·@u¦"ØiýM˜ˆA³È2\£Š½‡uš•^&l– Oâ‚å>`úÙgØÞ®D5«¿qGdbª>s|O]ÉåO’ˉ�*.‰?§:�en1Ø<É€ö°ë�5½‰—@³/Óôì–‹ÖÚÂÆ~–ç0Üq`=£(�—åó+½D* V­gw©-²ý}º�‚Äù·¨øyÕl%YL
jšü—*šÒHLn/Öý�|'ÚŽY²«¥0w$g9 ‘~rõ!fNM¬Ë 5öNawÇ'#~;îø{@ê‹cë¤l¥uqƒ�¦vB“¿+ú-Ù÷øI—2@[‚KîKÖƒƒtužäå”qj‰‘g¯”Svú\rùœïùjBTxI%BBn°‡;¦ˆ¾ñ¿¤¡Cé FŒp,† Jå“ÅÉÆ’¥{ev¤ ƒRäð-hÈò]‡ñÛØùAÆùOô1Hî*@\b ^mߪëRj{¾…w]~2ŒÀLnj�Bf‚ÏÉž¶T³ø]ð®l…BqCöQ2†‹‚6k%Š£"Òµ‰›æ‡|ÔEŸd�¬Z÷ëë3ÜtñH6Ùs„AgÉÉœz©²±JÂK<’,|&G ¨|¡ëóZxƒ·šýúÎÐÀÔû”-ÆàQ&ÍJëF®5ae"$¾»¯ÁH-ëž'…òÀ7˜ªã±Ã’’Gb·zy¤¾‰o˜ÿ¾ wÜqfQ„l׳ô4sœB¹×lþgºÈÝòÕíAM·
}y­ýH9ï�Ž �6ó«çMǧ°/`…
1ϹOMûê·æpe¹£ �ü¦a-·™Š’ð¨�6ÿ¯�Õ�ný�^Ùž™ÎÁ¬g°#óMÏU+lu,'´<Þ‚ÝËŸ$^ñƒß§h¦fj2&ѯ šês½¶J±VØÎ®Ê‹§™èDk`î¨Ë�!ÊAÊu‹saýù¯v,;� /T…½vš†JºÁéìô;‰ÊoG¼dn·0<ëyó¤òF°³°™ýõ¤çÏÔ\±<*m�C™x;ÌùX*
#sWÆü7øïZ_48ï7Gòà±1\D?X^Ò�º‰K�ENïÓ‹›hàÅ-E@ržWɱTÉ9Ön”q…Êåëcº†àñ”†¿>7þýˆîÓn†¢E Ö¥éZþ’ ëOØïòƒ`y–¿]—R”7i„ãÕx2èesc-ºHa„ˆbÒŪ¹±öžã¿C;œrâd9ïKyØõP¹Ä‡À7¼ú‚òï>ÚþêÌû/º Aï¿$q§6°Ã„²†p—Øthlx4äú0‚E‹J<©] (yæB<½Áa…À‡ñ߬+>7Æ­å±3Å6/

View File

@@ -0,0 +1,18 @@
wÚ ß\úɨ¥¾i7¿EDÆxÑ ZúêVwëy0Hk‰î#",Ù÷æè0Kñq–eà5ÈÖ2‘Äø¬Ú
€f@lžì…·G­F#ØliSïÛÌÐJ¾ŸCà[cØânðzÊ‚®ó5ehö–ø´¯ ô¯&3ôöU&…+$:éË5½6—Lxcm¥‘Þrg]èÄy[uè2t�Êe³I‘âj×�$ :_cF•ƒ ×f÷Ò6î�ñi‹+‚‰b:9}*–\v<��
¥’Öë;•¯ùNÑ�šß!ã7‰Oד*þêÈ9…¹��˜å[" ,m 6H$‹z—2ËE7<ö°Á)8?j�ø.ÔäºÞðkgTfŸ†7úVà„HWC’m¦æ1b 7¨šàŸÍ\—ˆ �Þ.hñ˜óØc+ˆ3ø*+,Ú‡Äã‹ÞïP“\¾÷ݬl³’P&ÿبI#ps|*íwà¾ýnd|Y ÌÔ°G׺³¾î0¶Ê8=mÐNc!ŽéÑJW¼ôd§biTãFÖŪäÐx×Ð֜Ҹ%‰ßcÛ9úŠ×W}Q>šs†D£36,q&—˜u®j9$’ ÓiK®]J �²Éâ\ójñ>×$ÃúK17ωš#yiÖ¾Eñs{JÌç}çŒdPc*†—½2Š� tò©éñàÇ¢b7mÒ¤r‘W�'šZYq¢·Uª¾IÂvÆoúVŽbË•&@Y{N+xA¶ÉÈ1|(ƒI>ü�ÑVC;…áwŒäã]–<†k6ù¸sâuóýfUóma=æS½'‘ôýL<h0ÖLÈSœüu
4lü3Dk›=§þ­�¦¶ºÈ›ßªàÆ«9™`«_ô‹ézYüO¼Æ°«º©aîç>òq]Ý^bä›ç¥àI\8)ˆP?—í8Fß½2V‘Ž#\ý5qŸ&øzÄÌèýíÒñSÁW ´ÄIC¹æ\Ž‘�Ayv”2 w{d‹¾¡^?S÷ÒÊ“F’lïvPãˆ}†”î‚oïÁÒwK³‚ç�DÿîÚ£A¿–,Jiö¡˜,ò,0-•.¥H-„®L@Τ¡–0S)¿™ óW·§Ãk”áë ;]Ny‘4ÙkøT#ôoùÑK¾äG/—Ñ©a|œ «uUÖØµ�ò5\>×ýª˜9é @ÝpÒ+ºäºÈ):çæ5
S-ªš)Wc[(Ü Å!÷̰ÿ^qƒß"C†:U¨·Ô±’$ƒ±w„
�þ“Ú†í½÷Ä"d™e(÷]põâìÙš«WËZZg¤Þ—7ÛKy9[ w@R€6pj‘*˜¬‡x‘â�ìNÒQCºÓ žö OêC&6Ó‹A—W���+ÚÓ½´E¶<ÁíîÔç<¼dÊÎÞêYjй0k–âQl³óüKVh5 �¾<¯ô¢­¾ÕøiÔ£2ÇgÕB¢ PN ËÇƒŠ£ NæÜmߣÅhÃQCApt°nF—µ¹É‚a¦ƒ½Yë½bŃ g6#^Gª¿!$æèMjé«!&N
ò^ZVÖøhaôÀ[y W®šåz…¥3®†¬läˆ2XÑ4�r›…«jØT™O\"¶W~çÏh{ŠFô ¡ûÞ}‘½ûíIGcÛp9ÇìØ£*è×ô ´ý'rZˆ¢oR»ûcÕÜÚvÎl»Î\Z ï<¹'Ž �´ër3ÉKI�®k š¨ÖO¹‘± •4VöαéæPÄt©"“`?Nç''¬˜ zC?
µ€ƒÊÔÀ‰³� ôG�–š³€}ŠŽ'ª>ßhrž6±YT è¶©vʘìZ÷»}Þökûôd6n‘%·'-¦–}+ҵ˒TKƒá;4ݱ)ÕÉ|TÀ…z˜J·m¹Gdo•g2@P\!h‘—ÿ€ %ˆÿšeqO} y ôm
¢”:¬M<Ç"KnúÌø™F!E”¿„¿°[ôßøªrºìAÔ'KSyY v›â²Y ˜"î3I{\™R’Á🎦©0§c="ešé&rᔆñÝšòEH°Û„¤½QUdm.‚VÁ5z�] o‡b¾”3žñ¹F,ÁÈTWœš¦7à[†Å#þÎŒ±çb37¤U^Øt¸;ò]ª›gxb�–)Ç'>ð�ÒýÙK¿ÂÓÔ6ZφÞKÏ[æŽH†­á ?´Å„YþÜú¨2ñ �ðÝ{¶ ü›m¥¯3#v&x„²ÿH«,µkIó–¹*b¹UÁß¡¸rK
.bµ¯³ïbU¶k—�o¦™id�7C= øÝåƒCQÉçã ¿¾'fýmæM7uΩˆ
G›ºá:#‚ŸÓ^}µðtKÇ»¥¯Ôï5`IåûWJf¾‰äœx‹ˆÂúm¦'¡7ÐM‹¤á«g"îî2%’ Ÿlë]ü!Õ°­´ŒsäižÅM*[åþç³RÝÊÕ,2
ùf$*˜£ShHü‚”—c¿$õ
z§å¿+ž-Ÿ.^6EFuÃÇkïC�ŒúÏDE`°ç yBý½
#â£,{ØdŒ][8Ç™Fø~u;ßÍ�öÙ“ª¼š6”sðÉz¤\øPZÀ£?«Ô†07Uí4Qö|öbò¸Ôw�,N»¶œZ¿ô»Þ8\=)zzUà“Îl}s°ôÞ^pè�¦x[×l¾ÍtH(~·K¼7Ùz÷³ê'´¥D¤¥g€ .Žu¡ñ7ô&•Ù±;Ó]=)Wªê7_¢Œ5¶¾Õ\�V6&LF�'ÊÃ+!é#­cù0‹±SˆÜê|X`éáM†û/Sôh’lÕuêâ­ÇÈÊå_â?ØÒXcI<“´ÏÏ蹦ÅÇÔš­ññr›åŸ'X2Y¯ŠgƒÌü|É=`¨l­#$g&÷U2“kYG¬,J¸]!m<Ž6­håä4„ºïóó([/HˆO&Ë JÚƒ†V%2àWHVm€ˆ+-1XK€°˜ˆ>ZÈÕ:ðŠê·û¥£;'oýŒíRZvÒŸµDE‰þAÕ$ÀÈ$QÆuôŒ^>Ô^tQôÆpp};l�û¿à%�´O5iÒ4‘8(—! fLÅ�+ŠªÊúœMg¢lîÞCBAܽ·Ø©ÈöIˆ¼¨ØŸ¡ù'J�[�(ô®Ö#AÁôE\wë=Í×W1¶Í?§yp»`]4�T¥Cð¿éI§¬AUÚ§àGIžoÕî‹ðiQƒÿÿN¥ñžÛ4e´åô”Õ÷Zd a5SB!¬íï·ÒmM WÁ9ïBú!�½¢Oö™ ²}Ž|ecîá'åì�»gÖ°¾ã¤%ìÁsw÷ÍÓ‹fYñåZû93¿c®{¸¸ò
–^Â;bïªYÀÌôé!(nŸë* ׫&.¡TI1§†Z+ñŒµ8*E+ô%óm¨6¹h:vÕí75×›IÑRmÙ7úþ×:©Ý@_ïžCþÑדšp¤/•`mf ÂcS„ûÿÖW Ž.@êJcÖÆë ‰\ç{^Ñ„?m «‡ë’„š0s¥šîQQçÙkbN©ºÐÒ2^föqþýiõHÌØ@È¡ïͳ%‡Á8Ù\¯·ú•8Eðûex€ð™ •á�Üß=U†’ÿeãœù#QX°¬�œ`–WÉ—¢;qѶ¾Å/•…{4�üx4S»tâî’{;FZÛYÏoí†_1À´íÌ=Êä¯z�uîþÏÚºö&ãè`Åò®}m¤Wúý¼f°¯ô'œÌpçñ‚¿µ,ùáÍp94>xµ»Š§ùÜ@* ge×+0Ó†�T)Àÿ–®•,ü´�óD·¾gH_‰þ „+Ý©ß9aí;pŒ3·r2Û—söÆL¶eá4¡¬ïp]Åtÿø»F4 ùÏCŒ=ºZD‰.L³/Jñ"œÀÞÇ Ö·�R±£�Ê5�91¦Ñzä/¨lmžÛÝWŸð6ž=ük¹cU_…D¡º#ôÄF¦}§vó}´¯sw†c\ŶL[IªÝÛ àžî -iÔ¹‹{ÏèÊ”—= ‰xgÀÌy ê.KiÂ,EóèìäEzîí·¾´ƒ|F:˜7²H›„ÿŸ s2|6\çu6f¬.bR`W/]æ�„c»ì”E6vÂ7=ÅîvRRˇì£ë‰<㯢êƒê›im˜põ%øìë½ÃFá-ö4˜´Øä¡*ôW ™ªŒcfÖY†ºY.G¼6žå^~€ý*¢Âq7iZ¸A ¿ZØÅ}â͵MCÝà䜋Çßj×m­?>pnõF­L¸=š2zï |‚z)¦øFÅñ÷oôð¬tYi‰íê÷á&¢—DŽaÓý§ØÍ™±Úç>÷?kw»ƒUhÜÄJë£rÞ™mtYOJ>ß?¼þ`¸ƒ›_z ÄÚ,‡«ÕòÀ/ŸBm=Èà ¢ãËç³Et„"þàsÌMøWhr2ýªÿ:z1²oå0Æ
WzˆÁ$E· ‹oBüz«œIF ‡‰Y²ŒçÁ³´¼ºå}½£bú<Ð¥êäèˆÊ©ãB1�f½5äÛL;¯k×"åó¦ÉôV±�¥cªMõ>û˜…Ü«l)F¸[Óœ Ó´;8¦š‚Ó( ÍÓ;j‘Tò”|áHÄrûw­(-%2ȉIeRPþK8Æ„÷‘¿àĨ(˜T¦¸‡ g/h ¯‘/qeæ}ÃF!Ç¥ÞÑó‹"£qTEDîæ 'ÁÇD“(ìÆ ûFª#c;Õ=q¡;'šL�å�é†�ðMµD¿í“¯Ýä´ Q�{ç)_û}T:Æü<,2IHÅr"üorvž¢EŠÓ©³IŸ—Î ËfóÊëL 5D¡J3…mÔš°>5“þ"ù.‘ŠQëz£Úl½¤·O{ëŽèÒ$N¹³y&�ˆ©0¤ù£;ØvÕSfž¦¶0üÕ<¼“A’â÷Â݆©¹îÈÕ$Žæò™ àb{˜U{¹ƒü’M„-…’@™H^´ïû¥‰EŠ\ç0sÆš™nÜ2ÐÖ§ZÈgv÷KiÌ ¦ÒEOÕБþ—Å=ƒI0Û5³v¥Œ·ö;–d ^U‘Ó=пuOÈ[Ÿß}gSßnJóÒÄbxY‡¸c·goé¨ë;�ˆ– I>&0Ãî¿“Gbs¬�GÏE;�üµŽîæÉ(æAo¯6&\mo¤œÈ£ÄM´ìt]Ÿ�<�iÑ(vÇ„
þpÓDìXKüRœÈMèBÍ×4-®�{¿¾rVß`?¥.¹%2M˜8Æ
÷™4™Á=$ÊÄÊ4ó3‹ï]ì4g¼0~=ÆÔ½c&æ$˜

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,18 @@
£É Ü£³Pçžß•"ö™!d]ü[Mºo•¦ÍárÝ™Ú|ÔÊJ)Ì¥…(æ4�3!zàì '¥&7B ºcÎ+¸tè»Ýu…|I62½Ø‰Ž=,HÙ8›² ð]*#°Ä#§6ò1Õ ZÂ'O#Î/–6+^µ[Ao·£îÉ€îÄ̦§„ª+lpd³B•î´«ß|WÚ¯L¡Ëí±{NšJP£u†oõ£×“od~!Ž`'D"ßCëᜇ í|åX1±ð7Übߌ…~ÑÀEÊyÈIÎ
›ÅÍÇWœww粧ɽÿzÐl˶œ�×ÂQÛ´·
¯ü<šêGøè Ânµ×Dñª WÓÓvRäÁ�b2èbyKß…²vqkW^<ØaÀ ÓùÈ=ø8C)½­²`ŠÊø>Nc­œ8ªÇ+ô�Öñ·š�lîX7« 0›¡IxÂÔôN¼–a ºˆ+P$ï ôúz.=ýw³kƒ&“}bŽE 眓ËÌ99ˆQÔñ"#môÊ;ÓŒ:žsÆûH|‰ùH»¿ÿQ�h ka;÷ëß¹ÿ 16$nîúƒ½ŒßJ厌SÄ­Ü,R‡81윔U]ÄPÃ͉Ði6o J-RÉFo~‘»âX¡à¢<Œ4¿Øµ]]Û²âü“ü|#û'xÖ¬}`p„ˆEóú Ü¯oò„ï¼ xÂi²‚“žo‡ñÂÃ{,2äåÉv f§°$ï#\ ¥¾óòs4Ö©äÎ`†3º~¤õ£ˆþ¬ÏîƒîJyͤž|©ûƒRµ„SÎc1ùjè’}…çלQþ¢w¡8|=`ßh-†Ð*åÿ)$š$ ›¨À|¨Ó\áÃ'™ÑÂæ·„žJÏÒpú*0^jØŒ†—¹JÒãr–êˆSC„ø�‡½XHÉV_@,ñlîÐW+™d0èvmС©áÆ!0*RùÕT€Aû×~ÔóÆî¢cÇ0¦2³žÜñêîOÿb£àlm�e™‚È#$¼–6Ü K3º2÷RtI›ªûýFލOJ Š“8¸Æ÷ +·‹/#MkOs½Ý F›ï_êlxs[-,bq#s#‡M¯‘Æf·ÛH{ŸÒ>Räl8õÈÓ‘b”ó1¸HH“UŒ+;x¥ùhl̺
`'dÁÚÚOO)½tv1…¨øq¢%ÛN7G|#B…çUYo �Á´¤{ó:6]O”)†Àþá}N x~öEUb¸à¦åÙ rÝ]¾ڸ_Ð�sy@º,χ»ÈÚhÞp =/‡*2J^c…bÜ×`¹îü¹Tû@€OfTÑ #rÊS6óð“Î]ÂiûVúa2”+÷óĬዒ'ãxŒgRö—Â7¢1££Š“¢óǘñ¢NfÀÄ)Ó„- 1UÐ<Øä«TË–²³y€P쥹‡º­˜[9”,Ž‹˜ïÍ{]fq“fM²gî:*xÜ‘j0Û,zê‡.ÀÚgB¼bPÑzÆÝ
¦JZªPí!À±W €^ À?¶V64¦Ã(üglô†ø‚G2_‚Ú®ÿÄq-¯ævÑâ%gˆ~E´‰¾÷vÈzHq‹«È]$wö{Ä0¦ÉÌ`ÛÏ4 ©ZXäÔ{¡¶y&ì~8á̺>@™ À}‚è�BÆüå|µ@ž زŠSGäbçJÀ{ÌþèáfÕ�*™Ë@6�K‘}-žøUœb7X!K ”|·Ÿa'<K«ç=×XI/¾±§N¤ú4Ç%7X™^’‚=¤3µKü*¬ uÛ£�—¹®õò"4K6>¶¹SÌË“ÚmyˆÅÀc
«qUÿhpª*l™=4i#Ÿne ìã\ MØT ÃüÜ[xó&NRÿ$m¹ñ­�^GT-¨ÙKwÇëÀSÂÛ]Û«ÃÓɶڌ<¤¸»ÜhL_mí “Ý@”j}¼$o¹E»]�:EÅÍ[P¯lÝ™fE2‹",~ª7ð´m½p²kí=é¾�}�Lþ$FñÁéwÆ GEŽx43‡{¿£öSNÜØp¾�ìYË:•üŸÙ-iìÕ0er�~nve`=ó÷|¬9–.�ûŠŽøá?6õ#~0ÜÁ5`ÍÜú|KªŒ$Eì/Ä5ÅõŠPA¤1½°ÝyËÔ°Œ4¢Ê€æv4S.“¿üOpÙ’e¤ý˜ÅkHÎF1œÄ<ûtï¦ýDfüAØ®[×�z%'Eì×a÷AÓ8ž®Þ b ê¡Í2×{=¥È>HJh'­HmüÛ”ÏÍ‘eøGš~ÐØD¥­w½Ê\¥%°Ÿ)¨8.`¾›!7”635Ulã¨dÓ
¤Ä†¿–!•«Ä�àfŽe/77&0Íx1Õ ¥…ú½@±;šØŒµRñâmwÛeç¹”'a¸¼6 ¹$ä�Þé:üص1O‚}Ç B©Bÿûª•ãÃÿå§°ÂѪ­ÚÎ^ÌiÉ2ÒàŸÑ€ëKÒu–žûÛXñbî=ÿ äu ˆ0JÉ™�&|=λO´»
ˆ]©ë(S=6µzʲ¿dbÑüÔ€&N£öÜ£§6]«äƒ>r®b$jLaõ¡Ž
§O.ãý»öåâé¨l#Ðÿf ª¹�ÔÎPÄëïæ~¦Cè gûã¶FÀðj@ô5W¶Óñ‚Žs«dúmw×Z´‚û­j"–÷H±u]æÏMÃÈ­PPŽ‘TÏav9ÃJ±¤‘<¯µ ´Ç3CŸ…WBÝ•YÌCX$²›^“87Ñ$19UWkÛªáe°ŠÍ]�ZÊÿIˆp�Kt™ÒN¡‘ZkåGLOµ‹Äš1Сk‘™ëäëžçŸP¤%}öÅt½þÉä1Ûîúç{ؘ©dyâ_‡t>ùðÙÅ/£"Uÿ„°‘TVFû.R&®êð Òˆá%l™¶ÔÏY¿Á»>Oáô›ñ…�Ée/K(þ5‘\š¬U!nÆã ¤§KÄæ½Æfn}ä4¬Øl¹¢ØXí OºPQ©ºT[©b}vÍ2Ýã²°"¦KΧkkwVÙÖ«4=ºÈËá_ å@””LHÖW¥ä^D.Ö²]'!#˜Zý,‚£Ï©>(…£­Ÿð2¥¯ä«[³=Aë22s�Y6ùÅ6�ö`Î3jíø.! ¾M`kÑm1§²Ô–3¬|¶mï+ ƒÐH7ŽXç²¼%'õnÒZŒñ¤ê‘g+³è‹ŸªÃ“XÃ4 Æö"V-*EfL
žžðœN¢0h¶&SŸ²„GṴ̂£}H-/ð�Ÿ%%cAÑdÈöÏW–æ´±1h!ýÊ8ÔÖHÕJZR€£ld¹W�Cc¿¦NŒ„y# vY‘m" *ÿu%
u_5“ kv¥åp¾ÊbzPáªNb¯x5ÁÖ¬€W×à¬ÊYÄ,GHv²0vè±Ëåd‹&´¤Ÿß™È\||'¿žÚ{qÅ`‚•´^2Œb5^ôùV—‚ Æ�¹V®šÁ£¼BÜ \,m‘’VÉ\ùI©`Û‰�è‰\"åýIØH‡SHì³È:àÀlVãó9¶Û*M`s4Qj€8If¼¾�h¥gßÙu¸Á–Ç~f©Ãv‰ÝoÒúëÞöÚB¯ž4Q�x]¼òw÷LÛ�ƘSd6ç·5•’ÜQ™çz™FJJçíY$PSÛŸßO? 'Ñ’97)Sß\‚<Aÿ»¦*á1 UU¨¸§iÂxH%òâ=+Æîýßß0µV–Ö &*³ "¡ [6.ö'åè�âJ¼¥|ögú&xä"¶Æš“&¾|yç){ˆ4ï³£÷ÉÌFÊ3? ¡.Õ;$ÎhŠ 9‘á5Qá>
Nß�¦»€•Å_Ú¸"&0çX”ìu²}âôùT˜ÿµ1åƒÉ¿‡cl–~nÝ7üÉ}îYx�ƒÝù®;û”|´]rBd þ­£ÃcC�s›sý‘õ¶Ì> ¤W¬¯%ãsìò*taÓ¡Md*Jš^ ¼Z¾eF2«Zß Œ$GÛ1¶6Ñâ:üÓ’TuT§}›÷¤CýÂ,~<‰;|šœ[�¸c!.!\B½”ùfž<ŠeªŽ@�Ë8íï*¦4®é¯ ÁÅ“—[J^"ÐÂ&°6�…*Îß#ƒÉ·±—H?­+9pV5ñ~ûD4’LXdiBöàñÙE”Ú†U„QdÆ?¦QüPҔë>TÏZ»Í¾´Þgâ#,#}.W¼ ïó/~d@ l3¢iÆw³*Çk3µ¼Î]嵃;Dõl¼ ˆ÷)k7R(²V5œ$
©ø&ǾùÙÂ^!™�Ž@ï1£ë ‚VjŽÔŠÄ}–#f­ÏDhñG9a=˜{�¬1ÉĤ»6šV³qXGg¸yÖé%N]N†‚ú}ØyÔ|>áÕN¨ÆÈ£YÚ�_õ  R°2»ÃŒ8þv\oû7p(š  ËÃnDÎïÜVû¸ãº«y3�å èªKòpœ÷cÞLª‹Òté±{�U��p EgT‡%�"íÖ²ýuî¾C·BÒçÉ“,
Ú@˱MŠb0µ˜ñ!D„ÈÉ}Lµ¥òw%cQ’­£ò8!
‚wDóeblpvÀ Qãý1„Ê-¸³¼DÕúi›ã±à¹ìM¡«nº¬ÜÛDœ)É¡HÕß«‰½M–ƨv VYzÐâŸa†‘�T:òÞ)ÀzÝD½èO˜Ãë«<Šî§ˆHŒ³ ÂSÞ—Þ‡HÉ‘ú޵žÈ¶Ë¡£„ÞT2þ©­½*O*,Œÿï3ÏùÕ!'Þ㛇H/¥%ÿç½Õ)5‚o…p—³.¤õ:À»0/8 =±(ncÇ­ÇÆD²ÃBÀ­]UÊDí4«[Zœ´üG«øOÃ]WIŸ°òЉ°²ßÕ¥¡„ןõ^>üv¹�!J–»¸9`ü}çÇ`«)7ñP�–º¿­S@dÏå xÃÂìo’6ÏìH9©½“îbl ìXx)O7é‘Ï(©êÁ*r\\Aþ’¤è ÷šh칟¯–r@V"Z¼>1øçÍÕg7—CŽ÷%e×ÝMÈ#?Qì¥8/¡ŸðæÍ­§¢\ýcyl›Õ3 O(Ëú×_«_ÍiŽ÷¿¾ÐÅÕÇe!?tç‡Ó/=]ämtüw«NÏr<€8ìïzw´0»Cjë âløõó¡¡&3%é1Ó;lÖû~•N�R²*$0ðeD±Ý>UX“e
ÕûÓ¤ãŹ â– �Ôy– Šô;³¤Ís´Q”œHÉßíqXã‡@ËQöjQå¢9¥9xÑížß­u¨
C×.…õ¯[ª—ßãÇ÷(ŠwÙÅ
<@/rÇ2ÁNˆo–y£ŽrÊ9sÍ‹èa~ÎCò÷2‡¨æÔFå1â

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,18 @@
>ÕY‹}˜Þƒ ßL�QLâmìêqÎN*,mÒ¸ãð]hµÿqüO•-^Û/ì�£3n�†Ú§í‡-Cx«‰V–&’ø´ ÁE10-ê„ãÿÑ5mc8‰Tm]K^Íì–Y‹–”EüåÎaÛÿ¡
-S\š¯ ËaR >öˆ·UÅá‘Hƒ|"[ƒ\@d[Ùˆý¦ �¹HÜ\§�uùel…'9$`°"å$9�Ñ�aúb¤j-f>`°6ým}›[D&|ªK:Ç9<­#½�õ›²nä3bAëÑ£ßÙÊ{èðvËì ¢ˆÓ‘à¡äÿÛ0e¹<3 ä*X8B¡�EEDU_~ûñQHrÞ¾,vÕV>›ŽþL8Å£ˆã`“™µ›±ª7`q’.Q°¬sÑFþ¹‡j�ÁÓèM'–ìÿH™¸Z,Â:ᜢ„Âã@\ãÏÔ(q C”Û$W¯_£Jc|i¿ r^
ßN£]!¥0 ±´0²ÕW]™#ð© Õ^‰�à1(3͉í�ˆo‹„õöçMÞydߨ›5DÍŽnº ½v~Sù*½ÓJÃmŠÓ —ã¢pêÅ’Ôuô4�}gš}&ïul°cI:YçÄ12dHÐ[<õrU†Ö~IPÂA›‚WPǦ 8Ø3?Ý‹ ‘ë({ùV.äôþ8-{®Š�5”‡ÆÕÙaýÒC–À õ¹è~ŽÀ$B/ˆ`œ݈–õrZZ±Ó×¢Y­Áé­S—Ðø°;Œ‡/ã !çfVŽÚå3¢ÓBéבµRÝc�IŠiËD¸>“¥ Ð9y8A«D ?ü@Ý·è? ÔÝ¡b�ž’*�Ò^yÇ):‡6©Ò»ÎY@ïìœiöۆæGcNÞ¤WdŒ)‘nBõ¿Ã]é`�Òcˆ“E=¹Ú“l=ìºL¡fï舽¤ð±æMWc»\kXQ”|zŽÄB¦¬€$§«î)~ƒQÜ ¸Ç'íj»ö̹¤Ô ÷:T?æ¬Kñç‚`ô}õï6ëvi<h;Ù^‹ˆê¾Lcxã‚ÒÜT'¯u x¯U*KU‚ýãM-‰òòÒ*!±…ÿ¯jGSûZüqçNÊñû™•,Ô¸KJþ5�<9‡Ô…Ð7_!€&﨓Ë*{w‡=³™[ÕÏíj4pÛ<0@{À°ÝçƒWH;N!ÃOö¯� u~ì\6ky£
mÿ ›U¤L¬@Ä� Ù�Ð.ð
ž6ü°¬/Yh‚3Q¦¯¤'©¥Ð­*Öõ;G~+ÒáFÖè7¯�#Wàû5wzKVÎ/•ïp9Ó—3,j¯¡‘Ƙ"›³è‹]grÕ#1*Im”ݬ u)Y#²‚I°›‹ú c˜__5kŠj:êH±YÆò))|ƒ¾€n*ßêÿñØïB¥.ûÀˆÒWP &)Â<‡žg÷ zç†cXØýÎ)=2yMiŒCd‡Q�Ú®Ÿ–c§‰„FüóQ¡¥ü‡·“ß|vò5{�=È9Ôg/6…´ˆWAlzr&0Ô‘}Þ{ÿtžnâ.ƒÞå[{¿­Œk–~ ²$‚²ä½ú äD�ü«d�
˜t6¯Ó)˜à‰2bƒÝœÌR†š± ºš5œ,À ˆÜ›ã—~³pï¦DÙrD![Ÿ|‘:›1mO§MÅó€Óº3K�˜ÔË ÑÓúN�H®î~hë†sÀ¶ßÚLqº‘Qûp©Þ¡M¶úׄõ†Ï½XÐA¦çHš¤"ÎZ§€mUü I©ð¾¸>Izè#“)”½Âª7â0Õ}žn%d¨¸Áå*ñÊ{„‰aäÙuÝä•Ì|¥=xpþ*`±&ƒ<÷¸ê:‚Žf°2`ƒ÷„ÇÚ©Äxô,ÎÐa@¦à6møåòÊ )"Åñ俤jî”Ëyï"Æ™îñ\[«’Ôû¼tK8iS]•;R}Pƒx¯f•Ù†X•¾KÍÒ›LÁME€à‡µ4:ŒIJ *a{1g¶§þÏ0Ìÿ-í»ø¦³ÐŒËý<�—wä?Æu2õsz¶"¦^Õ̯«¥³Ê‰=ï•môxE¤�µSÑÞÞ×<iiŸ­|t-[j™b/Å ‡®H¾³0ˆøPÃPpômÈ @³CÑuƒM noŸøÈˆTcfÏ·"¶˜’5N÷oÍgÚ×ù©¡Îv8„åì`GúíƒS<q\¼´ÒÈuˆÕ¿3Ä2󆈸%ù}Î%Uî<ú¨ðpYéc­Ö¡¤>½m°°¸‘~ÅV·Z fÎw´_f¯ñŸ@éÊàpCO|߂ؒÛ{hæà”þ-i…ìÈs+]<û²w¸‚ŠïEl½A˜¼Ò­Ìg´§“x—‡ÃŽ6úLNÝíƒøìGßä . Ö"’u·êäòÕ,o� £a=·?ðd dy.Ђš3®Ôì‰OM—©¦L�@Ø`Zž… cÆFu¹N!¹+£óõ�y¿¸$¨->Þ2z„;Ö¨´N&ÈXrsF}ï ÞK ž×.hvÆöÓxü�6"HõÀÁ�n6Õ;�ä]±or*'WA)àF€ÝÁ`¤m˜òC†Å©QÝ ådÛþù[ºwúµÏjˆlÃédØôÞYBËf³Kì§dõ�l•Ô?ãÀ&î©G<h/#ÿ¨+sÁÆ»ºR�.p …FmÜš4X+Þ±çGí`1}ú´õ*¹-àpÜ";1Ÿ òTs hX‚jÊ«ì«\k¯|]9ׄRŽƒLÜÈÔN°ëŒš Úô䈄ôŠÓ1¾݆uȱF˜nµßé�°¿öÕS:‡™2h=jO®˜J<S}þ…‡š/¸6¾Ç€yš†ŸkÔsdåƒéÐ8¾”»‰Ì�æž» ã&\Í Öï8Û�ßÎ@�<�礂Ñ’T<Ì´”¾�“|Tþb0ÜzÛæ44º%‚îÆÞá½B«ó½[«æË H:³VE�V†õónÃÒž�¹<³Ú
FÈdñX1Ôn'òÝAÔÚàãU£w�`f‰˜T*voÇåö÷%]÷àÎ{ ÜcíPÅÄr:àÔbû.ò ×T£²P-@j�¶¹’ vlA‰¦¹Ô¹d IøhäÙÝ ”×èduçækìhÛ��JŒ!;Ž,ERG
Ub€¯ésò:té¨ÍÒo!TZ“�]ŒR`iúý … “løS|:j€EÄ2V»-ˆþ“ÊK´Ÿ->Ëvg›tQA%ãy.cµÀn¾õoD»¹òåtùì3tÑL&-�PpK¾,ô¶�5Ñ~I,POôIбºxÔsí/’![+\P1ãùÛôùâ õû9±®-/ r×3û]ƒk
íÓ'†ûVèªNvQyqj%¶ÒùE?HÙ»ÈDØ=^ç„HiŒåZ1{€Ž`ª>%bÖübŠe@í@ŒÜ
oia7’9‹–LžJþ�ø÷nÍ%v¶îjÚf[`‰Š W†ÅâÓ}þ x:òÂV²,c) dÛ¹ŒodÝ¿{`=r\!Ú,Ùš‘}�-;h悽LÂneø»áøuÕ£¡°UŒ–š÷¤PÎì5u1 eì)c…a¹æˆÄøG¡ÿÜ€åÇŠiòD§ùH¶9.«¢ô™½ÉšU™Plñ ZþMwM&jLÿ·¶OÉ· vžßi­(´¹N·ý<ñ*÷ ®j‹`ÿ,š•íx9øøauüÔ�<+ñĉNuMoD«Þ¹±+´ŒêíÅD‚ÅŠŒ
ÿ]džF:̧D[§eeUy�
ËWóBá"²¾È¥Ò O_€.…�¨ÁxVÿ6‰GnaÍ¡úbjämLÛæ^bÊêàOþ8¥:ËáÅN±zÕïÇëÑÿv§þAñ–>úÞ;iì_H„¦ŒQáæ–Ú›zÌ:𮑠.â´®çîaW®%ù4îîFå³ìÖÆ| xï/³<%zf$¿âDÞh´Ñºm ðÆBŠ~}mêÚnSÙhÚŸúK‘§{+P“’²éîyQî^Q9pÉZ�ÚdHãŽb}ò\þ‡ºOÀî&PT_QûÌC•ù$5»ñË�Ûü•
aõ'PÝÕè‹\¥ÐCK+Ÿ5Ð.ð†�ÕÿSŠf,¸ÈÀ½œ~Í ‡Ü¯hWk‘( y,nÊ 6Šl\.Wé†ñÌ+9©yƺuØ+žÂÕöÜ—àvv†€ŠôMƒ>?ÚM{€Çu\zª†sÍYï– 0œéqœ0dun ¦2êVÅ<˜‡Õ¬
À!Ês·–d«´q_áÂ8ÿÓReFM~fòá-ˆðû¸¶=ûýWꬡ%"øA›{Ÿr?ˆÿèÎ7~D£]$nk”f½ûñvzWÝFIÈŵmæ1§msÎEr™Ð0Íà0"Åšû—¤ ÞØƒo‹6á| ¿â{–‰1.›CŸÅGè„§°?¼¾6õ¾6@K·U�ð(º~ç­zªìBáÕ«ä4<Y¨I4=5ß*ÿà#uä|PÒ?"—;,m‘±ÓþK÷œÿB‡´s´c|‰%¾í2ò¶‹¹†Çµvõ+g½6å€bÊiÂ÷fO¾^ܪ9ž‹aËòŽ7“ãõX”¯ã©•OkßUÕ¾#_™–å1gS+ƒe§ŸŸP輞ˆØ�~NV½`�>|ŠkgX¹ïâŒPã¥Ø‹xÍ2'|bÔn Ç®¢ÃöHg‹Gl®ÄG‘hɉF˜ã�ðÊ¢G"’œ-Õ´u¥S…Š
ö ËÉ€b¹`çs¼úÛmBd� hZ÷Z˜k‹ñ£P€-g2­BGþÕ_`èé}^þÈW�W”K³ÄÞoÍíòÑÀ½DO$É0%
•ú~G†\ÄŸ&¬�ìŽ&V’ubŒ#ÒcÝ‘\h§ÌÖØMdØ- NÕÄñ6©k¾6Úrlx©&¡ùyáüô]úÍËz•LËJ˜râW–‹-Ï`d\uS²¤Ìæo¦Í^ÏÙ‡Þ-â/zbl-Ë)æ4+�³ãY}y"EW§ûi4’GñÄE[³�½WCªë0­Ìt\ü×$i$=×�ò€JêÒ
¾ÉÂ*Ù¯"uûPsæ—Gk HÌT4îËŽ.@€&F¹”†yÝÿ³è[/ˆ¬Øz˜˜.îz´eýòÚ dæS¶t:¬.)¼þçI±TC/‹ ·A…óxƒ×Ò0·°§~•
]€÷Õ¼¸.É¢±—µµ ãâÁ‚QaÙéOe*š>¿82!·-¿jU§h6Ð�J¯œ _ÂÃäuš.(7»<ôˆÚx«ÿZÀzŒžA �49’eŽ5tB±+Ú„¶¶bMs±žÎgsCPÆ8 Emš’ÄáQ°�Ç,ZšßøâŸ<Ü`­âV°õ ªÅ3èÛü£

View File

Binary file not shown.

View File

@@ -0,0 +1,16 @@
�Č?΢+V¸ üF^tT”2×Î>ĽŢ˝őöĐ%0đÎÔEb·ł-ń@Î&méüÎ%ůZçš4}YcŚóX�Q!‚ŕVö;?ŔĄč€˘"NĘń÷Ó€/Ľú`˙K¦ëďx†ô!Eľ…ÜDÂó›Ôá,]°0’¤¦!R°8TăÂA‡ &�Öf€Ü˛Ą x÷ÂO�˙çŤ'±|Źßím·ěĺÁ�
hf-PZ¨ia#˝P&ëź-ĽŠ%Ź8ěĘZ…pÔ�´h‰±iËŞ7‹ŞşÉ÷×í9ZBQŤ°§šJ@I„L’aH·”ŕłő˙vĽłő›Î^LĽŘőatyÉ«çś
„¶
dů�Ő»č\ônɢ�@„+Ëć|ÂLĚöVf=G[M­�RúCľvϦ±Ă)ÄÄ*j {cל+ĺ$aáŻ*mDžI•ËŽŚúI�)KwćF¨-¸˘îÇç-iç„4™őśBŃýŔÜĺ}ĐLKďˇČ3Ú©*b;Ű#�śńÂśáĐço'ĆŃ[l ݵoľŇ_ěęŘ­Öě¸oWcÇćg“î‹_DWş¬Ä3rß…ěÝ– ă0.qVxě+yáA±4’¤n[ę±±éÂ2×?PÉ86Óä¶EżiĎ Đóń:Áé…Ϧć÷“g•cěO»‡A–«Ę&†L˛â]Ő°۵ęćŮ~݉
´Ť|ŘůČľW×l‡f7SzpÉń=č5‚C�/·:ĘČś ”ť+Ú/G$ćńęĺ3Îťí¨¤ÎZ"čDDŹOç6źoîŽú|$fkş”Ţ�[Mz'�ÓŹ\ ÇÁ»b•!@{GKŔŢáŁ6ł‡v>‚Âlŕľ r_—%FĹKrĐó7ŃŞt÷neÂČńB˛•zňŮ�gĆÜ(e*˛Ht§kPěŠü‚›Ą¦Ń%Ů�‰âŰáeYč�ó� Kůęöc%~żDŹ/<'üŐ@/ ż8WÁţڄÕľQ�łé÷ÉÖ?óĺ±±I(Ż%ť–Ŕů_Řpf*,ňAő„]«©÷š/�xxrXJ1©Ľ‡ó•@\Ĺw/qΨÇ� Ú­ý`ŰŤx2®čúŞ«‡$T“çO‹,°Ih†¤©5q…‡üLťä‚”ףË5Ô”,MAsC)˘‚°ľĽđKp¬ŇcŕđFáNŹ{«yd®kĎ÷;P«ýÚ'IÎL‘¤ěŞ)”XĄ×‚jć�ĺm §.+ĺŽKĎEBҬ#÷Żw•@§\
q@•JĽ¶ţ“—i!ÜzÎSSH¤Ż—q]Â,ÓqR2‘ač`nÜć�";Ëď†RĄş~–”Č�jöL¬łT摇Ú{¸˙wE·¦÷`işňŢßqLđ¬bEاЩËąĘ!ŻŃM g ŮäF a•ß~zË2u)˙·„`Ĺ—†ąŘ{=°;oOô�ý�_8éo‚żG]řîw`T_(*AoSÍ-
"cx{+Ľô˝BÚvě$űnď8ÎR—·púşľáÝÍëşŕČŠWf¨ÖCźŽřłĐŤ{´'Yś{u>Us‚©ĺĆĽ¨“ŔüČŻŞ�,­Ü&uU?ao-gŐž0U­B¨´oX>cë‰Ó­™>.ÝB2˝ H{Ol!G9»Aö!¤ŃTpUSłâm„-_ůŤ’—Iě%kOŰZCčĄ]ɸ,*ůą|îî6z`«Ő|<ᑍű6FłéÚ9…J—ŕŇMÜ'Zd(˘ČGť Ë#Ŕ<đélUŰ�t{şAĘđž_F˝äÚ{nÝł¤ázËĽ^šúČhFĂ)ĘxéDő(ýr*°6ĚUÍ÷®®RĐ2^ĽhR'™j±TŘq'ýns MŰ-HëŁq‚;‚¦ľžŠWŕ2•€<ŁPĄ‰Ję‰8ú‚™59;'Ĺ)k[«+ĘÚlÂŢ� ş.¬N‘¦ Ö¸™0G6“…ťpř-Wv÷†l|Uvď1ĂĐ“żŃşOF‡'í‹Ţ–D©Oýb™he™ä?Ź�yĎäŢ`2»»´^N9$\Ȭd'Ĺžh|PÉÁOĺ ¸ęÓeŢDJż¸pié÷$�n�|÷ś1 úXą‚� â?H>şÚ$¸ľN�ű$«Cx‰{öűí {çă2Üę™ëą_HOÂ6IJ"|’ŔЬŁçĎöľą­ĚײËř¤ëĎ©bĐݶJ ŘjiŃ?¶C0±×Äúů–�ë"5\»bE#*ĘqĚó­U­öŇs×´ÇTbQ°Br`s} 7ĆmŠ˙«Ťď‡Ĺ—)ŮP˘@?¬zń‰!7%ař^:á„˙€…dr­OÂňk{6Gśeě@\Ť� şQ‚{?u¨¨“Ś—�a;đbz[,f-GŃŮMĆ™�âH° (�j`9id g“ú<’ŕBÔÉ‹€�¦[jë§1z uö¶v˙›ÂéŁřÇë!L;ä–jjIÁ'Ó±űBcŮo®äiT8/ęŢ Ą‘ŚüNš%ykqeűÄžż™2´ÉŁ@ćÔn®XVÓ%/‘"Ť�şeU
ä“˝�¶1ÁĚ&yąź�ĹăZ˛ŞĐłńĐŰcřŘ <3Íúä‘Âĺmíy`ŐŢĺ�˛ŘľŠ�pcí?4›Çý! v*?ľ.�gWüž[ĹŹ­öß§©&QŞâZ9rÄKŮAĎ>ôá%}@I0U†«Őg[ꇓöó R¬öPÖ5¨lf5Żi#]aµld¤ąşI„Ď ˘‹%n,Âö ]éˇ˙-ôš:…uhR[ŮŢ�¶N�i(Ü~QÚHżXp”Č@rÉń· fxÉ„�öSwH?A´]4óĄ9câŇź(iĆÁ–ŘmĘTŔÁ®U˨%Ł!
cŹčk�ďĺÁ5ľLĎI&…Ú+> p56¨çĽQA˛ŃAzQ8Ëň|Ă›Jč�oŁ$eiŚş»*T„©_AéŘT…\ěÖ—ďv«Hţh?×5Se5˝ö¤G~ _TüÜ.am`Ŕ!ńSsÉ-†úRefę–gxwćáődĽ {5aŇJ˝ śÉY8×z:D×�(˝©ü«·nxI™Á,°Z™ĐWŞ�ÂŢt¬üE%¶^#ź§ęj6łĺ”¦QÝj� ~S“ Ź>§ĹőĘ~űŚsA‹€“×ĘŤd<TňsÔdśó[źÓłoy?Y7'îĺ_̲m9oî­&[·W¨tMUŕŘ>űfjśCú!y‰¶a�´eęÓ’*G›>őH#\ڶóO9í?*ďżoóEą÷ě•UYVxb”ąĚe šŔřçĚîëbćÓŃ3»`ÂpUBU·›­ŃŁ‹AšąęYĹ…ůÔ+[‚vŘ"Şí>=Îz‚ÖËB4„‹ůDÍw‘€}(?ÁđŃQťWe[3Z\ĐJu¸,téáz…€¬ŞŃÓt“ÓĄô˝§¬‹uŮ$]EËŕÇh‹Ě^Šx 1µ˙sĎĹfV�Š˙nŻ,'‚Ěĺ¤ćŰĆ!őîř�Ôµž®% ‰5]K‰˝ě&„·i_kf›] ŢCĆźŕóÓ>LÝPX8Ră%ç…űjž×K@ĺÍąA“".˛bŚ�łŻŮţí}†oźĂt €| —í°xóÄD‰…j“IhU .ޏú˘ĐÍ•Q0myá· ëßŇ�Đ7đ[;=ąQŞĐč›Ň�FIÜsť„\`6QőĄ˛ż'ąŰëN™1Řk ă.T>ęϓ TłhŰz‚ßy„p"·6�xás"źćr2 ÇĆŰ”ÔZĘě39şzIŇ}HÎQ‹DU˙s2˛]W9ŽKŞRs¸Q^š6ăÍŹ–FHZEc®"FŐ(ŢZßĎo÷¦łď×LŤŇ¨ÄĆfpđŻt�ň/…){*�ťMjóQąźÝ6šçź,!żzĂ‹soyĆ‘�«Cf@q®gÁż¬łµ š�ĚĄ2ă ýĆ˙łÖH§
\Łżë‚Y Q8ÖsmQl2S˛×�Ź<AŁEř˙ žĂ*[!ŮeÜKV­‚“JĄŤ;-2·Ž9×1«~Ľ°ki�ʏz3™”NçM†+ ¬[?3?Śî y„1ńZÉ,â˝�Ű?ڎ—EÁ–üRC€물üűČŕh4d•ćŠx˙K�„š‹î|!´Ü3s�b�öíˇxý˘­—®|Ď«QNÚ˙sŮŁŔ˘qÁ­|ô–RjĂMuU|
8”u:˘_/m—Ť�MĽŘw�šI3†mJ”Ě'kt‡ÎLBŻOř/_¸d'f]łj+o.C¶&Ů™N�ýJ%ţŁ÷Ŕ@“´đ#věQń#F8Î?¸ĘTłt‹Z"hą»gůGI&ë°ułPS¦¨
 Čîµ€ŹŽ—¬�¶îmÔŮÚđŻÁ!@­ ĂŢH]›˙Áď ®ž$Žś…w ॰•‘‹iC~ʧ€WôĄ¨ÚÎ?MĐ”„TĽ »éÂáYý#Ř~˙1íVoWF˘hCŐF€ÜOůN] QC©¤›äę;O±©ä‚Oż{"b�Wş·$đP“8,Ś#ú%Éą‹Wů«\7ě <PţkŐŮQ°ĎL[�Í
tŽh`ł=jŹŠ™{ó÷>Ú°82ŚŻ�ť`€‘D)ŹI�Řš¦–Ë[3YP­Fçr~q,—3Á}T„ýPBĚ…Zq�đĹëLî�-ČWřh~µ\Ýg]ş�« gÝřbÖáWďňö§ilĂîŁJ¸?Ó”ß
ÄyŰőŐżů i;qB.�(lŔaŐyv4ŽđŠĹ}™çI®# _U4›ĘźŚ�ÇF
@Ł…n±fĹ`•:Ü~bă±t±Ňěą1¶ ąĐ?ÔNo}˙0ëÔ 0˛ŢIĺQńĺ•M&z`ť…2P—Éő"ů „WŃMd’ĚUŘ�ý8? ™iĺ
ݱ n�÷<V6éh.Óz¨ö¨ß+×óĹ\đÍ\].ťş›Tu‹?ř#ˇĺ6ś�ÍwůşD ¤1‘ł$‰FĄ}áL‹ü¸×Ö‡·÷nę¬T0`§¶ˇI•W«r¤'�Ol�ÉuÜ;ŰâçńăÚjI!ŃŽ�(‡}«oŮ˝ţ'ô~nbĘ.‹oîşięM 1—’3+WµÇŽý|•$Ă+–R'ŕŹţŔßEŞşÓcěMůUí#/Ł!ŠăÓ6LÚ">ZCłµµg•RJ×´Ę��kú«M�ĂŇN—…§5JŚş¨·˝[„xAps®.śeěÂH�Hü[ÝEĐ? F|7!Ş#<0M·oÇČlcČtŁAW˘uÎŕćđŐvć5 ¨R”óť§ď9Ł!޲źL$,>bk —wŞJśÉĹX]^ťó˝hIţ#¦ň€hT‘´®ĽźĹÚ,ËĽ{ţěS›N]ôCâő ë%)ŁlŔľÖüZăŤPú.Ł7ŹnĎfr7<Ş ‹‰»đ0�c*¸‰}d˘›Alő,—LAněłĎ)WÄťJĆWÓ `g˛D%jšú

View File

Binary file not shown.

View File

@@ -0,0 +1,23 @@
#Êiäob³û·øTTn‰”ê$QDÚ�y|I~ïç<$.è‘ÎÝ2d`M1~gU$Ø‹KFgÈ÷œH¶z»@Ö´c´ZSpaÀŸ–mæsV :ã½…~ä~z\!ýÀðü.­¤âk';ø@BgåþÀß§"/zäŒ×Ü9ñ#J�ðå - £b¶rr㢠XÊCƒÇJLž¿ñÂ{ô¬ƒ¦³Dœ‘¥íú"BT‡ÚåIGúÏä�øÛþW_ ôAͱ äSÕp4AǺfúÀW}{WÒ.>™Ä_Mâ“A{ÀÞ†…f×]æFɶì‘™M“ ²p´L §H'-Fè”Aß5ÏÞ/ ‡^sAm¿�·cÿ5g˜t.ä¡p³úB�†,äJ
íC)¤ÚÖr~>F»>’Ãéÿ \éûõ·ì}Ð@1*4�ÿ( V¬ßp*ºõúh<–^(Ï[´)AU¼†�Ä©\žíCaÄøç0T‚È“ RÙoîéWˆ‚Ü#óñòRMÀûõ6¿ÜSU€ÓÓ�$Ã. hsÍ1~•À‘ž0¾²ÞvKpÿ‚Ì•”ÿÑ�xÓOâÂÞ7EÄMJ?&/dLPí;Ã4ÐK‰,bä~W H”¸G˜¶ùá®[ˈuÁ(õūӂ:퇞Ë5—Dh[Œ]©J¡ù•Ð!Úa†µÙóã��@³T*Ù˜ [Þ«S*ªÖ˜Þô"É–AŠ÷áE>tÅz&©¦+Òs­?øj‰þýh"þé”ló¥¿�”~[±Z­?‹ê°XŽ jÃ0E@êÎj†®Ù¥³ãZñ+IÉí~\Ú•¨ÝYʦ±·ø¬E·×-tê±oÑJ8yÎæØ…“sÎGÉE3dä?™m¨ãa�+w^ª£5I™8úêÂÇQuiªÃM{oŽR³8!R«ëäÔØy}ØíMe¨$Ášü©Ø¾8ÉMÙ–%-£{ðþþå¾læ6·||rÿÂÔ˜Úˆl�Ü1
ŸoBQ­Ž•v=Û0¶c©ñ%Â:”áÂS¶¥Ü_hki/m¥l‹}C–«DMŸÆŽÚ'jë}ïXM�¿zpuLþ…eò¯]ý4u�
¦%~´4ǪX'*ôÚ2fh¢†�®üv†ƒyÁþgóÄÚFI5gü¦*O=çŒýkçÒ 7#AHø-mMy^ôK‹¯-€sé°StA ðª"¼o¹í ¹ˆ˜ÁLë½}&²ÊûÍì5Ãð¯jQ‘ƒÜ"¥)ÌÓN0¿œ:]GH×cŽTLU·[©ä@ %Ãæc×9Ì)ï¢�/j4ŠÕ~üûai»{
¬¥DØ&móOÓï“÷ahƒ¡~ZX1o0½ Ë|@5¥\ƒ/QI"FY\JíTí]Ù‹¯úÏb29?Ñ=Št9Lo­#Í 6™ÏšëîëXè ð ømÀÉD¨/”Á{¢h·ù"BÆ1 KÜ~¢�S›êeQOxF=†R÷1‚kŒ{cM­ðÆ®XÈý'Õ1lðÑj<hÊý]ò~¯5£}™bÈS&àú
xF6ôVÔ0}Yœ. åûƒ×øòÇõl*ó#^Ðqm²ŠG›â“c��›?îˆÚ®y·âÚ�.ÒGŽváôÉ_$zÒjÆ‹ÜvBs@ôfdª„Ÿæ�_þ¿=… w¼æ¤¯Ý¥îÜ'džPCRÿç”Z½|->^Ÿð ­WMGÞ�…,Ìx>W‚ Úžõtsj^ÍyQõÒ(í©g½ˆ�8¡ìÝe6¦%7F›Å�zvÀK/°KÉ™HÅ} ˆýx׋¸8M ™¼Ú‰ƒ<�?½$‚ �â'ÓºG;ÊÞo2ô¸$n· •Ený*…M ¦>
Ã? S|%ùt‡$Â}-ãtËi,PwÍV ^47CÍEåøe(‰AÅ“ï¶�—Ë2Ÿj‰ê…ƒò¨•º¾•qÆŒxÐK�®�þ³eíÅ‹ïKÚK0WQ†4õ;]ÉÌÐM[¬J˜Ö«õÝø½5ãŸÆKTE�Ñ~Ý}°�Sì~Ë÷¥•zí‡V4·ëòtn¹}wer°@ÈÂ[GˆˆCÙ=áÑ0{áSÚÊ^“•*î@þu¼*oK]©X)_fCпyµ{M—qî‘8RA^-|­ %öCçý)nMïÆ:
-hŒ¦h†¯Ãçi‘ƒ¾�wÝ%€<ÝÃ:ûƒO²ñíîûηÆx½©ßMz¹�>+qÌ¥eí¼'©j~�›ö¿èbq ­ï¶V–Ÿ›IL¤áO?ˆ¤÷ëM¿ï˜jÃ3nYAÐý®ˆ|á §Ž’µœ££Ð†¹
iG&»Ç8ìW- ø¥ )‹Cä~[Ê�…‰Ñ´‘Z× Ý÷ˆwJr9Ò!ç<V/Á?wϽ‘
OŒ¨èÍYÌÿOŸqë™ÄpB,°÷ú vÂ^Æ+›Ç <XLð6‰æÛ“eiPÞ¯Ëj«¦�]•˜„UÒÀ² �ÒZëõÚº3]Äyö_Ûõ�SÆäHÿò }®všX÷C´_–SVç—®zøìÒ˜Ë^º”*¿¦øj,±½e³Î^¾2jHžýÏ[ôçÞôŸí$E�‘ë¥?v§ó0ZàJíÀr$ÓœÖO:AlÛgÎ`‹Ï±Î-:eëhã´‚ÈEa {þb?zá_QøtGö•™®aÏŠŽ '~+º£åíØkŒä¹-ëI|¡²»L רcÁ”Cß½]yñ§!ÚÜZ@4_ÆÝ÷ö„ã³Ëzc‹|·°¬ ï矙€ Þ*¬F5b£mºùâÖ/–ûøéBdHvße) ÔŽW�‰ÇzÊš™—$}ßir/Ôçä¦.ëSݸ<Êù¬†Ààd¬×iÀþü� j¾\.“*øjÙϘauzÞ†wO ÷ìQÈÜU~Žˆ~2 B²ÚPÝ1VH,;»! ?ÙÈ•?[7çz±Dꫳ,K>šB;¦å7f!X³†­'î¡3@ùyÒ¥0—½Ô€Õ÷£¦>b ìf^”ü­êÜÎlˆQ1 t¸Q‘œ[±¾BÒNÛ®Tò�dl’iëT¹üÌn68½ëX°³È 
›>qÆá�®’ÝÒ®Ú·çn4ÁÓP¢ý˜ñ6žýîí_+¼HÞ!ÛIšó¥ü¸÷ûÆÌxäjFQ¶ê`Áuæš[µçV ߪ"ü5 ó±Ëð#1{f¶‹§Qì²Ï{ñâ³TÅþ« quÉo§mâ˜ÝdIºh"šY•Úo Û€÷/™Ô–Âd£�b(¢×VŒóÕtWšîD#Õ€->xü¹×›[Ãk¬Ä ÐiðQž\=¾3ˆ, ª#ö€Äµ Üî~S®ÊæÀ÷’«á7Äú»Qù&Jº5Hà¿é2ÕÓÞr¶ß8Âpm³0Ÿyû·;âW¿
1ޏ¾ÓF¡¥½níÀߨ:iŠ:Yi|y2¶Öµ8…—^µèœ³eµg×
îxB>¹3j$M.ý ¡ò`èíˆ�BžnÕŶøq„È}¢±¥ W¡ %Ù_TÛ§°jBåÇCN£”Ö…/àpÍÓO@Weµw´ŸÚ¦B@
†µ Ùpí›Å^‚s 8¥#ت¦O¦³þ'—ƒ°6uÞˆÉ PDE/ÇL�XÉ�âQ*nÙÉÚ´À!,LÖÔ‚–MÜ Ý˾罦~·†4Æ�¶ð0±o û´iàF$«4Œž5XòÞJËJ×.¥0XhÛÎCÿ¬È ±2 °;Ç®Q»YË8vµkEÿ[SDñ�Ê*:á^¶ò"Î#%ˆ‡ ¿®¯ £ëa÷ï½Á<(gõt�¦ïToÕÿƒ¶s$)FÚ±}&Ú �À®¡8¯ùþ¯Yjµ^9¬—P¤
P{‘7—¯Î}l
ל!t³VöwA2׆üè•Ó
µF|+ö2ø k§·Ý©xÅ8<øA†Â®¸`Ž{:Œ¬tÊàò2YÅ+R¸
wwü+K’Ò*mWNjC2§æ*ç¦?=LÁAJ¨Á�éF*ËGK��õ‚Z¢…“,–q`(˜\ª»ÉbO­>O*bk1÷Þ`ñÇ=…Ê¥ ýI½Ô‚Pß_$l>§4¬¬(g%o©#T)e:G4µŸBÍ>W¾wÊ’#.U¯_ZȉªŸO礩Ucê|€Ïóã‘°]¿í”;¥‘iö” ÈÉ ÔAš›,rzð3 Ú”NÅŽÔáE{||ÕßC8ËrجäØy‹Ù~¿ðÕøÝ†‡:±[�$ âvìõžÿ{²°qfül€ìEjñŠãoôz×¾†Ç,ðöý¦}¸ÉЧ‡ÊÿÀ¡Æ†¹oÊJâ?ðwÀCx¯±oM˜7âÐd�—Ô’˜Æ8HW.âµþï+B T$yÞÊ"‚²Tý¾‡ ÙÓX¬�çÊâ¶ ¬ë~XÏc“B@ÛäAS“Å,Ä
k½ÙÃøBºRÅ€C*vNe°Œ2õO °ÑŠ�=áæÚK›ÁzžÜ§)¢[­I#Èl¥òþý[™B’(lÌ¥qÑÝûŽ-`g'¾‰jˆ>IÖ%…²øpƒO
gV?8¼y?Õ3!…j�œOUÎöüŠìˆØó™LÄ囹=‰7b*’Ù&ßûÓÏ"÷Œ&um“þy.p÷Šð½)HIv˜�dÒEŠ!X³ºz `BÉ“�È9z^qË29—’Q\qtêÄu Ë
à7Þé<´ýê9Ù�÷ûšpÓ¡¯T 0ûƒ¤» %Éâfy»ÙÐ:Ûx�*£è~'ÿA†Ë bWõÿk¹c,�KÕm•õJÔ’7]mõ ¯klFï/8=-í*–õ-¯Q³^â›0ŸçùÓñ9â YZB”™¦v�å°^"¾.ée6ö;ïò‘Ð×i)�}¦À=õ/£3Âôc°Lhð× ”}Ç^¥Jþ€*)ìý´CŽMtödO©«Ï�½¿Èzíb†�_}V=•p™Â€wôû×>|m —è+ñ6:ÈA:{¼|Ç�I@_ÄŒª´x�ò•�9š&[¼0›e¼!94‰<ï7/¤?�ÒÀ]´7¤†Çk*Ñ<C§ø?¤SV·x‡q‰š²¼ŒFÉ §9óè_·Ò/w˜õ›kÿrjÝ–¡öù *ÿ“°‡bXXÝÞñÈÍÏ{s6.¿ø�ØÕ�ÙÄY9Á3•lÔ�Ø=ÐN¦ˆ%‘¶
Ëì= ÷ðX�¦–V7ᱩ<Zë³ý ®Ñyç#ƒ¯'“où±")ŸÝïkÉl’!JY
‘øìDRîì¿ì7g¼wÜFøÃÀÏãÓÍdå5pŒÂ]֬ʎ4XÆÄ~Ïo‹Ïå0‚7®6«ëµÝÚH¶œ�RÍ-éCR�úDËL™}IP‰øh7Ý—¢«»µyMJmtü¡}Yåö¤pÖÑ

View File

Binary file not shown.

View File

@@ -0,0 +1,18 @@
wÚ ß\úɨ¥¾i7¿EDÆxÑ ZúêVwëy0Hk‰î#",Ù÷æè0Kñq–eà5ÈÖ2‘Äø¬Ú
€f@lžì…·G­F#ØliSïÛÌÐJ¾ŸCà[cØânðzÊ‚®ó5ehö–ø´¯ ô¯&3ôöU&…+$:éË5½6—Lxcm¥‘Þrg]èÄy[uè2t�Êe³I‘âj×�$ :_cF•ƒ ×f÷Ò6î�ñi‹+‚‰b:9}*–\v<��
¥’Öë;•¯ùNÑ�šß!ã7‰Oד*þêÈ9…¹��˜å[" ,m 6H$‹z—2ËE7<ö°Á)8?j�ø.ÔäºÞðkgTfŸ†7úVà„HWC’m¦æ1b 7¨šàŸÍ\—ˆ �Þ.hñ˜óØc+ˆ3ø*+,Ú‡Äã‹ÞïP“\¾÷ݬl³’P&ÿبI#ps|*íwà¾ýnd|Y ÌÔ°G׺³¾î0¶Ê8=mÐNc!ŽéÑJW¼ôd§biTãFÖŪäÐx×Ð֜Ҹ%‰ßcÛ9úŠ×W}Q>šs†D£36,q&—˜u®j9$’ ÓiK®]J �²Éâ\ójñ>×$ÃúK17ωš#yiÖ¾Eñs{JÌç}çŒdPc*†—½2Š� tò©éñàÇ¢b7mÒ¤r‘W�'šZYq¢·Uª¾IÂvÆoúVŽbË•&@Y{N+xA¶ÉÈ1|(ƒI>ü�ÑVC;…áwŒäã]–<†k6ù¸sâuóýfUóma=æS½'‘ôýL<h0ÖLÈSœüu
4lü3Dk›=§þ­�¦¶ºÈ›ßªàÆ«9™`«_ô‹ézYüO¼Æ°«º©aîç>òq]Ý^bä›ç¥àI\8)ˆP?—í8Fß½2V‘Ž#\ý5qŸ&øzÄÌèýíÒñSÁW ´ÄIC¹æ\Ž‘�Ayv”2 w{d‹¾¡^?S÷ÒÊ“F’lïvPãˆ}†”î‚oïÁÒwK³‚ç�DÿîÚ£A¿–,Jiö¡˜,ò,0-•.¥H-„®L@Τ¡–0S)¿™ óW·§Ãk”áë ;]Ny‘4ÙkøT#ôoùÑK¾äG/—Ñ©a|œ «uUÖØµ�ò5\>×ýª˜9é @ÝpÒ+ºäºÈ):çæ5
S-ªš)Wc[(Ü Å!÷̰ÿ^qƒß"C†:U¨·Ô±’$ƒ±w„
�þ“Ú†í½÷Ä"d™e(÷]põâìÙš«WËZZg¤Þ—7ÛKy9[ w@R€6pj‘*˜¬‡x‘â�ìNÒQCºÓ žö OêC&6Ó‹A—W���+ÚÓ½´E¶<ÁíîÔç<¼dÊÎÞêYjй0k–âQl³óüKVh5 �¾<¯ô¢­¾ÕøiÔ£2ÇgÕB¢ PN ËÇƒŠ£ NæÜmߣÅhÃQCApt°nF—µ¹É‚a¦ƒ½Yë½bŃ g6#^Gª¿!$æèMjé«!&N
ò^ZVÖøhaôÀ[y W®šåz…¥3®†¬läˆ2XÑ4�r›…«jØT™O\"¶W~çÏh{ŠFô ¡ûÞ}‘½ûíIGcÛp9ÇìØ£*è×ô ´ý'rZˆ¢oR»ûcÕÜÚvÎl»Î\Z ï<¹'Ž �´ër3ÉKI�®k š¨ÖO¹‘± •4VöαéæPÄt©"“`?Nç''¬˜ zC?
µ€ƒÊÔÀ‰³� ôG�–š³€}ŠŽ'ª>ßhrž6±YT è¶©vʘìZ÷»}Þökûôd6n‘%·'-¦–}+ҵ˒TKƒá;4ݱ)ÕÉ|TÀ…z˜J·m¹Gdo•g2@P\!h‘—ÿ€ %ˆÿšeqO} y ôm
¢”:¬M<Ç"KnúÌø™F!E”¿„¿°[ôßøªrºìAÔ'KSyY v›â²Y ˜"î3I{\™R’Á🎦©0§c="ešé&rᔆñÝšòEH°Û„¤½QUdm.‚VÁ5z�] o‡b¾”3žñ¹F,ÁÈTWœš¦7à[†Å#þÎŒ±çb37¤U^Øt¸;ò]ª›gxb�–)Ç'>ð�ÒýÙK¿ÂÓÔ6ZφÞKÏ[æŽH†­á ?´Å„YþÜú¨2ñ �ðÝ{¶ ü›m¥¯3#v&x„²ÿH«,µkIó–¹*b¹UÁß¡¸rK
.bµ¯³ïbU¶k—�o¦™id�7C= øÝåƒCQÉçã ¿¾'fýmæM7uΩˆ
G›ºá:#‚ŸÓ^}µðtKÇ»¥¯Ôï5`IåûWJf¾‰äœx‹ˆÂúm¦'¡7ÐM‹¤á«g"îî2%’ Ÿlë]ü!Õ°­´ŒsäižÅM*[åþç³RÝÊÕ,2
ùf$*˜£ShHü‚”—c¿$õ
z§å¿+ž-Ÿ.^6EFuÃÇkïC�ŒúÏDE`°ç yBý½
#â£,{ØdŒ][8Ç™Fø~u;ßÍ�öÙ“ª¼š6”sðÉz¤\øPZÀ£?«Ô†07Uí4Qö|öbò¸Ôw�,N»¶œZ¿ô»Þ8\=)zzUà“Îl}s°ôÞ^pè�¦x[×l¾ÍtH(~·K¼7Ùz÷³ê'´¥D¤¥g€ .Žu¡ñ7ô&•Ù±;Ó]=)Wªê7_¢Œ5¶¾Õ\�V6&LF�'ÊÃ+!é#­cù0‹±SˆÜê|X`éáM†û/Sôh’lÕuêâ­ÇÈÊå_â?ØÒXcI<“´ÏÏ蹦ÅÇÔš­ññr›åŸ'X2Y¯ŠgƒÌü|É=`¨l­#$g&÷U2“kYG¬,J¸]!m<Ž6­håä4„ºïóó([/HˆO&Ë JÚƒ†V%2àWHVm€ˆ+-1XK€°˜ˆ>ZÈÕ:ðŠê·û¥£;'oýŒíRZvÒŸµDE‰þAÕ$ÀÈ$QÆuôŒ^>Ô^tQôÆpp};l�û¿à%�´O5iÒ4‘8(—! fLÅ�+ŠªÊúœMg¢lîÞCBAܽ·Ø©ÈöIˆ¼¨ØŸ¡ù'J�[�(ô®Ö#AÁôE\wë=Í×W1¶Í?§yp»`]4�T¥Cð¿éI§¬AUÚ§àGIžoÕî‹ðiQƒÿÿN¥ñžÛ4e´åô”Õ÷Zd a5SB!¬íï·ÒmM WÁ9ïBú!�½¢Oö™ ²}Ž|ecîá'åì�»gÖ°¾ã¤%ìÁsw÷ÍÓ‹fYñåZû93¿c®{¸¸ò
–^Â;bïªYÀÌôé!(nŸë* ׫&.¡TI1§†Z+ñŒµ8*E+ô%óm¨6¹h:vÕí75×›IÑRmÙ7úþ×:©Ý@_ïžCþÑדšp¤/•`mf ÂcS„ûÿÖW Ž.@êJcÖÆë ‰\ç{^Ñ„?m «‡ë’„š0s¥šîQQçÙkbN©ºÐÒ2^föqþýiõHÌØ@È¡ïͳ%‡Á8Ù\¯·ú•8Eðûex€ð™ •á�Üß=U†’ÿeãœù#QX°¬�œ`–WÉ—¢;qѶ¾Å/•…{4�üx4S»tâî’{;FZÛYÏoí†_1À´íÌ=Êä¯z�uîþÏÚºö&ãè`Åò®}m¤Wúý¼f°¯ô'œÌpçñ‚¿µ,ùáÍp94>xµ»Š§ùÜ@* ge×+0Ó†�T)Àÿ–®•,ü´�óD·¾gH_‰þ „+Ý©ß9aí;pŒ3·r2Û—söÆL¶eá4¡¬ïp]Åtÿø»F4 ùÏCŒ=ºZD‰.L³/Jñ"œÀÞÇ Ö·�R±£�Ê5�91¦Ñzä/¨lmžÛÝWŸð6ž=ük¹cU_…D¡º#ôÄF¦}§vó}´¯sw†c\ŶL[IªÝÛ àžî -iÔ¹‹{ÏèÊ”—= ‰xgÀÌy ê.KiÂ,EóèìäEzîí·¾´ƒ|F:˜7²H›„ÿŸ s2|6\çu6f¬.bR`W/]æ�„c»ì”E6vÂ7=ÅîvRRˇì£ë‰<㯢êƒê›im˜põ%øìë½ÃFá-ö4˜´Øä¡*ôW ™ªŒcfÖY†ºY.G¼6žå^~€ý*¢Âq7iZ¸A ¿ZØÅ}â͵MCÝà䜋Çßj×m­?>pnõF­L¸=š2zï |‚z)¦øFÅñ÷oôð¬tYi‰íê÷á&¢—DŽaÓý§ØÍ™±Úç>÷?kw»ƒUhÜÄJë£rÞ™mtYOJ>ß?¼þ`¸ƒ›_z ÄÚ,‡«ÕòÀ/ŸBm=Èà ¢ãËç³Et„"þàsÌMøWhr2ýªÿ:z1²oå0Æ
WzˆÁ$E· ‹oBüz«œIF ‡‰Y²ŒçÁ³´¼ºå}½£bú<Ð¥êäèˆÊ©ãB1�f½5äÛL;¯k×"åó¦ÉôV±�¥cªMõ>û˜…Ü«l)F¸[Óœ Ó´;8¦š‚Ó( ÍÓ;j‘Tò”|áHÄrûw­(-%2ȉIeRPþK8Æ„÷‘¿àĨ(˜T¦¸‡ g/h ¯‘/qeæ}ÃF!Ç¥ÞÑó‹"£qTEDîæ 'ÁÇD“(ìÆ ûFª#c;Õ=q¡;'šL�å�é†�ðMµD¿í“¯Ýä´ Q�{ç)_û}T:Æü<,2IHÅr"üorvž¢EŠÓ©³IŸ—Î ËfóÊëL 5D¡J3…mÔš°>5“þ"ù.‘ŠQëz£Úl½¤·O{ëŽèÒ$N¹³y&�ˆ©0¤ù£;ØvÕSfž¦¶0üÕ<¼“A’â÷Â݆©¹îÈÕ$Žæò™ àb{˜U{¹ƒü’M„-…’@™H^´ïû¥‰EŠ\ç0sÆš™nÜ2ÐÖ§ZÈgv÷KiÌ ¦ÒEOÕБþ—Å=ƒI0Û5³v¥Œ·ö;–d ^U‘Ó=пuOÈ[Ÿß}gSßnJóÒÄbxY‡¸c·goé¨ë;�ˆ– I>&0Ãî¿“Gbs¬�GÏE;�üµŽîæÉ(æAo¯6&\mo¤œÈ£ÄM´ìt]Ÿ�<�iÑ(vÇ„
þpÓDìXKüRœÈMèBÍ×4-®�{¿¾rVß`?¥.¹%2M˜8Æ
÷™4™Á=$ÊÄÊ4ó3‹ï]ì4g¼0~=ÆÔ½c&æ$˜

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,18 @@
l´r¡´£F§uïk˜ö?‘Qeï3—#HíÏi/a_�ZÔ/¹7ü
«ke›�Û=烶 ´KgØr`•¤ªb=P'tµác�5op¸N›üØ ¿”óå4ý>ˆQ™�À�áÕ6ˆ€&§Èº,ÎÌv„· Èã bCÛßçˆ{èÛžÄAû&{“ÅÕö± Ÿ�×À¡ÒO«Oö\GN§"‹—"ê9@âqŽuw÷ Vš†_�¬tßašTâ4úÃI�…(u‘é%[€‡i’íl9`¶5@±#ÝwI÷¿ÀÔ–¨Vd••Éÿ>¸!Y$}¬¯gýd£ÜÎ5Ç �U¤ÀïÅA'«X1@À·á ú8ª�ùw±wf¸m>`÷îEóH©4½j`8fκQyEF‰qÙPå™›Ø{ц.Cˆ«“Ãï,<Ø¢ **Uv…ÁÂE/_s×ö~ x,Òñèó€ýĈÚêË<à SÅtznÖ+ÿ�q9µÆÉﶦ¬½¼À€ò—_™ZCo»ÈF�hNÍ‘�M¦Ð�¥XûԦ̦M¤›�E_K“ü¢H“$WE9±WÑò@ bEgvÃj—”€—b(L�–9Êpq1LåËE¾ˆ�åw‹[¯Lz[ƒú[Q¾°¢‰�N9‚Ø’¹ÒƘuïÊOïñÍñw³ò€%@ý®Ñ¸ÚK�LÏ¥¯#SðJÎ9ýÞ”>½Ÿ/ŒÄaÝ*ñx°PHj³ÊN§'ÔlF@¸ˆ«Fì=�Gî1ö©vá ^ìÅiÌ5šgÚüÆÉ®©÷è,ÃÈïÓ$^Ó°š^ܲ¾m¬ƒ‚öÖ= !ÉÑA^<!a»ê)Æ{�õ“±×ÑbÓûÅÃ^JÏBT€·c‰B½ö_³Ûuk šÙýFh¢ö-·¨ÓrÞ€Õ&\þrR ÐŒ(ûÏF! tƒ†å( äi/¤f†Žç€®�u’&9–�°�Ô·Ý‚¹È‡¥Ïì.1QÙ“•°½{HaãŠ
Cíó`PÃ;4df�ÊÝÏîª?½$ŠÛ_a9µøeCü>åé’³ „+ Mä«qR-‰}a%ôŒ±æOù>��Ú_^=�¯`—8ºÃN¤ŠãýÜJ6µ·"a™.±vûkãèD�º¢‚·ŽDkPYR‘/�®¨®Vù�þx©U'‚žäáqùåzsþÛR7Ž›FW›–$€ ø *³šûÞ�u[xܸ�œœÝËÜ/ þ÷• #á‚—éAáx^jè¯SV¿@o‰á¿%E¡šÃä³È呿ê&£‚·­t�ícÍA¿u ž­h=a»É’Ø­¶ÿJzÎA|h»M0JMj0ˆž¶ä�:tyÓK¼ôkEmÊòÅë¦øŸ}¶¶8»LÂ¥n�?Pž'ÞžA“§ìm ƒú“�V’ü‡—V.H>N,¡M•0V|8‚ÃÖ¢‚ .uÅV¦õ_hO$£•÷6c,¦ßo%˜‘//Üà]=CQáµø½-û|ê+ö L�ìý\uOëä&�ôæ~Ÿ»¾`3G�˜H,ŒWÞ£––‰—llÈG›&| r®ˆq ߈dQ–uSr—‡¥]鶺dT$_Œ™wßCÂúÞ)JGzfP0%ÕÁKŸƒ;LÓX&‰˜²�Œß ó¹¾J=Ș<–Âïd²�3ó¨y¼/öaÞY69v9/�ÊŒIk­bs¨Ö™ã(%W7
c\¥ºoœÅ'É-­à9­ÌM«é:P 6$Ã$…jN,—]'"»3d [DN?ÁÝô,%Ë·ýTð
e`Ž‘ìÓ>ŽÑߊ!”Œƒ¥þ¤q3Ü­¤Ek°f@–PúWˆ�â@‡oÌsßj÷Îs<:’q…ˆ€>©� P•ì¡Úõó}*Ü‘­5 ßüB·†$“&¦­;eƒÎ,ï�w “¹¾R‡Ûn2ˆNçª�1B ¶]4ÍþAY,mýÒ.ïÄÄ”ô12-_¿� 6±>ñ7˜E¾OÆ+# áZü¯ÿÝo,Øù‰ŠCî†Z@,ÝÞ˜Äû¯ÒÓäðªÒÖ�ä€|s-tkq4"sÅ9DèP…Âÿ¥ö9<�1¼/c0x ’|ù“dK_VhÍã,˳ëV{®³¤†³m£2_ÿŠeaDž|]ëÑ0ù¯¦øÉE’ÅÇJ—Cfd
ã&¨XõGØHNi‹P#1¨O5ÊÄ,…œ”÷‡~üDZVäÑ}󣞌@’Wj4­~‚w‡;¸&WY
xÀ‚7ùŧƒ=Ñ{‘e­*1ÔV ,פiˆku€ü÷0Øïc-ÂÊ"4E¢Ü´©±7ɵ 9mUÐ��VñzQ¿³•(O‡;œn�¼¼.±4°ïŒ @¨9@RHjÂ0—C9–xæ¯rõÛIÚSýÕꄇÔA¿—‰¤±l-Nwäß«˜ÅjþßñŒ2FuC|œsÚy¸¤œ95Kj(=š´Œ„ê¢Þ ßï°¿1°"†@¢ƒ­K0(8£&::Ǹœ=G¸öŠ÷ÖèP�oÕ)?Z ܤfYqÕ©f2è6ç)F=IÅ ˆþÁXÑk…5"¢2D=d2UÈç¤V `× o™9ÇM—2­ …>RŸ8N0Âa í?Œ‡j®Á|(Ëm³Ùϸ¦w`DsØ�Ë€ À„×Ëöûî ï枌y�¹ab+ã?·]­$….V`b=&ÁÛSÃhwC’`ÚYq°Û˜±¡Rù ªR±îD«�¡}K‚áÒwÑÏ>ƒñ WHNq iŸ¹8N�µT{Q ÚT®>‡‡ ì ž÷t!’4#‰„K�sÉŸ{qæÿ#ÛRR×T\53_éÄÙ�õðÄï×V¦l–'¯›Ô Ù(ëawÈ«”yÙWºÂã=×ÏûÍWö�ôf‘üa�1K¿e_ÁÈ:Rà•†å¶»ìâÃ~™¾dRx&©m<£á!rã×Mçã�ÿ9+Ó«RèVT*ú?ÀÛD¥‹2;Ìd½ °‡Øwt“y=¦.¶¿53ä"äeúÉ}ù ᛇ€¤(÷ÕÏxŠ¿œ“œM ÷¥q ú�¦ ~±ÎtáÒx|
7�ŸºÃ}ðàdžLíƒzPè€6´f9é|Q03é v˜/˜[4´ð¢A‹W=çJO]‚ ~xÓ^áiO ïïá_†1SaZ\/0VŃ£~¾w®‰�y Ë§7–u›e¥éÇn@-†Š ÓT,¸ÛSž>¿Ö” R—.°aeç,·óÙÖu Ò=Û­4L1§D”…øk–³^�íÄ@½ÇÙ�Ežf'�Ìîɸ›¡¤: ­²¡äñ8ŠàräY­Ì°t4=Ì¢OQ’5 ù“3ÎA‰Ä¼Fœ¼y>
Jë’wEÚüÐ}¶
Û‚!£LèÄ›y·×»iñéé°¯FK¶tžÔjŠ>YgIófíMìÑÎ*†G‰*IŽ-ÁÔšmpFm·2- 0'þCéwÍÕ¡�Áb Ö[#įHÖ«ÜÀ&�ˡѿ<¼¢aüñÀé
Õ‰bM×cENÓH Ø@ï¹J’ÂÚGC»›­ñ8n&s¬5Þ–àŠ�Æ¢('¥ËbpR×p7U­è6&ZŨ¶çH�U Ó²Gí<×aüE€iU£µR¤Œ(÷¨µé÷ÿúJ�IZÂò¿ÝbdŸÁý__GŠ5
©t²³ùel°v +ËÅr'ÝÍ@µç°º.9ÃaO»„(\%çã¡–,4ÿ³ò8›½Ú¬Ç+ V–.Á»øy²˜/=³Õñ;¨Ãoañø“…±b<îZQ�ÉïôV0›*(P€õ9¯ÜK¸‹ “Út±˜>йû¸u`O%ž¶b�ù�Ó>ÍCKJ¥òk½s
ÁLÙO€ýêÇ[~î‰0áldÛ*]`0¹>þÂCùo¿R�4áð#Œ4�¨VoæÞãRœUðgÕ9Ex¢MÕþݹh•µgynïóîä©HP· ­|ef Bf’„á
£}º$�Õº‰<Ó>¢t_q"í&þ»&?’¼æ?·;œü&á|ÝóKãbm"�6r�ð©¡ßlc¹ Ž¼5òEOæíR;Í™¨Y´ÂÌàîxAPá|o¿\¬¿–I¶œªÌ貉¯MQðªbÞÁIT’ò2©«ÆeÈ^àÖ‹zW2‚‰å©tâOoByOGj!G:k›,{ä§ÞñÐw„ÙÎg2ˆþ =ÇŠª±ên­^<û(?î-J´dÕÀ ¤W—¡—\\d³ŒÕGÉ’sçÀUësмΰè´g¨²'§ˆ³ï{pª˜M~v<ogñÝ?�ñrLê×ô¼@ðLb8/‹!ßÔ¾l:è?ë‡|±¶i×í²��úW£J C3Þ@@_èÞ¦Ì[US�¬((êV+Ìtw÷ÎÖ˜‰qß"4îr–çB¤ ’c"Rˆ 1Ÿ�¤)\™n¾3ý§œµ(`„A„Ç KÔp¬áKD¶6Aå•bÞQ“$yz
«!ú€ù�ú—^Jp>Ó¥­~š‚ö›§s# êQŠ–¡¢ªÚI~¦8j°k£ {>ÁḚ̂múŸŽÖ'1¢‰âólyÞŽ"é£Òñä’áɰ¥½wŒÇXÌa˜<Ü’
‘–”Ÿ��$¶QµøÒz 75j·W3üÉy×[l�î#%'fF¿è� ûïÌg¾1ÔGb ÓLÂ6G @„´ë¬\·pþníÅ$óëÙðØ÷`-«lKöÀo8Ñ]Rúzg–áÿˆH..µ£Ñ'˜¨�fÕÁW2ù˜ö]Ã7šRA¡‰E\ uƒÁ#!¦v}sx”Â]8¦ ÎùŽ@‚>žEP'Á\†¡Væè³¡ XµÏÏ r+÷rÝßÊwu”»r)/Ðu:»µÝ84U.”ðákCFžqm¦˜£”ñ};�îÂ�í0ÄŽ�Ÿh&ë°d¨?íó,ìjQ:§ÅûCZçt¶†ÉÍë.òZDysÒ«ùo¶ýNûléOÄÜ’7NµiÓb�„®<§“Aˆ·€Mbsþ|9Äg=<ÏÒfNa½4L3Åì#~àQu)¤¢ZžÚOë�:HŒNäBèiso®Í²´.ë»åË•ƒ9 ŠÞ¨rO¸e"À :´¬K
¬ã#tñ6¯‹{iâõú“ˆaG<^î9’Lj_ZÞa›~âµ;|¸äG·‰·þJžÅx€ê=&A
 ÖLtȇ%O 6•WŠdŸ®.ÊóæêÒÄuîÃÔ_F�ÐÌYHlK�0°Ìº²$ÙØm´ÎÐa¤UÜC¥5»]Ü.xç\?¨¶YîÚ@ç®Um•ø·JîÕšØÐs›‡@ü%þ’ΆèI>©µO‚¢ö§›N Kîß`ÿãŒE¸OâΣƒ–©

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -0,0 +1,15 @@
©%Wœ—±Zoï*ª£î�ôóò4@xà‘VEŠ‘©÷oö-€Ô—?õ²ŒŽ-^ ›cL]2Ø7û„msŽ=Å@20}ŒÕ�Eaå{«˜ŒóœðqõdC(¨°Cù Ñ¿Õj¤"›g¹\é.Á'ì³;ÃFÂLµZ™Ü½——æ_+ïIóu¼ `û?Æ‘MŒ\ÙÜ‹ø¹æ¹o“[ÉÚ{e'Fƒ•W÷åô‡Q”nrì_?hŠÜi&°4</¸¤ó{DŠ”ù¦J.ã¿€ƒ’¼ùp¦«‡�H�Ámf�xs-!„òs£ô–r³Á;fËšþ'¤`ï‰ê"L"=ÅŒ³¿“Ÿtä䞣2Žq ^�_¿”´áê•zªmÒ¨—“`¾äL=Ĥf•&BÛLÉ)´ßÅФ¨Ü@,^Ô mù:/û?^)p¼üº´Ú�²°6ÇÙù?aÕC«0n•�Kù°[ŽÍ‡:$ íÚo™Ânî›ý€³Ì„CÊýèF§€Ç´ë[Á¬\³OͪDQ>…öºH¶Ì=Rv.mùíÁYÿžDð‰Ü¥²Á¸µçŸFb>µf“Ó1X˜aÈc«;ÙSÁ„�€Aäø…‚…�ŸgŠá†Õ©T»ð¢ÏŒ ß18"°ö¬Ï#÷vàTê ^æíüõ>�V«OÌgvÙ›/\*énÝ–gzuæeB=éI€³þdšBãÂI‰xÅÄfq…+Å„[’íÞêÄÝÖjwÛ
¼„;ùŽâÌ`\D�Ðø-é`(Æït=7Å ŽfF`©Ç?ãPÏ7IÓ%ÔÇî† øxN¬ÍÊz\¹5èK¿OÈY•ïã¬h«âˆ…J�™Í‹S�bøZaAÙnê»Xp_ÝÌ‚(#ÑkQ¦æ¦bv·~_mìÈœew�'Þl‚×»?h\‹u4F]•¨N;;‡„­Ø†G;··mq—vèÿ+N[ë>æEþ¨~NX|’ú×löeå(gÅ´N¸m\Ÿ¼Iù#n…
×°Ž�q}ŒLVÜHFë2Ê¿…æ•t�Qi!Ô·ôPñq MÆùyèÅ¢×^;ðr(GbIÒûëÄwR×#1I·h+bøÀÄôw_\€¼+J iÖ.x²O!uq�H÷ݨI‘ª¬ÿ¨½cº^”o­ë ü¼G˜ûÂ[£�2‹&“5íÙ¦Úõø9½%NëÁßDäK&þE‡çþ¸ ןe§7L\�[î,ëŠ=¯WßóðK¥Z?iP&´6?²ýKjøÖJ¶ê=L§øÙû#d 9ªýk º”¢÷­¹â|å«Z¥ïˆÔp1¶ú/òÞw¢Tp›OŠÙ'ªÇþ%C¤PƒðÂLî :SSýòÛEpÙh�i®Ä$jİü'ÞÙYÇÿp.•€¯à÷hµ�¢ìfÂÑžßnp(Dÿ~/j2´Ì„™Ú‹§“c):‹]š$“w-9Óóä¼·“^Y _yh.¹©Î:̦d“£;^£�Wô;^¸s"2›vXó$ü¨ïòdáÒåþX.”3¡ Ñè)½/ö”ë­óîbæ°jÌPÞ X›ÃqÏKoSŽY6»äŒ¸œ‰y�˜²'4Gb¬€f†»à L_YuÚV°ô9ZH¾£Gîÿ‰3ÀòGäbw ¾ÖvžX,
d ‡˜«xïekýÌbêE:ë-„s]Ç‹¦3Ë·W¼È‡Ûܦ¥,^™Ïe‚ut×v¾æf0-st>í÷îÛã»y—ÁgÅŒL�sgh±üï6�/è÷iЩŸñ
”r4‘"ÍÃòy%vSLõïÔAÊœ70ö„ªýÜf<\¦^‹õ?%ÃÖ‡¸° ñ–Îõ,œûèÞ-ÂV"æâ° ¨‘ö~©ñ€EÍ­b#Ηé £+Þa_ÊËrakki¯Ù½Áýa12´ÏFÔõ12KÎgâ•J†Æœ;žGu1øN±YL? ¬ s®X�cƒ…'Ïaˆ‚ìX®>P��BË)¸ðdg�PBD*_9¥¶ú¡Ö³3;»Á2 ´”ÕÐ&Ÿ ÷ †W€ÎUØG0ƒô)_½G>‰L%£Dõ>qÚkÆÔ˜†©ÇÜÜ(\u&¤˜¹«rˆ6z¡°íÈÉ�|¬­Ìé‰�&F ™ø{¨5ÃtnGo³Âž%ŸæÌgšX´Î—/‘‘‡0p¦ÉæÍ™¹z²bz ^pD�ÆÈ*Wš3óh„ø¶× ­\õ\2 8bìËÚ“x4/ÎÃZ¥«ùÚ�Îà ƒÁ¥W¨>�šâbu x‡-¢™Ì9ÀvÊaIq¹ŽrÍ´œ&�°fŒÖs@Fþ €ß® ݨ?”™²´o{䮦Ò2“0 ³´–!\üxš¹ áçì¿~—;‹ŽÈ‰Æfn'õ»¾µ8áöäÕ.s½ÿzU¯ÂÃα(•b÷ð eù n¤ß{Á–)z!†‚±ÛñèhÔ¨|Ó�oþŸ¾M®à?ÿŠqbÞêznÕøÐÜ„-�©tº†HnPw¢4ü)_| 2(àcÞLYsaªjŶþ
U°ÉÅ)ø
=‡à[¥dÞtýäb¯¨Œ¼èRó Ð&†ßQÆVð3�òÏ/T*®˜ý ÜÔ7*ëܨ͟æ®ôð91À¥'öŠòŒMü�Ûœ¡¦ô>s�ÓˆÐY¯%
eä;I�cE–P,žŒg—°üÍÛ(ÝS2z›“†Õúáˆÿ¬*^<Ž1± v˜ëARÙ©“Þ5t8Äë|b�¨ù¥5{У1”ã76»Ùë
ñ.tåªÑÞ¾ëŒé^=AÐ1ŸiXEó^Ô-ñwîC˜EW�N@†Á�< ’2pD`ŠÅjæµ§µ€3Ü€Š.ã.Ï,®Õ�1î1�åÛéÞÒ6&ØŸÀf6ý½„JY3@Ñ÷ïŠ-eÂë¹þGà™ jGíâ@é@î_/¾’Z“Æ]q’£Œ}ÀÞ|o0âîgÃÓ•Òì˲: A 6áïÄŽ,ƒÎ‰g) à¬Ãn!¨ú,ÉQ{årþþ‰(ñØër7[e¦»Ï{²ÏŠ·&p¦5Œ\!�¼C©˜¡Õº xÝïrU!d`¨Ý- Bý„ÊlRð@ßnu Øé'-ÕÝæQd ‡Š/”£;a}uü¼kïû-Ò½ªoa_jha&­0 ¡QìîdȠߤQ{–*’o‡åœÃON÷�¶�¼ûÔŠ]Üj×åù<‡¦Á’8Z‹×¶'�B+ß(JfÀÁï&z6þ üU2Ãt�Ùå <aK^`sœÚ¨”©ÚûÃÈ ¥ëY›>_ëÝp!E�»ÃUþ(¸ü�7vè·âssî÷ ’–Ço†aÓ KßMeŠ£™^žŒ‚$È�[«Ðþ¤ÕtIY¬YAÝöò0p8 ãZ°¦„­µ ^úO`¬~Ï*`‰”¢Séücmc8ñ¯æã“’âK}ªîË_
ëé°*�µeÖhn OÌ›õ¼g µv~,µà”¸¯&Å’�Ò-Ⱦ@ÏZþU•Óje2ŒôGØÊëZF]2ÍÓkº.Lõ 3ÎyÐXîïnezpì!:™½í·õÇv'˜“XéàfÉëežPû‹iå°¸\}ºÎÎ+‹ãoÇÚ ´°¿k‡)„ÔÞ7K÷±R<ñÁ!úûܬ}ÕÃ"ÉÁ³~ˆÌXÉù ©åI‹%_Oü;EÏÅ�ïAuu�ø%™t&º¨èÂø†ºÖ3úŽÜ9r÷*‚ªx…hJšGàƒVQâôæ Yñy5(ÃT쯔ÓA[FYæiभQ…mŸ ŽJŒ¡æ¹î6¢/œ�Âå¬7CA²¡Juæg)W(_–>¨À!?Qè¨ Ù¦vr¶€Eù šË¹{_xë/�ƒ¹¯Qc‘ÊŠÞ-¹¬0D¿ÎŠC<`€÷áÍ䦩BrÄ~5¨ï"ÅcYRë 3-ÊDžm‹`V]©PtÌ.Øqh®"x·wñ¾…#li㬹…1å]ìÙzÌD£P= „f.$ýYÆå¿ao“¤žýŸ…B’sVX»ÏVꊈ˜¤Üî0O¹pÍ msUIUªÞĽ0äÄ»ÃK¤ÁÞ¯¼°?Û�w_…î¶HHϰ”z�zåD2üÂROs ±ÕMÑÒŒ•°[+Ìhû¤:ׂyõÁ 7#{uÞOÇüƒèùZÝQÉvá­–{#™žÏôGÂCÕ;)6Pl\ì/¸@ê ;)ڽʬ)³ã‡œ…Ø›ÿhŒ—e*‰ÿóeE e�ñʉCç×n{ƒ3) {‰ÏÈZZ-ûS�4Ác�Žˆ� L9¥3b ïV‹ŽŒ~OÉÜÌ6hbå)VY‚ù;Ë?…À›É]ëõ/™s“öÅž/4å#Á}Ø€8x{É”GF 3Ö›DK�F·‹»Ê‹T5[ܨ©ó+×)à#ðAP@*jÉ/Œ‘¦ùÐ�½B[«v²ïèoHæTòêK,®Gî×:ÿÍj,ÜžõIa_âÏf¡½‹éú2)ÞD`J0¯Ô!ÓÓ·\÷Q†uïέÛ‘Ë!j4ÖCìçÚßéàBÃ4«¿tßë½,Q7rzíü>BñDÃ\­4ó!n߸·@=Ñ,¬ P ¸Ÿ#«}vÉ"¶ázB{¨à»£È“EÃ�÷
¥®âלë‚ÏÆiªr×ùC&&«)ãÃÐ}ÕQºùäÈÒ½÷\¸×ÜRÈð,˜Ù±A_C®ìò�ƒÃÒáSIÇ€³\ê î¡dB«Þbäz�Q&êûÑ”»iJÅ~�|^þÂYœz* çb¯ ˵Tó±Èëºby:˜ÌtÂ�ÖÅYÙ8�5ž ò¼ö汘ÿ[‚Gfïa[úlËnaoQý8ÿÊÿŠ2Yeê¡$+òŠâ=ø³&Óîf1!ÿ.wAÀj#÷¨‚`šæBY[è>Cî¨T>àt×PÝDH[ÒÇ�Ø}³|1dñÞ�y£ƒ%•m8'COtWz·G‹rÏa¯¢C³%Œï²K ¹/p:¤,²ò2�vY˸—(�Ö[ðr7wE=7ÅÝÖd³¢¡€/‡È«`'Òdj×»³†§Øƒ
Ìþg
½Â1hÑtÃ'ò‚Ågª5›C�™.-A•Ó H¸4Q«Cæ‘QŠ6Š�ˆN‚²ò°VWi5WC�hÐvól·ø je­Ô?«”˜
eg6R¡œ§óÒßö3‹^ËJÍÁ¥‰n{´“39qÑäý_�½L6Ž^6§Ÿó•<Lƒ‰-,apj =‹\`ÿ*#KÆ|‰?ŒþVÿN•ƒ;G¦Ä¢¸� C�à¥ÝyúlÏ»ÎGüYÎêd/§'æt$øÍ%…1J çô×ÑB§4õ²• <
¿Ê �­BÇášÜ›Sላ?

View File

Binary file not shown.

View File

@@ -0,0 +1,15 @@
»>Ì+{ƒaÿc×´7Ð{/…sZ˜âX<m³ÊJ úñtF$çò‡ÌÊûh4ÑôœXçÄ�îw@‰~Ñà•J6SÓ%\D£Kç4,¥ÁS4«iÚm†£l*õ>Ò(nBfnåGy½ó/UÐÚô¬1Æöp˾”��ÏÌT7^w%�õö}U)8²úi@x¾èJZl-oujD†“{¼…š£–¿ôî+Fã‚*»/ý—tù¸– þç´¯ƒv´ál´Aó;vYõ€ŸP=}ol
AS·«ÿ­EÁ JãgÀ«Œç÷8¶»“ÃæqØþz3…Mù.Ø?s÷w|,–½Â |n ˆ×pÁøHØ7˜ �ûC.;nI*0ž\‘v²ˆSá"Ý_�$Yî°�$aUwØÊâHçûžm.6x[Þ`p‘ÉÌSa9Î!—Ìm—®˜vúëß…õíU�â9TȺ ±oDÊØé!u¹o5Z9Î^t¡ õéwÆ#�ie˜-]þ�¨¤—>Oþ;õª^àŽÜúóJ�Q4³°f-c–cV_<!$Ú÷Òì5°¬øÿD�{s�L šÆÒ¯iÞ`‚~Úþë#Cô)ýÇFøÞ©ŽãšŒ6S¥Š¬œ£ÛV¿~ÂÿCjÉàVØ…XôÇi¶.nûÖ˜—»·Í§�Àpº¤ÖÙr¯ú�­«Ÿt u€eåeÒ*˜)ÐînZ#òQ`§¯8gˆ£)TJªýv‹9<Ä>ð|(DL㣌,v•jÅ_PçˆóÉP÷pÇ…*EÕqÕ0¡k,¡37œ³;Ì~‹¨©½·ükïAâúÅý¼¸­êÄZäpBæU©ó¬^Mª(�I…Çâã§,ÜŽd\ÚÑ·-c„çf°×aÏs_lÁÁ¥ðÂÊMí‡I� –¶`&W2¿Å\Æ~]_::ÿ3¯×5\@I¸KÓøp½d¯EcDÒü!MwM£�œM]ê“‘ùJ”¬ýë'})uÓÝ™*Ã2  äwçcÍ鑱õÈ(íÎgíƒj‹0©ï³6âþÜÜÆ^r3®ïs~
òi¸à‰¿!ÄÔ.òœð?DÄJ„þª6ƒ¸²úùÔ!סÖù+´�u\¡zûR‰…‰³® {¹ Ó.Œ¨vY‰e(4/�ôq¥ÛÞÊB¬‡›hCÛcÎâ@üŽ”çõò‰\stï™þK4'—Ž™Òöif ÊOh¢A)Q8°;N]¡]î4XÛÁ'å¡ð¼êßS â*aŠpëñ'âO-†1Ç}8+뀈_ã\(´+Ú†l'<„¡® 7ÄèŒzgú Ãê«>5Äã'‘7΄·L ƒ‰¾RfÓ8&®Q8îèpå%8sÍž.WñÞ IÚ|h¸¼[àT"i;¹ VÖÚ›£f\1­ë+Â…ç¬sº"yû˜Z¤×·dø´W©A¯Ðïjà‹îØnwÄû© q³é…NšÚü8Cü`•íŒWŠC^�,¿mÁ%BˆéàÏßVÕ©éÊuðô─‘�Áá®ÝÞõ,5_ø&�!U‹Pb0Vµ€búI…�â7"1” o@T´C2A‹žgÿGÜ”¯¾(ÈVp'¨ <žpXk�W`ðT1+¸Ÿº4‘x”ÝÑ,&bðéλ0Š67§ƒ�£L p `&z½çAžï³Å†Î)˜Û6ƒ�T� oM= þZ[Y¶@PÒ ¢8ziŒÁ7.Û¬ÌÙÇÇËplçrõÎÌA{ë57¶fœžo1›‚˜eVC`[åÇZßÁk1Ôb5%˜¨þ­/ûÆÕ…mW7á †l™¸cÂhû=©lÜf|Q8Î&œ’; ®P‘¿gÃùi©¿¼›qM
ºÈëÜØS.ê8YkK´r×Ó¡Kü1�ØJ:­8ŽM<ùã­xª5ö‰AmsvÖ«â9¾}-_7p^Pà½D§—ÑDmh‡_m÷qÞXcæ&@¬ÝQz§é�|öh%yf†BÅùðFz
TÎpv?È$ó¿W#º…–½SˆzMåÌAÜW—À‘ĆN±lôƒÐdVÒ©Š&ïìÃ1„’7ˆf”K½[Uã’a-ÿ¿4fÆ'©„#óXW쀸Æõ^Q}œa©mP‚ÁbJ)»’½¢Ivòóß‚©‹…g_óò§˜É†kŸÞ]ç”8Ikð0‰Ã'².W﫽ÏìÛ÷¹–‡R‡T溲éíª°’‡šÂ�×»<v"¬Ð1õmpí;!j¥äÒÀÍw��¢OÉÉ-G>•}K猧ó!Ûç®|99³8.—Ϭɂdž€ ʉ>¤|‚b�õ?ÌMx50†Wñ_ô¾ µ[{t½H[Âí
»ô€8‡5í.ñRzÖkµ‹^æ#‘càɺ_çlÜVDs@PVÿóG=uGßZ¡ÇNêò³Ô>ð—§ÇõËAßòfû½së\{ ‚.½x  8ÐuÐ+È5@Àã¯�
S“–§g“‚utFFdk}�¸’TóÔMô¦Çø1ÃÔk®¥ö•wê&Ó 9;smŠaؾ-Òݼ®É€ù›¼Ò~`$ðÍ€µ{‘d½)¡µ�²OhNf¶V1UžÁ9)µË?‘f=êIÌÆßÈt“ú?¢þÒˆ‡®eè?BÒ4É…’ ÖÁ™fØ¢S0j˜Œ³CØ®>U鸧:º´öwÑçsçÖB³w¼PšV芜û¬]0›ŸŒ#á'ôŠ·Þ:D3ë6pH¯C�ßÍ�·r,µ¹¦C¼‘«6ÿ](r,؟ηJ×—¬#Ïɺü1ç&|õÔÜǪ¤�>ž½š ·xÛi[>Ƶ‚‰^!ˆ±K?Z“ʵ8Ìæ‚EÓú˜Œ�=�ç)O �†]#úûÉt';7;ɱo¿ù Õxäí°—n®Ðç?Ëâ£ÁO>wP¿:爢[®�ž–”&/»p§>ð*‡~<Ûˆh3 8µjç½T=?6¡áZÿÔ/cÎÓŹº…ÔŸ¢Ìåœ!Cr[2dì±—P4ó
X§¶MûïS{DÕŒ&ZK‰qÄÚ ~¢ä'›OèüÇ?S+½^ÚF5Äý»w>ó&˜A áé¶õÒVy Xœù›žš�Ù ž‚‹T¥þ’¨ÆŽ_Ü�õìß®ãχÄRnûƒUZžð]cM�ß­Ì %ŽØ…ö"�~<¶~னΆ4¬oN¡ãaÉÃÒX’v|í ¥™”
p“+~BJr>k“šç×ïC‘‰}'H:‘kB½àPýò¶V¨ž¾B
Ì­ �w«’V±øîµ
‡ó×Vk”eWÕûÖ¿oЗ´çŽÌ×ïá"�Ù7F<}q¿ÿÀ—k’¼8‚Ñ/‘f¶·ðíaËôI?"!í}5Ê„B†�‘G”¾dÅ]5¢>2„p “Öòf–—bW°·©öÓ6z¹ÆpOhZ¨^ýRd{xqé<Ç™éÒ|¼{ŒÖô’³K¾¹T‹Ê�&u“
_–·&L
S�TѳŽ$* S†yªÔgÂF' ÁU�ìš,dôãìÊ]‘gG™µÏy¹“´]¯Òþ ÌøÆÆ¸ÚU¬f%K·Hn&ß6q�mžF7…p$ym"NÍ2*Œ6á¶Î Öæm„ÃÆ‚£IjHèRî©È"v“ëÁ.qö êþ{÷ÆR¿„eT<_– U¨Jø‚½Ài_Å!ìvúÞ€ÿÔÿVlЖÌX‹| éMT BÇAá£u"¯KP¼¼í‡£œ¬S“øG#‰d»ÌÖ´æóè�9ÄÒÚ 1Ù\ðø 9�ºï‚hic
([4o&&ɼ¶â8ñad„°BN'²p‡¤Ûiô$E¼ß”´Ë«IU»º¥¿ü*¼›J�Ö¯žõ,¬²•M!rĬ[5Ï%]šËMK£XD›å¿¸Ý@’;Â-!1Ši¤˜¼x˜ªj(Oê‘Ìæðá¢zHm�CDZ¿%0ó¯Záþc…7é„ïƒ%x¨×£›×Š×4¡äGK�¿óL)uéÔ“ˆŒ¥+åø8dBðâb?’\«�ŒèpÏà‘ù`•WÞê>átÜÜÓÉ»;ï°/#Ý< $U£ºš­6Iªk!öÀ^gJ8ʵÐä·�I¨Ð/ú"àÍ­6Yù”yo«,”!|,¶èåê§w|"ï£î1Cg�¹¡Ð«^B&)bæv“§C�°ÙÏ–•vÚºTˆuÿºqWµ‰Ø”,±ˆ¼ÝºÄR>%Ì™‹7Ȭq=¡µt£¡s”³:NÂÕ<zdLÂÀ}z»Ú²÷Ím·“KwTBTžäÕgŒÃÕ/°±åÈQ½`Ü­¦Ž릯ïºÆ[¬JŸã´\pXÈO2.4"ízQB¿u?*ÒÎf…¤�÷Y�¹Â¿§¦Ò #íÍ”PRr£ÑÓS\F)DÏQL Ž=ë®·éâ»ÿÛbÜw’‚PA ¡ærŸî¢tšÓ343ý[ý;^lúôò\u�HÛì>jDxB;-êeÉM¾­oï‡Â8$=Õ¾òï Ô)+L•¥?„² /Ñ5úüT†àZìY[©¸Têxócx?}¤Z3º±ÿh�ªûÂÞb.ëY<®{jD¢MDY¹aò„V!ÿ®Üt¢6ø Îæ¥@d˜xÂX�[ - ÛÕìéŸ�,Ž8%oiäÅPÎ+³¥ëZ#©P��#Øì:b°7°yThEž–
Yöžê¼gZšf7ª .™£bÝÏýTà÷Ü‘U˜È&¼Ó&âI”òPw¢m|£7Ž™cª~Y—‹)ižlݲŸQEÑ2ç‚óÖ)—z—åúJ¶C”¤C,Rcì ­õIñîE�ôŸ·á¥ã¤…¤yÓéÒ\_�ÖŒbî ÷À~ãÙìéâ"¦÷„»àßq;©øÑî|ÎIøcTÿx XÉ‹*yó�“ŒÃ'mª€Wè¥ ¢¾-ˆñ ø˜Jœ""‡ò¡Ówg"ÏL ¢ˆ6©¼À½ùl ý)¬•ËeJ�rÕEh¢ÜWGÔ):Fð<•-LR8�É~¥D*Hd{¯‰9e±oD€R,ï-*W!†LPyÙÔ3Hq£›w�‰Ü›ÒlLݺé…ýKyÿî‡é¸UÇfÔXϲ” ÁO6á Ì/Y1ì�a¿£kQÍ�ߺÇ&…Sui6«¿Üy[Laëpx–Ø$kí&—´Ü¤-©G‡�ÑÜ ó‹>œwSûvˆ¸«4Õ2øÁ•Às–˜)�Fó×O9 ’=GqÐ�¹–²Ú#¢0IÓP™/eÝòDÙ|e¤bñäŠÔ>ý°QQ1MmuY™H‹T´Àuî]Ìþ³Ô9˜”·æ™ÕJ¦}"¦Ô±z¬ZQ%ÓZ?rÓBf½…¶iòÏS7&

View File

@@ -0,0 +1,15 @@
»>Ì+{ƒaÿc×´7Ð{/…sZ˜âX<m³ÊJ úñtF$çò‡ÌÊûh4ÑôœXçÄ�îw@‰~Ñà•J6SÓ%\D£Kç4,¥ÁS4«iÚm†£l*õ>Ò(nBfnåGy½ó/UÐÚô¬1Æöp˾”��ÏÌT7^w%�õö}U)8²úi@x¾èJZl-oujD†“{¼…š£–¿ôî+Fã‚*»/ý—tù¸– þç´¯ƒv´ál´Aó;vYõ€ŸP=}ol
AS·«ÿ­EÁ JãgÀ«Œç÷8¶»“ÃæqØþz3…Mù.Ø?s÷w|,–½Â |n ˆ×pÁøHØ7˜ �ûC.;nI*0ž\‘v²ˆSá"Ý_�$Yî°�$aUwØÊâHçûžm.6x[Þ`p‘ÉÌSa9Î!—Ìm—®˜vúëß…õíU�â9TȺ ±oDÊØé!u¹o5Z9Î^t¡ õéwÆ#�ie˜-]þ�¨¤—>Oþ;õª^àŽÜúóJ�Q4³°f-c–cV_<!$Ú÷Òì5°¬øÿD�{s�L šÆÒ¯iÞ`‚~Úþë#Cô)ýÇFøÞ©ŽãšŒ6S¥Š¬œ£ÛV¿~ÂÿCjÉàVØ…XôÇi¶.nûÖ˜—»·Í§�Àpº¤ÖÙr¯ú�­«Ÿt u€eåeÒ*˜)ÐînZ#òQ`§¯8gˆ£)TJªýv‹9<Ä>ð|(DL㣌,v•jÅ_PçˆóÉP÷pÇ…*EÕqÕ0¡k,¡37œ³;Ì~‹¨©½·ükïAâúÅý¼¸­êÄZäpBæU©ó¬^Mª(�I…Çâã§,ÜŽd\ÚÑ·-c„çf°×aÏs_lÁÁ¥ðÂÊMí‡I� –¶`&W2¿Å\Æ~]_::ÿ3¯×5\@I¸KÓøp½d¯EcDÒü!MwM£�œM]ê“‘ùJ”¬ýë'})uÓÝ™*Ã2  äwçcÍ鑱õÈ(íÎgíƒj‹0©ï³6âþÜÜÆ^r3®ïs~
òi¸à‰¿!ÄÔ.òœð?DÄJ„þª6ƒ¸²úùÔ!סÖù+´�u\¡zûR‰…‰³® {¹ Ó.Œ¨vY‰e(4/�ôq¥ÛÞÊB¬‡›hCÛcÎâ@üŽ”çõò‰\stï™þK4'—Ž™Òöif ÊOh¢A)Q8°;N]¡]î4XÛÁ'å¡ð¼êßS â*aŠpëñ'âO-†1Ç}8+뀈_ã\(´+Ú†l'<„¡® 7ÄèŒzgú Ãê«>5Äã'‘7΄·L ƒ‰¾RfÓ8&®Q8îèpå%8sÍž.WñÞ IÚ|h¸¼[àT"i;¹ VÖÚ›£f\1­ë+Â…ç¬sº"yû˜Z¤×·dø´W©A¯Ðïjà‹îØnwÄû© q³é…NšÚü8Cü`•íŒWŠC^�,¿mÁ%BˆéàÏßVÕ©éÊuðô─‘�Áá®ÝÞõ,5_ø&�!U‹Pb0Vµ€búI…�â7"1” o@T´C2A‹žgÿGÜ”¯¾(ÈVp'¨ <žpXk�W`ðT1+¸Ÿº4‘x”ÝÑ,&bðéλ0Š67§ƒ�£L p `&z½çAžï³Å†Î)˜Û6ƒ�T� oM= þZ[Y¶@PÒ ¢8ziŒÁ7.Û¬ÌÙÇÇËplçrõÎÌA{ë57¶fœžo1›‚˜eVC`[åÇZßÁk1Ôb5%˜¨þ­/ûÆÕ…mW7á †l™¸cÂhû=©lÜf|Q8Î&œ’; ®P‘¿gÃùi©¿¼›qM
ºÈëÜØS.ê8YkK´r×Ó¡Kü1�ØJ:­8ŽM<ùã­xª5ö‰AmsvÖ«â9¾}-_7p^Pà½D§—ÑDmh‡_m÷qÞXcæ&@¬ÝQz§é�|öh%yf†BÅùðFz
TÎpv?È$ó¿W#º…–½SˆzMåÌAÜW—À‘ĆN±lôƒÐdVÒ©Š&ïìÃ1„’7ˆf”K½[Uã’a-ÿ¿4fÆ'©„#óXW쀸Æõ^Q}œa©mP‚ÁbJ)»’½¢Ivòóß‚©‹…g_óò§˜É†kŸÞ]ç”8Ikð0‰Ã'².W﫽ÏìÛ÷¹–‡R‡T溲éíª°’‡šÂ�×»<v"¬Ð1õmpí;!j¥äÒÀÍw��¢OÉÉ-G>•}K猧ó!Ûç®|99³8.—Ϭɂdž€ ʉ>¤|‚b�õ?ÌMx50†Wñ_ô¾ µ[{t½H[Âí
»ô€8‡5í.ñRzÖkµ‹^æ#‘càɺ_çlÜVDs@PVÿóG=uGßZ¡ÇNêò³Ô>ð—§ÇõËAßòfû½së\{ ‚.½x  8ÐuÐ+È5@Àã¯�
S“–§g“‚utFFdk}�¸’TóÔMô¦Çø1ÃÔk®¥ö•wê&Ó 9;smŠaؾ-Òݼ®É€ù›¼Ò~`$ðÍ€µ{‘d½)¡µ�²OhNf¶V1UžÁ9)µË?‘f=êIÌÆßÈt“ú?¢þÒˆ‡®eè?BÒ4É…’ ÖÁ™fØ¢S0j˜Œ³CØ®>U鸧:º´öwÑçsçÖB³w¼PšV芜û¬]0›ŸŒ#á'ôŠ·Þ:D3ë6pH¯C�ßÍ�·r,µ¹¦C¼‘«6ÿ](r,؟ηJ×—¬#Ïɺü1ç&|õÔÜǪ¤�>ž½š ·xÛi[>Ƶ‚‰^!ˆ±K?Z“ʵ8Ìæ‚EÓú˜Œ�=�ç)O �†]#úûÉt';7;ɱo¿ù Õxäí°—n®Ðç?Ëâ£ÁO>wP¿:爢[®�ž–”&/»p§>ð*‡~<Ûˆh3 8µjç½T=?6¡áZÿÔ/cÎÓŹº…ÔŸ¢Ìåœ!Cr[2dì±—P4ó
X§¶MûïS{DÕŒ&ZK‰qÄÚ ~¢ä'›OèüÇ?S+½^ÚF5Äý»w>ó&˜A áé¶õÒVy Xœù›žš�Ù ž‚‹T¥þ’¨ÆŽ_Ü�õìß®ãχÄRnûƒUZžð]cM�ß­Ì %ŽØ…ö"�~<¶~னΆ4¬oN¡ãaÉÃÒX’v|í ¥™”
p“+~BJr>k“šç×ïC‘‰}'H:‘kB½àPýò¶V¨ž¾B
Ì­ �w«’V±øîµ
‡ó×Vk”eWÕûÖ¿oЗ´çŽÌ×ïá"�Ù7F<}q¿ÿÀ—k’¼8‚Ñ/‘f¶·ðíaËôI?"!í}5Ê„B†�‘G”¾dÅ]5¢>2„p “Öòf–—bW°·©öÓ6z¹ÆpOhZ¨^ýRd{xqé<Ç™éÒ|¼{ŒÖô’³K¾¹T‹Ê�&u“
_–·&L
S�TѳŽ$* S†yªÔgÂF' ÁU�ìš,dôãìÊ]‘gG™µÏy¹“´]¯Òþ ÌøÆÆ¸ÚU¬f%K·Hn&ß6q�mžF7…p$ym"NÍ2*Œ6á¶Î Öæm„ÃÆ‚£IjHèRî©È"v“ëÁ.qö êþ{÷ÆR¿„eT<_– U¨Jø‚½Ài_Å!ìvúÞ€ÿÔÿVlЖÌX‹| éMT BÇAá£u"¯KP¼¼í‡£œ¬S“øG#‰d»ÌÖ´æóè�9ÄÒÚ 1Ù\ðø 9�ºï‚hic
([4o&&ɼ¶â8ñad„°BN'²p‡¤Ûiô$E¼ß”´Ë«IU»º¥¿ü*¼›J�Ö¯žõ,¬²•M!rĬ[5Ï%]šËMK£XD›å¿¸Ý@’;Â-!1Ši¤˜¼x˜ªj(Oê‘Ìæðá¢zHm�CDZ¿%0ó¯Záþc…7é„ïƒ%x¨×£›×Š×4¡äGK�¿óL)uéÔ“ˆŒ¥+åø8dBðâb?’\«�ŒèpÏà‘ù`•WÞê>átÜÜÓÉ»;ï°/#Ý< $U£ºš­6Iªk!öÀ^gJ8ʵÐä·�I¨Ð/ú"àÍ­6Yù”yo«,”!|,¶èåê§w|"ï£î1Cg�¹¡Ð«^B&)bæv“§C�°ÙÏ–•vÚºTˆuÿºqWµ‰Ø”,±ˆ¼ÝºÄR>%Ì™‹7Ȭq=¡µt£¡s”³:NÂÕ<zdLÂÀ}z»Ú²÷Ím·“KwTBTžäÕgŒÃÕ/°±åÈQ½`Ü­¦Ž릯ïºÆ[¬JŸã´\pXÈO2.4"ízQB¿u?*ÒÎf…¤�÷Y�¹Â¿§¦Ò #íÍ”PRr£ÑÓS\F)DÏQL Ž=ë®·éâ»ÿÛbÜw’‚PA ¡ærŸî¢tšÓ343ý[ý;^lúôò\u�HÛì>jDxB;-êeÉM¾­oï‡Â8$=Õ¾òï Ô)+L•¥?„² /Ñ5úüT†àZìY[©¸Têxócx?}¤Z3º±ÿh�ªûÂÞb.ëY<®{jD¢MDY¹aò„V!ÿ®Üt¢6ø Îæ¥@d˜xÂX�[ - ÛÕìéŸ�,Ž8%oiäÅPÎ+³¥ëZ#©P��#Øì:b°7°yThEž–
Yöžê¼gZšf7ª .™£bÝÏýTà÷Ü‘U˜È&¼Ó&âI”òPw¢m|£7Ž™cª~Y—‹)ižlݲŸQEÑ2ç‚óÖ)—z—åúJ¶C”¤C,Rcì ­õIñîE�ôŸ·á¥ã¤…¤yÓéÒ\_�ÖŒbî ÷À~ãÙìéâ"¦÷„»àßq;©øÑî|ÎIøcTÿx XÉ‹*yó�“ŒÃ'mª€Wè¥ ¢¾-ˆñ ø˜Jœ""‡ò¡Ówg"ÏL ¢ˆ6©¼À½ùl ý)¬•ËeJ�rÕEh¢ÜWGÔ):Fð<•-LR8�É~¥D*Hd{¯‰9e±oD€R,ï-*W!†LPyÙÔ3Hq£›w�‰Ü›ÒlLݺé…ýKyÿî‡é¸UÇfÔXϲ” ÁO6á Ì/Y1ì�a¿£kQÍ�ߺÇ&…Sui6«¿Üy[Laëpx–Ø$kí&—´Ü¤-©G‡�ÑÜ ó‹>œwSûvˆ¸«4Õ2øÁ•Às–˜)�Fó×O9 ’=GqÐ�¹–²Ú#¢0IÓP™/eÝòDÙ|e¤bñäŠÔ>ý°QQ1MmuY™H‹T´Àuî]Ìþ³Ô9˜”·æ™ÕJ¦}"¦Ô±z¬ZQ%ÓZ?rÓBf½…¶iòÏS7&

View File

@@ -0,0 +1,14 @@
I´Ž…ã«‘R†oN®å›öcˮώÎ÷’iSj8�«áტ…Û©ðËÓü£ÌJ÷¾ÐÚ·'Í´�y%k •mO„!¦ƒÄX§°Œ<˜#|ô gÞûtãiW hbëGR^`%üZ$ëE"ȶ0 ¡U$ÏLçR¤‚¶�}ÿ£žÐ�«Ç!óî�ó~Ìwbÿ” ø�udîƒÇšNò²ÐØ£Ä!/kbÄöšûFæ«© ÅÍ=Õ3Pˆú^®‹^úR`%J©Ú[ÉŽR  {B 2­<oŽ��·ò�©$ýB—³ JgÃüëP¯ÆüNfªt›øz Ú5ÁÎÌ_J›^è§:;ºý^^`p”ž!bÿ,jdëe�Æ fš<¯úc�'uüÔ0é'œwxPô§¾'ãüí<Ü+þÀïTI±x´r¨±LY`}…¶FθV¹'ü&±n$(wHc !YÜ÷zÑ;cá–ˆ½?÷¿�wÞ·hó¦RÅÐLþCÆ'®P²4¬��RN楨Ìä9Qöj<1iÁüB+„F-ù‹~ä541°èq›Ë.­
­FE!جA<ñŽ!+’3LØ\Øîlà�n¼e"�G¡0¨XÇŽR?DÜh
¨ç›nÐàøFš÷µ.‰³îMŸÑ°’¢ °hF¾äûõ\)^$l€'>¹Ubŵ!ýìÞ€¹˜ƒ7aAÝæÉxGŽèïÔ²XµCé:;ë·íÖ…ŸO®¡‹¼Ç@1Åå¹N¯,÷OP`Ùy»{kšÕÞ!£ËÖ¼aN[:ñVÀk…@º) ÛµÁB©Ü”ßS8¶.wÎÕG¼0ÃíY
Ú…¿µàSnD­!+ÁíY ªÐò–®ï‡µueCq"¯Û‰4ˆ“x㋪¯;mÇ�8¥Ã=DW€¸KÛÓÀ±' ²Ó/g–Ç^"NÄíé­bÚ&xŸÐÍ£U䩼R'c£**¥DÇ*ÄÏÖ0„â <[à>} ¢d—nþy®7àd‰´0Jˆºè‚¡vÄ�ç¡É_óiˆx•}Üðña *Zóg´vŒY=,ÔàJÕÒæ£ÍyH2râà\î˜� •ͱ9;Bή+"PjK+:m�D�Chý:â/”¨ôR
ny×À§:L9Lž¼P.ÇŸ­hâ]cXû¡z‚Þ‡®¬Øo¸N0C�V9Ž^àßï *¨-_–ÓÉ#eÂ{•ØdöÙÅ«º!ãð%~Ìjja?CwÔO]}ý~¥‹I÷lSZä½Ç\üO ƒãÇ_Àj æ[5^Û�‰ÜØ_%_c@·fzi^A\ÿu;Ê#ò^LÅ€‡„qº›!ÆÇŠ`÷Û9<3ŠË½½§©„‚2¯iû²êUož«ÃÆ÷*/ ¥1³'¢˜·Û:Ⱥx}á0)P‹t�r}þûæáhjÒòD ¨:f7iyø„9Ê2K5×àT²(LGŽ+×,@úKj¼lëÍ”éOº†‡9�r–õ›7.õ0ƒ±³âß âšˆþL3/ Ω[ˆ5ÂY*å®3¡CY�“*'_þ¤,ùkFÆ$¼«‚”j–3ºÝÉp�¸üÞßpŠLó4𛂗jåIyhEP6�ÔÀJÀ’ËVÇA@s·2’�ˆ“4¿çïâî}]\ÛCC�X~µf«ì#tñ¿h2¼ªKV-L76 (4cd5À#¹'¢/ÎÓ̼1<»@T,ïé|15±ÀóiG9ry«ZUà:CÅ[®¬µÿãLrÎ0tΚ·wà5p�–�ëi÷€†Úu‚¢ÉÏŠ‚tšò/�„ØtÚë¶|¿»•cÝ/J˜�!ø,øMóœÄ×í¡7òâò:<mVÈ�¾²8Dd”0êîÚ?çŒ÷¤”
�&6ÎMf˜‡Šú a—ZÄ4Â\«y$Í¡'%«»êMèï˜d Gßúgr·¬TÏi¾Ö‚ãîµ½�”iTÞai#‹J‡f?þ´â⬻Ê&iË çË<«ÆT/ºô¶€æ¢œÝ&ªÉŒƒ‡Õ¥|H;æri[5»–­à«ô*Œ �©“QÂüƒß‰iè0«CÚƒù¹�GáüX,úNÔ” JÄ�Cˆ£‰5`ÿ É_@e¸_ðÞãjå dE*•×sƒ£¥VþDÐ#]¶Ú�ÎŒÐùÜ¿LÇ;¢Ïkñ—Í:1h©¯mt;K÷À€ÿóI’èC/·IªFì?3ÇýØpŸÀYhmùÎfðËÝf’²Dk±Wdu=ÙD©¢8ÌËAì»’vÐPtwßn4ÇlC¶³Æ)£Zã•i�„°â�4QQÔ�XI/Úc!+VþBý×E<Ê-艫^qPc=—µv²7ˆ…×H¸~U;‹ª}3ç—MÇ„h®ì1‡çAL¸DŸ¦½ucAœû©ÇæËiHùEº©ºR© èCM ùàþ#ñ`‰‹·ÀÞ�ö“W° Içp,h�ª¥ädQ$û ›(lN—F¾Å;ñàj;œ¸X@cè­5@G‰³¾YzæÒÖ™�4ðh†)§ì/¸sݨ‘Ùyá\ßcäV¥ÙL1Ïåz?·Øî‰€`�ƒ‘%;ü_rîp«Ï“ɳ1«õghctXk …‘‹ ¶å_¿=ƒdÊEÏ*Ì�«vð¡G«>9¬¤¶)ŸÅ«(]諨)æ�½Õy»:‚›ÐÈ|{2 ÅÔ�+´[n·ÃèH¤�Áèã¡Ï*£y÷¬`)Þ_x'ÿÇ<;8Ñh1"°~í¢`.GÙ‰KÁå0u© ³%•‰£ÝÅK(côXGÅAåC’úET§—II™¼—}Ë µ’“IBñóY:•à”]w¯ØYy­|ªÈ”Az®³ÄõåjÍþÆuƒ…5z^žlzbP÷óó¡–@Š,MÅõ»£ì�˜íŠ×xü÷Šsìà\üT¿Ù*’RÌ?`Pw|†‘<±Ì·�¥gÃF�ö!×t 1—zb{ÇÖê&®ÿJ5âݎË<¿ÊŒÐ˺eúýã±e©Ñ„W‚a‹(x~¬ £1ìf•¬—uò˜ä:±%%R½N¹õi+‰²�;|’Ûäã…ªŒ¬oȾû»$…ÝÜñy8C6»Óô2Ÿ!´æ£=¶‚ó‹£m »“‹ÉŒˆÈ cB7},lðÈÍ#.œÅ ˆÕáÓ/r=Ǻ”cðÊÆ›ÙKYA;^ ë´Å;„1ÿt¡Õkê‘'tæ^àû�e4<1¶é b°¨õù‰xa0²€ž"ï&r.Ó�ð† ã™v.Éï›ül8kiz)¤µÁìb-°Ø�]¯IÊ\ö
‚�&y-|ÌYñêÔçz‹î~—/BÞ'™›S•OÓ>î0à�C ÄΗ G•T�³jaV³›b(�.>øØè+B˜Q¹ ÄG€ �Z"9<çƒîë.a¢vXääתE�µ ¤…fi£1nÐm¢‚\ÿ½×év¤é89ù†°ÝqÁÖTpÐòLžÜ{µ¹‚t8üê&b¯�‚S³w²°Ýªp–ØsX’­íÅ'DZÖ]#3Õ†Ú"¹áðnzžš2¦~ÎSï´)w/Œª(i;ÉÌÀ¾dm¾ªÎÉU�4e÷Ù¼ê±k¦KÀ:�ð„B¡ûÃÁÈHÒýÍ4€�â—ÅH5¨]ª@!7
O“šõ®w¤N«““ûdÍxì²^.Ó¯w³ }.”w¸<ïWØhí¨\EAçQG-‡ 𳺌¨,˜h‚H|¦ ÐÔù²lÎäñBH¶ñ¯ø`q‚ÃU+N�HŽÆQŒ"© {Õð»Oü'••R}·ü=Ã&æ‹ €«6ÿ Ét¼º÷)j‹®+œÚ<I²„;‡Ü¼ý=ÃMΘk’8�ÖÓUWÁ%:–»€ç€�CùT¶ b9Q<<G~A¤nQ&m®óƒf:�@³êr>“j~άr�Ñ8M&¶ÓÌÒ�¾}¶%B\«!5¼Í"Ù`úš½¤Áµ·A
'´.3HŒDï‚uÚͳ«^™œ’¸Ìj©|µ—Ütå« ¬^¹÷*˜±#üTXi{ �U#D,tþ6·"µÊa|.ì¥ø6¿DòŠ’²à'-ƒ®C”êL7Å�¯lÓã]GïÅ!Dþvºœwˆ=²9®ª<`Ô2¶º#pÅBCÔÛv˜lD33=af{I—5hˆON{ÿÐj|WÞŒþB Ö­„+�þ£ÛÑ!°#.ðÕc#ÍUãë40CúHÅFæOðP/Ï2Ö(@§d¢H�Ó÷|’ /¨ñ«­lôââzU@yà'iq±Q�Â ÍÆ‡ooªX+`·1¤ fÃtHW4F¥Ï¢Ûø1¤ëT‚xÑ‹‡L9>Ë&¾̢Ȼï²>»VÆ8íOäB ÿâp{æÝ=çB6óͿܞ§“Kó!Iº°ü� Y ɻQgÑs[‰ulmå@_áKv k
‚ÆrÃXl‡Í<º#Ms¸u ›ZÈ9謪`‚äjEu_Ã6yØ ØÏÔ²HIo'2¯P½Íoº%ÐmÒW¾Sln>ÑIo~K±ã+bMûæ·ulH�r�þºžh\ü”»«1ªÜqâ’
1¯c*y2ZU¶zB˜4~1mtÿ$žAÎa2Õ®5Òù3{Ýr×Vz¡¸ÂÄ D(Žb+uYu9ûxc‹*ýñb]0rêSÎl%ˆ™St¼!u²îûz¯*jø‹¼ Õéþ3¾Æ9 ûÍø~ªN�HËŽmm®–ÔÝ껵øÙÌ�Y»WF-Ð
›Úމp´;twÔò}„E-Îù1®ò,ù¼ÿwåJg…–ÿEìR::Á|åT,Óe$áÛã×cà3øj`*’ÖUÉU·mĶ€›—ÝÂý“´�ÜÞ­ø¤Ç…›C¿r¥}'«aim)%2¾^¾‚¥%•)á$wn òf#u§¾P\ñÊv\€Ë*Ü9+4¹'5ev(û Ïi>aÌh!‡=zÉó‰J¿ZÖ±á½û¨_†òh{ñNAþ#€ |kÏŠ†õ[±Ü\m;ãsú&ì{�ºuì=Ôg5T*´|R="™Î
XÓÖ}ަ+Z°"¸– ò?CjObƇ€}Ò‰nw�W&ÜÉ»‡ùèÿ¡Äu iOK®Èµ¨-*2]»WDlMÍ7¼^€ú*ÜPª
ØP51Ćä…‹dZ¢ó`ű§Ý@=N(ÄÎ�¨‘††­¶ ‘Ášþ ó~ç{`æ¯BÜý½Ø–¨¼š¾Þ|z!Y(#' ˜nwÌ?aÔ£ü#&°{S�0àÒ�䜞 ýçì!4¨gMÏ”(EØXcý¸Îy6,qøof¢Ò+6wi@æ¢)^§

Some files were not shown because too many files have changed in this diff Show More