From 62f1acbcd301ba46b5907c6f52dc38640ce4fa87 Mon Sep 17 00:00:00 2001 From: Michael Zhang Date: Tue, 6 Jun 2023 10:14:05 -0500 Subject: [PATCH] db --- .envrc | 3 + .gitignore | 2 + CREDITS.md | 2 + package-lock.json | 184 + src-tauri/Cargo.lock | 631 +- src-tauri/Cargo.toml | 3 + src-tauri/data/kradfile | 6462 +++++++++++++++++ src-tauri/database-maker/Cargo.toml | 10 + .../migrations/20230606142333_initial.sql | 1 + src-tauri/database-maker/src/main.rs | 32 + 10 files changed, 7326 insertions(+), 4 deletions(-) create mode 100644 .envrc create mode 100644 CREDITS.md create mode 100644 src-tauri/data/kradfile create mode 100644 src-tauri/database-maker/Cargo.toml create mode 100644 src-tauri/database-maker/migrations/20230606142333_initial.sql create mode 100644 src-tauri/database-maker/src/main.rs diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..287881b --- /dev/null +++ b/.envrc @@ -0,0 +1,3 @@ +strict_env + +export HOUHOU_SRC=$PWD \ No newline at end of file diff --git a/.gitignore b/.gitignore index a547bf3..23771aa 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ dist-ssr *.njsproj *.sln *.sw? + +houhou.db \ No newline at end of file diff --git a/CREDITS.md b/CREDITS.md new file mode 100644 index 0000000..4f9059c --- /dev/null +++ b/CREDITS.md @@ -0,0 +1,2 @@ +- [Houhou SRS](http://houhou-srs.com) ([CCPL](https://github.com/Doublevil/Houhou-SRS/blob/master/LICENSE.md)) +- [KRADFILE](https://www.edrdg.org/krad/kradinf.html) ([EDRDG](http://www.edrdg.org/edrdg/licence.html)) diff --git a/package-lock.json b/package-lock.json index 0d41bde..9888693 100644 --- a/package-lock.json +++ b/package-lock.json @@ -486,6 +486,134 @@ "@tauri-apps/cli-win32-x64-msvc": "1.3.1" } }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.3.1.tgz", + "integrity": "sha512-QlepYVPgOgspcwA/u4kGG4ZUijlXfdRtno00zEy+LxinN/IRXtk+6ErVtsmoLi1ZC9WbuMwzAcsRvqsD+RtNAg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.3.1.tgz", + "integrity": "sha512-fKcAUPVFO3jfDKXCSDGY0MhZFF/wDtx3rgFnogWYu4knk38o9RaqRkvMvqJhLYPuWaEM5h6/z1dRrr9KKCbrVg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.3.1.tgz", + "integrity": "sha512-+4H0dv8ltJHYu/Ma1h9ixUPUWka9EjaYa8nJfiMsdCI4LJLNE6cPveE7RmhZ59v9GW1XB108/k083JUC/OtGvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.3.1.tgz", + "integrity": "sha512-Pj3odVO1JAxLjYmoXKxcrpj/tPxcA8UP8N06finhNtBtBaxAjrjjxKjO4968KB0BUH7AASIss9EL4Tr0FGnDuw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.3.1.tgz", + "integrity": "sha512-tA0JdDLPFaj42UDIVcF2t8V0tSha40rppcmAR/MfQpTCxih6399iMjwihz9kZE1n4b5O4KTq9GliYo50a8zYlQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.3.1.tgz", + "integrity": "sha512-FDU+Mnvk6NLkqQimcNojdKpMN4Y3W51+SQl+NqG9AFCWprCcSg62yRb84751ujZuf2MGT8HQOfmd0i77F4Q3tQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.3.1.tgz", + "integrity": "sha512-MpO3akXFmK8lZYEbyQRDfhdxz1JkTBhonVuz5rRqxwA7gnGWHa1aF1+/2zsy7ahjB2tQ9x8DDFDMdVE20o9HrA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.3.1.tgz", + "integrity": "sha512-9Boeo3K5sOrSBAZBuYyGkpV2RfnGQz3ZhGJt4hE6P+HxRd62lS6+qDKAiw1GmkZ0l1drc2INWrNeT50gwOKwIQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@tauri-apps/cli-win32-x64-msvc": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.3.1.tgz", @@ -1645,6 +1773,62 @@ "@tauri-apps/cli-win32-x64-msvc": "1.3.1" } }, + "@tauri-apps/cli-darwin-arm64": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-1.3.1.tgz", + "integrity": "sha512-QlepYVPgOgspcwA/u4kGG4ZUijlXfdRtno00zEy+LxinN/IRXtk+6ErVtsmoLi1ZC9WbuMwzAcsRvqsD+RtNAg==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-darwin-x64": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-1.3.1.tgz", + "integrity": "sha512-fKcAUPVFO3jfDKXCSDGY0MhZFF/wDtx3rgFnogWYu4knk38o9RaqRkvMvqJhLYPuWaEM5h6/z1dRrr9KKCbrVg==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-1.3.1.tgz", + "integrity": "sha512-+4H0dv8ltJHYu/Ma1h9ixUPUWka9EjaYa8nJfiMsdCI4LJLNE6cPveE7RmhZ59v9GW1XB108/k083JUC/OtGvA==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-arm64-gnu": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-1.3.1.tgz", + "integrity": "sha512-Pj3odVO1JAxLjYmoXKxcrpj/tPxcA8UP8N06finhNtBtBaxAjrjjxKjO4968KB0BUH7AASIss9EL4Tr0FGnDuw==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-arm64-musl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-1.3.1.tgz", + "integrity": "sha512-tA0JdDLPFaj42UDIVcF2t8V0tSha40rppcmAR/MfQpTCxih6399iMjwihz9kZE1n4b5O4KTq9GliYo50a8zYlQ==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-x64-gnu": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.3.1.tgz", + "integrity": "sha512-FDU+Mnvk6NLkqQimcNojdKpMN4Y3W51+SQl+NqG9AFCWprCcSg62yRb84751ujZuf2MGT8HQOfmd0i77F4Q3tQ==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-linux-x64-musl": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.3.1.tgz", + "integrity": "sha512-MpO3akXFmK8lZYEbyQRDfhdxz1JkTBhonVuz5rRqxwA7gnGWHa1aF1+/2zsy7ahjB2tQ9x8DDFDMdVE20o9HrA==", + "dev": true, + "optional": true + }, + "@tauri-apps/cli-win32-ia32-msvc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-1.3.1.tgz", + "integrity": "sha512-9Boeo3K5sOrSBAZBuYyGkpV2RfnGQz3ZhGJt4hE6P+HxRd62lS6+qDKAiw1GmkZ0l1drc2INWrNeT50gwOKwIQ==", + "dev": true, + "optional": true + }, "@tauri-apps/cli-win32-x64-msvc": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-1.3.1.tgz", diff --git a/src-tauri/Cargo.lock b/src-tauri/Cargo.lock index 2c1b566..d6ed59b 100644 --- a/src-tauri/Cargo.lock +++ b/src-tauri/Cargo.lock @@ -8,6 +8,28 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +dependencies = [ + "getrandom 0.2.9", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", +] + [[package]] name = "aho-corasick" version = "0.7.20" @@ -56,6 +78,55 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is-terminal", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" + +[[package]] +name = "anstyle-parse" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + [[package]] name = "anyhow" version = "1.0.71" @@ -86,6 +157,15 @@ dependencies = [ "system-deps 6.1.0", ] +[[package]] +name = "atoi" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7c57d12312ff59c811c0643f4d80830505833c9ffaebd193d819392b265be8e" +dependencies = [ + "num-traits", +] + [[package]] name = "autocfg" version = "1.1.0" @@ -275,6 +355,48 @@ dependencies = [ "winapi", ] +[[package]] +name = "clap" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "401a4694d2bf92537b6867d94de48c4842089645fdcdf6c71865b175d836e9c2" +dependencies = [ + "clap_builder", + "clap_derive", + "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72394f3339a76daf211e57d4bcb374410f3965dcc606dd0e03738c7888766980" +dependencies = [ + "anstream", + "anstyle", + "bitflags", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "clap_lex" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b" + [[package]] name = "cocoa" version = "0.24.1" @@ -312,6 +434,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "combine" version = "4.6.6" @@ -378,6 +506,21 @@ dependencies = [ "libc", ] +[[package]] +name = "crc" +version = "3.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86ec7a15cbe22e59248fc7eadb1907dab5ba09372595da4d73dd805ed4417dfe" +dependencies = [ + "crc-catalog", +] + +[[package]] +name = "crc-catalog" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cace84e55f07e7301bae1c519df89cdad8cc3cd868413d3fdbdeca9ff3db484" + [[package]] name = "crc32fast" version = "1.3.2" @@ -397,6 +540,16 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "crossbeam-queue" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d1cfb3ea8a53f37c40dea2c7bedcbd88bdfae54f5e2175d6ecaff1c988353add" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + [[package]] name = "crossbeam-utils" version = "0.8.15" @@ -494,6 +647,16 @@ dependencies = [ "syn 2.0.18", ] +[[package]] +name = "database-maker" +version = "0.1.0" +dependencies = [ + "anyhow", + "clap", + "sqlx", + "tokio", +] + [[package]] name = "derive_more" version = "0.99.17" @@ -565,6 +728,12 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" +[[package]] +name = "dotenvy" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aaf95b3e5c8f23aa320147307562d361db0ae0d51242340f558153b4eb2439b" + [[package]] name = "dtoa" version = "1.0.6" @@ -586,6 +755,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" +[[package]] +name = "either" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" + [[package]] name = "embed-resource" version = "2.1.1" @@ -635,6 +810,12 @@ dependencies = [ "libc", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + [[package]] name = "fastrand" version = "1.9.0" @@ -685,6 +866,18 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "flume" +version = "0.10.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577" +dependencies = [ + "futures-core", + "futures-sink", + "pin-project", + "spin 0.9.8", +] + [[package]] name = "fnv" version = "1.0.7" @@ -732,6 +925,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", + "futures-sink", ] [[package]] @@ -751,6 +945,17 @@ dependencies = [ "futures-util", ] +[[package]] +name = "futures-intrusive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a604f7a68fbf8103337523b1fadc8ade7361ee3f112f7c680ad179651616aed5" +dependencies = [ + "futures-core", + "lock_api", + "parking_lot 0.11.2", +] + [[package]] name = "futures-io" version = "0.3.28" @@ -768,6 +973,12 @@ dependencies = [ "syn 2.0.18", ] +[[package]] +name = "futures-sink" +version = "0.3.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" + [[package]] name = "futures-task" version = "0.3.28" @@ -782,6 +993,7 @@ checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-core", "futures-macro", + "futures-sink", "futures-task", "pin-project-lite", "pin-utils", @@ -1094,6 +1306,24 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +[[package]] +name = "hashbrown" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" +dependencies = [ + "ahash 0.8.3", +] + +[[package]] +name = "hashlink" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa" +dependencies = [ + "hashbrown 0.13.2", +] + [[package]] name = "heck" version = "0.3.3" @@ -1108,6 +1338,9 @@ name = "heck" version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" +dependencies = [ + "unicode-segmentation", +] [[package]] name = "hermit-abi" @@ -1259,7 +1492,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", - "hashbrown", + "hashbrown 0.12.3", "serde", ] @@ -1292,6 +1525,27 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "is-terminal" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" +dependencies = [ + "hermit-abi 0.3.1", + "io-lifetimes", + "rustix", + "windows-sys 0.48.0", +] + +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.8" @@ -1392,6 +1646,17 @@ version = "0.2.145" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc86cde3ff845662b8f4ef6cb50ea0e20c524eb3d29ae048287e06a1b3fa6a81" +[[package]] +name = "libsqlite3-sys" +version = "0.24.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "898745e570c7d0453cc1fbc4a701eb6c662ed54e8fec8b7d14be137ebeeb9d14" +dependencies = [ + "cc", + "pkg-config", + "vcpkg", +] + [[package]] name = "line-wrap" version = "0.1.1" @@ -1497,6 +1762,12 @@ dependencies = [ "autocfg", ] +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.1" @@ -1507,6 +1778,18 @@ dependencies = [ "simd-adler32", ] +[[package]] +name = "mio" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +dependencies = [ + "libc", + "log", + "wasi 0.11.0+wasi-snapshot-preview1", + "windows-sys 0.45.0", +] + [[package]] name = "ndk" version = "0.6.0" @@ -1547,6 +1830,16 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -1708,6 +2001,17 @@ dependencies = [ "system-deps 6.1.0", ] +[[package]] +name = "parking_lot" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core 0.8.6", +] + [[package]] name = "parking_lot" version = "0.12.1" @@ -1715,7 +2019,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core", + "parking_lot_core 0.9.8", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall 0.2.16", + "smallvec", + "winapi", ] [[package]] @@ -1731,6 +2049,12 @@ dependencies = [ "windows-targets 0.48.0", ] +[[package]] +name = "paste" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" + [[package]] name = "pathdiff" version = "0.2.1" @@ -1841,6 +2165,26 @@ dependencies = [ "siphasher", ] +[[package]] +name = "pin-project" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +dependencies = [ + "pin-project-internal", +] + +[[package]] +name = "pin-project-internal" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "pin-project-lite" version = "0.2.9" @@ -2116,6 +2460,21 @@ version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" +[[package]] +name = "ring" +version = "0.16.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" +dependencies = [ + "cc", + "libc", + "once_cell", + "spin 0.5.2", + "untrusted", + "web-sys", + "winapi", +] + [[package]] name = "rustc_version" version = "0.4.0" @@ -2139,6 +2498,27 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "rustls" +version = "0.20.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +dependencies = [ + "log", + "ring", + "sct", + "webpki", +] + +[[package]] +name = "rustls-pemfile" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +dependencies = [ + "base64 0.21.2", +] + [[package]] name = "rustversion" version = "1.0.12" @@ -2178,6 +2558,16 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "sct" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" +dependencies = [ + "ring", + "untrusted", +] + [[package]] name = "selectors" version = "0.22.0" @@ -2338,6 +2728,15 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + [[package]] name = "simd-adler32" version = "0.3.5" @@ -2365,6 +2764,16 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +[[package]] +name = "socket2" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "soup2" version = "0.2.1" @@ -2393,6 +2802,118 @@ dependencies = [ "system-deps 5.0.0", ] +[[package]] +name = "spin" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" + +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "sqlformat" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c12bc9199d1db8234678b7051747c07f517cdcf019262d1847b94ec8b1aee3e" +dependencies = [ + "itertools", + "nom", + "unicode_categories", +] + +[[package]] +name = "sqlx" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8de3b03a925878ed54a954f621e64bf55a3c1bd29652d0d1a17830405350188" +dependencies = [ + "sqlx-core", + "sqlx-macros", +] + +[[package]] +name = "sqlx-core" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa8241483a83a3f33aa5fff7e7d9def398ff9990b2752b6c6112b83c6d246029" +dependencies = [ + "ahash 0.7.6", + "atoi", + "bitflags", + "byteorder", + "bytes", + "crc", + "crossbeam-queue", + "dotenvy", + "either", + "event-listener", + "flume", + "futures-channel", + "futures-core", + "futures-executor", + "futures-intrusive", + "futures-util", + "hashlink", + "hex", + "indexmap", + "itoa 1.0.6", + "libc", + "libsqlite3-sys", + "log", + "memchr", + "once_cell", + "paste", + "percent-encoding", + "rustls", + "rustls-pemfile", + "sha2", + "smallvec", + "sqlformat", + "sqlx-rt", + "stringprep", + "thiserror", + "tokio-stream", + "url", + "webpki-roots", +] + +[[package]] +name = "sqlx-macros" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9966e64ae989e7e575b19d7265cb79d7fc3cbbdf179835cb0d716f294c2049c9" +dependencies = [ + "dotenvy", + "either", + "heck 0.4.1", + "once_cell", + "proc-macro2", + "quote", + "sha2", + "sqlx-core", + "sqlx-rt", + "syn 1.0.109", + "url", +] + +[[package]] +name = "sqlx-rt" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "804d3f245f894e61b1e6263c84b23ca675d96753b5abfd5cc8597d86806e8024" +dependencies = [ + "once_cell", + "tokio", + "tokio-rustls", +] + [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -2416,7 +2937,7 @@ checksum = "f91138e76242f575eb1d3b38b4f1362f10d3a43f47d182a5b359af488a02293b" dependencies = [ "new_debug_unreachable", "once_cell", - "parking_lot", + "parking_lot 0.12.1", "phf_shared 0.10.0", "precomputed-hash", "serde", @@ -2434,6 +2955,16 @@ dependencies = [ "quote", ] +[[package]] +name = "stringprep" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ee348cb74b87454fff4b551cbf727025810a004f88aeacae7f85b87f4e9a1c1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + [[package]] name = "strsim" version = "0.10.0" @@ -2522,7 +3053,7 @@ dependencies = [ "ndk-sys", "objc", "once_cell", - "parking_lot", + "parking_lot 0.12.1", "png", "raw-window-handle", "scopeguard", @@ -2842,11 +3373,50 @@ checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" dependencies = [ "autocfg", "bytes", + "libc", + "mio", "num_cpus", + "parking_lot 0.12.1", "pin-project-lite", + "signal-hook-registry", + "socket2", + "tokio-macros", "windows-sys 0.48.0", ] +[[package]] +name = "tokio-macros" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.18", +] + +[[package]] +name = "tokio-rustls" +version = "0.23.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +dependencies = [ + "rustls", + "tokio", + "webpki", +] + +[[package]] +name = "tokio-stream" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + [[package]] name = "toml" version = "0.5.11" @@ -2994,6 +3564,18 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +[[package]] +name = "unicode_categories" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" + +[[package]] +name = "untrusted" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" + [[package]] name = "url" version = "2.4.0" @@ -3012,6 +3594,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" version = "1.3.3" @@ -3027,6 +3615,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + [[package]] name = "version-compare" version = "0.0.11" @@ -3141,6 +3735,16 @@ version = "0.2.86" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93" +[[package]] +name = "web-sys" +version = "0.3.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webkit2gtk" version = "0.18.2" @@ -3188,6 +3792,25 @@ dependencies = [ "system-deps 6.1.0", ] +[[package]] +name = "webpki" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "webpki-roots" +version = "0.22.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +dependencies = [ + "webpki", +] + [[package]] name = "webview2-com" version = "0.19.1" diff --git a/src-tauri/Cargo.toml b/src-tauri/Cargo.toml index 73e4093..593e709 100644 --- a/src-tauri/Cargo.toml +++ b/src-tauri/Cargo.toml @@ -7,6 +7,9 @@ license = "" repository = "" edition = "2021" +[workspace] +members = ["database-maker"] + # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [build-dependencies] diff --git a/src-tauri/data/kradfile b/src-tauri/data/kradfile new file mode 100644 index 0000000..efea128 --- /dev/null +++ b/src-tauri/data/kradfile @@ -0,0 +1,6462 @@ +# +# K R A D F I L E +# +# Copyright 2001/2007 Michael Raine, James Breen and the Electronic +# Dictionary Research & Development Group +# See: http://www.edrdg.org/edrdg/licence.html +# for permissions for use and redistribution. +# +# This is the data file from which the "radkfile" is made, which in turn +# drives the multi-radical lookup method in XJDIC, WWWJDIC and possibly +# other dictionary and related software. +# +# The file is based on work done in 1994/1995 by Michael Raine in which he +# analyzed all the JIS1/2 kanji and identified the constituent radicals and +# other common elements, with the intention of facilitating the selection of +# kanji within a dictionary program by identifying multiple elements. +# The file was revised by Jim Breen in September 1995. Further revisions were +# done in 1998/9 at the suggestion of Wolfgang Conrath, then a revision was +# carried out in 2001 using suggestions from Yutaka Ohno based on a similar +# decomposition made by Kobayashi. Further amendments were made in July +# 2001 after suggestions from Hendrik. +# +# The file has been updated on numerous occasions since then. +# +# The file consists of 6,355 lines of text; one for each of the +# JIS X 0208-1997 kanji. Each line is a follows: +# - the kanji itself, +# - a space followed by a colon (:) followed by a space, +# - one or more radicals/elements which can be seen in the kanji. These +# are drawn from JIS X 0208-1997. Where the element alone is not in +# JIS X 0208, a kanji which contains the element is used instead. +# +# The decomposition is based on what can be seen in typical kanji +# glyphs. Elements themselves can be further subdivided. For example, +# is an element and so is , so the elements in are < >. +# +# The elements used have been drawn from JIS X 0208. As this codeset +# does not contain the exact elements, characters have been chosen +# which contain the element. For example, is used for the kusa-kanmuri +# element at the top, and ˮ is used for the kozato element on the right. +# +# The mappings of the characters used to the characters in the Unicode, +# mostly in the, "CJK Radicals Supplement" and "KangXi Radicals", are below. +# +# U+2E85 +# Ф U+2F08 +# U+4E37 +# U+2E89 +# U+2ECC +# U+2E8C +# ˻ U+2E96 +# ٩ U+2E98 +# U+2EA1 +# U+2EA8 +# U+2EBE +# ˮ U+2ECF +# U+2ED6 +# Ϸ U+2EB9 +# ۿ U+2EA3 +# U+2EAD +# U+2F67 +# U+2F71 +# U+2EC2 +# U+2EB2 +# ũ U+5547 +# +# Jim Breen, Tokyo, January 2001 +# Melbourne, July 2001 +# Melbourne, Dec 2004 +# Melbourne, Oct 2013 +# Melbourne, Mar 2023 +# +####### CHANGES (some of them) ############################ +# Nov 2004 - Ȭ replaced by and +# Aug 2005 - added ; replaced with +# Jan 2006 - added to +# Apr 2006 - changed , and from to +# Aug 2006 - added to and , dropped from +# Sep 2006 - added and to and derivatives +# Nov 2006 - added as an indexer, replacing for many kanji +# Jan 2007 - revised տ̫ adding and removing +# Sep 2007 - made sure all the indices also had and +# Apr 2008 - added װ to all cases of +# Dec 2008 - added to ,ʴ; and to ; and Ц to +# Jun 2013 - added to ֱؾ̱ޣ̲ +# Jun 2013 - added to յؿ +# Jun 2013 - changed to use , as with ; +# Jun 2013 - added to ʢ +# Jun 2013 - added to , to , ұ to +# Oct 2013 - repaired a lot of cases to include and (Matthew Heyse) +# Mar 2014 - added to ݵ (Dmitri Gribenko) +# May 2014 - added ұ to and (via Kim Ahlstrm) +# Jun 2014 - added to ( Ф ) +# Jun 2014 - added ۿ to all of the -containing kanji and two of the Ļ kanji +# Aug 2014 - a major set of updates triggered by Ben Bullock's feedback. See +# http://www.lemoda.net/japanese/kradfix/index.html +# and the discussion on the edict-jmdict@yahoogroups.com list +# Feb 2015 - adding another shape, as in the top of . +# Jun 2015 - added to 179 kanji as suggested by Ben Bullock +# Aug 2020 - changed to ھ for , ̳ and ̸ +# Jul 2021 - added to +# Oct 2021 - removed ͸ from إ - wasn't on our list. +# Apr 2022 - add to kanji containing . +# May 2022 - and added to ʥ +# Jun 2022 - made sure the pattern is indexed by + and е + +# May 2023 - changed to have instead of +########################################################### + : + : + : + : Э + : е + : + : ٩ + : Ф + : + : + : + : ұ + : + : ٩ + : + : + : + : + : ۿ + : Ω + : + : Ф + : ٩ + : ͼ + : + : ˴ е + : + : ұ + : ѹ + : ۿ + : + : + : Ф + : + : + : ٩ + : Ω + : + : Ω + : + : + : Ц + : + : Ω + : е + : + : + : + : + : + : + : ˻ + : Ω + : + : ұ + : Э + : ۿ Ц ұ + : + : + : ͼ + : + : + : + : + : е + : + : + : + : ҹ + : + : е Ц + : + : е + : ˮ + : Ц + : + : Ҹ + : + : ѹ ұ + : + : + : + : ۿ + : ѹ + : + : + : + : + : + : + : + : + : ѹ + : Ф + : ѹ + : Ф + : + : Ω + : + : + : Э + : Ļ ۿ + : + : Э + : + : + : Ļ ۿ + : ѹ + : + : + : + : + : Ҹ + : + : + : + : ۿ + : Ϸ Ҹ + : ѹ + : Ц + : + : + : + : + : + : + : + : + : + : + : + : е + : + : + : + : Ц + : Ц + : + : + : + : Ҹ + : Ҹ + : + : + : Ц + : Ф ѹ + : е ھ ͼ + : + : + : ۿ Ц + : ˻ ѹ + : ұ Ҹ + : + : ѹ + : + : + : е + : + : ҹ + : + : + : ׮ + : ͼ + : ٩ + : ٩ + : + : + : + : ұ + : + : Ҹ ۿ + : + : + : Ʀ ұ + : ͼ + : + : + : + : Ļ ͼ ۿ + : + : Ф + : ұ + : + : + : + : + : Ц + : + : ٩ + : + : װ + : ҹ Ц + : Ц ҹ + : + : + : + : Ļ ۿ + : Ļ ҹ ۿ Ц + : + : + : + : + : Ω + : + : ˻ Ω + : Ω + : + : + : + : + : + : + : + : + : Ω + : + : Ҹ + : + : Э + : + : + : + : + : Э + : + : + : + : + : + : + : + : + : + : Э + : Э + : + : Э + : + : + : + : + : Ҹ + : Э + : + : Э + : + : + : + : + : + : Ҹ + : + : + : + : ʸ + : Э + : Э + : Э + : + : + : + : + : Э + : + : + : Э + : ۿ + : Ф + : Ф + : + : + : ѹ Ҹ + : е + : ׮ + : ˻ + : ˻ + : ˻ + : ˻ + : ˻ е + : װ + : ٩ + : ھ + : ѹ Ҹ + : + : װ + : + : + : Ф ѹ + : + : Ф + : Ф ѹ + : + : װ + : + : + : Ʀ + : е Ц + : ͼ + : е Ц + : е + : + : ˻ + : + : + : + : + : + : е Ц + : Ʀ + : е Ц + : Τ + : + : + : + : е + : + : ұ + : + : + : ھ + : ˮ Э е + : ٩ + : ٩ + : + : е Ц + : + : + : + : + : + : ұ + : + : е + : ˮ Э е + : + : ѹ + : װ + : + : + : + : + : ұ + : ٩ + : Ω + : + : + : + : ۿ + : ұ ۿ + : е + : ұ Ҹ + : ˻ Ф + : ٩ + : + : ұ Ҹ + : + : ұ Ҹ + : ұ Ҹ + : е + : + : ۿ + : + : Ҹ + : + : ұ + : + : ѹ + : ѹ ұ + : Ц + : Ц + : Ц + : + : Ļ ۿ + : + : ̷ + : + : + : + : + : + : + : + : ѹ + : Ц + : + : ҹ ѹ + : + : + : ѹ ұ + : ѹ ҹ + : + : ѹ + : + : + : + : Ф + : + : + : ˻ + : ˻ + : ѹ ұ ٩ + : ھ + : + : + : + : + : + : + : + : + : + : + : + : + : + : + : + : + : + : + : Ф + : + : + : ѹ + : + : + : + : + : + : + : + : + : ұ + : + : + : Ф + : Ц + : Ф + : + : ھ + : ѹ + : + : + : + : ѹ + : + : + : ѹ + : Ω е + : + : Ф + : + : ұ + : Ʀ + : + : + : Э + : Ʀ + : Э + : + : + : Ц + : + : ٩ + : + : + : + : + : + : е + : Ц + : + : Ω е + : Ц + : + : Ц + : + : + : Ц + : + : ھ + : + : + : + : + : + : ѹ + : + : Э ۿ + : ѹ Ҹ + : ұ + : Ц ۿ ұ + : Э + : + : + : Ҹ + : ٩ + : ɥ Ҹ ٩ + : + : Э + : ɥ Ҹ + : + : Э + : Э + : + : Э + : ұ ٩ + : ұ + : ұ + : + : + : е + : + : ̷ ѹ + : + : + : + : + : + : + : + : Ҹ ҹ + : ֥ + : + : + : + : + : Ц ǵ + : + : + : + : ұ + : Ц ھ + : ұ + : Ц + : + : Ω + : + : Ц + : ѹ + : ѹ + : + : + : + : Ф + : + : + : + : + : ҹ + : ҹ ٩ + : ٩ + : + : ҹ + : Ҹ + : + : ­ ҹ + : + : ۿ + : + : ۿ + : е Э + : е + : е + : + : е + : + : ѹ Ц + : Ω ѹ + : + : Ц + : + : ҹ + : + : + : + : Ω ѹ + : е + : + : + : ˻ + : Ц + : + : Ц е ٩ + : Ϸ ھ + : + : ѹ + : + : Ц е + : + : ұ Ц + : + : + : + : ˮ + : Ω ѹ + : ˮ Ω + : ˮ + : ұ ھ ۿ + : + : Ҹ ɥ + : ѹ װ + : ѹ װ + : + : + : + : + : Ц + : + : + : + : + : ұ + : + : + : + : + : + : Ф + : + : Ф е Ц + : + : + : + : + : Ф + : + : + : + : Ф + : Ф + : + : + : + : ұ + : ҹ Ц + : ұ + : + : + : + : ҹ Ц + : ҹ Ц ۿ + : ۿ + : ұ ۿ + : + : + : Ҹ + : + : ѹ + : + : + : + : + : + : + : + : + : + : ٩ + : ѹ + : + : Ҹ + : + : ѹ + : Ҹ ۿ + : + : + : + : + : + : + : ۿ + : + : ۿ + : + : + : + : ˮ + : + : е + : ˮ + : + : Ҹ + : װ + : ѹ + : ھ + : + : + : װ + : е + : װ + : + : + : + : + : + : ұ Ҹ ٩ + : ٩ ǵ + : ұ ھ + : е + : + : + : + : Ҹ + : + : + : + : + : + : + : װ + : + : + : Ҹ + : ұ ھ + : + : + : Ļ ۿ + : + : + : е ۿ + : Ҹ + : + : + : ھ + : + : + : ͼ + : ұ + : + : е + : ѹ + : + : + : + : + : + : Ф + : + : ׮ + : + : + : Ф + : + : + : + : + : ׮ + : е + : + : + : ٩ + : Ф + : + : е + : Ц + : + : Э װ + : + : + : + : + : ѹ + : + : + : + : + : ׮ + : Ф + : + : Ф ۿ + : Ф + : ѹ + : + : ھ + : + : е + : Э + : + : е + : + : е + : е + : + : Ω Э е + : + : Э + : + : + : Э + : + : + : + : + : + : + : + : ھ + : + : + : + : + : ұ + : + : + : + : ѹ Ҹ + : ұ + : ­ ұ + : + : + : + : Ʀ + : + : + : + : + : + : + : + : + : + : ˻ + : + : Ф е + : + : + : + : + : + : + : + : Τ ۿ + : е + : е + : + : + : Ω е + : ѹ + : + : + : е + : ұ + : + : + : + : Э + : + : е + : Э + : + : + : Ϸ + : + : + : ұ + : + : Ω е + : + : + : + : + : ˻ + : ˻ ˴ + : е ٩ + : ұ ٩ + : ѹ ٩ + : ھ + : + : ѹ + : + : е + : е + : + : + : + : + : + : + : + : + : + : + : е + : + : + : + : е + : + : Э + : Ϸ ұ + : + : + : ѹ + : е + : е + : ˴ + : + : ұ + : + : + : + : ˮ е + : Ϸ + : + : + : + : Ф + : + : + : + : е + : Ļ ۿ + : + : + : ұ + : Ф + : е + : Ϸ ٩ + : е + : е + : + : е ұ + : ѹ + : е Ц + : + : Ц + : + : + : Ļ ۿ + : Τ ۿ + : + : + : + : + : ұ + : ˻ + : + : + : + : Ҹ + : Ҹ + : Ф + : + : + : + : + : ˻ + : + : + : + : + : + : + : + : + : + : ѹ Ҹ + : Ҹ + : + : Ц + : ѹ + : + : + : + : + : + : + : + : + : + : е + : + : + : ٩ + : е + : + : + : + : + : + : + : Ω + : + : Э + : ٩ + : + : + : ʸ װ + : + : + : + : + : Ҹ + : Ф + : ʸ װ + : + : + : е + : + : + : ʸ װ + : + : Э + : + : Э + : + : + : + : ѹ + : + : Ц + : + : + : + : + : ­ Ļ ۿ + : + : + : + : ѹ ٩ + : + : ֥ + : Э װ + : ѹ + : Э + : + : װ + : + : ۿ + : + : Ҹ ɥ + : Э װ + : + : + : ͼ ٩ + : ٩ + : ٩ + : + : Ц + : Ω е + : + : + : е ۿ + : ٩ ұ + : е + : е ۿ + : + : + : + : Ф + : + : + : ˻ + : ٩ ھ װ + : ھ װ + : + : ͼ + : Э װ + : Ω е + : װ + : + : + : е + : е + : ѹ + : ͼ + : + : + : + : + : + : Э + : + : Э + : Э + : + : Э + : ѹ + : + : + : е + : + : + : ͼ Ҹ + : е + : + : + : + : Ҹ ٩ + : + : ھ + : + : + : Ҹ + : + : + : ͼ Ҹ + : + : + : + : + : + : + : Ҹ + : + : Ҹ + : + : + : Э + : + : ׵ + : + : + : + : + : Ҹ + : Э Ф + : + : Э + : Ц + : + : ѹ + : + : + : + : ٩ + : + : + : + : + : + : + : + : + : + : + : + : + : + : Ω + : ͼ + : + : ׵ + : Ω + : Ļ ۿ + : + : + : е + : Ц + : Ҹ + : Ҹ + : Ω Ц е + : + : + : + : + : + : Ф + : + : + : + : ˮ Ω + : ھ + : + : Ҹ + : е + : + : + : е + : Ф + : ұ + : + : Ф ٩ + : ھ + : Ф + : Ϸ ۿ + : + : + : Ϸ + : + : + : ۿ + : Ҹ + : ˮ + : װ + : Ц ұ + : Ц + : Ц ұ + : Ц ұ + : + : Ц ұ + : Ц + : + : + : + : + : + : Ц + : + : + : + : + : + : + : + : Τ + : Τ + : + : + : + : + : + : ѹ + : + : ٩ + : Ʀ + : + : + : + : + : + : + : Ц е + : Ц + : ھ + : + : Ф ٩ + : Ц + : ǵ + : + : + : + : + : + : + : ѹ Ҹ + : + : Ω е + : + : ­ Ц е + : + : + : + : Ц + : + : ѹ Ҹ + : + : Ц + : е ѹ + : + : ɥ + : + : ̷ + : + : + : + : ɥ + : Τ + : е ѹ + : + : + : + : + : ѹ + : + : + : Ц е + : Ц е ۿ + : + : Ц + : Ц + : ѹ + : ѹ + : + : ͼ + : Ω ѹ + : ͼ + : ѹ ۿ + : + : + : ұ + : + : ұ + : е + : + : + : + : + : + : + : е + : + : ھ + : + : + : Ϸ + : Ϸ + : Ϸ + : ۿ + : Ϸ + : Ϸ + : + : Ϸ + : Ϸ + : Ϸ + : + : Ф + : + : Э + : Ф + : + : + : Ф + : ұ + : + : + : ҹ + : װ + : + : + : Ω е ѹ + : + : Ҹ + : + : Ω + : + : + : + : + : + : + : + : + : ھ + : Ω + : Э + : ٩ + : ٩ + : + : ɥ ٩ + : װ + : + : + : + : + : + : Ω + : ۿ + : + : + : + : + : ѹ + : ۿ + : ۿ + : + : + : + : ۿ + : + : + : Ω + : + : + : + : + : + : + : ۿ + : Τ + : е + : + : + : + : + : ұ + : + : + : + : Τ + : Τ Ω + : Ω + : + : + : Ц + : Э + : + : + : + : + : + : е + : е + : + : ˻ е + : ٩ + : ھ + : + : Э ұ + : + : + : е + : Э ۿ + : е + : е + : ɥ + : + : + : + : ׵ ٩ + : + : + : ұ + : Ω + : Ω + : ұ + : + : + : + : ä + : + : + : + : + : ä + : ä + : + : + : + : ˻ + : ä ٩ + : Ω е + : + : + : + : + : ѹ + : + : Ф + : + : + : + : + : ҹ + : + : Ω е + : Ω е + : Ф + : + : Ω + : + : + : ä + : + : + : Ц + : + : + : + : ѹ + : Ц + : + : + : + : + : Ц + : Э + : + : + : + : + : Ʀ + : Ʀ + : + : + : + : ٩ + : + : + : + : + : е + : е + : + : + : + : + : + : + : + : + : е + : ھ + : ҹ + : ұ ֥ + : ұ ֥ + : ٩ + : + : + : + : + : + : + : Ʀ + : ٩ + : + : + : + : е + : ɥ + : + : + : Ц ѹ + : + : + : ˻ + : + : ھ + : ھ + : + : е + : + : + : + : е + : + : + : + : е + : + : + : е + : + : + : ٩ + : е + : ٩ + : + : е + : Э е ұ + : ʸ װ + : ѹ + : ұ + : + : + : ˻ + : + : Ц + : + : + : + : е + : е + : е + : + : е + : + : ­ е + : ­ е + : + : Ҹ + : ٩ + : Ω ٩ + : ٩ + : ٩ + : + : ѹ Ҹ + : + : ѹ + : + : + : + : + : + : ѹ + : + : + : + : + : + : + : + : + : ٩ + : Ф + : + : + : + : ѹ + : + : е + : ۿ + : + : ɥ + : ѹ + : + : + : + : + : + : ͼ + : + : ۿ + : Ф + : + : ­ + : + : + : + : ѹ + : + : ۿ + : + : + : + : ͼ ۿ + : Ф + : + : + : + : Τ + : + : ֥ + : + : ٩ + : + : + : ɥ + : + : е + : + : ɥ + : + : + : + : е + : + : ۿ + : Ц + : + : ֥ + : + : + : Ф + : Ц + : + : Ф + : е + : + : + : е + : + : + : ҹ + : + : + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : + : + : + : Ф + : + : + : + : Э ұ + : + : + : ѹ + : + : + : + : + : + : + : ͼ Ҹ װ + : Ф + : + : е + : + : + : + : Ф + : + : ۿ + : ұ + : + : ˻ +¡ : +¢ : +£ : +¤ : +¥ : ­ +¦ : +§ : +¨ : +© : +ª : ­ ٩ +« : +¬ : +­ : ­ +® : +¯ : ë Ф +° : +± : +² : +³ : ѹ +´ : е +µ : +¶ : +· : ٩ +¸ : +¹ : +º : +» : ٩ +¼ : +½ : +¾ : +¿ : ͼ + : Ц + : Ц + : Ҹ + : + : + : + : ˻ + : Э ٩ + : Ҹ + : Ҹ + : + : Ҹ + : Ц ۿ + : ۿ + : + : + : ʸ + : + : ׵ + : + : + : + : Ҹ + : + : е + : + : + : + : + : + : ׵ е + : ׵ + : + : + : + : Τ ׵ ۿ + : ۿ + : ׵ + : + : + : + : ɥ + : ɥ + : Ļ ۿ + : Ω ε + : Ω + : + : + : + : ٩ + : ٩ Ц + : ٩ + : Ц + : + : + : + : Ω е + : ұ + : + : + : + : + : +á : +â : +ã : +ä : ä +å : +æ : ѹ +ç : +è : Ω +é : +ê : +ë : ë Ф +ì : Τ +í : ۿ +î : +ï : +ð : Ц Э +ñ : +ò : +ó : +ô : ٩ +õ : ѹ ٩ +ö : +÷ : +ø : +ù : ѹ ҹ +ú : +û : Ʀ +ü : Ω +ý : +þ : ɥ +ÿ : + : + : ɥ + : ׮ + : + : + : е + : + : + : + : е + : + : + : + : + : + : + : + : + : + : + : + : + : + : ھ + : + : + : ۿ + : Ц + : е + : + : Ц + : е + : + : + : ѹ + : Ф + : Ω е ũ + : + : + : + : + : + : ٩ + : Ц + : Ц + : Ц + : + : + : Ц + : + : е + : Ц ۿ + : ұ + : Ϸ + : Ϸ + : Э + : Ϸ + : Э + : Э + : ѹ + : + : + : Ω +ġ : +Ģ : Ĺ +ģ : Э +Ĥ : +ĥ : Ĺ +Ħ : +ħ : ھ +Ĩ : ھ +ĩ : ѹ ٩ +Ī : +ī : +Ĭ : +ĭ : +Į : Э +į : ѹ +İ : +ı : Ĺ +IJ : +ij : +Ĵ : +ĵ : +Ķ : +ķ : ­ ѹ +ĸ : ѹ +Ĺ : Ĺ +ĺ : Э +Ļ : Ļ ۿ +ļ : +Ľ : ٩ +ľ : +Ŀ : + : + : Ф + : + : + : + : + : + : + : + : + : + : + : + : + : + : ٩ Ц + : + : + : е + : + : + : Ļ ۿ + : + : ұ + : + : + : + : + : + : + : + : + : Ц ұ + : Ļ ۿ + : Э е + : + : Э е + : + : + : + : + : ɥ + : ɥ + : Ω е + : + : ׮ + : ׮ + : + : ˻ + : ٩ + : ׮ ٩ + : ɥ ٩ + : + : Э + : ɥ + : + : + : Ω е + : ׮ + : Э + : Ω е + : ­ Ω е + : +š : ˮ +Ţ : ˮ +ţ : Э +Ť : Ť +ť : Ҹ +Ŧ : Ω е ٩ ũ +ŧ : ٩ +Ũ : Ω е ھ ũ +ũ : Ω е ũ +Ū : Ц ұ +ū : +Ŭ : Ω е ũ +ŭ : Ω е ũ +Ů : +ů : ٩ +Ű : е ھ +ű : е ٩ ھ +Ų : е ھ +ų : +Ŵ : +ŵ : +Ŷ : +ŷ : +Ÿ : +Ź : +ź : +Ż : Τ ѹ +ż : +Ž : +ž : +ſ : + : ۿ + : + : + : + : + : + : Ц ѹ + : + : Ϸ + : Ф Э + : + : Ϸ + : + : + : + : + : Ʀ + : Ц ѹ ұ + : Ϸ + : Ф Э + : ˮ Ϸ + : + : + : + : + : + : + : + : + : + : ѹ + : Ц ھ + : + : + : + : Ф + : + : Ĺ + : + : Ļ + : Ļ ۿ + : ˻ + : ٩ + : Ф ٩ + : + : ѹ + : е + : + : + : ұ + : + : е + : Э + : Ʀ + : + : Ʀ + : е + : + : Ф + : + : + : е ѹ + : +ơ : Τ +Ƣ : +ƣ : +Ƥ : +ƥ : +Ʀ : Ʀ +Ƨ : ­ +ƨ : ѹ +Ʃ : ǵ +ƪ : Ʀ +ƫ : ұ +Ƭ : Ʀ +ƭ : ۿ +Ʈ : Ʀ +Ư : +ư : Τ +Ʊ : +Ʋ : +Ƴ : +ƴ : ˻ Τ Ω +Ƶ : Τ Ω ٩ +ƶ : +Ʒ : Τ Ω +Ƹ : Τ Ω +ƹ : +ƺ : ұ +ƻ : +Ƽ : +ƽ : +ƾ : Ļ Ҹ ۿ +ƿ : ҹ + : + : + : ѹ + : + : + : ѹ + : ۿ + : е + : + : ѹ + : + : ұ + : + : ѹ + : + : + : Ļ ׵ ۿ + : + : + : + : Э е + : + : + : ˻ е + : е ھ + : + : + : + : + : + : + : + : + : ˮ + : + : + : + : + : + : е + : ٩ + : + : + : ۿ + : ұ + : + : + : + : + : е + : + : + : Ҹ + : ׵ + : + : ұ Ҹ + : ä + : + : + : + : + : + : +ǡ : +Ǣ : +ǣ : +Ǥ : +ǥ : +Ǧ : Ц +ǧ : Ц +Ǩ : +ǩ : +Ǫ : +ǫ : Э +Ǭ : Ц +ǭ : +Ǯ : Ц ѹ ۿ +ǯ : +ǰ : Ф +DZ : Ф ٩ +Dz : ͼ ٩ ۿ +dz : ͼ ۿ +Ǵ : +ǵ : ǵ +Ƕ : ׮ +Ƿ : Ц е ׮ +Ǹ : +ǹ : е +Ǻ : ˻ +ǻ : ä +Ǽ : +ǽ : Ҹ +Ǿ : +ǿ : ä + : ä + : Э + : + : + : ٩ + : ٩ + : + : + : + : + : + : + : + : ۿ + : + : ۿ + : + : ѹ + : ٩ + : ٩ + : ھ + : + : + : + : Ҹ + : е + : + : + : Ω + : Ω + : + : + : + : + : + : + : ѹ + : Ω + : Ω + : + : ұ + : + : + : + : + : + : Ц + : ٩ + : + : + : + : + : + : + : Ц + : + : + : + : + : Ц + : + : ۿ + : е +ȡ : +Ȣ : +ȣ : ë Ф +Ȥ : Ϸ +ȥ : ھ +Ȧ : +ȧ : Ҹ +Ȩ : +ȩ : +Ȫ : +ȫ : +Ȭ : +ȭ : +Ȯ : ѹ +ȯ : ѹ +Ȱ : ѹ +ȱ : Ĺ +Ȳ : +ȳ : +ȴ : е ٩ +ȵ : +ȶ : +ȷ : Ļ ۿ +ȸ : Ω е +ȹ : е +Ⱥ : Ф +Ȼ : +ȼ : +Ƚ : +Ⱦ : +ȿ : + : + : Ц + : ٩ + : ʸ + : + : + : Ц + : + : + : + : + : ھ + : + : + : + : + : + : + : + : + : ѹ ٩ ұ + : ѹ ұ + : + : + : + : + : е + : ҹ + : + : Ц + : + : + : + : + : + : ٩ + : ٩ + : ʸ + : + : Ц + : + : + : + : Ц + : + : Ҹ + : + : + : + : + : Ω + : + : + : + : + : + : + : ھ + : + : + : + : + : +ɡ : װ ɡ +ɢ : Ц +ɣ : +ɤ : ѹ ҹ +ɥ : ɥ +ɦ : Ĺ Ҹ +ɧ : Ω е +ɨ : Ф +ɩ : ѹ +ɪ : +ɫ : +ɬ : +ɭ : +ɮ : +ɯ : +ɰ : Ф +ɱ : +ɲ : +ɳ : +ɴ : +ɵ : Ф +ɶ : е +ɷ : ѹ Ҹ +ɸ : +ɹ : Ц +ɺ : +ɻ : +ɼ : +ɽ : е +ɾ : +ɿ : Ц ұ + : + : ٩ + : + : + : + : + : + : + : + : Ϸ ۿ Ҹ + : + : + : ʸ ׵ + : + : + : + : + : + : ھ + : + : Ц + : + : + : е + : + : + : + : + : + : ˻ + : ٩ + : Ц ھ + : + : + : + : + : + : + : Ҹ + : + : + : ұ + : ׵ + : + : + : + : + : ٩ ۿ ̵ + : ׵ + : ͼ ̵ + : ұ Ц + : ۿ ̵ + : ˮ Ω + : + : + : + : + : ­ + : + : + : + : + : +ʡ : +ʢ : +ʣ : +ʤ : +ʥ : +ʦ : +ʧ : ٩ +ʨ : +ʩ : +ʪ : ұ +ʫ : ۿ +ʬ : +ʭ : ұ +ʮ : +ʯ : +ʰ : ˻ +ʱ : ٩ +ʲ : +ʳ : +ʴ : +ʵ : +ʶ : +ʷ : +ʸ : ʸ +ʹ : +ʺ : +ʻ : װ +ʼ : +ʽ : װ +ʾ : ھ +ʿ : + : װ ھ + : + : + : ھ + : Э + : + : + : + : Ω + : Ω + : Ω + : + : ұ + : ھ + : + : + : װ + : е + : + : װ + : װ + : + : + : װ + : + : ѹ ұ + : ѹ ұ + : װ + : + : + : Ф Ц + : Ц + : Ц + : Ц ٩ + : + : Ц + : Ц + : Ц + : + : + : + : + : + : + : + : Ц + : Ω + : ھ + : + : ұ + : + : Ω е + : + : Ц + : + : + : + : ұ + : ұ ٩ + : ٩ + : ھ + : + : +ˡ : +ˢ : ұ +ˣ : Э е ۿ +ˤ : ұ +˥ : +˦ : ұ +˧ : +˨ : +˩ : +˪ : +˫ : е +ˬ : +˭ : Ʀ +ˮ : ˮ +˯ : +˰ : ұ +˱ : Ļ ۿ +˲ : Ļ ۿ +˳ : Ц е ׮ +˴ : ˴ е +˵ : Ω е +˶ : Ω +˷ : +˸ : +˹ : +˺ : ˴ е +˻ : ˴ ˻ е +˼ : +˽ : +˾ : ˴ +˿ : + : + : + : + : + : Ʀ + : + : ѹ + : + : + : + : + : + : Ҹ + : + : + : Τ ۿ + : ٩ + : + : ھ + : ѹ + : + : + : + : + : + : + : ѹ + : װ + : + : + : Ц + : + : + : + : ѹ Ҹ + : + : Τ + : е + : е + : ھ + : + : Τ + : + : + : + : + : ۿ + : + : ۿ + : ͼ + : Э е + : + : + : е ٩ + : е + : е + : + : Ц + : + : + : + : ˻ + : +̡ : +̢ : +̣ : е +̤ : е +̥ : е ѹ Ҹ +̦ : +̧ : +̨ : +̩ : Ц +̪ : Ц +̫ : +̬ : е +̭ : Ф +̮ : +̯ : +̰ : +̱ : +̲ : +̳ : ̷ ھ +̴ : ͼ +̵ : ۿ ̵ +̶ : +̷ : ̷ +̸ : ̷ ھ +̹ : Ļ ׵ ۿ +̺ : е +̻ : ɥ +̼ : +̽ : е +̾ : ͼ +̿ : Ф + : + : + : + : ͼ + : Ļ ۿ + : + : Ҹ + : + : ұ ѹ + : + : + : + : + : е + : ٩ + : + : + : ˴ е + : + : + : + : ˴ е + : ˴ + : + : + : Ϸ + : + : Τ ۿ + : + : + : ұ + : װ + : Ц + : + : Ц + : + : + : + : ʸ + : + : ұ Ц + : Ҹ + : + : ͼ е + : ˮ + : ˮ + : ̷ Τ Э + : Э + : + : + : + : Ц ұ + : + : Ц + : ­ + : Ω е + : + : ھ + : + : ˻ Ф + : Ф + : + : Ф +͡ : Ф +͢ : Ф +ͣ : +ͤ : +ͥ : +ͦ : +ͧ : +ͨ : +ͩ : +ͪ : ھ +ͫ : +ͬ : ٩ +ͭ : +ͮ : +ͯ : +Ͱ : +ͱ : +Ͳ : +ͳ : +ʹ : +͵ : ë Ф +Ͷ : ǵ +ͷ : +͸ : +͹ : ˮ +ͺ : +ͻ : ѹ +ͼ : ͼ +ͽ : Э +; : Ф Э +Ϳ : ұ + : + : + : Э + : + : + : + : ë Ф + : + : ٩ + : ٩ + : е ٩ + : + : + : + : + : ë Ф + : ë Ф + : + : ѹ ۿ + : + : ѹ + : + : ë Ф + : + : + : ­ + : + : + : + : ë Ф + : ٩ + : ë Ф + : + : ë Ф + : Ω + : + : ɥ + : + : + : + : е + : е + : + : + : + : + : + : + : + : Ц + : + : + : + : + : + : + : + : Ц + : + : + : + : Τ + : е +Ρ : +΢ : Τ е +Σ : Τ +Τ : Τ +Υ : е +Φ : ѹ +Χ : +Ψ : е +Ω : Ω +Ϊ : +Ϋ : е ٩ +ά : +έ : +ή : е +ί : +ΰ : е +α : +β : е +γ : Ω +δ : +ε : Ω ε +ζ : Ω +η : +θ : Ҹ +ι : +κ : Ҹ +λ : Э +μ : е ѹ +ν : +ξ : +ο : ѹ + : + : + : Ц + : е + : + : + : + : ѹ + : Τ + : + : е + : + : Τ + : ѹ + : Ф + : + : + : Ф Э װ + : Τ + : + : + : ͼ + : + : + : Ф װ + : ͼ + : ͼ ۿ + : ͼ + : + : + : + : + : + : Ф + : Ф + : + : Ф + : + : Ф + : ˻ Ф + : Ф + : + : Ф + : Ф + : + : Ф + : + : + : Ф + : + : + : + : + : ۿ + : е + : + : е + : ˻ ͼ + : + : + : + : + : +ϡ : +Ϣ : +ϣ : +Ϥ : +ϥ : ۿ +Ϧ : ۿ +ϧ : +Ϩ : +ϩ : ­ +Ϫ : ­ +ϫ : +Ϭ : +ϭ : ˮ +Ϯ : װ +ϯ : +ϰ : +ϱ : ˮ +ϲ : +ϳ : +ϴ : +ϵ : +϶ : Ω ε +Ϸ : Ϸ Ҹ +ϸ : Ω +Ϲ : +Ϻ : ˮ +ϻ : е +ϼ : +Ͻ : +Ͼ : +Ͽ : + : Ф װ + : + : + : + : Ц + : + : + : + : + : Ļ Ц е ۿ + : Ц + : + : ۿ ұ + : + : е + : ֥ + : ͼ + : е + : ͼ + : ͼ +С : ׵ +Т : ɥ +У : Ц +Ф : Ф +Х : Ц +Ц : Ц +Ч : Ц װ +Ш : +Щ : Ц +Ъ : Ҹ +Ы : Ҹ +Ь : +Э : Э +Ю : ұ ̷ Э +Я : Э +а : ̷ Ф Э +б : ׵ +в : Э +г : +д : +е : е +ж : е +з : е +и : е +й : е +к : +л : ǵ +м : +н : +о : +п : Ц + : Ц + : Ц + : + : ѹ Ф + : е + : + : + : + : ұ + : Ҹ + : Э + : + : ͼ + : + : + : ѹ + : + : + : + : + : + : Ф װ + : ۿ + : + : + : + : + : ѹ ұ + : + : Τ + : + : + : + : Э + : + : + : ѹ + : ѹ + : е + : + : + : + : е + : ۩ + : + : + : + : + : ҹ + : + : Ф + : + : Ω е + : ұ Ҹ + : ھ + : Ϸ + : Ц + : Ф + : ѹ Ҹ + : е ھ + : Ц + : ҹ + : ھ е +ѡ : Ф +Ѣ : +ѣ : +Ѥ : +ѥ : Ʀ +Ѧ : ۿ +ѧ : ѹ +Ѩ : е +ѩ : +Ѫ : Τ Ω +ѫ : +Ѭ : +ѭ : Ф +Ѯ : +ѯ : ä +Ѱ : +ѱ : е װ +Ѳ : +ѳ : ͼ +Ѵ : +ѵ : +Ѷ : +ѷ : ھ +Ѹ : Τ ۿ +ѹ : ѹ +Ѻ : ѹ +ѻ : ѹ +Ѽ : ѹ +ѽ : Ц ѹ ұ +Ѿ : ѹ +ѿ : Ω ѹ + : + : Ф + : + : Ҹ + : + : + : + : + : ѹ + : + : + : ѹ ұ + : + : Ц ѹ ұ + : ѹ + : Ц + : ұ ۿ + : + : + : + : + : + : + : ѹ + : + : + : е + : е + : + : Ҹ + : + : + : + : + : + : + : + : + : ұ + : + : װ + : + : ұ + : Ц + : װ + : + : ѹ + : + : Э + : + : + : Ʀ + : Ҹ + : Ф + : + : + : Ф + : Ф Ц + : Ф Ц + : Ф Ц + : Ω + : е װ + : Ω +ҡ : Ω +Ң : ұ +ң : +Ҥ : +ҥ : +Ҧ : +ҧ : е +Ҩ : +ҩ : +Ҫ : е +ҫ : +Ҭ : +ҭ : Ф +Ү : ۿ +ү : +Ұ : +ұ : ұ +Ҳ : Ц ұ +ҳ : ұ +Ҵ : ұ +ҵ : Ц ұ +Ҷ : ұ +ҷ : ұ +Ҹ : Ҹ +ҹ : ҹ +Һ : ҹ +һ : ҹ +Ҽ : ҹ е +ҽ : Ф ҹ +Ҿ : ҹ +ҿ : ҹ + : + : + : + : װ + : + : + : е + : + : + : ͼ + : ë + : + : + : Ц + : + : + : ֥ + : + : ھ + : + : Ф + : + : + : + : + : + : Э + : + : + : + : Э + : + : + : + : е + : + : ѹ + : + : + : ʸ + : Ц + : Ц + : Э + : + : е + : + : + : Ҹ + : + : + : + : + : + : + : ұ + : + : ұ + : + : + : е + : + : Ф + : +ӡ : Ц +Ӣ : +ӣ : +Ӥ : Ϸ Ҹ +ӥ : +Ӧ : +ӧ : Э +Ө : Э +ө : +Ӫ : +ӫ : +Ӭ : Ϸ +ӭ : +Ӯ : Ц +ӯ : װ +Ӱ : Ф +ӱ : +Ӳ : +ӳ : ѹ +Ӵ : +ӵ : +Ӷ : +ӷ : +Ӹ : ұ +ӹ : Ф +Ӻ : +ӻ : +Ӽ : +ӽ : +Ӿ : +ӿ : + : + : Ω е + : + : + : + : + : Ω е + : + : Ф + : е + : е ѹ + : Ļ ۿ + : + : + : + : Ϸ Ҹ + : + : + : ҹ + : ھ + : е + : + : + : + : + : Ʀ + : + : + : Ҹ + : + : + : ۿ ̵ + : Ω + : + : + : + : + : е + : + : װ ɡ + : + : ɥ + : ɥ + : Ҹ ۿ + : ˮ + : + : ھ + : + : + : + : е + : + : Ц ѹ + : + : ұ + : е + : + : Ҹ + : Ф + : ѹ + : + : + : Ω е +ԡ : +Ԣ : +ԣ : +Ԥ : +ԥ : +Ԧ : +ԧ : +Ԩ : +ԩ : +Ԫ : +ԫ : +Ԭ : +ԭ : +Ԯ : +ԯ : Ц +԰ : +Ա : Ҹ +Բ : ׵ +Գ : +Դ : +Ե : ұ +Զ : е Ц +Է : +Ը : +Թ : +Ժ : װ +Ի : +Լ : +Խ : +Ծ : Ц +Կ : + : + : + : Ҹ + : е + : + : + : + : + : + : Ļ ۿ + : + : + : + : + : + : + : Τ + : + : Ҹ + : + : + : е + : + : Ϸ + : + : е + : + : Ф ë + : ۿ + : + : + : Τ ۿ + : + : е + : Ω + : + : + : Ʀ + : ɥ + : + : + : ھ + : + : ұ + : ͼ + : ͼ + : ͼ + : + : + : + : ұ + : + : Ω Э е + : е + : ѹ ұ + : + : + : + : Ϸ + : + : + : ͼ + : ҹ +ա : +բ : Ц ұ +գ : +դ : +ե : ˴ +զ : +է : +ը : +թ : +ժ : +ի : װ +լ : +խ : ѹ +ծ : Э +կ : +հ : +ձ : ˮ +ղ : ұ +ճ : +մ : Э +յ : +ն : ͼ +շ : +ո : +չ : +պ : +ջ : +ռ : +ս : +վ : +տ : + : ۿ + : Ļ ۿ + : ҹ + : + : ھ + : + : + : + : + : + : Ω + : + : + : + : ɡ װ + : + : е + : + : + : + : ǵ + : + : + : + : е Ц + : Ц е + : + : Ц + : + : ʸ + : + : + : Ҹ + : + : ä + : Ц ѹ ұ + : ѹ + : + : ɥ + : Э + : + : + : + : + : Ф + : ұ ۿ + : + : + : + : ѹ + : ͼ + : + : + : + : ѹ ҹ + : + : Ц + : + : + : + : + : + : +֡ : +֢ : װ +֣ : +֤ : ұ +֥ : ֥ +֦ : +֧ : +֨ : +֩ : +֪ : Ф +֫ : +֬ : +֭ : +֮ : +֯ : +ְ : +ֱ : +ֲ : װ +ֳ : +ִ : Ф +ֵ : +ֶ : Э +ַ : +ָ : +ֹ : +ֺ : Ļ ۿ +ֻ : Ф ë +ּ : +ֽ : +־ : +ֿ : Ω Э е + : + : + : + : + : Э + : ѹ + : Ф װ + : Ф װ + : + : + : + : + : ѹ Ҹ + : + : + : ҹ + : + : Ω ۩ + : ѹ + : Ʀ + : Э + : Ф + : + : + : ɥ Ҹ + : + : Ц ѹ ұ + : ѹ Ҹ + : + : + : ھ + : + : + : + : + : + : + : + : + : + : ѹ + : + : + : + : + : е + : + : + : Ω + : Τ Ω + : ھ + : + : + : + : + : + : + : + : + : + : + : + : +ס : Ф +ע : +ף : +פ : Ʀ +ץ : Τ ѹ +צ : +ק : ۿ ̵ +ר : +ש : е +ת : Ҹ +׫ : +׬ : +׭ : +׮ : ׮ +ׯ : ׮ +װ : װ +ױ : е װ +ײ : װ +׳ : װ +״ : װ +׵ : ׵ +׶ : ׵ +׷ : +׸ : +׹ : +׺ : +׻ : Э +׼ : +׽ : +׾ : +׿ : е + : + : + : е + : + : + : Ʀ + : + : + : + : + : + : + : + : + : ұ + : ɥ + : ɥ + : + : + : + : ͼ + : + : ˻ + : ˻ + : ˻ + : ˻ + : ˻ ѹ + : + : + : + : ˻ + : ˻ + : ˻ + : ˻ ұ + : ˻ Ҹ + : + : Ц ұ + : ˻ + : ˻ + : ˻ + : ˻ + : ˻ + : ˻ Ц + : + : + : ˻ + : + : ˻ ұ + : ˻ + : ˻ + : ˻ ѹ + : + : ˻ + : ˻ + : ˻ ұ + : ˻ + : ˻ + : + : ˻ + : ˻ + : ˻ + : ˻ + : ˻ +ء : ˻ +آ : ˻ ѹ +أ : ˻ +ؤ : ˻ ѹ ұ +إ : ˻ +ئ : ˻ +ا : ʸ ˻ +ب : +ة : ˻ +ت : +ث : ˻ +ج : ˻ е +ح : ˻ +خ : ˻ +د : ˻ +ذ : Ĺ ˻ +ر : ˻ +ز : ˻ +س : ˻ ұ +ش : +ص : ˻ +ض : +ط : ˻ +ظ : ˻ +ع : ˻ +غ : ˻ +ػ : ˻ Ц ұ +ؼ : ˻ +ؽ : ˻ +ؾ : ھ +ؿ : ˻ + : + : ˻ + : + : ˻ ѹ Ҹ + : ˻ + : + : ˻ Ҹ + : ֥ + : ˻ + : ˻ Ц + : + : ˻ + : ˻ + : ˻ + : ˻ Ф + : + : ˻ + : ɥ + : ˻ + : ˻ ұ + : ˻ + : ˻ е + : ˻ + : ҹ + : ˻ + : ˻ + : Ʀ + : + : + : ˻ е + : ˻ ۿ + : ˻ + : + : ۿ + : ʸ ˻ + : ˻ ۿ ̵ + : ˻ Ω е + : ˻ + : + : ˻ е + : ˻ + : + : ˻ + : ˻ ѹ ұ + : ̷ + : ˻ + : ˻ е + : ˻ + : + : ˻ + : ˻ + : ˻ + : Ʀ + : ˻ + : ˻ + : ˻ + : + : + : + : Ц + : Ц + : + : +١ : +٢ : ѹ ҹ +٣ : +٤ : Ф +٥ : +٦ : Ʀ Ҹ +٧ : +٨ : װ +٩ : ٩ +٪ : ٩ +٫ : ٩ +٬ : ٩ +٭ : Ц ٩ +ٮ : ٩ Ц +ٯ : ٩ +ٰ : ٩ +ٱ : ٩ +ٲ : ٩ +ٳ : ̷ Э ٩ +ٴ : ٩ +ٵ : ٩ +ٶ : Ц ٩ +ٷ : е ٩ +ٸ : Ц ٩ +ٹ : ٩ +ٺ : ٩ +ٻ : ٩ +ټ : +ٽ : Ф +پ : Ц ٩ +ٿ : ѹ ٩ ұ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : Ω ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : Ц е ٩ ͼ + : Э ٩ + : ٩ + : ٩ + : ٩ + : + : ұ ٩ + : ٩ ۩ + : ɥ ٩ + : Ф ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ٩ + : ̷ ٩ + : ٩ + : ˮ ٩ + : Ф ٩ + : ͼ ٩ + : + : ٩ + : ٩ + : ٩ + : Ф ٩ + : ٩ + : Ļ ٩ + : ٩ + : Ц ٩ + : ٩ + : Ω Ц + : ٩ + : Ф ٩ + : ٩ + : ٩ + : ѹ ٩ + : ѹ ٩ + : е ٩ + : ٩ + : ٩ +ڡ : Ҹ ٩ +ڢ : Ф е ٩ +ڣ : е ٩ +ڤ : Ω е ٩ +ڥ : Ω е ٩ +ڦ : Ω +ڧ : ٩ +ڨ : ٩ +ک : +ڪ : +ګ : е ٩ װ +ڬ : ٩ +ڭ : ٩ +ڮ : ٩ +گ : ٩ +ڰ : ٩ +ڱ : ٩ +ڲ : ٩ +ڳ : ˮ ٩ +ڴ : Ҹ ٩ +ڵ : +ڶ : ٩ +ڷ : е ٩ +ڸ : ѹ ٩ +ڹ : е ٩ +ں : ٩ +ڻ : +ڼ : ٩ +ڽ : ھ +ھ : ھ +ڿ : ھ + : ھ + : ھ + : ھ + : е ھ + : ھ е + : ھ + : Ф ھ + : Ф ھ + : ھ + : ھ + : е ھ + : ھ + : Ф ھ + : ͼ Ҹ ھ + : ھ + : + : ѹ ҹ + : + : + : + : + : Ω е + : + : + : е + : + : + : + : + : + : + : + : + : ʸ + : + : Ҹ + : Ц + : + : ұ + : + : ѹ + : + : ѹ + : + : + : + : + : ä + : + : ٩ + : + : + : + : + : + : + : ұ + : е + : Ҹ + : + : ѹ + : е ھ + : ھ +ۡ : +ۢ : е +ۣ : +ۤ : +ۥ : +ۦ : +ۧ : Э +ۨ : е +۩ : ۩ +۪ : ׵ ۩ +۫ : ұ Ҹ ۩ +۬ : +ۭ : +ۮ : +ۯ : +۰ : Ω +۱ : +۲ : Ц ѹ +۳ : +۴ : ǵ +۵ : +۶ : +۷ : +۸ : +۹ : +ۺ : +ۻ : ׵ +ۼ : +۽ : +۾ : +ۿ : ۿ + : + : ̷ Э + : + : + : + : + : װ + : װ + : + : Э + : + : е + : + : ҹ + : ұ + : + : + : Ц + : + : + : ұ + : + : Ω + : + : Ф + : + : ҹ + : + : ͼ + : ұ + : Ϸ ұ + : + : е + : + : + : + : + : + : Ļ + : + : ѹ + : + : ھ + : ˮ + : ׮ + : + : + : + : Ц + : + : + : + : Ҹ + : + : е + : + : ұ + : е + : + : + : + : ѹ + : +ܡ : +ܢ : +ܣ : +ܤ : ѹ +ܥ : +ܦ : Ω +ܧ : е +ܨ : +ܩ : +ܪ : +ܫ : +ܬ : Ф +ܭ : +ܮ : +ܯ : +ܰ : +ܱ : +ܲ : Ф װ +ܳ : ǵ +ܴ : +ܵ : +ܶ : +ܷ : +ܸ : е +ܹ : +ܺ : Ϸ +ܻ : ѹ ҹ +ܼ : Ω е +ܽ : +ܾ : ̷ +ܿ : ˮ + : Ф + : + : е + : + : + : + : + : ѹ Ҹ + : Ʀ + : е + : + : + : + : + : ֥ + : Ļ + : + : + : ҹ + : + : Ц + : е + : Ω е + : Ф ë + : + : Ω ε + : ˮ е + : + : Ф + : + : + : + : + : + : ɥ + : е + : ҹ + : + : + : + : + : Ц + : Ц + : Ц + : + : ھ + : + : Ʀ + : + : + : + : + : Ʀ + : Τ Ω + : ѹ + : + : Ļ ۿ + : ѹ + : Ω + : ұ ھ + : ھ + : Ф + : +ݡ : Ω +ݢ : Ω +ݣ : +ݤ : ҹ +ݥ : +ݦ : Э +ݧ : +ݨ : +ݩ : +ݪ : +ݫ : +ݬ : +ݭ : +ݮ : +ݯ : +ݰ : +ݱ : Ω +ݲ : +ݳ : +ݴ : +ݵ : Ҹ +ݶ : +ݷ : +ݸ : +ݹ : +ݺ : Э +ݻ : Ф +ݼ : ұ Ҹ +ݽ : +ݾ : +ݿ : ҹ + : Ф + : Ҹ + : Ф + : + : + : + : + : ұ + : + : Ф + : + : + : + : Ω + : + : ұ + : Ʀ + : + : + : + : + : + : + : ѹ + : ҹ + : + : е + : + : Ц е + : е + : + : + : + : е + : ˴ + : + : + : + : + : + : + : + : + : + : + : + : + : е + : + : + : + : + : + : + : + : + : + : ѹ + : + : Ц + : + : Ҹ + : +ޡ : +ޢ : е +ޣ : +ޤ : +ޥ : +ަ : +ާ : +ި : ұ +ީ : +ު : Ф +ޫ : ѹ +ެ : +ޭ : ұ +ޮ : +ޯ : +ް : +ޱ : ѹ +޲ : +޳ : +޴ : +޵ : +޶ : ٩ +޷ : ׮ +޸ : +޹ : +޺ : +޻ : +޼ : +޽ : +޾ : +޿ : + : + : + : + : е + : + : + : Э + : + : + : + : + : Ф + : ѹ + : Ф װ + : + : + : + : Э + : ѹ + : + : + : + : + : + : + : + : + : Э е + : ٩ + : + : + : + : + : Ф + : + : + : + : + : ѹ + : + : Ω + : ä + : ֥ + : Ф + : + : + : + : + : Ц + : Ω е + : е + : Ҹ + : + : + : + : + : е + : ͼ + : + : + : ѹ + : Ĺ + : ھ +ߡ : Ц +ߢ : е +ߣ : +ߤ : ѹ +ߥ : +ߦ : +ߧ : +ߨ : Ц +ߩ : +ߪ : +߫ : ѹ +߬ : ۩ +߭ : ھ +߮ : Τ Ω +߯ : +߰ : Ʀ +߱ : +߲ : +߳ : е +ߴ : +ߵ : Ф +߶ : +߷ : Ω е +߸ : ѹ +߹ : +ߺ : Ф +߻ : е װ +߼ : ۿ +߽ : Ф +߾ : +߿ : Э + : + : + : + : ұ ۿ + : + : + : + : + : + : + : ˴ Ц + : Ф + : Ϸ + : + : Ҹ + : + : + : + : Ф ھ + : + : + : ͼ Ц + : + : + : ѹ + : ҹ + : + : + : ұ + : + : ۿ + : Э ۿ + : + : ۿ + : + : + : Ω + : ѹ + : ҹ ۿ + : ۿ + : ұ ۿ + : + : + : + : ұ + : ۿ + : + : + : + : + : ھ ۿ + : + : Ʀ ۿ + : Ω + : ѹ + : е ھ + : + : е + : + : + : + : Ω е + : ۿ + : + : + : + : Ҹ + : + : + : Э + : + : + : ۿ + : + : + : + : + : + : + : ѹ + : + : + : + : + : + : е + : + : ѹ + : + : Ц + : Э + : + : + : + : + : + : + : + : е + : + : + : ھ + : Э + : ѹ + : е + : + : е + : + : + : + : + : + : ͼ + : + : Τ ۿ + : ֥ + : Ф + : ұ + : Э + : + : + : ѹ Ҹ + : + : + : ׵ + : + : + : + : + : + : + : + : + : ˮ + : ѹ Ҹ + : + : + : + : + : + : Ц + : + : + : Ф + : + : ѹ Ҹ + : + : ۿ + : + : + : Ω ۩ + : + : Ω + : + : Ω + : + : + : + : Ω + : + : + : + : + : + : + : + : + : + : + : Τ + : ҹ + : е + : + : е + : Ω + : + : + : + : Э + : + : Ф + : + : + : Ф + : е + : + : е + : + : + : + : Ф + : Э + : + : + : + : + : + : + : + : Э + : + : + : Ф + : Ц + : + : + : е + : Ҹ + : + : + : Ц + : ұ + : + : Ф + : + : + : + : Ц + : Э + : + : + : е + : + : + : ѹ + : + : + : ұ + : Ф + : + : Ҹ + : + : Ф + : + : + : Ω ۩ + : + : + : + : ѹ + : + : + : + : ɥ Ҹ + : + : + : + : е + : + : ۿ + : + : + : + : + : + : Ҹ + : ѹ + : + : + : е + : ѹ + : + : + : Ʀ + : ұ + : ѹ + : + : + : ұ ֥ + : Э + : + : + : Ф + : + : + : + : Ҹ + : ұ + : ұ + : ұ + : + : + : Э + : е + : Ҹ + : Ҹ + : Ҹ + : Ҹ + : + : + : + : + : + : ѹ + : + : е + : + : Ф + : Ω е + : Ϸ + : е + : + : е + : + : + : ھ + : + : + : + : Ф + : Ʀ + : ѹ ұ + : + : + : + : ұ + : ̷ Ф + : + : + : + : Ҹ + : + : + : + : + : + : е + : Ҹ + : + : + : Ω + : + : ұ Ҹ + : + : ѹ ҹ + : + : Ʀ + : + : + : ͼ + : + : ۿ + : Ω е + : + : + : е + : е + : ѹ + : Ʀ + : + : Э + : + : ɥ Ҹ + : + : + : + : Э + : + : + : + : Ц + : Ц + : + : + : е + : ѹ + : Ʀ + : װ + : + : Ʀ + : е + : + : + : + : + : + : + : Ц + : е + : + : + : + : + : + : е + : е + : + : + : е + : ѹ + : Ф ë + : + : + : + : + : + : ұ + : е + : ѹ + : ѹ + : ѹ + : ѹ ͼ + : ѹ + : ѹ + : ѹ + : + : ѹ + : ͼ ѹ + : ѹ + : ѹ ھ + : ѹ + : ѹ + : ѹ + : ѹ + : ѹ + : Ω + : Ω + : Ω + : Ω + : Ω + : Ω Э + : Ω + : Ω + : Ω + : Ω + : Ω ұ Ҹ + : Τ Ω + : Ц + : ұ + : + : + : + : + : + : + : + : + : + : ҹ + : ҹ Ц + : װ + : ұ + : + : Ф + : ѹ + : ׮ + : + : + : + : + : ھ + : + : + : ٩ + : + : + : ҹ ٩ + : ѹ + : Ф + : + : + : Э + : Э ұ + : + : ҹ + : + : + : + : + : + : + : + : е + : е + : + : + : Ω + : е + : + : + : + : + : Ц + : + : Ļ ۿ + : + : + : + : ۩ + : ѹ + : + : Ф + : + : + : ھ + : + : ٩ + : + : + : + : + : + : Ф װ + : е + : + : + : + : ұ + : Ф + : + : + : + : + : + : ͼ + : + : + : е + : + : Ҹ + : ̷ + : ѹ ҹ + : + : + : + : + : ѹ + : + : + : + : + : + : Э + : + : + : + : ʸ + : + : + : + : + : + : Э + : + : + : ѹ + : + : + : + : + : + : װ + : + : ǵ + : ھ + : + : + : Ц + : Э + : ھ + : + : + : + : + : + : + : + : ұ + : + : Ф װ + : + : + : + : + : + : + : ھ + : + : + : + : + : + : Ω + : + : + : ä + : + : + : + : Ф + : + : + : + : + : + : + : + : + : + : + : ھ + : ѹ + : + : е + : Ω е + : Ф + : + : ҹ + : + : װ + : ʸ + : + : Ω + : + : + : е + : ѹ + : Τ ۿ + : е + : + : ѹ ұ + : + : + : е + : + : + : + : Э Ҹ + : + : + : + : + : Ц + : ѹ + : ˴ е + : Ц + : + : + : + : + : + : + : + : Ҹ ۿ + : + : ۿ + : Э + : ѹ + : ۿ + : + : + : Ф + : + : ұ Ҹ + : + : ۿ + : ۿ + : е + : ˴ Ц + : + : + : + : Ω + : Ф + : + : + : + : װ + : ҹ + : ѹ + : + : Ϸ Ҹ + : Ϸ Ҹ + : Ϸ Ҹ + : + : + : + : + : + : ä + : + : + : + : Ф + : + : ұ + : + : + : ɥ + : װ + : ɥ + : + : + : + : Э + : + : + : Ҹ + : Ĺ + : + : + : ˴ е + : + : + : + : Ц + : + : ɥ + : + : + : + : Ц + : + : Ц + : ұ + : ѹ + : + : ھ + : ä + : Ц + : ͼ е + : + : + : + : + : + : װ + : ׮ + : + : + : + : + : + : ѹ + : Ц + : Ω е + : е + : Ф + : + : + : ѹ + : + : + : ׵ + : + : е + : Ф + : + : ѹ ұ + : + : Ω + : + : Ф + : װ + : + : Ҹ ۿ + : + : ұ Ҹ + : Ҹ + : + : + : + : + : + : + : װ + : + : + : + : + : Ф + : + : Ф Ц + : + : + : Э + : + : + : Ф + : + : + : + : Τ Ω + : Э + : + : + : ۿ + : Ҹ + : + : + : Ʀ + : ֥ + : + : Ц ұ + : ˴ е + : ѹ + : + : ұ ֥ + : + : + : + : ұ + : + : + : Ц + : + : + : + : + : + : ұ + : + : + : е + : Ω + : + : + : + : + : е + : ұ + : + : + : Ф + : + : ˴ + : ͼ + : + : Ω + : ׮ + : Э + : Ф + : + : + : + : + : + : + : Ф Э + : ѹ Ҹ + : Ʀ + : Ц + : + : + : + : + : + : + : + : + : е + : + : + : е + : + : Ĺ + : + : + : + : ұ + : + : װ + : + : ѹ + : + : + : + : ұ + : ұ + : ѹ + : + : + : ұ ֥ + : + : Ω е + : + : + : + : Ц ұ + : Ҹ + : + : + : Ц + : + : е + : Ω ұ + : + : Ϸ Ҹ + : + : ھ + : ä + : + : + : Ц + : Ω е + : + : + : + : ۿ + : + : е ɥ + : + : ѹ + : ұ + : Ф + : + : ͼ + : ѹ + : ۩ + : + : + : + : + : + : + : Ф + : + : ۿ + : ͼ Ҹ + : + : + : Ω + : ھ + : ھ + : Ω + : ̷ Э + : + : ѹ + : + : е װ + : + : + : ѹ + : + : Ц ѹ + : + : Ф ұ + : ұ Ҹ + : + : ۿ + : + : + : + : Ҹ + : Ω + : ۿ + : + : + : Ҹ + : + : ʸ Ҹ + : ѹ Ҹ ұ + : Ҹ ұ + : + : + : + : ֥ + : + : + : + : + : + : + : + : + : Ф + : + : ұ + : + : + : Ц + : + : е + : + : Ϸ Ҹ + : ׮ + : + : + : ұ + : ä + : ѹ + : ׮ + : + : Ф Э + : + : + : ұ + : ͼ + : + : е + : + : + : + : + : + : + : + : ұ Ҹ + : + : + : + : + : װ + : Ф + : + : ұ + : + : + : е + : ˮ + : ھ + : + : Ц + : е + : + : + : ھ + : Ω Ц е + : + : + : + : + : ѹ + : + : + : + : ұ Ҹ + : ѹ + : + : + : װ + : װ + : + : + : + : + : + : + : + : + : + : + : + : Ц + : е + : + : + : + : + : + : Ф е + : е + : + : + : + : + : + : Ф + : + : + : + : + : ұ + : ̷ е + : е + : + : + : + : + : ѹ е + : Ц е + : + : е + : е + : + : ұ + : е + : + : + : + : + : װ + : + : е + : + : ä + : + : ѹ Ҹ + : + : е + : Ц е + : + : + : + : + : + : Ω е + : + : + : + : + : Ω + : + : + : + : + : ھ + : ۿ + : + : + : + : Ϸ + : Ф + : Ʀ + : + : + : + : + : ѹ + : + : + : Ҹ + : + : + : ұ + : ұ + : + : + : + : + : Ҹ + : + : + : Э + : + : + : + : + : + : + : ұ + : + : ұ + : + : ѹ + : + : + : װ + : + : + : + : + : + : е + : Э + : + : ɥ + : + : Ω + : + : ұ + : + : Ҹ ҹ + : + : + : + : װ + : + : Э + : + : + : ұ + : ѹ + : Ц + : Ω е + : ͼ + : ҹ + : ұ + : + : Ω е ũ + : + : + : + : ۿ + : Ц + : ̷ ѹ + : Ʀ + : + : е + : ۩ + : ѹ ұ + : + : Ω + : Ω е + : + : + : ѹ + : Ҹ ۿ + : + : ѹ ұ + : е + : + : + : ѹ + : ë Ф + : ë Ф е + : ë Ф + : Ʀ + : Ʀ ͼ + : Ʀ + : Ʀ + : + : + : Ϸ + : + : Э + : + : + : + : + : Τ + : ѹ + : + : + : + : + : + : Ф + : + : Ҹ + : ׵ + : ׵ + : е + : + : + : + : + : + : + : + : Ц + : Ω Ц е + : ھ + : ѹ + : ʸ + : ˴ + : ѹ + : ۿ + : е װ + : + : + : + : ѹ + : + : Ϸ + : + : + : Ф + : + : ­ + : ­ + : ­ + : ­ + : ­ װ + : ­ + : ­ + : ­ + : ­ Ц + : ­ ұ + : ­ Ц + : ­ + : ­ ѹ + : ­ + : ­ + : ­ + : ­ + : ­ + : ­ + : ­ + : ­ + : ­ ̷ + : ­ Τ + : ­ Ф + : ­ + : ­ + : ­ + : ­ + : ­ Ф + : ­ + : ­ + : ­ + : ­ ɥ + : ­ ۿ + : ­ + : ­ + : ­ + : ­ ֥ + : ­ + : ­ + : ­ + : ­ Ϸ + : ­ ұ + : ­ Ω + : ­ е װ + : ­ + : ­ + : ­ ˮ + : ­ ѹ Τ + : ­ + : ­ + : ­ + : + : + : Ʀ + : ǵ + : + : + : + : + : + : + : + : Э + : Ф + : ׵ + : + : + : + : + : + : ѹ ұ + : + : + : + : + : е + : + : + : + : + : + : + : + : + : + : + : + : + : + : + : Ҹ + : Ω + : Ω + : Ω + : Ω + : Ω + : + : + : + : + : + : ͼ + : + : + : + : Э е + : + : Ц е + : + : ѹ + : + : + : + : Ц + : ë Ф + : + : ѹ + : Ω е + : װ + : ұ Ҹ + : + : + : + : + : + : Ф + : + : + : ѹ Ҹ + : ھ + : + : ѹ + : + : + : + : Ҹ + : + : ھ + : ѹ + : ѹ + : + : ˮ + : ˮ + : ˮ + : ˮ + : ˮ + : ë ˮ Ф + : ˮ + : ˮ + : ˮ + : ˮ ұ ֥ + : ˮ + : ˮ + : ˮ ͼ + : Э + : + : + : + : + : ͼ + : + : + : + : е + : + : + : ҹ + : е + : Ф + : Ҹ + : Ʀ + : ۿ + : е + : + : + : Ω е + : Τ ھ + : + : + : + : + : Ц + : Ц + : Ҹ + : ұ + : + : + : Ц + : + : + : + : + : + : е + : ұ + : Ҹ + : + : + : ұ + : + : + : + : Ф + : + : + : Ф + : ǵ + : + : ˴ + : + : ͼ + : е + : + : + : + : Э + : + : + : Ф Ҹ + : + : + : + : + : Ф + : ѹ ҹ + : + : е + : Ҹ + : ë Ф + : + : + : + : + : Ф + : ͼ + : + : + : Ф + : + : + : + : ۩ + : е ھ + : ѹ + : + : е + : + : + : + : Ʀ + : + : ѹ + : + : + : + : + : Ҹ + : + : Ҹ + : + : Ф װ + : + : + : ѹ + : ѹ е + : + : + : + : + : + : + : + : ʸ + : + : + : е + : Ц + : + : + : + : Ф + : ұ + : + : + : + : + : + : Ϸ + : + : ֥ + : + : ۿ + : + : + : Ω е + : Ω + : + : + : ѹ + : + : + : + : + : + : ұ + : + : װ + : + : + : + : + : + : + : + : + : ѹ Ҹ + : Ф + : + : + : ۿ + : ۿ + : Ω + : + : Э + : + : + : Э + : + : е + : + : е + : + : + : ұ + : + : ׮ + : е + : ѹ + : Ω + : + : + : + : + : + : + : ھ + : Ω + : е װ + : Τ + : ұ Ҹ + : + : + : + : + : Э е + : + : ұ + : + : + : + : Ц + : + : + : + : + : + : е + : + : + : Ц + : + : + : ұ Ҹ + : + : ̷ + : Ф + : + : + : + : + : + : + : + : е װ + : е װ + : Ω ѹ + : Ω + : Ω ұ + : е ѹ + : + : + : ҹ + : + : Ф + : + : + : ʸ + : + : е + : ۿ + : + : Ҹ + : + : + : + : Ω + : + : + : + : + : + : + : + : е + : + : + : Ц + : Ф Э + : + : + : + : + : + : + : Ф + : ѹ Ҹ + : + : + : + : + : Ʀ + : + : Ц + : ѹ + : + : ѹ Ҹ + : + : + : + : ۿ + : ۿ + : ʸ ۿ + : ѹ ۿ + : ۿ + : Ҹ ۿ + : ۿ + : ۿ + : е ۿ Ц + : е ۿ + : ۿ + : Ц ۿ + : ۿ + : ۿ + : ұ ۿ + : ۿ + : ۿ + : װ ۿ + : ۿ װ + : ۿ + : Ц ۿ + : ҹ ۿ + : ۿ Ф + : ۿ + : ۿ + : ۿ + : ۿ + : ѹ ۿ + : Ω е ۿ + : Ф ۿ + : ۿ + : Ҹ ۿ + : Ҹ ۿ + : е ۿ + : ۿ + : ۿ + : е ۿ + : + : + : + : + : + : ұ + : + : Ʀ + : е + : Ĺ + : Ĺ Ҹ + : Ĺ + : Ĺ + : Ĺ + : Ĺ + : Ĺ ھ + : Ĺ + : Ĺ ұ + : Ĺ + : Ĺ + : Ĺ + : Ĺ + : Ĺ + : Ĺ + : Ĺ + : Ĺ + : + : е + : Э + : ѹ + : Ʀ + : ұ + : Ҹ + : ѹ + : ѹ Ҹ + : Ц ѹ Ҹ ھ + : ѹ Ҹ + : ˴ ѹ Ҹ + : ѹ Ҹ + : е ѹ Ҹ + : ѹ Ҹ + : ۿ + : ۿ + : ۿ + : ұ ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : Ҹ ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : Ц ۿ + : ۿ + : ۿ + : ۿ + : ұ ۿ + : ѹ ۿ + : ۿ + : ۿ + : ۿ + : Ф ۿ + : Ф ۿ + : ѹ Ҹ ۿ + : Ф ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ۿ + : ھ ۿ е + : Ω ۿ + : ۿ + : Ʀ ۿ + : Ф ۿ + : Ʀ ۿ + : ۿ + : Ҹ ۿ + : Ļ ۿ + : Ļ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ ѹ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ Ҹ ۿ + : Ļ Ф ۿ + : Ļ е ۿ + : Ļ Ф ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ Э ۿ + : Ļ Э ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ е ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ е ۿ ͼ + : Ļ ۿ ұ + : Ļ ۿ + : Ļ ̷ ھ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ е + : Ļ Ҹ ۿ + : Ļ ۿ + : Ļ ͼ ۿ + : Ļ Ω Ц е ۿ + : Ļ ۿ + : Ļ ̷ ѹ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ е ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : Ļ ۿ + : + : + : + : ұ + : Ц + : + : + : + : + : ѹ + : + : + : е + : е + : ɥ + : ұ + : + : + : + : + : е + : Τ Ф ۿ + : Τ ۿ + : Τ ۿ + : Τ ۿ + : Τ ۿ + : Τ е ۿ + : Τ ۿ + : Τ Ω ۿ + : Τ ھ ۿ + : Τ ۿ + : Τ ѹ ۿ + : + : Ц + : Ц + : + : ھ е + : ھ + : Ʀ + : Ʀ Ц + : + : + : ɡ װ + : е װ + : + : Ҹ + : ұ + : + : + : Ф + : + : е + : + : ­ + : + : + : ұ + : Ω Ф + : ұ + : Ф װ + : ѹ + : + : ͼ Ц + : ͼ Ц + : е + : ۿ ҹ diff --git a/src-tauri/database-maker/Cargo.toml b/src-tauri/database-maker/Cargo.toml new file mode 100644 index 0000000..f6a162c --- /dev/null +++ b/src-tauri/database-maker/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "database-maker" +version = "0.1.0" +edition = "2021" + +[dependencies] +anyhow = "1.0.71" +clap = { version = "4.3.2", features = ["derive"] } +sqlx = { version = "0.6.3", features = ["runtime-tokio-rustls", "sqlite"] } +tokio = { version = "1.28.2", features = ["full"] } diff --git a/src-tauri/database-maker/migrations/20230606142333_initial.sql b/src-tauri/database-maker/migrations/20230606142333_initial.sql new file mode 100644 index 0000000..a9e5dbe --- /dev/null +++ b/src-tauri/database-maker/migrations/20230606142333_initial.sql @@ -0,0 +1 @@ +CREATE DATABASE \ No newline at end of file diff --git a/src-tauri/database-maker/src/main.rs b/src-tauri/database-maker/src/main.rs new file mode 100644 index 0000000..48079f1 --- /dev/null +++ b/src-tauri/database-maker/src/main.rs @@ -0,0 +1,32 @@ +use std::{path::PathBuf, str::FromStr}; + +use anyhow::Result; +use clap::Parser; +use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions}; + +#[derive(Debug, Parser)] +struct Opt { + in_dir: PathBuf, + out_file: PathBuf, +} + +#[tokio::main] +async fn main() -> Result<()> { + let opt = Opt::parse(); + + // Open sqlite db + let uri = format!("sqlite:{}", opt.out_file.display()); + println!("Opening {}...", uri); + let options = SqliteConnectOptions::from_str(&uri)?.create_if_missing(true); + let pool = SqlitePoolOptions::new() + .max_connections(5) + .connect_with(options) + .await?; + + // Migrate that shit + sqlx::migrate!().run(&pool).await?; + + println!("Hello, world!"); + + Ok(()) +}