From c1e3b956c3067d6812b009c04e1e6f688cd55e19 Mon Sep 17 00:00:00 2001 From: feilong Date: Fri, 10 Dec 2021 17:43:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config.json" | 6 + .../config.json" | 6 + .../config.json" | 6 + .../config.json" | 6 + .../config.json" | 6 + .../config.json" | 6 + .../config.json" | 4 + .../config.json" | 6 + .../config.json" | 6 + .../3.\346\240\207\351\242\230/config.json" | 6 + .../4.\351\223\276\346\216\245/config.json" | 6 + .../5.\345\233\276\347\211\207/config.json" | 6 + .../6.\345\210\227\350\241\250/config.json" | 6 + .../config.json" | 6 + .../config.json" | 6 + .../9.\350\241\250\346\240\274/config.json" | 6 + .../config.json" | 4 + .../config.json" | 4 + .../config.json" | 4 + .../config.json" | 4 + data/config.json | 5 + data/tree.json | 151 +++++++++ main.py | 5 + src/__pycache__/tree.cpython-38.pyc | Bin 0 -> 9300 bytes src/tree.py | 310 ++++++++++++++++++ 25 files changed, 581 insertions(+) create mode 100644 "data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/1.Git\347\256\200\344\273\213/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/2.Git\345\256\211\350\243\205/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/3.Git\344\275\277\347\224\250/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/4.\347\211\210\346\234\254\347\256\241\347\220\206/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/5.\345\210\206\346\224\257\347\256\241\347\220\206/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/6.Git\346\240\207\347\255\276/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/1.MarkDown\344\273\213\347\273\215/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/2.\346\256\265\350\220\275\345\217\212\345\274\272\350\260\203/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/3.\346\240\207\351\242\230/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/4.\351\223\276\346\216\245/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/5.\345\233\276\347\211\207/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/6.\345\210\227\350\241\250/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/7.\345\210\206\351\232\224\347\272\277\345\217\212\345\274\225\347\224\250/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/8.\344\273\243\347\240\201\345\235\227/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/9.\350\241\250\346\240\274/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/config.json" create mode 100644 "data/1.gml\345\210\235\351\230\266/config.json" create mode 100644 "data/2.gml\344\270\255\351\230\266/config.json" create mode 100644 "data/3.gml\351\253\230\351\230\266/config.json" create mode 100644 data/config.json create mode 100644 data/tree.json create mode 100644 main.py create mode 100644 src/__pycache__/tree.cpython-38.pyc create mode 100644 src/tree.py diff --git "a/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/1.Git\347\256\200\344\273\213/config.json" "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/1.Git\347\256\200\344\273\213/config.json" new file mode 100644 index 0000000..294b736 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/1.Git\347\256\200\344\273\213/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-62c30f9c31f64a1d96af732c47c93f04", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/2.Git\345\256\211\350\243\205/config.json" "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/2.Git\345\256\211\350\243\205/config.json" new file mode 100644 index 0000000..0fc69c4 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/2.Git\345\256\211\350\243\205/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-17121b66f9a942629bc455f320b28910", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/3.Git\344\275\277\347\224\250/config.json" "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/3.Git\344\275\277\347\224\250/config.json" new file mode 100644 index 0000000..cf21bd1 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/3.Git\344\275\277\347\224\250/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-598d225d1a78453d8992345f8f7902ba", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/4.\347\211\210\346\234\254\347\256\241\347\220\206/config.json" "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/4.\347\211\210\346\234\254\347\256\241\347\220\206/config.json" new file mode 100644 index 0000000..7d97b0f --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/4.\347\211\210\346\234\254\347\256\241\347\220\206/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-f0d68868583b48d0851c7add33e2f8ff", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/5.\345\210\206\346\224\257\347\256\241\347\220\206/config.json" "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/5.\345\210\206\346\224\257\347\256\241\347\220\206/config.json" new file mode 100644 index 0000000..0babf8a --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/5.\345\210\206\346\224\257\347\256\241\347\220\206/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-5b37ae204b1f4183b1a2853f32698407", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/6.Git\346\240\207\347\255\276/config.json" "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/6.Git\346\240\207\347\255\276/config.json" new file mode 100644 index 0000000..09beccb --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/6.Git\346\240\207\347\255\276/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-7b2351b6989f4ec19655498bbb4bafb1", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/config.json" "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/config.json" new file mode 100644 index 0000000..6c4f264 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/1.Git\345\205\245\351\227\250/config.json" @@ -0,0 +1,4 @@ +{ + "node_id": "gml-426d7dad0f844c6d9bc1d6c4c860585c", + "keywords": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/1.MarkDown\344\273\213\347\273\215/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/1.MarkDown\344\273\213\347\273\215/config.json" new file mode 100644 index 0000000..dc01f75 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/1.MarkDown\344\273\213\347\273\215/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-e67e64c1c880432ab6bc1b0452124ec0", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/2.\346\256\265\350\220\275\345\217\212\345\274\272\350\260\203/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/2.\346\256\265\350\220\275\345\217\212\345\274\272\350\260\203/config.json" new file mode 100644 index 0000000..99e7b72 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/2.\346\256\265\350\220\275\345\217\212\345\274\272\350\260\203/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-627f564073834c8d86e45f126ac628df", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/3.\346\240\207\351\242\230/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/3.\346\240\207\351\242\230/config.json" new file mode 100644 index 0000000..bf43f50 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/3.\346\240\207\351\242\230/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-30e9989f9a5f44fab349734a8e4479a3", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/4.\351\223\276\346\216\245/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/4.\351\223\276\346\216\245/config.json" new file mode 100644 index 0000000..4570191 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/4.\351\223\276\346\216\245/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-3cb459e3d1a147a8b89291c1ef4147c7", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/5.\345\233\276\347\211\207/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/5.\345\233\276\347\211\207/config.json" new file mode 100644 index 0000000..bf5d39e --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/5.\345\233\276\347\211\207/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-2f1e2810b721429dba664414438b6d87", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/6.\345\210\227\350\241\250/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/6.\345\210\227\350\241\250/config.json" new file mode 100644 index 0000000..288ef70 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/6.\345\210\227\350\241\250/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-b4a4f06aa5114c3fa6a590d659037370", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/7.\345\210\206\351\232\224\347\272\277\345\217\212\345\274\225\347\224\250/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/7.\345\210\206\351\232\224\347\272\277\345\217\212\345\274\225\347\224\250/config.json" new file mode 100644 index 0000000..af4ddfb --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/7.\345\210\206\351\232\224\347\272\277\345\217\212\345\274\225\347\224\250/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-b6b6f01fb86141768c5b242327f1e0fa", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/8.\344\273\243\347\240\201\345\235\227/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/8.\344\273\243\347\240\201\345\235\227/config.json" new file mode 100644 index 0000000..e7db553 --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/8.\344\273\243\347\240\201\345\235\227/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-2e87affacacd4078a3ba55a5a15a8f7a", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/9.\350\241\250\346\240\274/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/9.\350\241\250\346\240\274/config.json" new file mode 100644 index 0000000..5e46ffd --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/9.\350\241\250\346\240\274/config.json" @@ -0,0 +1,6 @@ +{ + "node_id": "gml-11620ba793c74faa9a5117ca07d748d6", + "keywords": [], + "children": [], + "export": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/config.json" "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/config.json" new file mode 100644 index 0000000..7b8d40d --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/2.MarkDown\345\205\245\351\227\250/config.json" @@ -0,0 +1,4 @@ +{ + "node_id": "gml-e5b1eb56008b451699a9e7e6d941c8ca", + "keywords": [] +} \ No newline at end of file diff --git "a/data/1.gml\345\210\235\351\230\266/config.json" "b/data/1.gml\345\210\235\351\230\266/config.json" new file mode 100644 index 0000000..b05d3fd --- /dev/null +++ "b/data/1.gml\345\210\235\351\230\266/config.json" @@ -0,0 +1,4 @@ +{ + "node_id": "gml-3acda6f103e94664800f91494aff4099", + "keywords": [] +} \ No newline at end of file diff --git "a/data/2.gml\344\270\255\351\230\266/config.json" "b/data/2.gml\344\270\255\351\230\266/config.json" new file mode 100644 index 0000000..a4e8967 --- /dev/null +++ "b/data/2.gml\344\270\255\351\230\266/config.json" @@ -0,0 +1,4 @@ +{ + "node_id": "gml-a94f8931a29e42749c65af33b5f00ffa", + "keywords": [] +} \ No newline at end of file diff --git "a/data/3.gml\351\253\230\351\230\266/config.json" "b/data/3.gml\351\253\230\351\230\266/config.json" new file mode 100644 index 0000000..6cc25fc --- /dev/null +++ "b/data/3.gml\351\253\230\351\230\266/config.json" @@ -0,0 +1,4 @@ +{ + "node_id": "gml-ec7eb3a512204261a14eafc36bc55188", + "keywords": [] +} \ No newline at end of file diff --git a/data/config.json b/data/config.json new file mode 100644 index 0000000..7dfbabe --- /dev/null +++ b/data/config.json @@ -0,0 +1,5 @@ +{ + "tree_name": "gml", + "keywords": [], + "node_id": "gml-2edf9242568f4812bda2dd5913c09bd3" +} \ No newline at end of file diff --git a/data/tree.json b/data/tree.json new file mode 100644 index 0000000..cf1248d --- /dev/null +++ b/data/tree.json @@ -0,0 +1,151 @@ +{ + "gml": { + "node_id": "gml-2edf9242568f4812bda2dd5913c09bd3", + "keywords": [], + "children": [ + { + "gml初阶": { + "node_id": "gml-3acda6f103e94664800f91494aff4099", + "keywords": [], + "children": [ + { + "Git入门": { + "node_id": "gml-426d7dad0f844c6d9bc1d6c4c860585c", + "keywords": [], + "children": [ + { + "Git简介": { + "node_id": "gml-62c30f9c31f64a1d96af732c47c93f04", + "keywords": [], + "children": [] + } + }, + { + "Git安装": { + "node_id": "gml-17121b66f9a942629bc455f320b28910", + "keywords": [], + "children": [] + } + }, + { + "Git使用": { + "node_id": "gml-598d225d1a78453d8992345f8f7902ba", + "keywords": [], + "children": [] + } + }, + { + "版本管理": { + "node_id": "gml-f0d68868583b48d0851c7add33e2f8ff", + "keywords": [], + "children": [] + } + }, + { + "分支管理": { + "node_id": "gml-5b37ae204b1f4183b1a2853f32698407", + "keywords": [], + "children": [] + } + }, + { + "Git标签": { + "node_id": "gml-7b2351b6989f4ec19655498bbb4bafb1", + "keywords": [], + "children": [] + } + } + ] + } + }, + { + "MarkDown入门": { + "node_id": "gml-e5b1eb56008b451699a9e7e6d941c8ca", + "keywords": [], + "children": [ + { + "MarkDown介绍": { + "node_id": "gml-e67e64c1c880432ab6bc1b0452124ec0", + "keywords": [], + "children": [] + } + }, + { + "段落及强调": { + "node_id": "gml-627f564073834c8d86e45f126ac628df", + "keywords": [], + "children": [] + } + }, + { + "标题": { + "node_id": "gml-30e9989f9a5f44fab349734a8e4479a3", + "keywords": [], + "children": [] + } + }, + { + "链接": { + "node_id": "gml-3cb459e3d1a147a8b89291c1ef4147c7", + "keywords": [], + "children": [] + } + }, + { + "图片": { + "node_id": "gml-2f1e2810b721429dba664414438b6d87", + "keywords": [], + "children": [] + } + }, + { + "列表": { + "node_id": "gml-b4a4f06aa5114c3fa6a590d659037370", + "keywords": [], + "children": [] + } + }, + { + "分隔线及引用": { + "node_id": "gml-b6b6f01fb86141768c5b242327f1e0fa", + "keywords": [], + "children": [] + } + }, + { + "代码块": { + "node_id": "gml-2e87affacacd4078a3ba55a5a15a8f7a", + "keywords": [], + "children": [] + } + }, + { + "表格": { + "node_id": "gml-11620ba793c74faa9a5117ca07d748d6", + "keywords": [], + "children": [] + } + } + ] + } + } + ] + } + }, + { + "gml中阶": { + "node_id": "gml-a94f8931a29e42749c65af33b5f00ffa", + "keywords": [], + "children": [] + } + }, + { + "gml高阶": { + "node_id": "gml-ec7eb3a512204261a14eafc36bc55188", + "keywords": [], + "children": [] + } + } + ] + } +} \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..d9c6c02 --- /dev/null +++ b/main.py @@ -0,0 +1,5 @@ +from src.tree import TreeWalker + +if __name__ == '__main__': + walker = TreeWalker("data", "gml", "Git,MarkDown,Linux 入门") + walker.walk() diff --git a/src/__pycache__/tree.cpython-38.pyc b/src/__pycache__/tree.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f769f2142b67da7ac1a425a8aa8400139b37cf3e GIT binary patch literal 9300 zcmds7-ESP%b)S3ZV`rC3a!FCNC@T(a$EjA1Nw<+x*Hu+DwHdo{H%=s1%GktqwRgB& za=E*_Gpmp7&06Py|R|J6Ix3S^`Cq)&)|e$$S5TKFn(?e?0Y}Kp%`G?(dwL z{S@W8$Xl0~JNM4Lb7$^3zkAN_oZ*Yp(>Vjbv-iJM`Ne6&_;+fI{!BD3;0XQ^g))?A z7+!J~p5V6hB%e*s3JLmE#QUo^gCe9ySZ=PM8sUO<*& zp^H{*wc36&wzh&+GqxM8iV9*&`xRA`v1rF)Vx7)fWR_2df)?z0qpcR-g8R z?XcBeRsOZrYM`2{m0!Ghn7O|~5JMExo>kPHT z7M@G*Q*Ld?ZtEKEuPa}>=wr1d1tBHQ(v2+VMKpr~3X-#hKSvfs4u`%U*T!&0k9Tme z$UlopU*t+0NFa?AU`FCV1fNl|X4J)=46R5+G8M5Uj7VOD_#?3o*fa8+()&}@R&%3X zTVd3>+y2e#EvojU!pdbIfR%ITFe#rFtK zdWH(B6`fdWKXwAYqN|&+S#O51UDK^jTQAU<<21&Og-TJdnnR! zD7GMp$cQXR#^#n4+1QuoBeQ4YDkQMGpv*nFyMUeg0^}f+JjdWDTBSAG3GJ2+FJa|o z%@2pF*B{4YS@W?|X~R}246&|O0^c*M8@1TlXjE!2=6rjg&tSBd_0hw4n3P1my6IQ9 z%gN}cFg7508oUb%42QgQ&~k-d#q}z6j{ZzEF5n1$fWkM()xgc1R=_(P0GkyUe2X1| z;n}G}a8iemNgaZlxC1W>*D;6jIW@12;XI`l)N!2iYEj*X^RzmlmT;a?C)NEp&#F`E zV>lPo1M1^AhgAkOpZA@wlM$J8g(BRDUpPpaR*`8d0pVw}4KTYI_E*!Fd)O8V^o zs80H3{gOB$SktmW2rr8WeskN^CnDLD(3eq`bvT(a5X{#f4=r4Wl`W%v(Kr+(AkrfE z!GW||0Bl$f8)%TB*YlX1`UAhQp+AjAoTcjtT+dS5gbkcjms>8^n{XWE=P)8*MgXKb zVjf5L*l<-V{c&SEm@LP@U;G93Rb=#x17i<6ScxU9QpqKw25;~Na7ioQq8@9>04@#q z74{dXVeMNMT9W(-Oq;!A?2D(3+hRTcvfML)eg|G8bAYSLSu%isYP*BBL;j^V#j}_y zb07I7H?m(h-ZZgW;E(WxOys2VJN^0B|DI=eF`GLwdzRb7*>maa8R)A&cQ&0H&+O%+ zsVJAuog2(u;<@vfD?c*#bUN46$XwIuTr=D^9f29$7CMKSXQ(b9huz%n4|hw$RjMr3 zH5<-Gvm{f1AAIOlas_C?_T@`)hRk%iuJp&CqeD{@_P8Fq)y;ZCX}_s|o35Rsf{o)t zsKsKX%eZ0BaY;XbYsErJAqaH(2^uxUl!BR55KnWXx>;$%g$611{ALGcvJwKG4S3Jk zf)9clzE){;{9wZPq%#CQXj-co#CAP^p^XcvQ}J*3x>^r#8+p%SL4O9P^fB~GFuTgf zP2d7Iz_5tkc~g8UCmSS}G0+tY5Kw$_M_RtaXmySInal)Ki&gb;wJ75p2au2d7nl>O#4P+ht5cx*ze zhayoQ69}eFxpM@NYHO!`ewXGa66U~Yc0V<;vH-5DOx~BquAFPMs+C4?9+m#BWA96F zrgy$b^AS}e>b^uaRF)E~)8h|CY=QOdOe)Ad*Qo4VRh9D^gZ>ML(LM7~UM0B+vzov< z#9+}&gF_KqV+$`2{A)kxG{WSG)~UnCbmjCVowvI z0u~{eO&MFTvtSYD_e{`9;_cv2!9%+RZrQLI@IJ67@H9Qx)dK;`W$!s)Tbam?oDH_p zy9M;RJQj9(Pcn!A76K7$x(SO;mdCmqIHXTj1Q7uSPM#fvv1BB$0VK%uuu#BHzeM#b z{R@exNJ{!e6kowHM98RGMl8}%_+UF%%(CT)GXxtbgpCMuT)jq5ASM*g4rk&`u0O?B zp*g}}-*^@?367sdr{^S=Q2!B4LQFO`Vg6z#p~DmS(!Y-Z9UKE@RKQ-B(DV!_BKEcD zE{k+;a3l`L2PN4t2i+y)v%l9OP8!Tl6S0)R}hQc97jl~Cjv2*f6`3}8E;114bZ zM41%W)SJOwv<1u*)+WOmoO3{+$LtH)mj4yjx`I)OIIa$AL%|T5zk_3l=23e$=2GvC zXE*VrRhpm3SiiuIHIHB1K zxON*ys#y#0rD%^poF@>Enyt}y3I6}<_4_22BmEc)qEB>w4ZZex2M6P1pzhXd30FP0 z|Ey$(ZqrE8sFz7QCbjwuI^V$Yk+s@?z?fDEDzszS8PRmiGKhD8YY@u_k-;E}zy1o* zWE>Vqy^L(ise$ApMA&meYs9K`N4HlIZXA3eJ*IeyKU;ff}_gxT$PD3 z916H7vv0xzaKa!Z-31-8cLlWYRPTicU+{YxSn*v|B;wt4WBE1^GK1 zDMSj)Q%{Ifi0Mya`;VFQiIpE|MHwW^m~f1(fL+2cbLtC<%2Ncae-nd>)`-pfG%n~m zU6s5(&j~tL$+5FmxL|@c+s{v>R_-m_!W+~ef;H-cCI*hZu#LMM9Q?vfR5&|FVJ-Xy zyhoC)Lv{}I>H@CX#CCel0TMYB03$J)qu8iV)%+$q0tyQ$l;R{`Jd-Xt4H%L5 zWTY(90Cw;zR6EMIpGU_}a0Dk%kRrgN#Ibz0IQoHkGQqtCLIm-i0y*CoNDU+sLb3i&LfK@Y*hAQj3B?);CCRLu z!JB+k@${W~vbsAYo|7mNv_L%c_Y24Qa1o79GA1JO$izz6etiQKN;YFhiS10Vk|gU8 zLLh|%Z)wtJ9i3hc<+h`rhuGkqAuQt6{1K<0WL6e}4uM2GEFLGU&)l7|!`(>94LG=L ze>HNDtiFOhEI47GDXp>a-WQKu8fK-6**F)36&(iG>&T_BA#>`g93X{F+cGvQO6f;Y zOWfhpRHF^r=eUDy={ZgRI!vEua}4L@_>?eXl1wbh6S(Dh{u^BZrNJnN?TUpDq|E(F znl3^a7oRmKSA)Eb>@MAn*3_bo`4IB)109epfV}xL8hukdfF~iA1KWf|#ZC0W+wqdE zPN%M7o657Xx#{1~m(V-;z9f(go)A!gVvNU;BgTIW6d8;pAIYHTqSAe;zjIhwFd5|F zpmMl1f$u9lj{Og0O4{)40T}>9l9%D3EhBWcb2=2DZ^G!F;yW`6UL26Jkd37ooUh@d z=@W*+m{*)D>319ca0P=rpg$eb$vdzA@XpV_wfs_t0^IfGcmMW#Z-4jpoxk~qcmL`8 z|M|0Tyz?)A{q}cn{l`DQdgu1n-+t>`xN_&UAHBQ(^S8hKqj!Gx(>p)@=AECucIUO9 z013nITz1fI;H%#}=F{ZD^&=?a>@zp2ew(t7`WV{%;GT{99*w$4MVks@NIYm#_!J%I zNceP@fxSv$JqPt-L3ZySg~vpCY)l{I2#IL0K7O6JUXxdVmA;OXrkCrxEDi#ATad41 zd>!fDx6pf>7DU40&>f$$l3XQ1_e}TH$dX0_yd-#M2-1!C(V7Tnyrv7Nz!-dlTm>>v z2*JsuDC-S#G-pAsd*FQ%W5J0FQ{TYsyxPPj>{D~x8)fc`jVPM%Dl;B4<(s4_z>)xJsZZ?-p=U7(4lVxTQHFH%`VI$XTu(5 zA2e}yk@p6&G~`RXseU>frtA{J0bVfMzX8aTEWi{->sP4w3Kd_af>>Xg!SM!}Y)(=W z9%A8Z0*8k$-bu=RQgoj~?<$FI1{Hz?;oHR@X#W_(lkf5UX#$wDQgJcH*Cq-^%H=p$ zF7LEdr$P06xxCw{@V{h~%ldaPv3`MyKc#|_Wt>FP7pV3O6+RW33Sywl{}Yt6EXeq? zYe--~C}x#wdijwB4Wa}6I69ui!5MNG_Kdsi+U~SF>a!^4TodiQJHz)B z<=R^DB>&fdm!W?!!2c#BrsiRK)B+Wx0Q|cFyw#tf=4J8e^?CkR1pVjKO