From f57f42f6841bcdea457dd92c71ae658575a79b87 Mon Sep 17 00:00:00 2001 From: CarrotzRule123 Date: Fri, 3 Nov 2023 20:30:26 +0800 Subject: [PATCH 1/7] new wgpu backend --- Cargo.lock | 939 +++++++++++++++++- crates/core-gpu/Cargo.toml | 3 +- crates/core-gpu/src/ffi.rs | 8 +- crates/core-gpu/src/gpu/backend.rs | 220 +--- crates/core-gpu/src/gpu/gpu.rs | 157 +++ crates/core-gpu/src/gpu/layers/batchnorm1d.rs | 158 --- crates/core-gpu/src/gpu/layers/batchnorm2d.rs | 162 --- crates/core-gpu/src/gpu/layers/conv2d.rs | 144 --- crates/core-gpu/src/gpu/layers/convtrans2d.rs | 146 --- crates/core-gpu/src/gpu/layers/dropout.rs | 87 -- crates/core-gpu/src/gpu/layers/flatten.rs | 43 - crates/core-gpu/src/gpu/layers/mod.rs | 61 +- crates/core-gpu/src/gpu/layers/pool2d.rs | 126 --- crates/core-gpu/src/gpu/mod.rs | 2 + crates/core-gpu/src/gpu/optimizers/mod.rs | 40 - crates/core/Cargo.toml | 2 +- crates/tokenizers/Cargo.toml | 2 +- deno.lock | 868 +--------------- 18 files changed, 1099 insertions(+), 2069 deletions(-) create mode 100644 crates/core-gpu/src/gpu/gpu.rs delete mode 100644 crates/core-gpu/src/gpu/layers/batchnorm1d.rs delete mode 100644 crates/core-gpu/src/gpu/layers/batchnorm2d.rs delete mode 100644 crates/core-gpu/src/gpu/layers/conv2d.rs delete mode 100644 crates/core-gpu/src/gpu/layers/convtrans2d.rs delete mode 100644 crates/core-gpu/src/gpu/layers/dropout.rs delete mode 100644 crates/core-gpu/src/gpu/layers/flatten.rs delete mode 100644 crates/core-gpu/src/gpu/layers/pool2d.rs diff --git a/Cargo.lock b/Cargo.lock index 5d02727..ebdb0d1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,33 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "gimli", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "ahash" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a" +dependencies = [ + "cfg-if", + "once_cell", + "version_check", + "zerocopy", +] + [[package]] name = "aho-corasick" version = "1.1.2" @@ -11,12 +38,57 @@ dependencies = [ "memchr", ] +[[package]] +name = "allocator-api2" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" + +[[package]] +name = "android_system_properties" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311" +dependencies = [ + "libc", +] + +[[package]] +name = "arrayvec" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" + +[[package]] +name = "ash" +version = "0.37.3+1.3.251" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "39e9c3835d686b0a6084ab4234fcd1b07dbf6e4767dce60874b12356a25ecd4a" +dependencies = [ + "libloading 0.7.4", +] + [[package]] name = "autocfg" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" +[[package]] +name = "backtrace" +version = "0.3.69" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" +dependencies = [ + "addr2line", + "cc", + "cfg-if", + "libc", + "miniz_oxide", + "object", + "rustc-demangle", +] + [[package]] name = "base64" version = "0.13.1" @@ -38,18 +110,88 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb" +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07" + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + [[package]] name = "bumpalo" version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" +[[package]] +name = "cc" +version = "1.0.83" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" +dependencies = [ + "libc", +] + [[package]] name = "cfg-if" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "codespan-reporting" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e" +dependencies = [ + "termcolor", + "unicode-width", +] + +[[package]] +name = "com-rs" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf43edc576402991846b093a7ca18a3477e0ef9c588cde84964b5d3e43016642" + +[[package]] +name = "core-foundation" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" + +[[package]] +name = "core-graphics-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bb142d41022986c1d8ff29103a1411c8a3dfad3552f87a4f8dc50d61d4f4e33" +dependencies = [ + "bitflags 1.3.2", + "core-foundation", + "libc", +] + [[package]] name = "crossbeam-deque" version = "0.8.3" @@ -84,10 +226,15 @@ dependencies = [ ] [[package]] -name = "cudarc" -version = "0.9.14" +name = "d3d12" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4cab390f4a32340211f015292a4551742a63e528e9ade9e0bde0d1a989d2a1" +checksum = "e16e44ab292b1dddfdaf7be62cfd8877df52f2f3fde5858d95bab606be259f20" +dependencies = [ + "bitflags 2.4.1", + "libloading 0.8.1", + "winapi", +] [[package]] name = "darling" @@ -161,6 +308,12 @@ version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "esaxx-rs" version = "0.1.10" @@ -177,12 +330,63 @@ dependencies = [ "regex", ] +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "futures-core", + "futures-sink", + "nanorand", + "spin", +] + [[package]] name = "fnv" version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d737d9aa519fb7b749cbc3b962edcf310a8dd1f4b67c91c4f83975dbdd17d965" +dependencies = [ + "foreign-types-macros", + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-macros" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.32", +] + +[[package]] +name = "foreign-types-shared" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" + +[[package]] +name = "futures-core" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" + +[[package]] +name = "futures-sink" +version = "0.3.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" + [[package]] name = "getrandom" version = "0.2.10" @@ -196,12 +400,144 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "gimli" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" + +[[package]] +name = "gl_generator" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a95dfc23a2b4a9a2f5ab41d194f8bfda3cabec42af4e39f08c339eb2a0c124d" +dependencies = [ + "khronos_api", + "log", + "xml-rs", +] + +[[package]] +name = "glow" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "886c2a30b160c4c6fec8f987430c26b526b7988ca71f664e6a699ddf6f9601e4" +dependencies = [ + "js-sys", + "slotmap", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "glutin_wgl_sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8098adac955faa2d31079b65dc48841251f69efd3ac25477903fc424362ead" +dependencies = [ + "gl_generator", +] + +[[package]] +name = "gpu-alloc" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbcd2dba93594b227a1f57ee09b8b9da8892c34d55aa332e034a228d0fe6a171" +dependencies = [ + "bitflags 2.4.1", + "gpu-alloc-types", +] + +[[package]] +name = "gpu-alloc-types" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98ff03b468aa837d70984d55f5d3f846f6ec31fe34bbb97c4f85219caeee1ca4" +dependencies = [ + "bitflags 2.4.1", +] + +[[package]] +name = "gpu-allocator" +version = "0.23.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40fe17c8a05d60c38c0a4e5a3c802f2f1ceb66b76c67d96ffb34bef0475a7fad" +dependencies = [ + "backtrace", + "log", + "presser", + "thiserror", + "winapi", + "windows", +] + +[[package]] +name = "gpu-descriptor" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" +dependencies = [ + "bitflags 2.4.1", + "gpu-descriptor-types", + "hashbrown", +] + +[[package]] +name = "gpu-descriptor-types" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bf0b36e6f090b7e1d8a4b49c0cb81c1f8376f72198c65dd3ad9ff3556b8b78c" +dependencies = [ + "bitflags 2.4.1", +] + +[[package]] +name = "hashbrown" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f93e7192158dbcda357bdec5fb5788eebf8bbac027f3f33e719d29135ae84156" +dependencies = [ + "ahash", + "allocator-api2", +] + +[[package]] +name = "hassle-rs" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1397650ee315e8891a0df210707f0fc61771b0cc518c3023896064c5407cb3b0" +dependencies = [ + "bitflags 1.3.2", + "com-rs", + "libc", + "libloading 0.7.4", + "thiserror", + "widestring", + "winapi", +] + +[[package]] +name = "hexf-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" + [[package]] name = "ident_case" version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" +[[package]] +name = "indexmap" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d530e1a18b1cb4c484e6e34556a0d948706958449fca0cab753d649f2bce3d1f" +dependencies = [ + "equivalent", + "hashbrown", +] + [[package]] name = "itertools" version = "0.11.0" @@ -219,13 +555,30 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.65" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" dependencies = [ "wasm-bindgen", ] +[[package]] +name = "khronos-egl" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" +dependencies = [ + "libc", + "libloading 0.8.1", + "pkg-config", +] + +[[package]] +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + [[package]] name = "lazy_static" version = "1.4.0" @@ -238,12 +591,42 @@ version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" +[[package]] +name = "libloading" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b67380fd3b2fbe7527a606e18729d21c6f3951633d0500574c4dc22d2d638b9f" +dependencies = [ + "cfg-if", + "winapi", +] + +[[package]] +name = "libloading" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" +dependencies = [ + "cfg-if", + "windows-sys", +] + [[package]] name = "libm" version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" +[[package]] +name = "lock_api" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +dependencies = [ + "autocfg", + "scopeguard", +] + [[package]] name = "log" version = "0.4.19" @@ -266,6 +649,15 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8dd856d451cc0da70e2ef2ce95a18e39a93b7558bedf10201ad28503f918568" +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + [[package]] name = "matrixmultiply" version = "0.3.7" @@ -291,12 +683,36 @@ dependencies = [ "autocfg", ] +[[package]] +name = "metal" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +dependencies = [ + "bitflags 2.4.1", + "block", + "core-graphics-types", + "foreign-types", + "log", + "objc", + "paste", +] + [[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" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" +dependencies = [ + "adler", +] + [[package]] name = "monostate" version = "0.1.9" @@ -315,7 +731,36 @@ checksum = "371717c0a5543d6a800cac822eac735aa7d2d2fbb41002e9856a4089532dbdce" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.32", +] + +[[package]] +name = "naga" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61d829abac9f5230a85d8cc83ec0879b4c09790208ae25b5ea031ef84562e071" +dependencies = [ + "bit-set", + "bitflags 2.4.1", + "codespan-reporting", + "hexf-parse", + "indexmap", + "log", + "num-traits", + "rustc-hash", + "spirv", + "termcolor", + "thiserror", + "unicode-xid", +] + +[[package]] +name = "nanorand" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3" +dependencies = [ + "getrandom", ] [[package]] @@ -360,13 +805,14 @@ dependencies = [ name = "netsaur-gpu" version = "0.2.13" dependencies = [ - "cudarc", "ndarray", "ndarray-rand", + "pollster", "safetensors", "serde", "serde_json", "thiserror", + "wgpu", ] [[package]] @@ -422,24 +868,93 @@ dependencies = [ "libm", ] +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "object" +version = "0.32.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" +dependencies = [ + "memchr", +] + [[package]] name = "once_cell" version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" +[[package]] +name = "parking_lot" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +dependencies = [ + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "smallvec", + "windows-targets", +] + [[package]] name = "paste" version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" +[[package]] +name = "pkg-config" +version = "0.3.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" + +[[package]] +name = "pollster" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" + [[package]] name = "ppv-lite86" version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +[[package]] +name = "presser" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8cf8e6a8aa66ce33f63993ffc4ea4271eb5b0530a9002db8455ea6050c77bfa" + [[package]] name = "proc-macro2" version = "1.0.66" @@ -449,6 +964,12 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "profiling" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f89dff0959d98c9758c88826cc002e2c3d0b9dfac4139711d1f30de442f1139b" + [[package]] name = "quote" version = "1.0.32" @@ -498,6 +1019,18 @@ dependencies = [ "rand", ] +[[package]] +name = "range-alloc" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" + +[[package]] +name = "raw-window-handle" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2ff9a1f06a88b01621b7ae906ef0211290d1c8a168a15542486a8f61c0833b9" + [[package]] name = "rawpointer" version = "0.2.1" @@ -535,6 +1068,15 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "redox_syscall" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "regex" version = "1.9.3" @@ -564,6 +1106,24 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +[[package]] +name = "renderdoc-sys" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "216080ab382b992234dda86873c18d4c48358f5cfcb70fd693d7f6f2131b628b" + +[[package]] +name = "rustc-demangle" +version = "0.1.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" + +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "ryu" version = "1.0.15" @@ -603,7 +1163,7 @@ checksum = "be02f6cb0cd3a5ec20bbcfbcbd749f57daddb1a0882dc2e46a6c236c90b977ed" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.32", ] [[package]] @@ -617,12 +1177,40 @@ dependencies = [ "serde", ] +[[package]] +name = "slotmap" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1e08e261d0e8f5c43123b7adf3e4ca1690d655377ac93a03b2c9d3e98de1342" +dependencies = [ + "version_check", +] + [[package]] name = "smallvec" version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" +[[package]] +name = "spin" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +dependencies = [ + "lock_api", +] + +[[package]] +name = "spirv" +version = "0.2.0+1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246bfa38fe3db3f1dfc8ca5a2cdeb7348c78be2112740cc0ec8ef18b6d94f830" +dependencies = [ + "bitflags 1.3.2", + "num-traits", +] + [[package]] name = "spm_precompiled" version = "0.1.4" @@ -635,6 +1223,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + [[package]] name = "strsim" version = "0.10.0" @@ -654,15 +1248,24 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.28" +version = "2.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" +checksum = "239814284fd6f1a4ffe4ca893952cdd93c224b6a1571c9a9eadd670295c0c9e2" dependencies = [ "proc-macro2", "quote", "unicode-ident", ] +[[package]] +name = "termcolor" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6093bad37da69aab9d123a8091e4be0aa4a03e4d601ec641c327398315f62b64" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.49" @@ -680,7 +1283,7 @@ checksum = "10712f02019e9288794769fba95cd6847df9874d49d871d062172f9dd41bc4cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.28", + "syn 2.0.32", ] [[package]] @@ -735,12 +1338,30 @@ version = "1.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" +[[package]] +name = "unicode-width" +version = "0.1.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" + +[[package]] +name = "unicode-xid" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c" + [[package]] name = "unicode_categories" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39ec24b3121d976906ece63c9daad25b85969647682eee313cb5779fdd69e14e" +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -749,9 +1370,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -759,24 +1380,36 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.32", "wasm-bindgen-shared", ] +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -784,19 +1417,279 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.32", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" + +[[package]] +name = "web-sys" +version = "0.3.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "wgpu" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30e7d227c9f961f2061c26f4cb0fbd4df0ef37e056edd0931783599d6c94ef24" +dependencies = [ + "arrayvec", + "cfg-if", + "flume", + "js-sys", + "log", + "naga", + "parking_lot", + "profiling", + "raw-window-handle", + "smallvec", + "static_assertions", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "wgpu-core", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-core" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "837e02ddcdc6d4a9b56ba4598f7fd4202a7699ab03f6ef4dcdebfad2c966aea6" +dependencies = [ + "arrayvec", + "bit-vec", + "bitflags 2.4.1", + "codespan-reporting", + "log", + "naga", + "parking_lot", + "profiling", + "raw-window-handle", + "rustc-hash", + "smallvec", + "thiserror", + "web-sys", + "wgpu-hal", + "wgpu-types", +] + +[[package]] +name = "wgpu-hal" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e30b9a8155c83868e82a8c5d3ce899de6c3961d2ef595de8fc168a1677fc2d8" +dependencies = [ + "android_system_properties", + "arrayvec", + "ash", + "bit-set", + "bitflags 2.4.1", + "block", + "core-graphics-types", + "d3d12", + "glow", + "glutin_wgl_sys", + "gpu-alloc", + "gpu-allocator", + "gpu-descriptor", + "hassle-rs", + "js-sys", + "khronos-egl", + "libc", + "libloading 0.8.1", + "log", + "metal", + "naga", + "objc", + "once_cell", + "parking_lot", + "profiling", + "range-alloc", + "raw-window-handle", + "renderdoc-sys", + "rustc-hash", + "smallvec", + "thiserror", + "wasm-bindgen", + "web-sys", + "wgpu-types", + "winapi", +] + +[[package]] +name = "wgpu-types" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d5ed5f0edf0de351fe311c53304986315ce866f394a2e6df0c4b3c70774bcdd" +dependencies = [ + "bitflags 2.4.1", + "js-sys", + "web-sys", +] + +[[package]] +name = "widestring" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-util" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +dependencies = [ + "winapi", +] + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca229916c5ee38c2f2bc1e9d8f04df975b4bd93f9955dc69fabb5d91270045c9" +dependencies = [ + "windows-core", + "windows-targets", +] + +[[package]] +name = "windows-core" +version = "0.51.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1f8cf84f35d2db49a46868f947758c7a1138116f7fac3bc844f43ade1292e64" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "xml-rs" +version = "0.8.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fcb9cbac069e033553e8bb871be2fbdffcab578eb25bd0f7c508cedc6dcd75a" + +[[package]] +name = "zerocopy" +version = "0.7.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e50cbb27c30666a6108abd6bc7577556265b44f243e2be89a8bc4e07a528c107" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a25f293fe55f0a48e7010d65552bb63704f6ceb55a1a385da10d41d8f78e4a3d" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.32", +] diff --git a/crates/core-gpu/Cargo.toml b/crates/core-gpu/Cargo.toml index eccd9e3..9f7a7e4 100644 --- a/crates/core-gpu/Cargo.toml +++ b/crates/core-gpu/Cargo.toml @@ -13,5 +13,6 @@ ndarray-rand = "0.14.0" serde = {version = "1.0", features = ["derive"]} serde_json = "1.0" safetensors = "0.4.0" -cudarc = "0.9.14" thiserror = "1.0.49" +wgpu = "0.18.0" +pollster = "0.3.0" diff --git a/crates/core-gpu/src/ffi.rs b/crates/core-gpu/src/ffi.rs index 7a4c00c..7512405 100644 --- a/crates/core-gpu/src/ffi.rs +++ b/crates/core-gpu/src/ffi.rs @@ -2,7 +2,7 @@ use std::slice::{from_raw_parts, from_raw_parts_mut}; use crate::{ decode_array, decode_json, length, Backend, Dataset, Logger, PredictOptions, TrainOptions, - RESOURCES, + RESOURCES, WGPUBackend, }; type AllocBufferFn = extern "C" fn(usize) -> *mut u8; @@ -13,8 +13,9 @@ fn log(string: String) { #[no_mangle] pub extern "C" fn ffi_backend_create(ptr: *const u8, len: usize, alloc: AllocBufferFn) -> usize { + let webgpu = WGPUBackend::new(); let config = decode_json(ptr, len); - let net_backend = Backend::new(config, Logger { log }, None); + let net_backend = Backend::new(webgpu, config, Logger { log }, None); let buf: Vec = net_backend.size.iter().map(|x| *x as u8).collect(); let size_ptr = alloc(buf.len()); let output_shape = unsafe { from_raw_parts_mut(size_ptr, buf.len()) }; @@ -92,8 +93,9 @@ pub extern "C" fn ffi_backend_load( file_len: usize, alloc: AllocBufferFn, ) -> usize { + let webgpu = WGPUBackend::new(); let buffer = unsafe { from_raw_parts(file_ptr, file_len) }; - let net_backend = Backend::load(buffer, Logger { log }); + let net_backend = Backend::load(webgpu, buffer, Logger { log }); let buf: Vec = net_backend.size.iter().map(|x| *x as u8).collect(); let size_ptr = alloc(buf.len()); let output_shape = unsafe { from_raw_parts_mut(size_ptr, buf.len()) }; diff --git a/crates/core-gpu/src/gpu/backend.rs b/crates/core-gpu/src/gpu/backend.rs index ed89419..483092d 100644 --- a/crates/core-gpu/src/gpu/backend.rs +++ b/crates/core-gpu/src/gpu/backend.rs @@ -1,130 +1,17 @@ use std::collections::HashMap; -use std::sync::{Arc, Mutex}; use ndarray::{ArrayD, ArrayViewD, IxDyn}; use safetensors::{serialize, SafeTensors}; use crate::{ - to_arr, ActivationGPULayer, BackendConfig, BatchNorm1DGPULayer, BatchNorm2DGPULayer, - BatchNormTensors, Conv2DGPULayer, ConvTensors, ConvTranspose2DGPULayer, Dataset, DenseGPULayer, - DenseTensors, Dropout1DGPULayer, Dropout2DGPULayer, FlattenGPULayer, GPUCost, GPULayer, - GPUOptimizer, GPUScheduler, GetTensor, Layer, Logger, Pool2DGPULayer, SoftmaxGPULayer, Tensor, - Tensors, + to_arr, ActivationGPULayer, BackendConfig, Dataset, DenseGPULayer, DenseTensors, GPUCost, + GPULayer, GPUOptimizer, GPUScheduler, GetTensor, Layer, Logger, Tensor, Tensors, WGPUBackend, }; -pub use cudarc; - -use crate::DType; - -/// cudarc related errors -#[derive(thiserror::Error, Debug)] -pub enum CudaError { - #[error(transparent)] - Cuda(#[from] cudarc::driver::DriverError), - - #[error(transparent)] - Compiler(#[from] cudarc::nvrtc::CompileError), - - #[error(transparent)] - Cublas(#[from] cudarc::cublas::result::CublasError), - - #[error(transparent)] - Curand(#[from] cudarc::curand::result::CurandError), - - #[error("missing kernel '{module_name}'")] - MissingKernel { module_name: String }, - - #[error("unsupported dtype {dtype:?} for {op}")] - UnsupportedDtype { dtype: DType, op: &'static str }, - - #[error("internal error '{0}'")] - InternalError(&'static str), - - #[error("matmul is only supported for contiguous tensors lstride: {lhs_stride:?} rstride: {rhs_stride:?} mnk: {mnk:?}")] - MatMulNonContiguous { - lhs_stride: Vec, - rhs_stride: Vec, - mnk: (usize, usize, usize), - }, - - #[error("{msg}, expected: {expected:?}, got: {got:?}")] - UnexpectedDType { - msg: &'static str, - expected: DType, - got: DType, - }, - - #[error("{cuda} when loading {module_name}")] - Load { - cuda: cudarc::driver::DriverError, - module_name: String, - }, -} - -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)] -pub struct DeviceId(usize); - -impl DeviceId { - fn new() -> Self { - use std::sync::atomic; - static COUNTER: atomic::AtomicUsize = atomic::AtomicUsize::new(1); - Self(COUNTER.fetch_add(1, atomic::Ordering::Relaxed)) - } -} - -struct CudaRng(cudarc::curand::CudaRng); -unsafe impl Send for CudaRng {} - -#[derive(Clone)] -pub struct CudaDevice { - id: DeviceId, - device: Arc, - #[allow(dead_code)] - blas: Arc, - #[allow(dead_code)] - curand: Arc>, -} - -impl std::fmt::Debug for CudaDevice { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "CudaDevice({:?})", self.id) - } -} - -impl std::ops::Deref for CudaDevice { - type Target = Arc; - - fn deref(&self) -> &Self::Target { - &self.device - } -} - -impl CudaDevice { - pub fn new(ordinal: usize) -> Self { - let device = cudarc::driver::CudaDevice::new(ordinal).unwrap(); - let blas = cudarc::cublas::CudaBlas::new(device.clone()).unwrap(); - let curand = cudarc::curand::CudaRng::new(299792458, device.clone()).unwrap(); - - Self { - id: DeviceId::new(), - device, - blas: Arc::new(blas), - curand: Arc::new(Mutex::new(CudaRng(curand))), - } - } - - pub fn cuda_device(&self) -> Arc { - self.device.clone() - } - - pub fn id(&self) -> DeviceId { - self.id - } -} pub struct Backend { + pub backend: WGPUBackend, pub silent: bool, pub config: BackendConfig, - pub cuda_device: CudaDevice, pub layers: Vec, pub size: Vec, pub cost: GPUCost, @@ -134,7 +21,12 @@ pub struct Backend { } impl Backend { - pub fn new(config: BackendConfig, logger: Logger, mut tensors: Option>) -> Self { + pub fn new( + backend: WGPUBackend, + config: BackendConfig, + logger: Logger, + mut tensors: Option>, + ) -> Self { let mut layers = Vec::new(); let mut size = config.size.clone(); for layer in config.layers.iter() { @@ -143,61 +35,21 @@ impl Backend { let layer = ActivationGPULayer::new(config, IxDyn(&size)); layers.push(GPULayer::Activation(layer)); } - Layer::Conv2D(config) => { - let layer = Conv2DGPULayer::new(config, IxDyn(&size), tensors.get()); - size = layer.output_size().to_vec(); - layers.push(GPULayer::Conv2D(layer)); - } - Layer::ConvTranspose2D(config) => { - let layer = ConvTranspose2DGPULayer::new(config, IxDyn(&size), tensors.get()); - size = layer.output_size().to_vec(); - layers.push(GPULayer::ConvTranspose2D(layer)); - } - Layer::BatchNorm1D(config) => { - let layer = BatchNorm1DGPULayer::new(config, IxDyn(&size), tensors.get()); - layers.push(GPULayer::BatchNorm1D(layer)); - } - Layer::BatchNorm2D(config) => { - let layer = BatchNorm2DGPULayer::new(config, IxDyn(&size), tensors.get()); - layers.push(GPULayer::BatchNorm2D(layer)); - } - Layer::Dropout1D(config) => { - let layer = Dropout1DGPULayer::new(config, IxDyn(&size)); - layers.push(GPULayer::Dropout1D(layer)); - } - Layer::Dropout2D(config) => { - let layer = Dropout2DGPULayer::new(config, IxDyn(&size)); - layers.push(GPULayer::Dropout2D(layer)); - } Layer::Dense(config) => { let layer = DenseGPULayer::new(config, IxDyn(&size), tensors.get()); size = layer.output_size().to_vec(); layers.push(GPULayer::Dense(layer)); } - Layer::Flatten(config) => { - let layer = FlattenGPULayer::new(config, IxDyn(&size)); - size = layer.output_size().to_vec(); - layers.push(GPULayer::Flatten(layer)); - } - Layer::Pool2D(config) => { - let layer = Pool2DGPULayer::new(config, IxDyn(&size)); - size = layer.output_size().to_vec(); - layers.push(GPULayer::Pool2D(layer)); - } - Layer::Softmax => { - let layer = SoftmaxGPULayer::new(IxDyn(&size)); - layers.push(GPULayer::Softmax(layer)); - } + _ => unimplemented!(), } } let optimizer = GPUOptimizer::from(config.optimizer.clone(), &mut layers); let scheduler = GPUScheduler::from(&config.scheduler); let cost = GPUCost::from(config.cost.clone()); let silent = config.silent.is_some_and(|x| x == true); - let cuda_device = CudaDevice::new(0); Self { + backend, logger, - cuda_device, silent, config, layers, @@ -260,38 +112,6 @@ impl Backend { let mut tensors = Vec::new(); for (i, layer) in self.layers.iter().enumerate() { match layer { - GPULayer::BatchNorm1D(layer) => { - let gamma = Tensor::new(layer.gamma.view().into_dyn()); - let beta = Tensor::new(layer.beta.view().into_dyn()); - let running_mean = Tensor::new(layer.running_mean.view().into_dyn()); - let running_var = Tensor::new(layer.running_var.view().into_dyn()); - tensors.push((format!("{}g", i), gamma)); - tensors.push((format!("{}b", i), beta)); - tensors.push((format!("{}m", i), running_mean)); - tensors.push((format!("{}v", i), running_var)); - } - GPULayer::BatchNorm2D(layer) => { - let gamma = Tensor::new(layer.gamma.view().into_dyn()); - let beta = Tensor::new(layer.beta.view().into_dyn()); - let running_mean = Tensor::new(layer.running_mean.view().into_dyn()); - let running_var = Tensor::new(layer.running_var.view().into_dyn()); - tensors.push((format!("{}g", i), gamma)); - tensors.push((format!("{}b", i), beta)); - tensors.push((format!("{}m", i), running_mean)); - tensors.push((format!("{}v", i), running_var)); - } - GPULayer::ConvTranspose2D(layer) => { - let weights = Tensor::new(layer.weights.view().into_dyn()); - let biases = Tensor::new(layer.biases.view().into_dyn()); - tensors.push((format!("{}w", i), weights)); - tensors.push((format!("{}b", i), biases)); - } - GPULayer::Conv2D(layer) => { - let weights = Tensor::new(layer.weights.view().into_dyn()); - let biases = Tensor::new(layer.biases.view().into_dyn()); - tensors.push((format!("{}w", i), weights)); - tensors.push((format!("{}b", i), biases)); - } GPULayer::Dense(layer) => { let weights = Tensor::new(layer.weights.view().into_dyn()); let biases = Tensor::new(layer.biases.view().into_dyn()); @@ -306,7 +126,7 @@ impl Backend { serialize(tensors, &Some(metadata)).unwrap() } - pub fn load(buffer: &[u8], logger: Logger) -> Self { + pub fn load(backend: WGPUBackend, buffer: &[u8], logger: Logger) -> Self { let tensors = SafeTensors::deserialize(buffer).unwrap(); let (_, metadata) = SafeTensors::read_metadata(buffer).unwrap(); let data = metadata.metadata().as_ref().unwrap(); @@ -316,28 +136,14 @@ impl Backend { for (i, layer) in config.layers.iter().enumerate() { match layer { - Layer::BatchNorm1D(_) | Layer::BatchNorm2D(_) => { - layers.push(Tensors::BatchNorm(BatchNormTensors { - gamma: to_arr(tensors.tensor(&format!("{}g", i)).unwrap()), - beta: to_arr(tensors.tensor(&format!("{}b", i)).unwrap()), - running_mean: to_arr(tensors.tensor(&format!("{}m", i)).unwrap()), - running_var: to_arr(tensors.tensor(&format!("{}v", i)).unwrap()), - })) - } Layer::Dense(_) => layers.push(Tensors::Dense(DenseTensors { weights: to_arr(tensors.tensor(&format!("{}w", i)).unwrap()), biases: to_arr(tensors.tensor(&format!("{}b", i)).unwrap()), })), - Layer::Conv2D(_) | Layer::ConvTranspose2D(_) => { - layers.push(Tensors::Conv(ConvTensors { - weights: to_arr(tensors.tensor(&format!("{}w", i)).unwrap()), - biases: to_arr(tensors.tensor(&format!("{}b", i)).unwrap()), - })) - } _ => {} }; } - Backend::new(config, logger, Some(layers)) + Backend::new(backend, config, logger, Some(layers)) } } diff --git a/crates/core-gpu/src/gpu/gpu.rs b/crates/core-gpu/src/gpu/gpu.rs new file mode 100644 index 0000000..ce19c25 --- /dev/null +++ b/crates/core-gpu/src/gpu/gpu.rs @@ -0,0 +1,157 @@ +use std::borrow::Cow; + +pub struct WGPUBackend { + pub device: wgpu::Device, + pub queue: wgpu::Queue, + pub kernels: Vec, +} + +pub struct WGPUKernel { + pub pipeline: wgpu::ComputePipeline, + pub layout: wgpu::BindGroupLayout, +} + +impl WGPUBackend { + pub fn new() -> Self { + let instance = wgpu::Instance::new(wgpu::InstanceDescriptor { + backends: wgpu::Backends::all(), + dx12_shader_compiler: Default::default(), + flags: wgpu::InstanceFlags::empty(), + gles_minor_version: wgpu::Gles3MinorVersion::Automatic, + }); + + let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions { + power_preference: wgpu::PowerPreference::default(), + compatible_surface: None, + force_fallback_adapter: false, + })) + .unwrap(); + + let (device, queue) = pollster::block_on(adapter.request_device( + &wgpu::DeviceDescriptor { + label: None, + features: wgpu::Features::empty(), + limits: wgpu::Limits::default(), + }, + None, + )) + .unwrap(); + + Self { + device, + queue, + kernels: Vec::new(), + } + } + + pub fn register(&mut self, source: Cow<'_, str>) { + let module = self + .device + .create_shader_module(wgpu::ShaderModuleDescriptor { + label: None, + source: wgpu::ShaderSource::Wgsl(source), + }); + + let pipeline = self + .device + .create_compute_pipeline(&wgpu::ComputePipelineDescriptor { + label: None, + layout: None, + module: &module, + entry_point: "main", + }); + + let layout = pipeline.get_bind_group_layout(0); + self.kernels.push(WGPUKernel { pipeline, layout }); + } + + pub fn execute(&mut self, kernel: usize, buffers: Vec) { + let entries: Vec> = buffers + .iter() + .enumerate() + .map(|(i, buffer)| wgpu::BindGroupEntry { + binding: i as u32, + resource: wgpu::BindingResource::Buffer(wgpu::BufferBinding { + buffer: &buffer.buffer, + offset: 0, + size: Some(std::num::NonZeroU64::new(buffer.size).unwrap()), + }), + }) + .collect(); + let bindgroup = self.device.create_bind_group(&wgpu::BindGroupDescriptor { + label: None, + layout: &self.kernels[kernel].layout, + entries: &entries, + }); + + let mut encoder = self + .device + .create_command_encoder(&wgpu::CommandEncoderDescriptor { label: None }); + { + let mut pass = encoder.begin_compute_pass(&wgpu::ComputePassDescriptor { + label: None, + timestamp_writes: None, + }); + pass.set_bind_group(0, &bindgroup, &[]); + pass.set_pipeline(&self.kernels[kernel].pipeline); + pass.dispatch_workgroups(8, 8, 8); + } + self.queue.submit([encoder.finish()]); + } +} + +pub struct WGPUBuffer { + pub buffer: wgpu::Buffer, + pub size: u64, +} + +impl WGPUBuffer { + pub fn new(backend: &mut WGPUBackend, size: u64) -> Self { + let buffer = backend.device.create_buffer(&wgpu::BufferDescriptor { + label: None, + size, + usage: wgpu::BufferUsages::STORAGE + | wgpu::BufferUsages::COPY_DST + | wgpu::BufferUsages::COPY_SRC, + mapped_at_creation: false, + }); + + Self { buffer, size } + } + + pub fn read(&self, backend: &mut WGPUBackend) -> Vec { + let buffer = backend.device.create_buffer(&wgpu::BufferDescriptor { + label: None, + size: self.size, + usage: wgpu::BufferUsages::MAP_READ | wgpu::BufferUsages::COPY_SRC, + mapped_at_creation: false, + }); + + let mut encoder = backend + .device + .create_command_encoder(&wgpu::CommandEncoderDescriptor { label: None }); + encoder.copy_buffer_to_buffer(&self.buffer, 0, &buffer, 0, self.size); + backend.queue.submit([encoder.finish()]); + + let (sender, receiver) = std::sync::mpsc::channel(); + let slice = buffer.slice(..); + slice.map_async(wgpu::MapMode::Read, move |result| { + sender.send(result).unwrap() + }); + backend.device.poll(wgpu::Maintain::Wait); + receiver.recv().unwrap().unwrap(); + let data = slice.get_mapped_range(); + + data.to_vec() + } + + pub fn write(&self, backend: &mut WGPUBackend, data: &[u8]) { + backend.queue.write_buffer(&self.buffer, 0, data) + } +} + +impl Drop for WGPUBuffer { + fn drop(&mut self) { + self.buffer.destroy() + } +} diff --git a/crates/core-gpu/src/gpu/layers/batchnorm1d.rs b/crates/core-gpu/src/gpu/layers/batchnorm1d.rs deleted file mode 100644 index ef33ae4..0000000 --- a/crates/core-gpu/src/gpu/layers/batchnorm1d.rs +++ /dev/null @@ -1,158 +0,0 @@ -use std::ops::{Add, AddAssign, Div, Mul, Sub}; - -use ndarray::{Array2, ArrayD, Axis, Ix2, IxDyn}; - -use crate::{BatchNormLayer, Tensors}; - -macro_rules! axes { - (($array:expr).sum_axes($($axis:literal),+)) => { - $array$( .sum_axis(Axis($axis)).insert_axis(Axis($axis)) )+ - }; - (($array:expr).mean_axes($($axis:literal),+)) => { - $array$( .mean_axis(Axis($axis)).unwrap().insert_axis(Axis($axis)) )+ - }; - (($array:expr).var_axes($($axis:literal),+)) => { - $array$( .var_axis(Axis($axis), 0.0).insert_axis(Axis($axis)) )+ - }; -} - -pub struct BatchNorm1DGPULayer { - // cache - pub inputs: Array2, - pub mean: Array2, - pub var: Array2, - pub std_dev: Array2, - pub normalized: Array2, - pub epsilon: f32, - pub momentum: f32, - - // parameters - pub gamma: Array2, - pub beta: Array2, - pub running_mean: Array2, - pub running_var: Array2, - - // gradients - pub d_gamma: Array2, - pub d_beta: Array2, -} - -impl BatchNorm1DGPULayer { - pub fn new(config: BatchNormLayer, size: IxDyn, tensors: Option) -> Self { - let input_size = [size[0], size[1]]; - - let (gamma, beta, running_mean, running_var) = - if let Some(Tensors::BatchNorm(tensors)) = tensors { - ( - tensors.gamma.into_dimensionality().unwrap(), - tensors.beta.into_dimensionality().unwrap(), - tensors.running_mean.into_dimensionality().unwrap(), - tensors.running_var.into_dimensionality().unwrap(), - ) - } else { - ( - Array2::ones((1, size[1])), - Array2::zeros((1, size[1])), - Array2::zeros((1, size[1])), - Array2::ones((1, size[1])), - ) - }; - - Self { - inputs: Array2::zeros(input_size), - mean: Array2::zeros((1, size[1])), - var: Array2::zeros((1, size[1])), - std_dev: Array2::zeros((1, size[1])), - normalized: Array2::zeros(input_size), - epsilon: config.epsilon, - momentum: config.momentum, - - gamma, - beta, - running_mean, - running_var, - - d_gamma: Array2::zeros((1, size[1])), - d_beta: Array2::zeros((1, size[1])), - } - } - - pub fn output_size(&self) -> Vec { - self.inputs.shape().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let size = self.inputs.shape(); - self.inputs = Array2::zeros((batches, size[1])); - let size = self.inputs.shape(); - self.normalized = Array2::zeros((batches, size[1])); - } - - pub fn forward_propagate(&mut self, inputs: ArrayD, training: bool) -> ArrayD { - self.inputs = inputs.into_dimensionality::().unwrap(); - - if training { - self.mean = axes!((self.inputs).mean_axes(0)); - self.var = axes!((self.inputs).var_axes(0)); - self.running_mean = self - .running_mean - .view() - .mul(self.momentum) - .add(self.mean.view().mul(1.0 - self.momentum)); - self.running_var = self - .running_var - .view() - .mul(self.momentum) - .add(self.var.view().mul(1.0 - self.momentum)); - } else { - self.mean = self.running_mean.clone(); - self.var = self.running_var.clone(); - }; - self.var.add_assign(self.epsilon); - self.std_dev = self.var.map(|x| x.sqrt()); - self.normalized = self - .inputs - .view() - .sub(&self.mean.view()) - .div(&self.std_dev.view()); - let batch_norm = self - .gamma - .view() - .mul(&self.normalized.view()) - .add(self.beta.view()); - batch_norm.into_dyn() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let d_outputs = d_outputs.into_dimensionality::().unwrap(); - - let batches = self.inputs.shape()[0] as f32; - - let mean_diff = self.inputs.view().sub(&self.mean.view()); - let d_normalized = d_outputs.view().mul(&self.gamma.view()); - let d_var = axes!((d_normalized - .view() - .mul(&mean_diff.view()) - .mul(-0.5) - .mul(self.var.view().map(|x| x.powf(-1.5)))) - .sum_axes(0)); - let d_mean = &d_normalized - .view() - .mul(axes!(((-1.0).div(&self.std_dev.view())).sum_axes(0))) - .add( - d_var - .view() - .mul(&axes!(((-2.0).mul(&mean_diff.view())).sum_axes(0))) - .div(batches), - ); - self.d_gamma = axes!((d_outputs.view().mul(&self.normalized.view())).sum_axes(0)); - self.d_beta = axes!((d_outputs).sum_axes(0)); - - d_normalized - .view() - .div(&self.std_dev.view()) - .add(&d_var.mul(2.0).mul(&mean_diff.view()).div(batches)) - .add(d_mean.div(batches)) - .into_dyn() - } -} diff --git a/crates/core-gpu/src/gpu/layers/batchnorm2d.rs b/crates/core-gpu/src/gpu/layers/batchnorm2d.rs deleted file mode 100644 index 9d1aaad..0000000 --- a/crates/core-gpu/src/gpu/layers/batchnorm2d.rs +++ /dev/null @@ -1,162 +0,0 @@ -use std::ops::{Add, AddAssign, Div, Mul, Sub}; - -use ndarray::{Array4, ArrayD, Axis, Ix4, IxDyn}; - -use crate::{BatchNormLayer, Tensors}; - -macro_rules! axes { - (($array:expr).sum_axes($($axis:literal),+)) => { - $array$( .sum_axis(Axis($axis)).insert_axis(Axis($axis)) )+ - }; - (($array:expr).mean_axes($($axis:literal),+)) => { - $array$( .mean_axis(Axis($axis)).unwrap().insert_axis(Axis($axis)) )+ - }; -} - -pub struct BatchNorm2DGPULayer { - // cache - pub inputs: Array4, - pub mean: Array4, - pub var: Array4, - pub std_dev: Array4, - pub normalized: Array4, - pub epsilon: f32, - pub momentum: f32, - - // parameters - pub gamma: Array4, - pub beta: Array4, - pub running_mean: Array4, - pub running_var: Array4, - - // gradients - pub d_gamma: Array4, - pub d_beta: Array4, -} - -impl BatchNorm2DGPULayer { - pub fn new(config: BatchNormLayer, size: IxDyn, tensors: Option) -> Self { - let input_size = [size[0], size[1], size[2], size[3]]; - - let (gamma, beta, running_mean, running_var) = - if let Some(Tensors::BatchNorm(tensors)) = tensors { - ( - tensors.gamma.into_dimensionality().unwrap(), - tensors.beta.into_dimensionality().unwrap(), - tensors.running_mean.into_dimensionality().unwrap(), - tensors.running_var.into_dimensionality().unwrap(), - ) - } else { - ( - Array4::ones((1, size[1], 1, 1)), - Array4::zeros((1, size[1], 1, 1)), - Array4::zeros((1, size[1], 1, 1)), - Array4::ones((1, size[1], 1, 1)), - ) - }; - - Self { - inputs: Array4::zeros(input_size), - mean: Array4::zeros((1, size[1], 1, 1)), - var: Array4::zeros((1, size[1], 1, 1)), - std_dev: Array4::zeros((1, size[1], 1, 1)), - normalized: Array4::zeros(input_size), - epsilon: config.epsilon, - momentum: config.momentum, - - gamma, - beta, - running_mean, - running_var, - - d_gamma: Array4::zeros((1, size[1], 1, 1)), - d_beta: Array4::zeros((1, size[1], 1, 1)), - } - } - - pub fn output_size(&self) -> Vec { - self.inputs.shape().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let size = self.inputs.shape(); - self.inputs = Array4::zeros((batches, size[1], size[2], size[3])); - let size = self.inputs.shape(); - self.normalized = Array4::zeros((batches, size[1], size[2], size[3])); - } - - pub fn forward_propagate(&mut self, inputs: ArrayD, training: bool) -> ArrayD { - self.inputs = inputs.into_dimensionality::().unwrap(); - - if training { - self.mean = axes!((self.inputs).mean_axes(0, 2, 3)); - self.var = axes!((self.inputs.map(|x| x.powi(2))).sum_axes(0, 2, 3)) - .div((self.inputs.len() / self.mean.len()) as f32) - .sub(&self.mean.map(|x| x.powi(2))); - self.running_mean = self - .running_mean - .view() - .mul(self.momentum) - .add(self.mean.view().mul(1.0 - self.momentum)); - self.running_var = self - .running_var - .view() - .mul(self.momentum) - .add(self.var.view().mul(1.0 - self.momentum)); - } else { - self.mean = self.running_mean.clone(); - self.var = self.running_var.clone(); - }; - self.var.add_assign(self.epsilon); - self.std_dev = self.var.map(|x| x.sqrt()); - self.normalized = self - .inputs - .view() - .sub(&self.mean.view()) - .div(&self.std_dev.view()); - let batch_norm = self - .gamma - .view() - .mul(&self.normalized.view()) - .add(self.beta.view()); - batch_norm.into_dyn() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let d_outputs = d_outputs.into_dimensionality::().unwrap(); - let output_y = self.inputs.shape()[2] as f32; - let output_x = self.inputs.shape()[3] as f32; - - let mean_diff = self.inputs.view().sub(&self.mean.view()); - let d_normalized = d_outputs.view().mul(&self.gamma.view()); - let d_var = axes!((d_normalized - .view() - .mul(&mean_diff.view()) - .mul(-0.5) - .mul(self.var.view().map(|x| x.powf(-1.5)))) - .sum_axes(0, 2, 3)); - let d_mean = &d_normalized - .view() - .mul(axes!(((-1.0).div(&self.std_dev.view())).sum_axes(0, 2, 3))) - .add( - d_var - .view() - .mul(&axes!(((-2.0).mul(&mean_diff.view())).sum_axes(0, 2, 3))) - .div(output_y * output_x), - ); - self.d_gamma = axes!((d_outputs.view().mul(&self.normalized.view())).sum_axes(0, 2, 3)); - self.d_beta = axes!((d_outputs).sum_axes(0, 2, 3)); - - d_normalized - .view() - .div(&self.std_dev.view()) - .add( - &d_var - .mul(2.0) - .mul(&mean_diff.view()) - .div(output_y * output_x), - ) - .add(d_mean.div(output_y * output_x)) - .into_dyn() - } -} diff --git a/crates/core-gpu/src/gpu/layers/conv2d.rs b/crates/core-gpu/src/gpu/layers/conv2d.rs deleted file mode 100644 index 27fdab1..0000000 --- a/crates/core-gpu/src/gpu/layers/conv2d.rs +++ /dev/null @@ -1,144 +0,0 @@ -use ndarray::{s, Array1, Array4, ArrayD, Dimension, Ix1, Ix4, IxDyn}; -use std::ops::{Add, AddAssign, Mul}; - -use crate::{GPUInit, Conv2DLayer, Init, Tensors}; - -pub struct Conv2DGPULayer { - // cache - pub strides: Vec, - pub padding: Vec, - pub inputs: Array4, - pub output_size: Ix4, - - // parameters - pub weights: Array4, - pub biases: Array1, - - // gradients - pub d_weights: Array4, - pub d_biases: Array1, -} - -impl Conv2DGPULayer { - pub fn new(config: Conv2DLayer, size: IxDyn, tensors: Option) -> Self { - let strides = config.strides.unwrap_or(vec![1, 1]); - let padding = config.padding.unwrap_or(vec![0, 0]); - let input_y = size[2] + 2 * padding[0]; - let input_x = size[3] + 2 * padding[1]; - let output_y = 1 + (input_y - config.kernel_size[2]) / strides[0]; - let output_x = 1 + (input_x - config.kernel_size[3]) / strides[1]; - let input_size = Ix4(size[0], size[1], input_y, input_x); - let weight_size = IxDyn(config.kernel_size.as_slice()); - let output_size = Ix4(size[0], weight_size[0], output_y, output_x); - - let (weights, biases) = if let Some(Tensors::Conv(tensors)) = tensors { - (tensors.weights, tensors.biases) - } else { - let weights = if let Some(tensor) = config.kernel { - ArrayD::from_shape_vec(tensor.shape, tensor.data).unwrap() - } else { - GPUInit::from_default(config.init, Init::Kaiming).init( - weight_size.clone(), - size[1] * input_y * input_x, - weight_size[0] * output_y * output_x, - ) - }; - let biases = ArrayD::zeros(vec![config.kernel_size[0]]); - (weights, biases) - }; - - Self { - strides, - padding, - output_size, - inputs: Array4::zeros(input_size), - weights: weights.into_dimensionality::().unwrap(), - biases: biases.into_dimensionality::().unwrap(), - d_weights: ArrayD::zeros(weight_size) - .into_dimensionality::() - .unwrap(), - d_biases: Array1::zeros(config.kernel_size[0]), - } - } - - pub fn output_size(&self) -> Vec { - self.output_size.as_array_view().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let input_size = self.inputs.shape(); - self.inputs = Array4::zeros((batches, input_size[1], input_size[2], input_size[3])); - self.output_size[0] = batches; - } - - pub fn forward_propagate(&mut self, inputs: ArrayD) -> ArrayD { - let inputs = inputs.into_dimensionality::().unwrap(); - let (_, _, input_y, input_x) = self.inputs.dim(); - let unpadded_y = self.padding[0]..input_y - self.padding[0]; - let unpadded_x = self.padding[1]..input_x - self.padding[1]; - self.inputs - .slice_mut(s![.., .., unpadded_y, unpadded_x]) - .assign(&inputs); - - let (filters, _, weight_y, weight_x) = self.weights.dim(); - let (batches, _, output_y, output_x) = self.output_size.into_pattern(); - - let mut outputs = Array4::zeros(self.output_size); - for b in 0..batches { - for f in 0..filters { - let mut h = 0; - for y in (0..output_y).step_by(self.strides[0]) { - let mut w = 0; - for x in (0..output_x).step_by(self.strides[1]) { - outputs[(b, f, h, w)] = self - .inputs - .slice(s![b, .., y..y + weight_y, x..x + weight_x]) - .mul(&self.weights.slice(s![f, .., .., ..])) - .sum() - .add(self.biases[f]); - w += 1; - } - h += 1; - } - } - } - - outputs.into_dyn() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let d_outputs = d_outputs.into_dimensionality::().unwrap(); - - let (filters, _, weight_y, weight_x) = self.weights.dim(); - let (batches, _, output_y, output_x) = self.output_size.into_pattern(); - - let mut d_inputs = Array4::zeros(self.inputs.dim()); - self.d_weights = Array4::zeros(self.weights.dim()); - self.d_biases = Array1::::zeros(self.biases.dim()); - for b in 0..batches { - for f in 0..filters { - for y in (0..output_y).step_by(self.strides[0]) { - for x in (0..output_x).step_by(self.strides[1]) { - d_inputs - .slice_mut(s![b, .., y..y + weight_y, x..x + weight_x]) - .add_assign( - &self - .weights - .slice(s![f, .., .., ..]) - .mul(d_outputs[(b, f, y, x)]), - ); - self.d_weights.slice_mut(s![f, .., .., ..]).add_assign( - &self - .inputs - .slice(s![b, .., y..y + weight_y, x..x + weight_x]) - .mul(d_outputs[(b, f, y, x)]), - ); - self.d_biases[f] += d_outputs[(b, f, y, x)]; - } - } - } - } - - d_inputs.into_dyn() - } -} diff --git a/crates/core-gpu/src/gpu/layers/convtrans2d.rs b/crates/core-gpu/src/gpu/layers/convtrans2d.rs deleted file mode 100644 index b65a6cf..0000000 --- a/crates/core-gpu/src/gpu/layers/convtrans2d.rs +++ /dev/null @@ -1,146 +0,0 @@ -use ndarray::{s, Array1, Array4, ArrayD, Dimension, Ix1, Ix4, IxDyn}; -use std::ops::{Add, AddAssign, Mul}; - -use crate::{GPUInit, ConvTranspose2DLayer, Init, Tensors}; - -pub struct ConvTranspose2DGPULayer { - // cache - pub strides: Vec, - pub padding: Vec, - pub inputs: Array4, - pub output_size: Ix4, - - // parameters - pub weights: Array4, - pub biases: Array1, - - // gradients - pub d_weights: Array4, - pub d_biases: Array1, -} - -impl ConvTranspose2DGPULayer { - pub fn new(config: ConvTranspose2DLayer, size: IxDyn, tensors: Option) -> Self { - let strides = config.strides.unwrap_or(vec![1, 1]); - let padding = config.padding.unwrap_or(vec![0, 0]); - let input_y = size[2] + 2 * padding[0]; - let input_x = size[3] + 2 * padding[1]; - let output_y = (input_y + config.kernel_size[2]) / strides[0] - 1; - let output_x = (input_x + config.kernel_size[3]) / strides[1] - 1; - let input_size = Ix4(size[0], size[1], input_y, input_x); - let weight_size = IxDyn(config.kernel_size.as_slice()); - let output_size = Ix4(size[0], weight_size[0], output_y, output_x); - - let (weights, biases) = if let Some(Tensors::Conv(tensors)) = tensors { - (tensors.weights, tensors.biases) - } else { - let weights = if let Some(tensor) = config.kernel { - ArrayD::from_shape_vec(tensor.shape, tensor.data).unwrap() - } else { - GPUInit::from_default(config.init, Init::Xavier).init( - weight_size.clone(), - size[1] * input_y * input_x, - weight_size[0] * output_y * output_x, - ) - }; - let biases = ArrayD::zeros(vec![config.kernel_size[0]]); - (weights, biases) - }; - - Self { - strides, - padding, - output_size, - inputs: Array4::zeros(input_size), - weights: weights.into_dimensionality::().unwrap(), - biases: biases.into_dimensionality::().unwrap(), - d_weights: ArrayD::zeros(weight_size) - .into_dimensionality::() - .unwrap(), - d_biases: Array1::zeros(config.kernel_size[0]), - } - } - - pub fn output_size(&self) -> Vec { - self.output_size.as_array_view().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let input_size = self.inputs.shape(); - self.inputs = Array4::zeros((batches, input_size[1], input_size[2], input_size[3])); - self.output_size[0] = batches; - } - - pub fn forward_propagate(&mut self, inputs: ArrayD) -> ArrayD { - let inputs = inputs.into_dimensionality::().unwrap(); - let (batches, _, input_y, input_x) = self.inputs.dim(); - let unpadded_y = self.padding[0]..input_y - self.padding[0]; - let unpadded_x = self.padding[1]..input_x - self.padding[1]; - self.inputs - .slice_mut(s![.., .., unpadded_y, unpadded_x]) - .assign(&inputs); - - let (filters, _, weight_y, weight_x) = self.weights.dim(); - - let mut outputs = Array4::zeros(self.output_size); - for b in 0..batches { - for f in 0..filters { - let mut h = 0; - for y in (0..input_y).step_by(self.strides[0]) { - let mut w = 0; - for x in (0..input_x).step_by(self.strides[1]) { - outputs - .slice_mut(s![b, .., y..y + weight_y, x..x + weight_x]) - .add_assign( - &self.inputs[(b, f, h, w)] - .mul(&self.weights.slice(s![f, .., .., ..])) - .add(self.biases[f]), - ); - w += 1; - } - h += 1; - } - } - } - - outputs.into_dyn() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let d_outputs = d_outputs.into_dimensionality::().unwrap(); - - let (batches, _, input_y, input_x) = self.inputs.dim(); - let (filters, _, weight_y, weight_x) = self.weights.dim(); - let unpadded_y = input_y - self.padding[0]; - let unpadded_x = input_x - self.padding[1]; - - let mut d_inputs = Array4::zeros(self.inputs.dim()); - self.d_weights = Array4::zeros(self.weights.dim()); - self.d_biases = Array1::::zeros(self.biases.dim()); - for b in 0..batches { - for f in 0..filters { - for y in (self.padding[0]..unpadded_y).step_by(self.strides[0]) { - for x in (self.padding[1]..unpadded_x).step_by(self.strides[1]) { - d_inputs.slice_mut(s![b, .., y, x]).add_assign( - &self - .weights - .slice(s![f, .., .., ..]) - .mul(&d_outputs.slice(s![b, f, y..y + weight_y, x..x + weight_x])), - ); - self.d_weights.slice_mut(s![f, .., .., ..]).add_assign( - &self.inputs.slice(s![b, .., y, x]).mul(&d_outputs.slice(s![ - b, - f, - y..y + weight_y, - x..x + weight_x - ])), - ); - self.d_biases[f] += d_outputs[(b, f, y, x)]; - } - } - } - } - - d_inputs.into_dyn() - } -} diff --git a/crates/core-gpu/src/gpu/layers/dropout.rs b/crates/core-gpu/src/gpu/layers/dropout.rs deleted file mode 100644 index a0d200e..0000000 --- a/crates/core-gpu/src/gpu/layers/dropout.rs +++ /dev/null @@ -1,87 +0,0 @@ -use std::ops::Mul; - -use ndarray::{Array2, Array4, ArrayD, Axis, IxDyn}; -use ndarray_rand::{rand_distr::Uniform, RandomExt}; - -use crate::DropoutLayer; - -pub struct Dropout1DGPULayer { - mask: ArrayD, - probability: f32, -} - -impl Dropout1DGPULayer { - pub fn new(config: DropoutLayer, size: IxDyn) -> Self { - Self { - mask: ArrayD::zeros(size), - probability: config.probability, - } - } - - pub fn output_size(&self) -> Vec { - self.mask.shape().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let mut output_size = self.mask.shape().to_vec(); - output_size[0] = batches; - self.mask = ArrayD::zeros(output_size); - } - - pub fn forward_propagate(&mut self, inputs: ArrayD, training: bool) -> ArrayD { - if training { - self.mask = ArrayD::random(self.mask.dim(), Uniform::new(0.0, 1.0)) - .map(|x| (if x > &self.probability { 1.0 } else { 0.0 })); - inputs.mul(&self.mask).mul(1.0 / 1.0 - self.probability) - } else { - inputs - } - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - d_outputs.mul(&self.mask).mul(1.0 / 1.0 - self.probability) - } -} - -pub struct Dropout2DGPULayer { - mask: Array4, - probability: f32, -} - -impl Dropout2DGPULayer { - pub fn new(config: DropoutLayer, size: IxDyn) -> Self { - Self { - mask: Array4::zeros([size[0], size[1], size[2], size[3]]), - probability: config.probability, - } - } - - pub fn output_size(&self) -> Vec { - self.mask.shape().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let size = self.mask.dim(); - self.mask = Array4::zeros([batches, size.1, size.2, size.3]); - } - - pub fn forward_propagate(&mut self, inputs: ArrayD, training: bool) -> ArrayD { - if training { - let size = self.mask.dim(); - self.mask = Array2::random([size.0, size.1], Uniform::new(0.0, 1.0)) - .map(|x| (if x > &self.probability { 1.0 } else { 0.0 })) - .insert_axis(Axis(2)) - .insert_axis(Axis(3)) - .broadcast(size) - .unwrap() - .to_owned(); - inputs.mul(&self.mask).mul(1.0 / 1.0 - self.probability) - } else { - inputs - } - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - d_outputs.mul(&self.mask).mul(1.0 / 1.0 - self.probability) - } -} diff --git a/crates/core-gpu/src/gpu/layers/flatten.rs b/crates/core-gpu/src/gpu/layers/flatten.rs deleted file mode 100644 index ea738cf..0000000 --- a/crates/core-gpu/src/gpu/layers/flatten.rs +++ /dev/null @@ -1,43 +0,0 @@ -use ndarray::{ArrayD, Dimension, IxDyn}; - -use crate::FlattenLayer; - -pub struct FlattenGPULayer { - pub input_size: IxDyn, - pub output_size: Vec, -} - -impl FlattenGPULayer { - pub fn new(config: FlattenLayer, size: IxDyn) -> Self { - let mut new_size = config.size.clone(); - new_size.insert(0, size[0]); - let output_size = IxDyn(&new_size); - if output_size.size() != size.size() { - panic!( - "Shape {:#?} is incompatible with shape {:#?}", - output_size, size - ) - } - Self { - input_size: size, - output_size: new_size, - } - } - - pub fn output_size(&self) -> Vec { - self.output_size.clone() - } - - pub fn reset(&mut self, batches: usize) { - self.output_size[0] = batches - } - - pub fn forward_propagate(&mut self, inputs: ArrayD) -> ArrayD { - let output_size = IxDyn(&self.output_size); - inputs.into_shape(output_size).unwrap() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - d_outputs.into_shape(self.input_size.clone()).unwrap() - } -} diff --git a/crates/core-gpu/src/gpu/layers/mod.rs b/crates/core-gpu/src/gpu/layers/mod.rs index 5840fc1..4465a75 100644 --- a/crates/core-gpu/src/gpu/layers/mod.rs +++ b/crates/core-gpu/src/gpu/layers/mod.rs @@ -1,101 +1,42 @@ mod activation; -mod batchnorm1d; -mod batchnorm2d; -mod conv2d; -mod convtrans2d; mod dense; -mod dropout; -mod flatten; -mod pool2d; pub use activation::*; -pub use batchnorm1d::*; -pub use batchnorm2d::*; -pub use conv2d::*; -pub use convtrans2d::*; pub use dense::*; -pub use dropout::*; -pub use flatten::*; -pub use pool2d::*; use ndarray::ArrayD; pub enum GPULayer { Activation(ActivationGPULayer), - Conv2D(Conv2DGPULayer), - ConvTranspose2D(ConvTranspose2DGPULayer), Dense(DenseGPULayer), - Dropout1D(Dropout1DGPULayer), - Dropout2D(Dropout2DGPULayer), - Flatten(FlattenGPULayer), - Pool2D(Pool2DGPULayer), - Softmax(SoftmaxGPULayer), - BatchNorm1D(BatchNorm1DGPULayer), - BatchNorm2D(BatchNorm2DGPULayer), } impl GPULayer { pub fn output_size(&mut self) -> Vec { match self { GPULayer::Activation(layer) => layer.output_size(), - GPULayer::BatchNorm1D(layer) => layer.output_size(), - GPULayer::BatchNorm2D(layer) => layer.output_size(), - GPULayer::Conv2D(layer) => layer.output_size(), - GPULayer::ConvTranspose2D(layer) => layer.output_size(), GPULayer::Dense(layer) => layer.output_size(), - GPULayer::Dropout1D(layer) => layer.output_size(), - GPULayer::Dropout2D(layer) => layer.output_size(), - GPULayer::Flatten(layer) => layer.output_size(), - GPULayer::Pool2D(layer) => layer.output_size(), - GPULayer::Softmax(layer) => layer.output_size(), } } - pub fn forward_propagate(&mut self, inputs: ArrayD, training: bool) -> ArrayD { + pub fn forward_propagate(&mut self, inputs: ArrayD, _training: bool) -> ArrayD { match self { GPULayer::Activation(layer) => layer.forward_propagate(inputs), - GPULayer::BatchNorm1D(layer) => layer.forward_propagate(inputs, training), - GPULayer::BatchNorm2D(layer) => layer.forward_propagate(inputs, training), - GPULayer::Conv2D(layer) => layer.forward_propagate(inputs), - GPULayer::ConvTranspose2D(layer) => layer.forward_propagate(inputs), GPULayer::Dense(layer) => layer.forward_propagate(inputs), - GPULayer::Dropout1D(layer) => layer.forward_propagate(inputs, training), - GPULayer::Dropout2D(layer) => layer.forward_propagate(inputs, training), - GPULayer::Flatten(layer) => layer.forward_propagate(inputs), - GPULayer::Pool2D(layer) => layer.forward_propagate(inputs), - GPULayer::Softmax(layer) => layer.forward_propagate(inputs), } } pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { match self { GPULayer::Activation(layer) => layer.backward_propagate(d_outputs), - GPULayer::BatchNorm1D(layer) => layer.backward_propagate(d_outputs), - GPULayer::BatchNorm2D(layer) => layer.backward_propagate(d_outputs), - GPULayer::Conv2D(layer) => layer.backward_propagate(d_outputs), - GPULayer::ConvTranspose2D(layer) => layer.backward_propagate(d_outputs), GPULayer::Dense(layer) => layer.backward_propagate(d_outputs), - GPULayer::Dropout1D(layer) => layer.backward_propagate(d_outputs), - GPULayer::Dropout2D(layer) => layer.backward_propagate(d_outputs), - GPULayer::Flatten(layer) => layer.backward_propagate(d_outputs), - GPULayer::Pool2D(layer) => layer.backward_propagate(d_outputs), - GPULayer::Softmax(layer) => layer.backward_propagate(d_outputs), } } pub fn reset(&mut self, batches: usize) { match self { GPULayer::Activation(layer) => layer.reset(batches), - GPULayer::BatchNorm1D(layer) => layer.reset(batches), - GPULayer::BatchNorm2D(layer) => layer.reset(batches), - GPULayer::Conv2D(layer) => layer.reset(batches), GPULayer::Dense(layer) => layer.reset(batches), - GPULayer::Dropout1D(layer) => layer.reset(batches), - GPULayer::Dropout2D(layer) => layer.reset(batches), - GPULayer::Flatten(layer) => layer.reset(batches), - GPULayer::Pool2D(layer) => layer.reset(batches), - GPULayer::Softmax(layer) => layer.reset(batches), - GPULayer::ConvTranspose2D(layer) => layer.reset(batches), } } } diff --git a/crates/core-gpu/src/gpu/layers/pool2d.rs b/crates/core-gpu/src/gpu/layers/pool2d.rs deleted file mode 100644 index be49fc6..0000000 --- a/crates/core-gpu/src/gpu/layers/pool2d.rs +++ /dev/null @@ -1,126 +0,0 @@ -use ndarray::{s, Array4, Array5, ArrayD, Ix4, Ix5, IxDyn}; - -use crate::Pool2DLayer; - -pub struct Pool2DGPULayer { - pub strides: Vec, - pub inputs: Array4, - pub indices: Array5, - pub outputs: Array4, - pub max: bool, -} - -impl Pool2DGPULayer { - pub fn new(config: Pool2DLayer, size: IxDyn) -> Self { - let strides = config.strides.unwrap_or(vec![1, 1]); - let input_size = Ix4(size[0], size[1], size[2], size[3]); - let output_y = size[2] / strides[0]; - let output_x = size[3] / strides[1]; - let indice_size = Ix5(size[0], size[1], output_y, output_x, 2); - let output_size = Ix4(size[0], size[1], output_y, output_x); - let max = config.mode == 1; - Self { - strides, - inputs: Array4::zeros(input_size), - indices: Array5::zeros(indice_size), - outputs: Array4::zeros(output_size), - max, - } - } - - pub fn output_size(&self) -> Vec { - self.outputs.shape().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let input_size = self.inputs.shape(); - self.inputs = Array4::zeros((batches, input_size[1], input_size[2], input_size[3])); - let indice_size = self.outputs.shape(); - self.indices = Array5::zeros((batches, indice_size[1], indice_size[2], indice_size[3], 2)); - let output_size = self.outputs.shape(); - self.outputs = Array4::zeros((batches, output_size[1], output_size[2], output_size[3])); - } - - pub fn forward_propagate(&mut self, inputs: ArrayD) -> ArrayD { - self.inputs = inputs.into_dimensionality::().unwrap(); - - let (batches, channels, output_y, output_x) = self.outputs.dim(); - - for b in 0..batches { - for c in 0..channels { - for y in 0..output_y { - for x in 0..output_x { - let input_y = y * self.strides[0]; - let input_x = x * self.strides[1]; - let stride_y = (y + 1) * self.strides[0]; - let stride_x = (x + 1) * self.strides[1]; - if self.max { - let mut max_index = (0, 0); - let mut max_value = 0.0; - self.inputs - .slice(s![b, c, input_y..stride_y, input_x..stride_x]) - .indexed_iter() - .for_each(|(index, value)| { - if value > &max_value { - max_value = *value; - max_index = index; - } - }); - let mut position = self.indices.slice_mut(s![b, c, y, x, ..]); - position[0] = max_index.0.into(); - position[1] = max_index.1.into(); - self.outputs[[b, c, y, x]] = max_value; - } else { - self.outputs[[b, c, y, x]] = self - .inputs - .slice(s![b, c, input_y..stride_y, input_x..stride_x]) - .mean() - .unwrap(); - } - } - } - } - } - - self.outputs.clone().into_dyn() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let d_outputs = d_outputs.into_dimensionality::().unwrap(); - - let (batches, channels, output_y, output_x) = self.outputs.dim(); - - let mut d_inputs = Array4::zeros(self.inputs.dim()); - for b in 0..batches { - for c in 0..channels { - for y in 0..output_y { - for x in 0..output_x { - let input_y = y * self.strides[0]; - let input_x = x * self.strides[1]; - let stride_y = (y + 1) * self.strides[0]; - let stride_x = (x + 1) * self.strides[1]; - if self.max { - let index = self.indices.slice(s![b, c, y, x, ..]); - d_inputs[[ - b, - c, - input_y + index[0] as usize, - input_x + index[1] as usize, - ]] = d_outputs[[b, c, y, x]]; - } else { - d_inputs - .slice_mut(s![b, c, input_y..stride_y, input_x..stride_x]) - .fill( - d_outputs[[b, c, y, x]] - / self.strides[0] as f32 - / self.strides[1] as f32, - ); - } - } - } - } - } - - d_inputs.into_dyn() - } -} diff --git a/crates/core-gpu/src/gpu/mod.rs b/crates/core-gpu/src/gpu/mod.rs index e12191b..16d0945 100644 --- a/crates/core-gpu/src/gpu/mod.rs +++ b/crates/core-gpu/src/gpu/mod.rs @@ -5,6 +5,7 @@ mod init; mod layers; mod optimizers; mod schedulers; +mod gpu; pub use activation::*; pub use backend::*; @@ -13,3 +14,4 @@ pub use init::*; pub use layers::*; pub use optimizers::*; pub use schedulers::*; +pub use gpu::*; diff --git a/crates/core-gpu/src/gpu/optimizers/mod.rs b/crates/core-gpu/src/gpu/optimizers/mod.rs index 22f582b..cb3d936 100644 --- a/crates/core-gpu/src/gpu/optimizers/mod.rs +++ b/crates/core-gpu/src/gpu/optimizers/mod.rs @@ -69,46 +69,6 @@ impl GPUOptimizer { layer.d_biases.view().into_dyn(), ], )), - GPULayer::Conv2D(layer) => Some(( - vec![ - layer.weights.view_mut().into_dyn(), - layer.biases.view_mut().into_dyn(), - ], - vec![ - layer.d_weights.view().into_dyn(), - layer.d_biases.view().into_dyn(), - ], - )), - GPULayer::ConvTranspose2D(layer) => Some(( - vec![ - layer.weights.view_mut().into_dyn(), - layer.biases.view_mut().into_dyn(), - ], - vec![ - layer.d_weights.view().into_dyn(), - layer.d_biases.view().into_dyn(), - ], - )), - GPULayer::BatchNorm1D(layer) => Some(( - vec![ - layer.gamma.view_mut().into_dyn(), - layer.beta.view_mut().into_dyn(), - ], - vec![ - layer.d_gamma.view().into_dyn(), - layer.d_beta.view().into_dyn(), - ], - )), - GPULayer::BatchNorm2D(layer) => Some(( - vec![ - layer.gamma.view_mut().into_dyn(), - layer.beta.view_mut().into_dyn(), - ], - vec![ - layer.d_gamma.view().into_dyn(), - layer.d_beta.view().into_dyn(), - ], - )), _ => return None, } } diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index e4e8b0e..1c181af 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -14,6 +14,6 @@ serde_json = "1.0" safetensors = "0.4.0" [target.'cfg(target_arch = "wasm32")'.dependencies] -wasm-bindgen = "=0.2.84" +wasm-bindgen = "0.2.88" getrandom = { version = "0.2", features = ["js"] } js-sys = "0.3.61" diff --git a/crates/tokenizers/Cargo.toml b/crates/tokenizers/Cargo.toml index 9f67c05..cb46652 100644 --- a/crates/tokenizers/Cargo.toml +++ b/crates/tokenizers/Cargo.toml @@ -12,6 +12,6 @@ ndarray-rand = "0.14.0" serde = {version = "1.0", features = ["derive"]} serde_json = "1.0" tokenizers = { version="0.14.1", default-features=false, features = ["unstable_wasm"]} -wasm-bindgen = "=0.2.84" +wasm-bindgen = "0.2.88" getrandom = { version = "0.2", features = ["js"] } js-sys = "0.3.61" diff --git a/deno.lock b/deno.lock index ed0e6bc..e9357ba 100644 --- a/deno.lock +++ b/deno.lock @@ -1,764 +1,7 @@ { "version": "3", - "packages": { - "specifiers": { - "npm:chartjs-node-canvas": "npm:chartjs-node-canvas@4.1.6_chart.js@3.9.1", - "npm:graphviz": "npm:graphviz@0.0.9", - "npm:tokenizers": "npm:tokenizers@0.13.1" - }, - "npm": { - "@mapbox/node-pre-gyp@1.0.10": { - "integrity": "sha512-4ySo4CjzStuprMwk35H5pPbkymjv1SF3jGLj6rAHp/xT/RF7TL7bd9CTm1xDY49K2qF7jmR/g7k+SkLETP6opA==", - "dependencies": { - "detect-libc": "detect-libc@2.0.1", - "https-proxy-agent": "https-proxy-agent@5.0.1", - "make-dir": "make-dir@3.1.0", - "node-fetch": "node-fetch@2.7.0", - "nopt": "nopt@5.0.0", - "npmlog": "npmlog@5.0.1", - "rimraf": "rimraf@3.0.2", - "semver": "semver@7.5.4", - "tar": "tar@6.2.0" - } - }, - "@types/node@13.13.52": { - "integrity": "sha512-s3nugnZumCC//n4moGGe6tkNMyYEdaDBitVjwPxXmR5lnMG5dHePinH2EdxkG3Rh1ghFHHixAG4NJhpJW1rthQ==", - "dependencies": {} - }, - "abbrev@1.1.1": { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dependencies": {} - }, - "agent-base@6.0.2": { - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "debug@4.3.4" - } - }, - "ansi-regex@2.1.1": { - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dependencies": {} - }, - "ansi-regex@5.0.1": { - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dependencies": {} - }, - "aproba@1.2.0": { - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dependencies": {} - }, - "are-we-there-yet@1.1.7": { - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dependencies": { - "delegates": "delegates@1.0.0", - "readable-stream": "readable-stream@2.3.7" - } - }, - "are-we-there-yet@2.0.0": { - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dependencies": { - "delegates": "delegates@1.0.0", - "readable-stream": "readable-stream@3.6.2" - } - }, - "balanced-match@1.0.2": { - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dependencies": {} - }, - "brace-expansion@1.1.11": { - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "balanced-match@1.0.2", - "concat-map": "concat-map@0.0.1" - } - }, - "canvas@2.11.2": { - "integrity": "sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==", - "dependencies": { - "@mapbox/node-pre-gyp": "@mapbox/node-pre-gyp@1.0.10", - "nan": "nan@2.17.0", - "simple-get": "simple-get@3.1.1" - } - }, - "chart.js@3.9.1": { - "integrity": "sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==", - "dependencies": {} - }, - "chartjs-node-canvas@4.1.6_chart.js@3.9.1": { - "integrity": "sha512-UQJbPWrvqB/FoLclGA9BaLQmZbzSYlujF4w8NZd6Xzb+sqgACBb2owDX6m7ifCXLjUW5Nz0Qx0qqrTtQkkSoYw==", - "dependencies": { - "canvas": "canvas@2.11.2", - "chart.js": "chart.js@3.9.1", - "tslib": "tslib@2.6.2" - } - }, - "chownr@1.1.4": { - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dependencies": {} - }, - "chownr@2.0.0": { - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dependencies": {} - }, - "code-point-at@1.1.0": { - "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", - "dependencies": {} - }, - "color-support@1.1.3": { - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dependencies": {} - }, - "concat-map@0.0.1": { - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dependencies": {} - }, - "console-control-strings@1.1.0": { - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "dependencies": {} - }, - "core-util-is@1.0.3": { - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dependencies": {} - }, - "debug@3.2.7": { - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dependencies": { - "ms": "ms@2.1.3" - } - }, - "debug@4.3.4": { - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "ms@2.1.2" - } - }, - "decompress-response@4.2.1": { - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "dependencies": { - "mimic-response": "mimic-response@2.1.0" - } - }, - "deep-extend@0.6.0": { - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "dependencies": {} - }, - "delegates@1.0.0": { - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dependencies": {} - }, - "detect-libc@1.0.3": { - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dependencies": {} - }, - "detect-libc@2.0.1": { - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", - "dependencies": {} - }, - "emoji-regex@8.0.0": { - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dependencies": {} - }, - "fs-minipass@1.2.7": { - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dependencies": { - "minipass": "minipass@2.9.0" - } - }, - "fs-minipass@2.1.0": { - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "minipass@3.3.6" - } - }, - "fs.realpath@1.0.0": { - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dependencies": {} - }, - "gauge@2.7.4": { - "integrity": "sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==", - "dependencies": { - "aproba": "aproba@1.2.0", - "console-control-strings": "console-control-strings@1.1.0", - "has-unicode": "has-unicode@2.0.1", - "object-assign": "object-assign@4.1.1", - "signal-exit": "signal-exit@3.0.7", - "string-width": "string-width@1.0.2", - "strip-ansi": "strip-ansi@3.0.1", - "wide-align": "wide-align@1.1.5" - } - }, - "gauge@3.0.2": { - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dependencies": { - "aproba": "aproba@1.2.0", - "color-support": "color-support@1.1.3", - "console-control-strings": "console-control-strings@1.1.0", - "has-unicode": "has-unicode@2.0.1", - "object-assign": "object-assign@4.1.1", - "signal-exit": "signal-exit@3.0.7", - "string-width": "string-width@4.2.3", - "strip-ansi": "strip-ansi@6.0.1", - "wide-align": "wide-align@1.1.5" - } - }, - "glob@7.2.3": { - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dependencies": { - "fs.realpath": "fs.realpath@1.0.0", - "inflight": "inflight@1.0.6", - "inherits": "inherits@2.0.4", - "minimatch": "minimatch@3.1.2", - "once": "once@1.4.0", - "path-is-absolute": "path-is-absolute@1.0.1" - } - }, - "graphviz@0.0.9": { - "integrity": "sha512-SmoY2pOtcikmMCqCSy2NO1YsRfu9OO0wpTlOYW++giGjfX1a6gax/m1Fo8IdUd0/3H15cTOfR1SMKwohj4LKsg==", - "dependencies": { - "temp": "temp@0.4.0" - } - }, - "has-unicode@2.0.1": { - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "dependencies": {} - }, - "https-proxy-agent@5.0.1": { - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "agent-base@6.0.2", - "debug": "debug@4.3.4" - } - }, - "iconv-lite@0.4.24": { - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": "safer-buffer@2.1.2" - } - }, - "ignore-walk@3.0.4": { - "integrity": "sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==", - "dependencies": { - "minimatch": "minimatch@3.1.2" - } - }, - "inflight@1.0.6": { - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dependencies": { - "once": "once@1.4.0", - "wrappy": "wrappy@1.0.2" - } - }, - "inherits@2.0.4": { - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dependencies": {} - }, - "ini@1.3.8": { - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dependencies": {} - }, - "is-fullwidth-code-point@1.0.0": { - "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", - "dependencies": { - "number-is-nan": "number-is-nan@1.0.1" - } - }, - "is-fullwidth-code-point@3.0.0": { - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dependencies": {} - }, - "isarray@1.0.0": { - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dependencies": {} - }, - "lru-cache@6.0.0": { - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "yallist@4.0.0" - } - }, - "make-dir@3.1.0": { - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "semver@6.3.1" - } - }, - "mimic-response@2.1.0": { - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "dependencies": {} - }, - "minimatch@3.1.2": { - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "brace-expansion@1.1.11" - } - }, - "minimist@1.2.7": { - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dependencies": {} - }, - "minipass@2.9.0": { - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dependencies": { - "safe-buffer": "safe-buffer@5.2.1", - "yallist": "yallist@3.1.1" - } - }, - "minipass@3.3.6": { - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "yallist@4.0.0" - } - }, - "minipass@5.0.0": { - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dependencies": {} - }, - "minizlib@1.3.3": { - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dependencies": { - "minipass": "minipass@2.9.0" - } - }, - "minizlib@2.1.2": { - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "minipass@3.3.6", - "yallist": "yallist@4.0.0" - } - }, - "mkdirp@0.5.6": { - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dependencies": { - "minimist": "minimist@1.2.7" - } - }, - "mkdirp@1.0.4": { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dependencies": {} - }, - "ms@2.1.2": { - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dependencies": {} - }, - "ms@2.1.3": { - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dependencies": {} - }, - "nan@2.17.0": { - "integrity": "sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ==", - "dependencies": {} - }, - "needle@2.9.1": { - "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", - "dependencies": { - "debug": "debug@3.2.7", - "iconv-lite": "iconv-lite@0.4.24", - "sax": "sax@1.2.4" - } - }, - "node-fetch@2.7.0": { - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": { - "whatwg-url": "whatwg-url@5.0.0" - } - }, - "node-pre-gyp@0.14.0": { - "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", - "dependencies": { - "detect-libc": "detect-libc@1.0.3", - "mkdirp": "mkdirp@0.5.6", - "needle": "needle@2.9.1", - "nopt": "nopt@4.0.3", - "npm-packlist": "npm-packlist@1.4.8", - "npmlog": "npmlog@4.1.2", - "rc": "rc@1.2.8", - "rimraf": "rimraf@2.7.1", - "semver": "semver@5.7.1", - "tar": "tar@4.4.19" - } - }, - "nopt@4.0.3": { - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "dependencies": { - "abbrev": "abbrev@1.1.1", - "osenv": "osenv@0.1.5" - } - }, - "nopt@5.0.0": { - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "abbrev@1.1.1" - } - }, - "npm-bundled@1.1.2": { - "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", - "dependencies": { - "npm-normalize-package-bin": "npm-normalize-package-bin@1.0.1" - } - }, - "npm-normalize-package-bin@1.0.1": { - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dependencies": {} - }, - "npm-packlist@1.4.8": { - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", - "dependencies": { - "ignore-walk": "ignore-walk@3.0.4", - "npm-bundled": "npm-bundled@1.1.2", - "npm-normalize-package-bin": "npm-normalize-package-bin@1.0.1" - } - }, - "npmlog@4.1.2": { - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dependencies": { - "are-we-there-yet": "are-we-there-yet@1.1.7", - "console-control-strings": "console-control-strings@1.1.0", - "gauge": "gauge@2.7.4", - "set-blocking": "set-blocking@2.0.0" - } - }, - "npmlog@5.0.1": { - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dependencies": { - "are-we-there-yet": "are-we-there-yet@2.0.0", - "console-control-strings": "console-control-strings@1.1.0", - "gauge": "gauge@3.0.2", - "set-blocking": "set-blocking@2.0.0" - } - }, - "number-is-nan@1.0.1": { - "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", - "dependencies": {} - }, - "object-assign@4.1.1": { - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dependencies": {} - }, - "once@1.4.0": { - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "wrappy@1.0.2" - } - }, - "os-homedir@1.0.2": { - "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", - "dependencies": {} - }, - "os-tmpdir@1.0.2": { - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dependencies": {} - }, - "osenv@0.1.5": { - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", - "dependencies": { - "os-homedir": "os-homedir@1.0.2", - "os-tmpdir": "os-tmpdir@1.0.2" - } - }, - "path-is-absolute@1.0.1": { - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dependencies": {} - }, - "process-nextick-args@2.0.1": { - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dependencies": {} - }, - "rc@1.2.8": { - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "deep-extend@0.6.0", - "ini": "ini@1.3.8", - "minimist": "minimist@1.2.7", - "strip-json-comments": "strip-json-comments@2.0.1" - } - }, - "readable-stream@2.3.7": { - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "core-util-is@1.0.3", - "inherits": "inherits@2.0.4", - "isarray": "isarray@1.0.0", - "process-nextick-args": "process-nextick-args@2.0.1", - "safe-buffer": "safe-buffer@5.1.2", - "string_decoder": "string_decoder@1.1.1", - "util-deprecate": "util-deprecate@1.0.2" - } - }, - "readable-stream@3.6.2": { - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "inherits@2.0.4", - "string_decoder": "string_decoder@1.1.1", - "util-deprecate": "util-deprecate@1.0.2" - } - }, - "rimraf@2.7.1": { - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dependencies": { - "glob": "glob@7.2.3" - } - }, - "rimraf@3.0.2": { - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "glob@7.2.3" - } - }, - "safe-buffer@5.1.2": { - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dependencies": {} - }, - "safe-buffer@5.2.1": { - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dependencies": {} - }, - "safer-buffer@2.1.2": { - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dependencies": {} - }, - "sax@1.2.4": { - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dependencies": {} - }, - "semver@5.7.1": { - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dependencies": {} - }, - "semver@6.3.1": { - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dependencies": {} - }, - "semver@7.5.4": { - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "lru-cache@6.0.0" - } - }, - "set-blocking@2.0.0": { - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "dependencies": {} - }, - "signal-exit@3.0.7": { - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dependencies": {} - }, - "simple-concat@1.0.1": { - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "dependencies": {} - }, - "simple-get@3.1.1": { - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "dependencies": { - "decompress-response": "decompress-response@4.2.1", - "once": "once@1.4.0", - "simple-concat": "simple-concat@1.0.1" - } - }, - "string-width@1.0.2": { - "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", - "dependencies": { - "code-point-at": "code-point-at@1.1.0", - "is-fullwidth-code-point": "is-fullwidth-code-point@1.0.0", - "strip-ansi": "strip-ansi@3.0.1" - } - }, - "string-width@4.2.3": { - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "emoji-regex@8.0.0", - "is-fullwidth-code-point": "is-fullwidth-code-point@3.0.0", - "strip-ansi": "strip-ansi@6.0.1" - } - }, - "string_decoder@1.1.1": { - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "safe-buffer@5.1.2" - } - }, - "strip-ansi@3.0.1": { - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "ansi-regex@2.1.1" - } - }, - "strip-ansi@6.0.1": { - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "ansi-regex@5.0.1" - } - }, - "strip-json-comments@2.0.1": { - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "dependencies": {} - }, - "tar@4.4.19": { - "integrity": "sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==", - "dependencies": { - "chownr": "chownr@1.1.4", - "fs-minipass": "fs-minipass@1.2.7", - "minipass": "minipass@2.9.0", - "minizlib": "minizlib@1.3.3", - "mkdirp": "mkdirp@0.5.6", - "safe-buffer": "safe-buffer@5.2.1", - "yallist": "yallist@3.1.1" - } - }, - "tar@6.2.0": { - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "dependencies": { - "chownr": "chownr@2.0.0", - "fs-minipass": "fs-minipass@2.1.0", - "minipass": "minipass@5.0.0", - "minizlib": "minizlib@2.1.2", - "mkdirp": "mkdirp@1.0.4", - "yallist": "yallist@4.0.0" - } - }, - "temp@0.4.0": { - "integrity": "sha512-IsFisGgDKk7qzK9erMIkQe/XwiSUdac7z3wYOsjcLkhPBy3k1SlvLoIh2dAHIlEpgA971CgguMrx9z8fFg7tSA==", - "dependencies": {} - }, - "tokenizers@0.13.1": { - "integrity": "sha512-2jBdLK++8lwUOYeZ2z46PLZbEvioeCvkcWt1mcFA+ivGzLtMczUCma92XWokR36l1YfZ4jXNz9AM2OrYnmcrZA==", - "dependencies": { - "@types/node": "@types/node@13.13.52", - "node-pre-gyp": "node-pre-gyp@0.14.0" - } - }, - "tr46@0.0.3": { - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dependencies": {} - }, - "tslib@2.6.2": { - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "dependencies": {} - }, - "util-deprecate@1.0.2": { - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dependencies": {} - }, - "webidl-conversions@3.0.1": { - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dependencies": {} - }, - "whatwg-url@5.0.0": { - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": { - "tr46": "tr46@0.0.3", - "webidl-conversions": "webidl-conversions@3.0.1" - } - }, - "wide-align@1.1.5": { - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "string-width@1.0.2" - } - }, - "wrappy@1.0.2": { - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dependencies": {} - }, - "yallist@3.1.1": { - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dependencies": {} - }, - "yallist@4.0.0": { - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dependencies": {} - } - } - }, - "redirects": { - "https://deno.land/std/encoding/base64.ts": "https://deno.land/std@0.173.0/encoding/base64.ts", - "https://deno.land/x/canvas/mod.ts": "https://deno.land/x/canvas@v1.4.1/mod.ts", - "https://deno.land/x/netsaur/mod.ts": "https://deno.land/x/netsaur@0.2.8/mod.ts" - }, "remote": { - "https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chart.esm.js": "fd917fb668977fd12433a30ab7e730b526a64b30c4f5f80686ac97fa135923ef", - "https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chunks/helpers.segment.js": "d34357e69f1f76d07321e93bf8a907352cf20f8ddf6f3bad51776dc4960f5be7", "https://deno.land/std@0.106.0/encoding/base64.ts": "eecae390f1f1d1cae6f6c6d732ede5276bf4b9cd29b1d281678c054dc5cc009e", - "https://deno.land/std@0.145.0/encoding/base64.ts": "c8c16b4adaa60d7a8eee047c73ece26844435e8f7f1328d74593dbb2dd58ea4f", - "https://deno.land/std@0.157.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", - "https://deno.land/std@0.157.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934", - "https://deno.land/std@0.157.0/encoding/hex.ts": "4cc5324417cbb4ac9b828453d35aed45b9cc29506fad658f1f138d981ae33795", - "https://deno.land/std@0.157.0/fmt/colors.ts": "ff7dc9c9f33a72bd48bc24b21bbc1b4545d8494a431f17894dbc5fe92a938fc4", - "https://deno.land/std@0.157.0/fs/_util.ts": "fdc156f897197f261a1c096dcf8ff9267ed0ff42bd5b31f55053a4763a4bae3b", - "https://deno.land/std@0.157.0/fs/copy.ts": "73bdf24f4322648d9bc38ef983b818637ba368351d17aa03644209d3ce3eac31", - "https://deno.land/std@0.157.0/fs/empty_dir.ts": "c15a0aaaf40f8c21cca902aa1e01a789ad0c2fd1b7e2eecf4957053c5dbf707f", - "https://deno.land/std@0.157.0/fs/ensure_dir.ts": "76395fc1c989ca8d2de3aedfa8240eb8f5225cde20f926de957995b063135b80", - "https://deno.land/std@0.157.0/fs/ensure_file.ts": "b8e32ea63aa21221d0219760ba3f741f682d7f7d68d0d24a3ec067c338568152", - "https://deno.land/std@0.157.0/fs/ensure_link.ts": "5cc1c04f18487d7d1edf4c5469705f30b61390ffd24ad7db6df85e7209b32bb2", - "https://deno.land/std@0.157.0/fs/ensure_symlink.ts": "5273557b8c50be69477aa9cb003b54ff2240a336db52a40851c97abce76b96ab", - "https://deno.land/std@0.157.0/fs/eol.ts": "b92f0b88036de507e7e6fbedbe8f666835ea9dcbf5ac85917fa1fadc919f83a5", - "https://deno.land/std@0.157.0/fs/exists.ts": "3661a679d9018338df5df7cd9fc7cd918f5e447e7304a5391f849a893ce24107", - "https://deno.land/std@0.157.0/fs/expand_glob.ts": "333a8b9b0726b6909e5af30fb99c68e5b0e734d37af8cbc2ad1f062f26ca4d50", - "https://deno.land/std@0.157.0/fs/mod.ts": "354a6f972ef4e00c4dd1f1339a8828ef0764c1c23d3c0010af3fcc025d8655b0", - "https://deno.land/std@0.157.0/fs/move.ts": "6d7fa9da60dbc7a32dd7fdbc2ff812b745861213c8e92ba96dace0669b0c378c", - "https://deno.land/std@0.157.0/fs/walk.ts": "d6c73a2a2fb5fde60150ce27cff3fff420e72e5bb84131b4919c9a41d74712ce", - "https://deno.land/std@0.157.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", - "https://deno.land/std@0.157.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", - "https://deno.land/std@0.157.0/path/_util.ts": "d16be2a16e1204b65f9d0dfc54a9bc472cafe5f4a190b3c8471ec2016ccd1677", - "https://deno.land/std@0.157.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", - "https://deno.land/std@0.157.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", - "https://deno.land/std@0.157.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac", - "https://deno.land/std@0.157.0/path/posix.ts": "c1f7afe274290ea0b51da07ee205653b2964bd74909a82deb07b69a6cc383aaa", - "https://deno.land/std@0.157.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", - "https://deno.land/std@0.157.0/path/win32.ts": "bd7549042e37879c68ff2f8576a25950abbfca1d696d41d82c7bca0b7e6f452c", - "https://deno.land/std@0.159.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", - "https://deno.land/std@0.159.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934", - "https://deno.land/std@0.159.0/fs/_util.ts": "fdc156f897197f261a1c096dcf8ff9267ed0ff42bd5b31f55053a4763a4bae3b", - "https://deno.land/std@0.159.0/fs/copy.ts": "73bdf24f4322648d9bc38ef983b818637ba368351d17aa03644209d3ce3eac31", - "https://deno.land/std@0.159.0/fs/empty_dir.ts": "c15a0aaaf40f8c21cca902aa1e01a789ad0c2fd1b7e2eecf4957053c5dbf707f", - "https://deno.land/std@0.159.0/fs/ensure_dir.ts": "76395fc1c989ca8d2de3aedfa8240eb8f5225cde20f926de957995b063135b80", - "https://deno.land/std@0.159.0/fs/ensure_file.ts": "b8e32ea63aa21221d0219760ba3f741f682d7f7d68d0d24a3ec067c338568152", - "https://deno.land/std@0.159.0/fs/ensure_link.ts": "5cc1c04f18487d7d1edf4c5469705f30b61390ffd24ad7db6df85e7209b32bb2", - "https://deno.land/std@0.159.0/fs/ensure_symlink.ts": "5273557b8c50be69477aa9cb003b54ff2240a336db52a40851c97abce76b96ab", - "https://deno.land/std@0.159.0/fs/eol.ts": "b92f0b88036de507e7e6fbedbe8f666835ea9dcbf5ac85917fa1fadc919f83a5", - "https://deno.land/std@0.159.0/fs/exists.ts": "6a447912e49eb79cc640adacfbf4b0baf8e17ede6d5bed057062ce33c4fa0d68", - "https://deno.land/std@0.159.0/fs/expand_glob.ts": "333a8b9b0726b6909e5af30fb99c68e5b0e734d37af8cbc2ad1f062f26ca4d50", - "https://deno.land/std@0.159.0/fs/mod.ts": "354a6f972ef4e00c4dd1f1339a8828ef0764c1c23d3c0010af3fcc025d8655b0", - "https://deno.land/std@0.159.0/fs/move.ts": "6d7fa9da60dbc7a32dd7fdbc2ff812b745861213c8e92ba96dace0669b0c378c", - "https://deno.land/std@0.159.0/fs/walk.ts": "d6c73a2a2fb5fde60150ce27cff3fff420e72e5bb84131b4919c9a41d74712ce", - "https://deno.land/std@0.159.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", - "https://deno.land/std@0.159.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", - "https://deno.land/std@0.159.0/path/_util.ts": "d16be2a16e1204b65f9d0dfc54a9bc472cafe5f4a190b3c8471ec2016ccd1677", - "https://deno.land/std@0.159.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", - "https://deno.land/std@0.159.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", - "https://deno.land/std@0.159.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac", - "https://deno.land/std@0.159.0/path/posix.ts": "c1f7afe274290ea0b51da07ee205653b2964bd74909a82deb07b69a6cc383aaa", - "https://deno.land/std@0.159.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", - "https://deno.land/std@0.159.0/path/win32.ts": "bd7549042e37879c68ff2f8576a25950abbfca1d696d41d82c7bca0b7e6f452c", - "https://deno.land/std@0.173.0/encoding/base64.ts": "7de04c2f8aeeb41453b09b186480be90f2ff357613b988e99fabb91d2eeceba1", - "https://deno.land/std@0.184.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462", - "https://deno.land/std@0.184.0/_util/os.ts": "d932f56d41e4f6a6093d56044e29ce637f8dcc43c5a90af43504a889cf1775e3", - "https://deno.land/std@0.184.0/encoding/hex.ts": "b4b1a7cb678745b0bf181ed8cf2498c7be00d121a7de244b752fbf9c7d9c48cd", - "https://deno.land/std@0.184.0/fmt/colors.ts": "d67e3cd9f472535241a8e410d33423980bec45047e343577554d3356e1f0ef4e", - "https://deno.land/std@0.184.0/fs/_util.ts": "579038bebc3bd35c43a6a7766f7d91fbacdf44bc03468e9d3134297bb99ed4f9", - "https://deno.land/std@0.184.0/fs/copy.ts": "14214efd94fc3aa6db1e4af2b4b9578e50f7362b7f3725d5a14ad259a5df26c8", - "https://deno.land/std@0.184.0/fs/empty_dir.ts": "c3d2da4c7352fab1cf144a1ecfef58090769e8af633678e0f3fabaef98594688", - "https://deno.land/std@0.184.0/fs/ensure_dir.ts": "dc64c4c75c64721d4e3fb681f1382f803ff3d2868f08563ff923fdd20d071c40", - "https://deno.land/std@0.184.0/fs/ensure_file.ts": "c38602670bfaf259d86ca824a94e6cb9e5eb73757fefa4ebf43a90dd017d53d9", - "https://deno.land/std@0.184.0/fs/ensure_link.ts": "c0f5b2f0ec094ed52b9128eccb1ee23362a617457aa0f699b145d4883f5b2fb4", - "https://deno.land/std@0.184.0/fs/ensure_symlink.ts": "5006ab2f458159c56d689b53b1e48d57e05eeb1eaf64e677f7f76a30bc4fdba1", - "https://deno.land/std@0.184.0/fs/eol.ts": "f1f2eb348a750c34500741987b21d65607f352cf7205f48f4319d417fff42842", - "https://deno.land/std@0.184.0/fs/exists.ts": "29c26bca8584a22876be7cb8844f1b6c8fc35e9af514576b78f5c6884d7ed02d", - "https://deno.land/std@0.184.0/fs/expand_glob.ts": "e4f56259a0a70fe23f05215b00de3ac5e6ba46646ab2a06ebbe9b010f81c972a", - "https://deno.land/std@0.184.0/fs/mod.ts": "bc3d0acd488cc7b42627044caf47d72019846d459279544e1934418955ba4898", - "https://deno.land/std@0.184.0/fs/move.ts": "b4f8f46730b40c32ea3c0bc8eb0fd0e8139249a698883c7b3756424cf19785c9", - "https://deno.land/std@0.184.0/fs/walk.ts": "920be35a7376db6c0b5b1caf1486fb962925e38c9825f90367f8f26b5e5d0897", - "https://deno.land/std@0.184.0/path/_constants.ts": "e49961f6f4f48039c0dfed3c3f93e963ca3d92791c9d478ac5b43183413136e0", - "https://deno.land/std@0.184.0/path/_interface.ts": "6471159dfbbc357e03882c2266d21ef9afdb1e4aa771b0545e90db58a0ba314b", - "https://deno.land/std@0.184.0/path/_util.ts": "d7abb1e0dea065f427b89156e28cdeb32b045870acdf865833ba808a73b576d0", - "https://deno.land/std@0.184.0/path/common.ts": "ee7505ab01fd22de3963b64e46cff31f40de34f9f8de1fff6a1bd2fe79380000", - "https://deno.land/std@0.184.0/path/glob.ts": "d479e0a695621c94d3fd7fe7abd4f9499caf32a8de13f25073451c6ef420a4e1", - "https://deno.land/std@0.184.0/path/mod.ts": "bf718f19a4fdd545aee1b06409ca0805bd1b68ecf876605ce632e932fe54510c", - "https://deno.land/std@0.184.0/path/posix.ts": "8b7c67ac338714b30c816079303d0285dd24af6b284f7ad63da5b27372a2c94d", - "https://deno.land/std@0.184.0/path/separator.ts": "0fb679739d0d1d7bf45b68dacfb4ec7563597a902edbaf3c59b50d5bcadd93b1", - "https://deno.land/std@0.184.0/path/win32.ts": "d186344e5583bcbf8b18af416d13d82b35a317116e6460a5a3953508c3de5bba", - "https://deno.land/std@0.188.0/_util/asserts.ts": "178dfc49a464aee693a7e285567b3d0b555dc805ff490505a8aae34f9cfb1462", - "https://deno.land/std@0.188.0/csv/_io.ts": "0f90b154e0f9c574a025f24d35d7ef617944809a66d277716243e68523a816b2", - "https://deno.land/std@0.188.0/csv/parse.ts": "96f7be0b5b5c0778bbd1c3f6f4ec689aecc406b6ce66d5059da12ca2268d2b44", "https://deno.land/std@0.203.0/assert/assert.ts": "9a97dad6d98c238938e7540736b826440ad8c1c1e54430ca4c4e623e585607ee", "https://deno.land/std@0.203.0/assert/assertion_error.ts": "4d0bde9b374dfbcbe8ac23f54f567b77024fb67dbb1906a852d67fe050d42f56", "https://deno.land/std@0.203.0/encoding/_util.ts": "f368920189c4fe6592ab2e93bd7ded8f3065b84f95cd3e036a4a10a75649dcba", @@ -813,13 +56,6 @@ "https://deno.land/std@0.203.0/path/to_file_url.ts": "00e6322373dd51ad109956b775e4e72e5f9fa68ce2c6b04e4af2a6eed3825d31", "https://deno.land/std@0.203.0/path/to_namespaced_path.ts": "1b1db3055c343ab389901adfbda34e82b7386bcd1c744d54f9c1496ee0fd0c3d", "https://deno.land/std@0.203.0/path/win32.ts": "8b3f80ef7a462511d5e8020ff490edcaa0a0d118f1b1e9da50e2916bdd73f9dd", - "https://deno.land/std@0.76.0/encoding/base64.ts": "b1d8f99b778981548457ec74bc6273ad785ffd6f61b2233bd5b30925345b565d", - "https://deno.land/x/canvas@v1.2.2/canvaskit.ts": "ab95583a578e3283bf66ac527a575482fbaf968dea2f59372846c83c6ecd1e22", - "https://deno.land/x/canvas@v1.2.2/deps.ts": "d6e023604ea156fbcb2bd997e2c957b119addf2bf782087e2358bd4705bab274", - "https://deno.land/x/canvas@v1.2.2/lib.js": "d65843a9e8f66489cce58d499618cd3c7bbc8d9fa31175ddc820785caf5686bc", - "https://deno.land/x/canvas@v1.2.2/mod.ts": "d926acdc90fb84200aaed1023fe60f88cad849e00d0cf39dff715c87b35012c1", - "https://deno.land/x/canvas@v1.2.2/types.ts": "2f59b69b890368cf37916e59f8e92bebe76f3d01412ee1dbc2e2162dd917702d", - "https://deno.land/x/canvas@v1.2.2/wasm.js": "192938164d9f0028fdd5813534efeca951793ff89dfdcbfec0104e71d2b6193a", "https://deno.land/x/canvas@v1.4.1/deps.ts": "e956026d98094946166e06d7b799290b732db015813870d84e04e33ab88e98f3", "https://deno.land/x/canvas@v1.4.1/mod.ts": "a4e16972647ceafef58612a377a218372454c99d2c9da615a132694597114f80", "https://deno.land/x/canvas@v1.4.1/src/base64.ts": "0928031fdba0c43b617154fbe2eb7578366460c04da1422933ae5e936d3d0349", @@ -829,116 +65,14 @@ "https://deno.land/x/canvas@v1.4.1/src/lib.js": "bb21711589bfbc8997b455cdf53e3150e23289f3b44809188041b1d2fc7924fa", "https://deno.land/x/canvas@v1.4.1/src/types.ts": "67d5800f8f4b0a407e0251676a03ae91b5f50a3ed53e6b72dc5984113cb93128", "https://deno.land/x/canvas@v1.4.1/src/wasm.js": "449d72cc14fc4142a5853f944df49a744d852981d09c5515528ede8aebb0afda", - "https://deno.land/x/deno_chart@1.1.0/config/CanvasInstance.ts": "d8439c6e86299ab57f470e78f6e5dcda43a40e0c6b3139ab4f5ec687d263c0e6", - "https://deno.land/x/deno_chart@1.1.0/config/index.ts": "754a3fd0cc4ac33a194ca62d5aca915ab0c86c3c28823b470f04d2be60f9a1a6", - "https://deno.land/x/deno_chart@1.1.0/deps.ts": "525a6d767c6c073125a9bd2a0b447c39dca2dea635835913c1711891d80fbc1e", - "https://deno.land/x/deno_chart@1.1.0/graph/GraphInstance.ts": "07d373ad6971b6ed7e130bb5fa5c24a490be04b3fd79d143405432b8c3bbcfe0", - "https://deno.land/x/deno_chart@1.1.0/graph/index.ts": "a18a2ddc1cae8e8dc2448505508fd69ad629aa83fdc07bda9c57e16362fc8fbb", - "https://deno.land/x/deno_chart@1.1.0/mod.ts": "3ae79662d47fcccd34bd2243a72b87f4a2ee8d7ad11eeafc4415d4fabc56ddaa", - "https://deno.land/x/deno_chart@1.1.0/utils/Helpers.ts": "3b84c657e51d92adc3aa648f0b65bd5fab5ded82471f266a795eb1cac670ba6d", - "https://deno.land/x/deno_chart@1.1.0/utils/index.ts": "99729fe252672869e2f39d0517fcc777f8826285d5ffa018b1ef6bbc6d294ff1", - "https://deno.land/x/denouse@v0.0.6/mod.ts": "f3d2d16c6a9338b69ccd9a8446a19452e09d8c9b8129f79ef7eb5669ca613e0b", - "https://deno.land/x/denouse@v0.0.6/use/array/mod.ts": "a95df5671fcb09123d6e8a9aaa46ff2f935ad43966f3dc4d32051da31577ed0f", - "https://deno.land/x/denouse@v0.0.6/use/array/range.ts": "a72d2355492889e739a1987b5a3a6c859ac71f2601eb67138b58e6983a24d9d1", - "https://deno.land/x/denouse@v0.0.6/use/array/split.ts": "f0c8b4ecd5fe7dfd8a0bb6aef21885220a73b2b139c3b0ee36f9ecc814cad11e", - "https://deno.land/x/denouse@v0.0.6/use/array/unique.ts": "d81d591c077ad81123ecf612445bcfc657a409b0e10a1667c184c675d7ee895a", - "https://deno.land/x/denouse@v0.0.6/use/datetime/duration.ts": "ad1704be1a47b75d581e8030a677b881c92d8f4a23348669066c01b1e478ed19", - "https://deno.land/x/denouse@v0.0.6/use/datetime/mod.ts": "30f93d011754ff647495d38fa38eb9790ae1c55258df9ba5ee615b96dfd30958", - "https://deno.land/x/denouse@v0.0.6/use/datetime/time.ts": "e67edba8d60c682ea87fd6457a6460fbbc92a61e78afa41f0536bab8c26b38ac", - "https://deno.land/x/denouse@v0.0.6/use/mod.ts": "48c15a8d7a498353cc0cc6162d83630d6eda711663db9bea848c63c9ec3174c8", - "https://deno.land/x/denouse@v0.0.6/use/random/mod.ts": "8b1d03fd04bad86ece5c1b8b2efa20f56231d9a8bac962cf10571d321d989116", - "https://deno.land/x/denouse@v0.0.6/use/random/normal.ts": "c6f0bac64e0e147f8df6f9882eeb7c0bc335bd7a00e06897c6147118333af497", - "https://deno.land/x/denouse@v0.0.6/use/random/rearrange.ts": "1c1571664845896663b563029f3f2572fccd38c6d92ec3fd11dc6d7ea866cb4b", - "https://deno.land/x/denouse@v0.0.6/use/random/rng.ts": "213dff1b1a39ae4621d35330eb19a3f96170949e8ca429e8028a1fdf86c61f22", - "https://deno.land/x/denouse@v0.0.6/use/random/shuffle.ts": "66f966851d5b6dd4c81117d32311742c319ea3042aad22a7874d2b10da4e743f", - "https://deno.land/x/denouse@v0.0.6/use/random/weighted.ts": "c4eeb309477ecf431a0b9fd1bf0f04540825194c7ed30ba8c71c9e45e14112e6", - "https://deno.land/x/fetchbase64@1.0.0/deps.ts": "2f44013a40540650b346d36b6aae141207b39426fca02ec5292d9d4d5f33f4ac", - "https://deno.land/x/fetchbase64@1.0.0/mod.ts": "f4551a2ecf41f560dcd12c6c8cf65b5246458b2b9b2b2836693a3410b15ca82f", - "https://deno.land/x/fetchbase64@1.0.0/src/auto.ts": "77a20763dd250b71af0ff7abe11a37722c0ee637cd1feafe4afd081f7d04e868", - "https://deno.land/x/fetchbase64@1.0.0/src/local.ts": "53a9d0157419f3bc1aac6440549adac529c475042d2391532618242a883f96c9", - "https://deno.land/x/fetchbase64@1.0.0/src/remote.ts": "95320d1e2cba524099f18a446195388de31281e713ec6c86e46f9d20bb6db736", - "https://deno.land/x/huggingface@0.2.4/tokenizers/mod.ts": "7402637c83e95bfce3a83f4ffd10733a6b3587d329ea281a383dd4049a8a6384", - "https://deno.land/x/huggingface@0.2.4/tokenizers/src/wasm.js": "d797f93da26460b667add22fae682f566790d7f1360a83cf4104f42458d328c3", "https://deno.land/x/lz4@v0.1.2/mod.ts": "4decfc1a3569d03fd1813bd39128b71c8f082850fe98ecfdde20025772916582", "https://deno.land/x/lz4@v0.1.2/wasm.js": "b9c65605327ba273f0c76a6dc596ec534d4cda0f0225d7a94ebc606782319e46", - "https://deno.land/x/netsaur@0.2.11/deps.ts": "0df3ca4c9bc92e99030f06cc65e71573a04b9174d36d24777f405274e96a07d3", - "https://deno.land/x/netsaur@0.2.11/mod.ts": "de8872916bd378ba379bb5a3988ea453d5be7d89756dc263e7c592a736f3d567", - "https://deno.land/x/netsaur@0.2.11/src/backends/cpu/backend.ts": "6bb2eab59ab4223f1b6651c31c9439773e108fa0498d832235623163112dec5f", - "https://deno.land/x/netsaur@0.2.11/src/backends/cpu/mod.ts": "6e670f87c60c5d14e606c04f1aabad0a42c37ec3d126b4d1cebaf50a9d69c0bf", - "https://deno.land/x/netsaur@0.2.11/src/backends/cpu/util.ts": "6b276cbf7611ececc243e4b92ca13ac3c1a3612b4e71d53a362937c7f5f3e0bb", - "https://deno.land/x/netsaur@0.2.11/src/backends/gpu/backend.ts": "9ab6f5309b554fd9aee11f731e1886c42f18e622d4167ba9f972965fd4f0fc07", - "https://deno.land/x/netsaur@0.2.11/src/backends/gpu/mod.ts": "72d4a1f40b53372918ee21bcad609de26535e1ccafcdf20842fb2b44be108e68", - "https://deno.land/x/netsaur@0.2.11/src/backends/gpu/util.ts": "6b276cbf7611ececc243e4b92ca13ac3c1a3612b4e71d53a362937c7f5f3e0bb", - "https://deno.land/x/netsaur@0.2.11/src/backends/wasm/backend.ts": "17d1fa2dac0506d44bd01b749b736f60d75c2f5c7c7681ca1af304e4b6cd1df9", - "https://deno.land/x/netsaur@0.2.11/src/backends/wasm/lib/netsaur.generated.js": "42a3c2a02205c40c78d2b76ef211872793f45beecf6fa3630b85094af6fa4293", - "https://deno.land/x/netsaur@0.2.11/src/backends/wasm/mod.ts": "49bf13f27ed1e276bb0ae5aa0819049f9b6d7d28f76dc4cedf0a3bc03296f120", - "https://deno.land/x/netsaur@0.2.11/src/backends/wasm/utils.ts": "7ad199b41c9eb133d8e5a3e64eaa6deba06b293c1b13b72753230b166cde916f", - "https://deno.land/x/netsaur@0.2.11/src/core/api/error.ts": "b58811e114b9ffc9d5fa77ddca7a72e3b21d009efb060440de5b5ea5f630b0ef", - "https://deno.land/x/netsaur@0.2.11/src/core/api/layer.ts": "27c34b83c677ce2e92cf7d31211925b1df301dc19c0c76d04e283eb2e102cd34", - "https://deno.land/x/netsaur@0.2.11/src/core/api/layers.ts": "5120bd93eff110999da895172a9e8a4f77b49fc5aa26b5f88aa55678d300f696", - "https://deno.land/x/netsaur@0.2.11/src/core/api/network.ts": "de3ee840b0b169a394accfd28abcac699c731853198eda920315895a4c8ce538", - "https://deno.land/x/netsaur@0.2.11/src/core/api/optimizer.ts": "30d5f2f6e7a469910e6735dee1bb3e06e2c8ebaed48d6c55d4662bb998b473f9", - "https://deno.land/x/netsaur@0.2.11/src/core/api/scheduler.ts": "beda91f50792eb7b496b5efd78b5ef937cbdb367631d8b487d298872c87e4515", - "https://deno.land/x/netsaur@0.2.11/src/core/api/shape.ts": "a65b381937751ab5e0016fb5c8afb023aff480f39612f77d200fea85249026d4", - "https://deno.land/x/netsaur@0.2.11/src/core/engine.ts": "8d53ab8d22ab0cf5f8a33e1506a6d36660d072d0b50389e95756de8104c03fba", - "https://deno.land/x/netsaur@0.2.11/src/core/mod.ts": "f78f24478dc2d30d7d2a85c5ca1c3c28cbdd758926fbf3bb12136c72503dca27", - "https://deno.land/x/netsaur@0.2.11/src/core/tensor/tensor.ts": "2db0c0e5b6cdece8c50b36cc8d683c73fd38cccb101ce12375f1bf2c8859155b", - "https://deno.land/x/netsaur@0.2.11/src/core/tensor/util.ts": "d76a96380354085992731599eaec98f7cc59c2af821e03531b72296277249b34", - "https://deno.land/x/netsaur@0.2.11/src/core/types.ts": "4062d4d41ae173676eb47dee20ab5c097a1cec0a2dda0c28297c43ae762abaad", - "https://deno.land/x/netsaur@0.2.11/visualizer/mod.ts": "0cc351bfe6d9887a3a13124ee7295973972b30a055b95dad6e462c6bbeb4cc84", - "https://deno.land/x/netsaur@0.2.11/visualizer/types.ts": "aa4b22cc4ea3efc86fd690550bf937479b71aea595c32df4165392eb99799454", - "https://deno.land/x/netsaur@0.2.8/deps.ts": "ecf8d69bb639cea2aeac1c69730b5a0f5f5fd3518090449c027176cd0fdc4415", - "https://deno.land/x/netsaur@0.2.8/mod.ts": "ed16d242a2792677c47d0082b82321090eaf64e262e017e741373789bcc6c11e", - "https://deno.land/x/netsaur@0.2.8/src/backend_cpu/backend.ts": "5ef0911e6fcd682b891dc64173cafde76b141490c73cedcf66d9ba152cf87ec0", - "https://deno.land/x/netsaur@0.2.8/src/backend_cpu/mod.ts": "5871a2e5b7f6cf7619294d8761080f19ba5de1a6f55ef6e08b76a1b594b370f8", - "https://deno.land/x/netsaur@0.2.8/src/backend_cpu/util.ts": "fd51f7868ed9d7eddeec01559b60684f2898ff72a2abe11d6a2267f63239c6d0", - "https://deno.land/x/netsaur@0.2.8/src/backend_wasm/backend.ts": "1a8957ecb3219d0b02e7c3144ab6619a0d79ef548001838c7fa09f3cb8e767ac", - "https://deno.land/x/netsaur@0.2.8/src/backend_wasm/lib/netsaur.generated.js": "f91e0dd8528a13f6bf91a98908ece7d9192d2a4918180a448b98a2e967033e54", - "https://deno.land/x/netsaur@0.2.8/src/backend_wasm/mod.ts": "b07ff70c68ce179cb8a3ab7d28135fe7f0ecc727c0dbd34857a376cae17f84d4", - "https://deno.land/x/netsaur@0.2.8/src/backend_wasm/utils.ts": "cbbca54c7fa37f6cf71375833cec37d367fb0bc677af1cfa913e2832d7f1f475", - "https://deno.land/x/netsaur@0.2.8/src/core/api/error.ts": "b58811e114b9ffc9d5fa77ddca7a72e3b21d009efb060440de5b5ea5f630b0ef", - "https://deno.land/x/netsaur@0.2.8/src/core/api/layer.ts": "27c34b83c677ce2e92cf7d31211925b1df301dc19c0c76d04e283eb2e102cd34", - "https://deno.land/x/netsaur@0.2.8/src/core/api/layers.ts": "5120bd93eff110999da895172a9e8a4f77b49fc5aa26b5f88aa55678d300f696", - "https://deno.land/x/netsaur@0.2.8/src/core/api/network.ts": "de3ee840b0b169a394accfd28abcac699c731853198eda920315895a4c8ce538", - "https://deno.land/x/netsaur@0.2.8/src/core/api/optimizer.ts": "30d5f2f6e7a469910e6735dee1bb3e06e2c8ebaed48d6c55d4662bb998b473f9", - "https://deno.land/x/netsaur@0.2.8/src/core/api/shape.ts": "a65b381937751ab5e0016fb5c8afb023aff480f39612f77d200fea85249026d4", - "https://deno.land/x/netsaur@0.2.8/src/core/engine.ts": "d63750b7b6e9d5f4cffe45d47859ad2a8f3279c682fdb4c646a8f263df55c9ec", - "https://deno.land/x/netsaur@0.2.8/src/core/mod.ts": "a12c92154b5f5189eed295f3395fb6048412a88bd298ad4f6c14b2b7490ee534", - "https://deno.land/x/netsaur@0.2.8/src/core/tensor/tensor.ts": "2db0c0e5b6cdece8c50b36cc8d683c73fd38cccb101ce12375f1bf2c8859155b", - "https://deno.land/x/netsaur@0.2.8/src/core/tensor/util.ts": "d76a96380354085992731599eaec98f7cc59c2af821e03531b72296277249b34", - "https://deno.land/x/netsaur@0.2.8/src/core/types.ts": "4a2f33769cded405cfb134609cbc906202180f9d87acb3033187d59da4b23b75", - "https://deno.land/x/plug@1.0.0-rc.3/deps.ts": "ea73ca429e71624fdae0fe9393fe5056b9404d058ef45688eda4150112cf85d3", - "https://deno.land/x/plug@1.0.0-rc.3/download.ts": "81d1aef0595e018514f1d70a5c52b0267d81685e2dccb5459f8427b29f3f3736", - "https://deno.land/x/plug@1.0.0-rc.3/mod.ts": "6db7edf982efedf8c9e1002754fbb109c22201fd8fb89ba715fe70171b5e821c", - "https://deno.land/x/plug@1.0.0-rc.3/types.ts": "d8eb738fc6ed883e6abf77093442c2f0b71af9090f15c7613621d4039e410ee1", - "https://deno.land/x/plug@1.0.0-rc.3/util.ts": "e53018a487292d11036efeae9da81eb82ef47f9e53d0ba83f545b0220350155a", - "https://deno.land/x/plug@1.0.2/deps.ts": "36846a478fafaa1d8ca18aafd91584a748aa58de47ad0f45f008881dad82f374", - "https://deno.land/x/plug@1.0.2/download.ts": "b92bc1c1ae35fdb75828847f1ebfc7e51bf462f339729740e1cffe78384e1509", - "https://deno.land/x/plug@1.0.2/mod.ts": "32e0006ed6142e7becdb4103c2aa4e1e9ef28459d7243d6cb404a028f7c4eb7e", - "https://deno.land/x/plug@1.0.2/types.ts": "0490359117c53783138f2b6692a34f85bca9237314ba8cdef8ad682d81218d21", - "https://deno.land/x/plug@1.0.2/util.ts": "ded3db6e9bb16b8003899d9073fb310e13231ca617b35d6b7dfd53f38762cc76", "https://deno.land/x/plug@1.0.3/deps.ts": "91d5b264dd7374bf6f4f544fa0ddef12f1c6fddc10840314f5fb6aeeadb64396", "https://deno.land/x/plug@1.0.3/download.ts": "b92bc1c1ae35fdb75828847f1ebfc7e51bf462f339729740e1cffe78384e1509", "https://deno.land/x/plug@1.0.3/mod.ts": "5dec80ee7a3a325be45c03439558531bce7707ac118f4376cebbd6740ff24bfb", "https://deno.land/x/plug@1.0.3/types.ts": "0490359117c53783138f2b6692a34f85bca9237314ba8cdef8ad682d81218d21", "https://deno.land/x/plug@1.0.3/util.ts": "ded3db6e9bb16b8003899d9073fb310e13231ca617b35d6b7dfd53f38762cc76", "https://deno.land/x/pngs@0.1.1/mod.ts": "9dc8a7daed1497b94a77b68c954164a9f0b2a6f40866481bdfdbbaf015b5f764", - "https://deno.land/x/pngs@0.1.1/wasm.js": "e3d4a8f293b267c9859a2164ca7b4603869bc92fe0d5ad4f109925858bce0c4c", - "https://deno.land/x/skia_canvas@0.5.1/deno.json": "21a1509b7fd7f8f03fe7157135e2456918f5032c99b8916a983e37a34f18ca40", - "https://deno.land/x/skia_canvas@0.5.1/deps.ts": "34e46a90f0477bc96e22a771c335d4fadeb80bf220f25864d52bfa763f86b68b", - "https://deno.land/x/skia_canvas@0.5.1/mod.ts": "62b65707c46334f15f94647be6280c818d90d9976ef8ca70eb607954b9539e5e", - "https://deno.land/x/skia_canvas@0.5.1/src/canvas.ts": "20a84b2a4b6a3e9960ec1ab017069c37b10d38fa8c69c2fbcb5daed480c54748", - "https://deno.land/x/skia_canvas@0.5.1/src/context2d.ts": "42589da0e6bb5d11bc3cbd5c5e8df08a44b09df757a275dd980a6a395588158a", - "https://deno.land/x/skia_canvas@0.5.1/src/dommatrix.ts": "1f09349bceb483deb2dffa514c8a940a7cd7d61a6a6d0269a3f9837ce5cbe7d6", - "https://deno.land/x/skia_canvas@0.5.1/src/ffi.ts": "f8fe2512d8f57a70a3fc8aa0e536dd5846aec299d76affdc2842c7beaee72f99", - "https://deno.land/x/skia_canvas@0.5.1/src/filter.ts": "ef6ee5d0325678b9b4bf9bdc02635a7cbf4e9f5af040490818e072a6b5b68cb3", - "https://deno.land/x/skia_canvas@0.5.1/src/font.ts": "26fc6b01549639a6382b64d13834c3f25ad4a52796adf4edab766b9409683e1a", - "https://deno.land/x/skia_canvas@0.5.1/src/gradient.ts": "9da3f7f09d1e45cd4da811cb796fdd60d80743788ed15e0a08105003d10ad3bb", - "https://deno.land/x/skia_canvas@0.5.1/src/image.ts": "71681f42d330647594addd5235e1d694c55981d441be8ac45afba2fc9d3e8dec", - "https://deno.land/x/skia_canvas@0.5.1/src/parse_font.ts": "c395bcc38f76b38b8c9d2fdbf3d37a9813962bfd6d632f6e58dea89df2eab713", - "https://deno.land/x/skia_canvas@0.5.1/src/path2d.ts": "f7dd1e5d134ae6f669c7836dcf379610da9b12514472f754a5aa71ac2dd1cfd7", - "https://deno.land/x/skia_canvas@0.5.1/src/pattern.ts": "ac63815273ebd2cc5eb90cce067dabf9f1f5dba1fe9cd38951c7f1d74dbc9f5f", - "https://deno.land/x/skia_canvas@0.5.1/src/pdfdocument.ts": "1e325bc6c0178109be8cdb929a1362a928e0fad9725de82402a9011da0db4412", - "https://deno.land/x/skia_canvas@0.5.1/src/svgcanvas.ts": "e788d4a9599c660f0aab85ff27b63b651a690f059522f2bb2bd2fa1821a37f7f" + "https://deno.land/x/pngs@0.1.1/wasm.js": "e3d4a8f293b267c9859a2164ca7b4603869bc92fe0d5ad4f109925858bce0c4c" } } From b270f5eeecf02774fcd8de249e51213c61fc7abf Mon Sep 17 00:00:00 2001 From: CarrotzRule123 Date: Fri, 3 Nov 2023 20:32:04 +0800 Subject: [PATCH 2/7] fmt --- crates/core-gpu/src/ffi.rs | 2 +- crates/core-gpu/src/gpu/layers/dense.rs | 2 +- crates/core-gpu/src/gpu/mod.rs | 4 ++-- crates/core-gpu/src/lib.rs | 2 +- crates/core/src/lib.rs | 1 - 5 files changed, 5 insertions(+), 6 deletions(-) diff --git a/crates/core-gpu/src/ffi.rs b/crates/core-gpu/src/ffi.rs index 7512405..094a68a 100644 --- a/crates/core-gpu/src/ffi.rs +++ b/crates/core-gpu/src/ffi.rs @@ -2,7 +2,7 @@ use std::slice::{from_raw_parts, from_raw_parts_mut}; use crate::{ decode_array, decode_json, length, Backend, Dataset, Logger, PredictOptions, TrainOptions, - RESOURCES, WGPUBackend, + WGPUBackend, RESOURCES, }; type AllocBufferFn = extern "C" fn(usize) -> *mut u8; diff --git a/crates/core-gpu/src/gpu/layers/dense.rs b/crates/core-gpu/src/gpu/layers/dense.rs index 7516f36..9d664a7 100644 --- a/crates/core-gpu/src/gpu/layers/dense.rs +++ b/crates/core-gpu/src/gpu/layers/dense.rs @@ -1,7 +1,7 @@ use ndarray::{Array1, Array2, ArrayD, Axis, Dimension, Ix1, Ix2, IxDyn}; use std::ops::Add; -use crate::{GPUInit, DenseLayer, Init, Tensors}; +use crate::{DenseLayer, GPUInit, Init, Tensors}; pub struct DenseGPULayer { // cache diff --git a/crates/core-gpu/src/gpu/mod.rs b/crates/core-gpu/src/gpu/mod.rs index 16d0945..a7a3ab5 100644 --- a/crates/core-gpu/src/gpu/mod.rs +++ b/crates/core-gpu/src/gpu/mod.rs @@ -1,17 +1,17 @@ mod activation; mod backend; mod cost; +mod gpu; mod init; mod layers; mod optimizers; mod schedulers; -mod gpu; pub use activation::*; pub use backend::*; pub use cost::*; +pub use gpu::*; pub use init::*; pub use layers::*; pub use optimizers::*; pub use schedulers::*; -pub use gpu::*; diff --git a/crates/core-gpu/src/lib.rs b/crates/core-gpu/src/lib.rs index 1864a64..b5f57fc 100644 --- a/crates/core-gpu/src/lib.rs +++ b/crates/core-gpu/src/lib.rs @@ -1,5 +1,5 @@ -mod gpu; mod ffi; +mod gpu; mod tensor; mod types; mod util; diff --git a/crates/core/src/lib.rs b/crates/core/src/lib.rs index b03ae3b..5de2674 100644 --- a/crates/core/src/lib.rs +++ b/crates/core/src/lib.rs @@ -9,7 +9,6 @@ mod wasm; pub use cpu::*; - #[cfg(not(target_arch = "wasm32"))] pub use ffi::*; pub use tensor::*; From 1a8da17481a197e102e357b38db925268130141b Mon Sep 17 00:00:00 2001 From: CarrotzRule123 Date: Fri, 3 Nov 2023 20:40:03 +0800 Subject: [PATCH 3/7] bump wasmbuild --- .github/workflows/build.yml | 4 ++-- CONTRIBUTING.md | 4 ++-- crates/core/Cargo.toml | 2 +- crates/tokenizers/Cargo.toml | 2 +- deno.json | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9ac12c3..8e10484 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,8 +32,8 @@ jobs: rustc --version cargo --version cargo build --release -p netsaur - deno run -A https://deno.land/x/wasmbuild@0.11.0/main.ts -p netsaur --out src/backends/wasm/lib - deno run -A https://deno.land/x/wasmbuild@0.11.0/main.ts -p netsaur-tokenizers --out tokenizers/lib + deno run -A https://deno.land/x/wasmbuild@0.15.1/main.ts -p netsaur --out src/backends/wasm/lib + deno run -A https://deno.land/x/wasmbuild@0.15.1/main.ts -p netsaur-tokenizers --out tokenizers/lib - name: Release uses: softprops/action-gh-release@master env: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 79fded4..77e8f2f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,11 +19,11 @@ cargo build --release Unoptimized: ```sh -deno run -A https://deno.land/x/wasmbuild@0.11.0/main.ts --out src/backends/wasm/lib --debug +deno run -A https://deno.land/x/wasmbuild@0.15.1/main.ts --out src/backends/wasm/lib --debug ``` Optimized: ```sh -deno run -A https://deno.land/x/wasmbuild@0.11.0/main.ts --out src/backends/wasm/lib +deno run -A https://deno.land/x/wasmbuild@0.15.1/main.ts --out src/backends/wasm/lib ``` diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 1c181af..8e8fbbe 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -14,6 +14,6 @@ serde_json = "1.0" safetensors = "0.4.0" [target.'cfg(target_arch = "wasm32")'.dependencies] -wasm-bindgen = "0.2.88" +wasm-bindgen = "0.2.87" getrandom = { version = "0.2", features = ["js"] } js-sys = "0.3.61" diff --git a/crates/tokenizers/Cargo.toml b/crates/tokenizers/Cargo.toml index cb46652..e527abc 100644 --- a/crates/tokenizers/Cargo.toml +++ b/crates/tokenizers/Cargo.toml @@ -12,6 +12,6 @@ ndarray-rand = "0.14.0" serde = {version = "1.0", features = ["derive"]} serde_json = "1.0" tokenizers = { version="0.14.1", default-features=false, features = ["unstable_wasm"]} -wasm-bindgen = "0.2.88" +wasm-bindgen = "0.2.87" getrandom = { version = "0.2", features = ["js"] } js-sys = "0.3.61" diff --git a/deno.json b/deno.json index eade2d4..eca7b6e 100644 --- a/deno.json +++ b/deno.json @@ -16,7 +16,7 @@ "build": "deno task build:cpu && deno task build:wasm && deno task build:gpu && deno task build:tokenizers", "build:cpu": "cargo build --release -p netsaur", "build:gpu": "cargo build --release -p netsaur-gpu", - "build:wasm": "deno run -A https://deno.land/x/wasmbuild@0.11.0/main.ts -p netsaur --out src/backends/wasm/lib", - "build:tokenizers": "deno run -A https://deno.land/x/wasmbuild@0.11.0/main.ts -p netsaur-tokenizers --out tokenizers/lib" + "build:wasm": "deno run -A https://deno.land/x/wasmbuild@0.15.1/main.ts -p netsaur --out src/backends/wasm/lib", + "build:tokenizers": "deno run -A https://deno.land/x/wasmbuild@0.15.1/main.ts -p netsaur-tokenizers --out tokenizers/lib" } } From 0a4b23ae2d606a31fd13cae40885a2c8a21a5e5f Mon Sep 17 00:00:00 2001 From: CarrotzRule123 Date: Fri, 3 Nov 2023 21:18:32 +0800 Subject: [PATCH 4/7] fix versioning --- Cargo.lock | 28 ++++++++++++++-------------- crates/core/Cargo.toml | 2 +- crates/tokenizers/Cargo.toml | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ebdb0d1..2b5cde8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -555,9 +555,9 @@ checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "js-sys" -version = "0.3.65" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54c0c35952f67de54bb584e9fd912b3023117cbafc0a77d8f3dee1fb5f572fe8" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] @@ -1370,9 +1370,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7daec296f25a1bae309c0cd5c29c4b260e510e6d813c286b19eaadf409d40fce" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1380,9 +1380,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e397f4664c0e4e428e8313a469aaa58310d302159845980fd23b0f22a847f217" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", @@ -1395,9 +1395,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.38" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9afec9963e3d0994cac82455b2b3502b81a7f40f9a0d32181f7528d9f4b43e02" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if", "js-sys", @@ -1407,9 +1407,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5961017b3b08ad5f3fe39f1e79877f8ee7c23c5e5fd5eb80de95abc41f1f16b2" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1417,9 +1417,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5353b8dab669f5e10f5bd76df26a9360c748f054f862ff5f3f8aae0c7fb3907" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", @@ -1430,9 +1430,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.88" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d046c5d029ba91a1ed14da14dca44b68bf2f124cfbaf741c54151fdb3e0750b" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "web-sys" diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 8e8fbbe..32c230c 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -14,6 +14,6 @@ serde_json = "1.0" safetensors = "0.4.0" [target.'cfg(target_arch = "wasm32")'.dependencies] -wasm-bindgen = "0.2.87" +wasm-bindgen = "=0.2.87" getrandom = { version = "0.2", features = ["js"] } js-sys = "0.3.61" diff --git a/crates/tokenizers/Cargo.toml b/crates/tokenizers/Cargo.toml index e527abc..5ce670c 100644 --- a/crates/tokenizers/Cargo.toml +++ b/crates/tokenizers/Cargo.toml @@ -12,6 +12,6 @@ ndarray-rand = "0.14.0" serde = {version = "1.0", features = ["derive"]} serde_json = "1.0" tokenizers = { version="0.14.1", default-features=false, features = ["unstable_wasm"]} -wasm-bindgen = "0.2.87" +wasm-bindgen = "=0.2.87" getrandom = { version = "0.2", features = ["js"] } js-sys = "0.3.61" From db02a8eeba840b273fcc73cbe97b8d588b4530ce Mon Sep 17 00:00:00 2001 From: CarrotzRule123 Date: Mon, 6 Nov 2023 18:35:35 +0800 Subject: [PATCH 5/7] gpu dense & activation --- crates/core-gpu/src/ffi.rs | 18 +- crates/core-gpu/src/gpu/activation.rs | 94 +------- crates/core-gpu/src/gpu/backend.rs | 126 ++++++----- crates/core-gpu/src/gpu/cost.rs | 122 ++++------ crates/core-gpu/src/gpu/gpu.rs | 84 ++++--- crates/core-gpu/src/gpu/layers/activation.rs | 162 +++++++------- crates/core-gpu/src/gpu/layers/dense.rs | 224 +++++++++++++++---- crates/core-gpu/src/gpu/layers/mod.rs | 50 +++-- crates/core-gpu/src/gpu/mod.rs | 2 - crates/core-gpu/src/gpu/optimizers/adam.rs | 74 ------ crates/core-gpu/src/gpu/optimizers/mod.rs | 75 ------- crates/core-gpu/src/gpu/optimizers/sgd.rs | 27 --- crates/core-gpu/src/tensor.rs | 1 + src/backends/gpu/backend.ts | 5 + src/backends/gpu/mod.ts | 6 +- 15 files changed, 513 insertions(+), 557 deletions(-) delete mode 100644 crates/core-gpu/src/gpu/optimizers/adam.rs delete mode 100644 crates/core-gpu/src/gpu/optimizers/mod.rs delete mode 100644 crates/core-gpu/src/gpu/optimizers/sgd.rs diff --git a/crates/core-gpu/src/ffi.rs b/crates/core-gpu/src/ffi.rs index 094a68a..20aa13e 100644 --- a/crates/core-gpu/src/ffi.rs +++ b/crates/core-gpu/src/ffi.rs @@ -27,6 +27,12 @@ pub extern "C" fn ffi_backend_create(ptr: *const u8, len: usize, alloc: AllocBuf len = backend.len(); backend.push(net_backend); }); + + std::panic::set_hook(Box::new(|info| { + println!("{}", info); + ffi_backend_drop(0); + })); + len } @@ -79,7 +85,7 @@ pub extern "C" fn ffi_backend_predict( #[no_mangle] pub extern "C" fn ffi_backend_save(id: usize, alloc: AllocBufferFn) { RESOURCES.with(|cell| { - let backend = cell.backend.borrow_mut(); + let mut backend = cell.backend.borrow_mut(); let data = backend[id].save(); let file_ptr = alloc(data.len()); let file = unsafe { from_raw_parts_mut(file_ptr, data.len()) }; @@ -109,3 +115,13 @@ pub extern "C" fn ffi_backend_load( }); len } + +#[no_mangle] +pub extern "C" fn ffi_backend_drop(id: usize) { + RESOURCES.with(|cell| { + let mut backend = cell.backend.borrow_mut(); + if backend.len() > id { + backend.remove(id); + } + }); +} diff --git a/crates/core-gpu/src/gpu/activation.rs b/crates/core-gpu/src/gpu/activation.rs index 204cd07..cdf93fe 100644 --- a/crates/core-gpu/src/gpu/activation.rs +++ b/crates/core-gpu/src/gpu/activation.rs @@ -1,29 +1,21 @@ use crate::Activation; pub struct GPUActivation { pub activation: Activation, - pub activate: ActivationFn, - pub prime: ActivationFn, + pub activate: String, + pub prime: String, } -type ActivationFn = fn(x: &f32) -> f32; - impl GPUActivation { pub fn from(activation: Activation) -> Self { - let (activate, prime): (ActivationFn, ActivationFn) = match activation { - Activation::Elu => (elu, elu_prime), - Activation::LeakyRelu => (leaky_relu, leaky_relu_prime), - Activation::Linear => (linear, linear_prime), - Activation::Relu => (relu, relu_prime), - Activation::Relu6 => (relu6, relu6_prime), - Activation::Selu => (selu, selu_prime), - Activation::Sigmoid => (sigmoid, sigmoid_prime), - Activation::Tanh => (tanh, tanh_prime), + let (activate, prime): (&str, &str) = match activation { + Activation::Sigmoid => (SIGMOID, SIGMOID_PRIME), + _ => unimplemented!() }; Self { activation, - activate, - prime, + activate: String::from(activate), + prime: String::from(prime), } } @@ -35,78 +27,14 @@ impl GPUActivation { } } - pub fn memoize_output(activation: &GPUActivation) -> bool { - match activation.activation { + pub fn memoize_output(activation: &Activation) -> bool { + match activation { Activation::Sigmoid | Activation::Tanh => true, _ => true, } } } -fn sigmoid(x: &f32) -> f32 { - return 1.0 / (1.0 + (-x).exp()); -} - -fn sigmoid_prime(x: &f32) -> f32 { - return x * (1.0 - x); -} - -fn tanh(x: &f32) -> f32 { - return x.tanh(); -} - -fn tanh_prime(x: &f32) -> f32 { - return 1.0 - tanh(x).powi(2); -} - -fn linear(x: &f32) -> f32 { - return *x; -} - -fn linear_prime(_x: &f32) -> f32 { - return 1.0; -} - -fn relu(x: &f32) -> f32 { - return x.max(0.0); -} - -fn relu_prime(x: &f32) -> f32 { - return if *x > 0.0 { 1.0 } else { 0.0 }; -} +const SIGMOID: &str = "1.0 / (1.0 + exp(-x))"; -fn relu6(x: &f32) -> f32 { - return x.max(0.0).min(6.0); -} - -fn relu6_prime(x: &f32) -> f32 { - return if *x > 0.0 && *x < 6.0 { 1.0 } else { 0.0 }; -} - -fn leaky_relu(x: &f32) -> f32 { - return if *x > 0.0 { *x } else { x.max(0.01 * x) }; -} - -fn leaky_relu_prime(x: &f32) -> f32 { - return if *x > 0.0 { 1.0 } else { 0.01 }; -} - -fn elu(x: &f32) -> f32 { - return if *x >= 0.0 { *x } else { x.exp() - 1.0 }; -} - -fn elu_prime(x: &f32) -> f32 { - return if *x > 0.0 { 1.0 } else { x.exp() }; -} - -fn selu(x: &f32) -> f32 { - return if *x >= 0.0 { - *x - } else { - 1.0507 * (x.exp() - 1.0) - }; -} - -fn selu_prime(x: &f32) -> f32 { - return if *x > 0.0 { 1.0 } else { 1.0507 * x.exp() }; -} +const SIGMOID_PRIME: &str = "x * (1.0 - x)"; \ No newline at end of file diff --git a/crates/core-gpu/src/gpu/backend.rs b/crates/core-gpu/src/gpu/backend.rs index 483092d..ce498ef 100644 --- a/crates/core-gpu/src/gpu/backend.rs +++ b/crates/core-gpu/src/gpu/backend.rs @@ -1,11 +1,12 @@ use std::collections::HashMap; -use ndarray::{ArrayD, ArrayViewD, IxDyn}; +use ndarray::{ArrayD, IxDyn, Dimension}; use safetensors::{serialize, SafeTensors}; use crate::{ to_arr, ActivationGPULayer, BackendConfig, Dataset, DenseGPULayer, DenseTensors, GPUCost, - GPULayer, GPUOptimizer, GPUScheduler, GetTensor, Layer, Logger, Tensor, Tensors, WGPUBackend, + GPULayer, GPUScheduler, GetTensor, Layer, Logger, Tensor, Tensors, WGPUBackend, WGPUBuffer, + WGPUDataset, }; pub struct Backend { @@ -15,86 +16,97 @@ pub struct Backend { pub layers: Vec, pub size: Vec, pub cost: GPUCost, - pub optimizer: GPUOptimizer, pub scheduler: GPUScheduler, pub logger: Logger, } impl Backend { pub fn new( - backend: WGPUBackend, + mut backend: WGPUBackend, config: BackendConfig, logger: Logger, mut tensors: Option>, ) -> Self { let mut layers = Vec::new(); - let mut size = config.size.clone(); + let mut size = IxDyn(&config.size); for layer in config.layers.iter() { match layer.clone() { Layer::Activation(config) => { - let layer = ActivationGPULayer::new(config, IxDyn(&size)); + let layer = ActivationGPULayer::new(&mut backend, config, &mut size); layers.push(GPULayer::Activation(layer)); } Layer::Dense(config) => { - let layer = DenseGPULayer::new(config, IxDyn(&size), tensors.get()); - size = layer.output_size().to_vec(); + let layer = DenseGPULayer::new(&mut backend, config, &mut size, tensors.get()); layers.push(GPULayer::Dense(layer)); } _ => unimplemented!(), - } + }; } - let optimizer = GPUOptimizer::from(config.optimizer.clone(), &mut layers); - let scheduler = GPUScheduler::from(&config.scheduler); - let cost = GPUCost::from(config.cost.clone()); - let silent = config.silent.is_some_and(|x| x == true); + Self { - backend, logger, - silent, - config, layers, - cost, - optimizer, - scheduler, - size, + size: size.as_array_view().to_vec(), + silent: config.silent.is_some_and(|x| x == true), + cost: GPUCost::from(&mut backend, config.cost.clone(), size), + scheduler: GPUScheduler::from(&config.scheduler), + config, + backend, } } - pub fn forward_propagate(&mut self, mut inputs: ArrayD, training: bool) -> ArrayD { + pub fn forward_propagate<'a>(&'a mut self, mut inputs: &'a WGPUBuffer, training: bool) { for layer in &mut self.layers { - inputs = layer.forward_propagate(inputs, training); + layer.forward_propagate(&mut self.backend, inputs, training); + inputs = layer.outputs() } - inputs } - pub fn backward_propagate<'b>( - &mut self, - outputs: ArrayViewD<'b, f32>, - data: ArrayViewD<'b, f32>, - ) -> ArrayD { - let mut d_outputs = (self.cost.prime)(data, outputs); - for layer in self.layers.iter_mut().rev() { - d_outputs = layer.backward_propagate(d_outputs); + pub fn backward_propagate(&mut self, inputs: &WGPUBuffer, dataset: &WGPUBuffer) { + let outputs = self.layers.last().unwrap().outputs(); + self.cost.prime(&mut self.backend, dataset, outputs); + let mut d_outputs = &self.cost.d_inputs; + + for i in (1..self.layers.len()).rev() { + let (left, right) = self.layers.split_at(i); + let inputs = left.last().unwrap().outputs(); + right[0].backward_propagate(&mut self.backend, &inputs, d_outputs); + d_outputs = right[0].d_inputs() } - d_outputs + + self.layers[0].backward_propagate(&mut self.backend, &inputs, d_outputs); } - pub fn train(&mut self, datasets: Vec, epochs: usize, batches: usize, rate: f32) { + pub fn train(&mut self, datasets: Vec, epochs: usize, batches: usize, _rate: f32) { let mut epoch = 0; + + let mut gpu_datasets = Vec::new(); + for dataset in datasets { + gpu_datasets.push(WGPUDataset { + inputs: WGPUBuffer::from(&mut self.backend, dataset.inputs), + outputs: WGPUBuffer::from(&mut self.backend, dataset.outputs), + }) + } + while epoch < epochs { let mut total = 0.0; - for (i, dataset) in datasets.iter().enumerate() { - let outputs = self.forward_propagate(dataset.inputs.clone(), true); - self.backward_propagate(outputs.view(), dataset.outputs.view()); - self.optimizer - .update_grads(&mut self.layers, &self.scheduler, rate, epoch); - total += (self.cost.cost)(outputs.view(), dataset.outputs.view()); - let minibatch = outputs.dim()[0]; - if !self.silent && ((i + 1) * minibatch) % batches == 0 { - let cost = total / (batches) as f32; - let msg = format!("Epoch={}, Dataset={}, Cost={}", epoch, i * minibatch, cost); - (self.logger.log)(msg); - total = 0.0; + for (i, dataset) in gpu_datasets.iter().enumerate() { + self.forward_propagate(&dataset.inputs, true); + self.backward_propagate(&dataset.inputs, &dataset.outputs); + + if !self.silent { + let outputs = self.layers.last().unwrap().outputs(); + total += self + .cost + .cost(&mut self.backend, &outputs, &dataset.outputs); + let minibatch = outputs.shape[0]; + if ((i + 1) * minibatch) % batches == 0 { + let cost = total / (batches) as f32; + let msg = + format!("Epoch={}, Dataset={}, Cost={}", epoch, i * minibatch, cost); + (self.logger.log)(msg); + total = 0.0; + } } } epoch += 1 @@ -103,18 +115,28 @@ impl Backend { pub fn predict(&mut self, data: ArrayD) -> ArrayD { for layer in &mut self.layers { - layer.reset(1) + layer.reset(&mut self.backend, 1) } - self.forward_propagate(data, false) + let inputs = WGPUBuffer::from(&mut self.backend, data); + self.forward_propagate(&inputs, false); + self.layers + .last() + .unwrap() + .outputs() + .read(&mut self.backend) } - pub fn save(&self) -> Vec { + pub fn save(&mut self) -> Vec { + let mut layers = Vec::new(); + for layer in &self.layers { + layers.push(layer.save(&mut self.backend)) + } let mut tensors = Vec::new(); - for (i, layer) in self.layers.iter().enumerate() { + for (i, layer) in layers.iter().enumerate() { match layer { - GPULayer::Dense(layer) => { - let weights = Tensor::new(layer.weights.view().into_dyn()); - let biases = Tensor::new(layer.biases.view().into_dyn()); + Tensors::Dense(layer) => { + let weights = Tensor::new(layer.weights.view()); + let biases = Tensor::new(layer.biases.view()); tensors.push((format!("{}w", i), weights)); tensors.push((format!("{}b", i), biases)); } diff --git a/crates/core-gpu/src/gpu/cost.rs b/crates/core-gpu/src/gpu/cost.rs index 53e2cdf..6e0f813 100644 --- a/crates/core-gpu/src/gpu/cost.rs +++ b/crates/core-gpu/src/gpu/cost.rs @@ -1,89 +1,65 @@ -use std::ops::{Div, Mul, Sub}; +use ndarray::{Dimension, IxDyn}; -use ndarray::{s, ArrayD, ArrayViewD}; - -use crate::Cost; +use crate::{Cost, WGPUBackend, WGPUBuffer, WGPUKernel}; pub struct GPUCost { - pub cost: for<'a> fn(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> f32, - pub prime: for<'a> fn(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> ArrayD, + pub d_inputs: WGPUBuffer, + pub cost_kernel: WGPUKernel, + pub prime_kernel: WGPUKernel, } impl GPUCost { - pub fn from(cost: Cost) -> GPUCost { - match cost { - Cost::MSE => GPUCost { - cost: mse, - prime: mse_prime, - }, - Cost::CrossEntropy => GPUCost { - cost: cross_entropy, - prime: cross_entropy_prime, - }, - Cost::BinCrossEntropy => GPUCost { - cost: bin_cross_entropy, - prime: bin_cross_entropy_prime, - }, - Cost::Hinge => GPUCost { - cost: hinge, - prime: hinge_prime, - }, + pub fn from(backend: &mut WGPUBackend, cost: Cost, size: IxDyn) -> GPUCost { + let (cost, prime) = match cost { + Cost::MSE => (MSE, MSE_PRIME), + _ => unimplemented!(), + }; + GPUCost { + d_inputs: WGPUBuffer::new(backend, size.clone()), + cost_kernel: kernel_cost(backend, cost.to_string(), size.size()), + prime_kernel: kernel_cost(backend, prime.to_string(), size.size()), } } -} - -fn mse<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> f32 { - let sub = y.sub(&y_hat); - return sub.clone().mul(sub).sum(); -} -fn mse_prime<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> ArrayD { - return y.sub(&y_hat); -} - -fn cross_entropy<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> f32 { - let batches = y_hat.dim()[0]; - let mut total = 0.0; - for b in 0..batches { - total -= y_hat.slice(s![b, ..]).mul(&y.slice(s![b, ..])).sum().ln() + pub fn cost( + &self, + backend: &mut WGPUBackend, + dataset: &WGPUBuffer, + outputs: &WGPUBuffer, + ) -> f32 { + backend.execute(&self.cost_kernel, vec![dataset, outputs, &self.d_inputs]); + self.d_inputs.read(backend)[0] } - return total / batches as f32; -} - -fn cross_entropy_prime<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> ArrayD { - return -y_hat.div(&y); -} -fn bin_cross_entropy<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> f32 { - return -y_hat - .mul(y.map(|x| x.ln())) - .sub(((1.0).sub(&y_hat)).mul(y.map(|x| 1.0 - x.ln()))) - .sum() - / y.len() as f32; + pub fn prime(&self, backend: &mut WGPUBackend, dataset: &WGPUBuffer, outputs: &WGPUBuffer) { + backend.execute(&self.prime_kernel, vec![dataset, outputs, &self.d_inputs]); + } } -fn bin_cross_entropy_prime<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> ArrayD { - return y.sub(&y_hat).div(y.mul(1.0.sub(&y))); -} +const MSE: &str = "cost.values[global_id.x] = y.values[global_id.x] - y_hat.values[global_id.x];"; -fn hinge<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> f32 { - let mut sum = 0.0; - for (y_hat_i, y_i) in y_hat.iter().zip(y.iter()) { - let margin = 1.0 - y_hat_i * y_i; - if margin > 0.0 { - sum += margin; - } - } - return sum; -} +const MSE_PRIME: &str = + "cost.values[global_id.x] = y.values[global_id.x] - y_hat.values[global_id.x];"; -fn hinge_prime<'a>(y_hat: ArrayViewD<'a, f32>, y: ArrayViewD<'a, f32>) -> ArrayD { - let mut result = ArrayD::zeros(y_hat.shape()); - for ((result_i, y_hat_i), y_i) in result.iter_mut().zip(y_hat.iter()).zip(y.iter()) { - let margin = 1.0 - y_hat_i * y_i; - if margin > 0.0 { - *result_i = -y_i; - } - } - return result; +fn kernel_cost(backend: &mut WGPUBackend, cost: String, size: usize) -> WGPUKernel { + let source = format!( + "struct Matrix {{ + values: array + }}; + + @group(0) @binding(0) + var y_hat: Matrix; + @group(0) @binding(1) + var y: Matrix; + @group(0) @binding(2) + var cost: Matrix; + + @compute @workgroup_size(64, 1, 1) + fn main(@builtin(global_invocation_id) global_id: vec3) {{ + if (global_id.x < {size}u) {{ + {cost} + }} + }}" + ); + backend.register(source, ((size as f64 / 64.0).ceil() as u32, 1, 1)) } diff --git a/crates/core-gpu/src/gpu/gpu.rs b/crates/core-gpu/src/gpu/gpu.rs index ce19c25..966637f 100644 --- a/crates/core-gpu/src/gpu/gpu.rs +++ b/crates/core-gpu/src/gpu/gpu.rs @@ -1,31 +1,30 @@ use std::borrow::Cow; +use ndarray::{ArrayD, Dimension, IxDyn}; + +pub struct WGPUDataset { + pub inputs: WGPUBuffer, + pub outputs: WGPUBuffer, +} + pub struct WGPUBackend { pub device: wgpu::Device, pub queue: wgpu::Queue, - pub kernels: Vec, } pub struct WGPUKernel { pub pipeline: wgpu::ComputePipeline, pub layout: wgpu::BindGroupLayout, + pub workgroups: (u32, u32, u32), } impl WGPUBackend { pub fn new() -> Self { - let instance = wgpu::Instance::new(wgpu::InstanceDescriptor { - backends: wgpu::Backends::all(), - dx12_shader_compiler: Default::default(), - flags: wgpu::InstanceFlags::empty(), - gles_minor_version: wgpu::Gles3MinorVersion::Automatic, - }); + let instance = wgpu::Instance::default(); - let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions { - power_preference: wgpu::PowerPreference::default(), - compatible_surface: None, - force_fallback_adapter: false, - })) - .unwrap(); + let adapter = + pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions::default())) + .unwrap(); let (device, queue) = pollster::block_on(adapter.request_device( &wgpu::DeviceDescriptor { @@ -37,19 +36,15 @@ impl WGPUBackend { )) .unwrap(); - Self { - device, - queue, - kernels: Vec::new(), - } + Self { device, queue } } - pub fn register(&mut self, source: Cow<'_, str>) { + pub fn register(&mut self, source: String, workgroups: (u32, u32, u32)) -> WGPUKernel { let module = self .device .create_shader_module(wgpu::ShaderModuleDescriptor { label: None, - source: wgpu::ShaderSource::Wgsl(source), + source: wgpu::ShaderSource::Wgsl(Cow::Owned(source)), }); let pipeline = self @@ -62,10 +57,14 @@ impl WGPUBackend { }); let layout = pipeline.get_bind_group_layout(0); - self.kernels.push(WGPUKernel { pipeline, layout }); + WGPUKernel { + pipeline, + layout, + workgroups, + } } - pub fn execute(&mut self, kernel: usize, buffers: Vec) { + pub fn execute(&mut self, kernel: &WGPUKernel, buffers: Vec<&WGPUBuffer>) { let entries: Vec> = buffers .iter() .enumerate() @@ -80,7 +79,7 @@ impl WGPUBackend { .collect(); let bindgroup = self.device.create_bind_group(&wgpu::BindGroupDescriptor { label: None, - layout: &self.kernels[kernel].layout, + layout: &kernel.layout, entries: &entries, }); @@ -93,8 +92,9 @@ impl WGPUBackend { timestamp_writes: None, }); pass.set_bind_group(0, &bindgroup, &[]); - pass.set_pipeline(&self.kernels[kernel].pipeline); - pass.dispatch_workgroups(8, 8, 8); + pass.set_pipeline(&kernel.pipeline); + let (group_x, group_y, group_z) = kernel.workgroups; + pass.dispatch_workgroups(group_x, group_y, group_z); } self.queue.submit([encoder.finish()]); } @@ -103,27 +103,40 @@ impl WGPUBackend { pub struct WGPUBuffer { pub buffer: wgpu::Buffer, pub size: u64, + pub shape: IxDyn, } impl WGPUBuffer { - pub fn new(backend: &mut WGPUBackend, size: u64) -> Self { + pub fn new(backend: &mut WGPUBackend, shape: IxDyn) -> Self { let buffer = backend.device.create_buffer(&wgpu::BufferDescriptor { label: None, - size, + size: shape.size() as u64 * 4, usage: wgpu::BufferUsages::STORAGE | wgpu::BufferUsages::COPY_DST | wgpu::BufferUsages::COPY_SRC, mapped_at_creation: false, }); - Self { buffer, size } + Self { + buffer, + size: shape.size() as u64 * 4, + shape, + } + } + + pub fn from(backend: &mut WGPUBackend, data: ArrayD) -> Self { + let slice = data.as_slice().unwrap(); + let buffer = WGPUBuffer::new(backend, data.dim()); + let (_, bytes, _) = unsafe { slice.align_to() }; + backend.queue.write_buffer(&buffer.buffer, 0, bytes); + buffer } - pub fn read(&self, backend: &mut WGPUBackend) -> Vec { + pub fn read(&self, backend: &mut WGPUBackend) -> ArrayD { let buffer = backend.device.create_buffer(&wgpu::BufferDescriptor { label: None, size: self.size, - usage: wgpu::BufferUsages::MAP_READ | wgpu::BufferUsages::COPY_SRC, + usage: wgpu::BufferUsages::MAP_READ | wgpu::BufferUsages::COPY_DST, mapped_at_creation: false, }); @@ -140,13 +153,16 @@ impl WGPUBuffer { }); backend.device.poll(wgpu::Maintain::Wait); receiver.recv().unwrap().unwrap(); - let data = slice.get_mapped_range(); - data.to_vec() + let bytes = slice.get_mapped_range(); + let (_, data, _) = unsafe { bytes.align_to() }; + ArrayD::from_shape_vec(self.shape.clone(), data.to_vec()).unwrap() } - pub fn write(&self, backend: &mut WGPUBackend, data: &[u8]) { - backend.queue.write_buffer(&self.buffer, 0, data) + pub fn write(&self, backend: &mut WGPUBackend, data: ArrayD) { + let slice = data.as_slice().unwrap(); + let (_, bytes, _) = unsafe { slice.align_to() }; + backend.queue.write_buffer(&self.buffer, 0, bytes) } } diff --git a/crates/core-gpu/src/gpu/layers/activation.rs b/crates/core-gpu/src/gpu/layers/activation.rs index 0536efc..aa767f8 100644 --- a/crates/core-gpu/src/gpu/layers/activation.rs +++ b/crates/core-gpu/src/gpu/layers/activation.rs @@ -1,99 +1,107 @@ -use ndarray::{s, ArrayD, Dimension, IxDyn}; -use std::ops::{Div, Mul, Sub}; +use ndarray::{Dimension, IxDyn}; -use crate::{ActivationLayer, GPUActivation}; +use crate::{ActivationLayer, GPUActivation, WGPUBackend, WGPUBuffer, WGPUKernel}; pub struct ActivationGPULayer { - pub outputs: ArrayD, - pub activation: GPUActivation, + // data + pub memoize_output: bool, + pub outputs: WGPUBuffer, + + // gradients + pub d_inputs: WGPUBuffer, + + // kernels + pub forward_kernel: WGPUKernel, + pub backward_kernel: WGPUKernel, } impl ActivationGPULayer { - pub fn new(config: ActivationLayer, size: IxDyn) -> Self { + pub fn new(backend: &mut WGPUBackend, config: ActivationLayer, size: &mut IxDyn) -> Self { + let activation = GPUActivation::from(config.activation); + let forward_kernel = kernel_forward(backend, size.size(), activation.activate); + let backward_kernel = kernel_backward(backend, size.size(), activation.prime); + Self { - outputs: ArrayD::zeros(size), - activation: GPUActivation::from(config.activation), + memoize_output: GPUActivation::memoize_output(&activation.activation), + outputs: WGPUBuffer::new(backend, size.clone()), + d_inputs: WGPUBuffer::new(backend, size.clone()), + forward_kernel, + backward_kernel, } } - pub fn output_size(&self) -> Vec { - self.outputs.shape().to_vec() + pub fn reset(&mut self, backend: &mut WGPUBackend, batches: usize) { + let output_size = self.outputs.shape.as_array_view()[1]; + self.outputs = WGPUBuffer::new(backend, IxDyn(&[batches, output_size])) } - pub fn reset(&mut self, batches: usize) { - let mut output_size = self.outputs.shape().to_vec(); - output_size[0] = batches; - self.outputs = ArrayD::zeros(output_size); + pub fn forward_propagate(&self, backend: &mut WGPUBackend, inputs: &WGPUBuffer) { + backend.execute(&self.forward_kernel, vec![inputs, &self.outputs]); } - pub fn forward_propagate(&mut self, inputs: ArrayD) -> ArrayD { - let outputs = if GPUActivation::memoize_output(&self.activation) { - self.outputs = inputs.map(self.activation.activate); - self.outputs.clone() + pub fn backward_propagate( + &self, + backend: &mut WGPUBackend, + inputs: &WGPUBuffer, + d_outputs: &WGPUBuffer, + ) { + if self.memoize_output { + backend.execute( + &self.backward_kernel, + vec![&self.outputs, d_outputs, &self.d_inputs], + ); } else { - self.outputs = inputs.clone(); - inputs.map(self.activation.activate) + backend.execute( + &self.backward_kernel, + vec![inputs, d_outputs, &self.d_inputs], + ); }; - outputs.into_dyn() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let d_inputs = d_outputs.mul(self.outputs.map(self.activation.prime)); - d_inputs.into_dyn() } } -pub struct SoftmaxGPULayer { - pub outputs: ArrayD, +fn kernel_forward(backend: &mut WGPUBackend, size: usize, activation: String) -> WGPUKernel { + let source = format!( + "struct Matrix {{ + values: array + }}; + + @group(0) @binding(0) + var inputs: Matrix; + @group(0) @binding(1) + var outputs: Matrix; + + @compute @workgroup_size(64, 1, 1) + fn main(@builtin(global_invocation_id) global_id: vec3) {{ + if (global_id.x < {size}u) {{ + var x = inputs.values[global_id.x]; + outputs.values[global_id.x] = {activation}; + }} + }}" + ); + backend.register(source, ((size as f64 / 64.0).ceil() as u32, 1, 1)) } -impl SoftmaxGPULayer { - pub fn new(size: IxDyn) -> Self { - Self { - outputs: ArrayD::zeros(size), - } - } - - pub fn output_size(&self) -> Vec { - self.outputs.shape().to_vec() - } - - pub fn reset(&mut self, batches: usize) { - let mut output_size = self.outputs.shape().to_vec(); - output_size[0] = batches; - self.outputs = ArrayD::zeros(output_size); - } - - pub fn forward_propagate(&mut self, inputs: ArrayD) -> ArrayD { - let batches = self.outputs.dim()[0]; - for b in 0..batches { - let exp = inputs.slice(s![b, ..]).map(|x| x.exp()); - self.outputs - .slice_mut(s![b, ..]) - .assign(&exp.clone().div(exp.sum())); - } - self.outputs.clone().into_dyn() - } - - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let batches = self.outputs.dim()[0]; - let array_size = self.outputs.dim().size() / batches; - - let mut d_inputs = ArrayD::zeros(self.outputs.dim()); - for b in 0..batches { - for y in 0..array_size { - for x in 0..array_size { - let out1 = self.outputs[[b, y]]; - let out2 = self.outputs[[b, x]]; - let d_out = d_outputs[[b, x]]; - if x == y { - d_inputs[[b, y]] += out1.sub(out1.powi(2)).mul(d_out); - } else { - d_inputs[[b, y]] += -out1.mul(out2).mul(d_out); - } - } - } - } - d_inputs - } +fn kernel_backward(backend: &mut WGPUBackend, size: usize, activation: String) -> WGPUKernel { + let source = format!( + "struct Matrix {{ + values: array + }}; + + @group(0) @binding(0) + var inputs: Matrix; + @group(0) @binding(1) + var d_outputs: Matrix; + @group(0) @binding(2) + var d_inputs: Matrix; + + @compute @workgroup_size(64, 1, 1) + fn main(@builtin(global_invocation_id) global_id: vec3) {{ + if (global_id.x < {size}u) {{ + var d_output = d_outputs.values[global_id.x]; + var x = inputs.values[global_id.x]; + d_inputs.values[global_id.x] = {activation} * d_output; + }} + }}" + ); + backend.register(source, ((size as f64 / 64.0).ceil() as u32, 1, 1)) } diff --git a/crates/core-gpu/src/gpu/layers/dense.rs b/crates/core-gpu/src/gpu/layers/dense.rs index 9d664a7..a1b8297 100644 --- a/crates/core-gpu/src/gpu/layers/dense.rs +++ b/crates/core-gpu/src/gpu/layers/dense.rs @@ -1,71 +1,205 @@ -use ndarray::{Array1, Array2, ArrayD, Axis, Dimension, Ix1, Ix2, IxDyn}; -use std::ops::Add; +use ndarray::{ArrayD, Dimension, IxDyn}; -use crate::{DenseLayer, GPUInit, Init, Tensors}; +use crate::{ + DenseLayer, DenseTensors, GPUInit, Init, Tensors, WGPUBackend, WGPUBuffer, WGPUKernel, +}; pub struct DenseGPULayer { - // cache - pub output_size: Ix2, - pub inputs: Array2, + // data + pub outputs: WGPUBuffer, // parameters - pub weights: Array2, - pub biases: Array1, + pub weights: WGPUBuffer, + pub biases: WGPUBuffer, // gradients - pub d_weights: Array2, - pub d_biases: Array1, + pub d_weights: WGPUBuffer, + pub d_biases: WGPUBuffer, + pub d_inputs: WGPUBuffer, + + // kernels + pub forward_kernel: WGPUKernel, + pub backward_kernel: WGPUKernel, } impl DenseGPULayer { - pub fn new(config: DenseLayer, size: IxDyn, tensors: Option) -> Self { + pub fn new( + backend: &mut WGPUBackend, + config: DenseLayer, + size: &mut IxDyn, + tensors: Option, + ) -> Self { let init = GPUInit::from_default(config.init, Init::Uniform); - let input_size = Ix2(size[0], size[1]); - let weight_size = Ix2(size[1], config.size[0]); - let output_size = Ix2(size[0], config.size[0]); + let input_size = IxDyn(&[size[0], size[1]]); + let weight_size = IxDyn(&[size[1], config.size[0]]); + let bias_size = IxDyn(&[size[0]]); + let output_size = IxDyn(&[size[0], config.size[0]]); + *size = output_size.clone(); - let (weights, biases) = if let Some(Tensors::Dense(tensors)) = tensors { - (tensors.weights, tensors.biases) - } else { - let weights = init.init(weight_size.into_dyn(), size[1], config.size[0]); - let biases = ArrayD::zeros(config.size.clone()); - (weights, biases) + let tensors = match tensors { + Some(Tensors::Dense(tensors)) => tensors, + _ => DenseTensors { + weights: init.init(weight_size.clone(), input_size[1], config.size[0]), + biases: ArrayD::zeros(config.size.clone()), + }, }; + let forward_kernel = kernel_forward(backend, input_size.clone(), output_size.clone()); + let backward_kernel = kernel_backward(backend, input_size.clone(), output_size.clone()); + Self { - output_size, - inputs: Array2::zeros(input_size), - weights: weights.into_dimensionality::().unwrap(), - biases: biases.into_dimensionality::().unwrap(), - d_weights: Array2::zeros(weight_size), - d_biases: Array1::zeros(config.size[0]), + outputs: WGPUBuffer::new(backend, output_size), + weights: WGPUBuffer::from(backend, tensors.weights), + biases: WGPUBuffer::from(backend, tensors.biases), + d_weights: WGPUBuffer::new(backend, weight_size), + d_biases: WGPUBuffer::new(backend, bias_size), + d_inputs: WGPUBuffer::new(backend, input_size), + forward_kernel, + backward_kernel, } } - pub fn output_size(&self) -> Vec { - self.output_size.as_array_view().to_vec() + pub fn reset(&mut self, backend: &mut WGPUBackend, batches: usize) { + let output_size = self.outputs.shape.as_array_view()[1]; + self.outputs = WGPUBuffer::new(backend, IxDyn(&[batches, output_size])) } - pub fn reset(&mut self, batches: usize) { - let input_size = self.inputs.dim().1; - self.inputs = Array2::zeros((batches, input_size)); - self.output_size[0] = batches; + pub fn forward_propagate(&self, backend: &mut WGPUBackend, inputs: &WGPUBuffer) { + backend.execute( + &self.forward_kernel, + vec![inputs, &self.weights, &self.biases, &self.outputs], + ); } - pub fn forward_propagate(&mut self, inputs: ArrayD) -> ArrayD { - self.inputs = inputs.into_dimensionality::().unwrap(); - self.inputs.dot(&self.weights).add(&self.biases).into_dyn() + pub fn backward_propagate( + &self, + backend: &mut WGPUBackend, + inputs: &WGPUBuffer, + d_outputs: &WGPUBuffer, + ) { + backend.execute( + &self.backward_kernel, + vec![ + inputs, + &self.weights, + &self.biases, + d_outputs, + &self.d_inputs, + ], + ); } - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { - let d_outputs = d_outputs.into_dimensionality::().unwrap(); - let mut weights_t = self.weights.view(); - weights_t.swap_axes(0, 1); - let d_inputs = d_outputs.dot(&weights_t); - let mut inputs_t = self.inputs.view(); - inputs_t.swap_axes(0, 1); - self.d_weights = inputs_t.dot(&d_outputs); - self.d_biases = d_outputs.sum_axis(Axis(0)); - d_inputs.into_dyn() + pub fn save(&self, backend: &mut WGPUBackend) -> Tensors { + Tensors::Dense(DenseTensors { + weights: self.weights.read(backend), + biases: self.weights.read(backend), + }) } } + +fn kernel_forward(backend: &mut WGPUBackend, input_size: IxDyn, output_size: IxDyn) -> WGPUKernel { + let input = input_size[1]; + let output = output_size[1]; + let batches = input_size[0]; + let source = format!( + "struct Matrix {{ + values: array + }}; + + @group(0) @binding(0) + var inputs: Matrix; + @group(0) @binding(1) + var weights: Matrix; + @group(0) @binding(2) + var biases: Matrix; + @group(0) @binding(3) + var outputs: Matrix; + + @compute @workgroup_size(8, 8, 1) + fn main(@builtin(global_invocation_id) global_id: vec3) {{ + if (global_id.x < {output}u && global_id.y < {batches}u) {{ + var weighted_sum = biases.values[global_id.x]; + for (var k = 0u; k < {input}u; k += 1u) {{ + var a = k + global_id.y * {input}u; + var b = global_id.x + k * {output}u; + weighted_sum += inputs.values[a] * weights.values[b]; + }}; + + let idx = global_id.x + global_id.y * {output}u; + outputs.values[idx] = weighted_sum; + }} + }}" + ); + backend.register( + source, + ( + (output_size[1] as f64 / 8.0).ceil() as u32, + (output_size[0] as f64 / 8.0).ceil() as u32, + 1, + ), + ) +} + +fn kernel_backward(backend: &mut WGPUBackend, input_size: IxDyn, output_size: IxDyn) -> WGPUKernel { + let input = input_size[1]; + let output = output_size[1]; + let batches = input_size[0]; + let source = format!( + "struct Matrix {{ + values: array, + }}; + + @group(0) @binding(0) + var inputs: Matrix; + @group(0) @binding(1) + var weights: Matrix; + @group(0) @binding(2) + var biases: Matrix; + @group(0) @binding(3) + var d_outputs: Matrix; + @group(0) @binding(4) + var d_inputs: Matrix; + + @compute @workgroup_size(8, 8, 1) + fn main(@builtin(global_invocation_id) global_id: vec3) {{ + if (global_id.x < 3u && global_id.y < 4u) {{ + var d_input = 0.0; + for (var k = 0u; k < 1u; k++) {{ + var a = k + global_id.x * 1u; + var b = k + global_id.y * 1u; + d_input = d_outputs.values[b] * weights.values[a]; + }}; + let idx = global_id.x + global_id.y * {input}u; + d_inputs.values[idx] = d_input; + }} + + if (global_id.x < {output}u && global_id.y < 1u) {{ + for (var k = 0u; k < {batches}u; k++) {{ + let idx = global_id.x + k * {output}u; + biases.values[global_id.x] -= d_outputs.values[idx] * 0.1; + }} + }}; + + if (global_id.x < {input}u && global_id.y < {output}u) {{ + var d_weight = 0.0; + for (var k = 0u; k < {batches}u; k++) {{ + var a = global_id.x + k * {input}u; + var b = global_id.y + k * {output}u; + d_weight += d_outputs.values[b] * inputs.values[a]; + }}; + let idx = global_id.y + global_id.x * {output}u; + weights.values[idx] -= d_weight * 0.1; + }}; + }}" + ); + let max_x = std::cmp::max(input_size[1], output_size[1]); + let max_y = std::cmp::max(input_size[1], output_size[0]); + backend.register( + source, + ( + (max_x as f64 / 8.0).ceil() as u32, + (max_y as f64 / 8.0).ceil() as u32, + 1, + ), + ) +} diff --git a/crates/core-gpu/src/gpu/layers/mod.rs b/crates/core-gpu/src/gpu/layers/mod.rs index 4465a75..136b71a 100644 --- a/crates/core-gpu/src/gpu/layers/mod.rs +++ b/crates/core-gpu/src/gpu/layers/mod.rs @@ -4,7 +4,7 @@ mod dense; pub use activation::*; pub use dense::*; -use ndarray::ArrayD; +use crate::{Tensors, WGPUBackend, WGPUBuffer}; pub enum GPULayer { Activation(ActivationGPULayer), @@ -12,31 +12,55 @@ pub enum GPULayer { } impl GPULayer { - pub fn output_size(&mut self) -> Vec { + pub fn outputs<'a>(&'a self) -> &'a WGPUBuffer { match self { - GPULayer::Activation(layer) => layer.output_size(), - GPULayer::Dense(layer) => layer.output_size(), + GPULayer::Activation(layer) => &layer.outputs, + GPULayer::Dense(layer) => &layer.outputs, } } - pub fn forward_propagate(&mut self, inputs: ArrayD, _training: bool) -> ArrayD { + pub fn d_inputs<'a>(&'a self) -> &'a WGPUBuffer { match self { - GPULayer::Activation(layer) => layer.forward_propagate(inputs), - GPULayer::Dense(layer) => layer.forward_propagate(inputs), + GPULayer::Activation(layer) => &layer.d_inputs, + GPULayer::Dense(layer) => &layer.d_inputs, } } - pub fn backward_propagate(&mut self, d_outputs: ArrayD) -> ArrayD { + pub fn forward_propagate( + &self, + backend: &mut WGPUBackend, + inputs: &WGPUBuffer, + _training: bool, + ) { match self { - GPULayer::Activation(layer) => layer.backward_propagate(d_outputs), - GPULayer::Dense(layer) => layer.backward_propagate(d_outputs), + GPULayer::Activation(layer) => layer.forward_propagate(backend, inputs), + GPULayer::Dense(layer) => layer.forward_propagate(backend, inputs), } } - pub fn reset(&mut self, batches: usize) { + pub fn backward_propagate( + &self, + backend: &mut WGPUBackend, + inputs: &WGPUBuffer, + d_outputs: &WGPUBuffer, + ) { match self { - GPULayer::Activation(layer) => layer.reset(batches), - GPULayer::Dense(layer) => layer.reset(batches), + GPULayer::Activation(layer) => layer.backward_propagate(backend, inputs, d_outputs), + GPULayer::Dense(layer) => layer.backward_propagate(backend, inputs, d_outputs), + } + } + + pub fn reset(&mut self, backend: &mut WGPUBackend, batches: usize) { + match self { + GPULayer::Activation(layer) => layer.reset(backend, batches), + GPULayer::Dense(layer) => layer.reset(backend, batches), + } + } + + pub fn save(&self, backend: &mut WGPUBackend) -> Tensors { + match self { + GPULayer::Activation(_) => Tensors::None, + GPULayer::Dense(layer) => layer.save(backend), } } } diff --git a/crates/core-gpu/src/gpu/mod.rs b/crates/core-gpu/src/gpu/mod.rs index a7a3ab5..9de364a 100644 --- a/crates/core-gpu/src/gpu/mod.rs +++ b/crates/core-gpu/src/gpu/mod.rs @@ -4,7 +4,6 @@ mod cost; mod gpu; mod init; mod layers; -mod optimizers; mod schedulers; pub use activation::*; @@ -13,5 +12,4 @@ pub use cost::*; pub use gpu::*; pub use init::*; pub use layers::*; -pub use optimizers::*; pub use schedulers::*; diff --git a/crates/core-gpu/src/gpu/optimizers/adam.rs b/crates/core-gpu/src/gpu/optimizers/adam.rs deleted file mode 100644 index f77365f..0000000 --- a/crates/core-gpu/src/gpu/optimizers/adam.rs +++ /dev/null @@ -1,74 +0,0 @@ -use std::ops::{Add, Div, Mul, SubAssign}; - -use ndarray::{ArrayD, ArrayViewD, ArrayViewMutD}; - -use crate::{AdamOptimizer, GPUScheduler}; - -pub struct GPUAdamOptimizer { - pub beta1: f32, - pub beta2: f32, - pub epsilon: f32, - pub m: Vec>>, - pub v: Vec>>, - pub t: f32, -} - -impl GPUAdamOptimizer { - pub fn new(config: AdamOptimizer, params: Vec>>) -> Self { - let mut m = Vec::new(); - let mut v = Vec::new(); - for params in params { - m.push( - params - .iter() - .map(|param| ArrayD::zeros(param.dim())) - .collect(), - ); - v.push( - params - .iter() - .map(|param| ArrayD::zeros(param.dim())) - .collect(), - ); - } - Self { - beta1: config.beta1, - beta2: config.beta2, - epsilon: config.epsilon, - m, - v, - t: 0.0, - } - } - - pub fn update_grads( - &mut self, - mut params: Vec>, - grads: Vec>, - idx: usize, - scheduler: &GPUScheduler, - rate: f32, - ) { - for (j, (param, grad)) in params.iter_mut().zip(grads).enumerate() { - self.m[idx][j] = self - .beta1 - .mul(&self.m[idx][j]) - .add((1.0 - self.beta1).mul(&grad)); - self.v[idx][j] = self - .beta2 - .mul(&self.v[idx][j]) - .add((1.0 - self.beta2).mul(&grad.map(|x| x.powi(2)))); - - let m_hat = self.m[idx][j].view().div(1.0 - self.beta1.powf(self.t)); - let v_hat = self.v[idx][j].view().div(1.0 - self.beta2.powf(self.t)); - - let rate = scheduler.eta(rate, self.t as usize); - - param.sub_assign( - &rate - .mul(m_hat) - .div(v_hat.map(|x| x.sqrt()).add(self.epsilon)), - ) - } - } -} diff --git a/crates/core-gpu/src/gpu/optimizers/mod.rs b/crates/core-gpu/src/gpu/optimizers/mod.rs deleted file mode 100644 index cb3d936..0000000 --- a/crates/core-gpu/src/gpu/optimizers/mod.rs +++ /dev/null @@ -1,75 +0,0 @@ -mod adam; -mod sgd; - -pub use adam::*; -use ndarray::{ArrayViewD, ArrayViewMutD}; -pub use sgd::*; - -use crate::{GPULayer, GPUScheduler, Optimizer}; - -pub enum GPUOptimizer { - SGD(GPUSGDOptimizer), - Adam(GPUAdamOptimizer), -} - -impl GPUOptimizer { - pub fn from(optimizer: Optimizer, layers: &mut Vec) -> Self { - let mut all_params = Vec::new(); - for layer in layers { - if let Some((params, _)) = GPUOptimizer::get_params(layer) { - all_params.push(params) - } - } - match optimizer { - Optimizer::SGD => GPUOptimizer::SGD(GPUSGDOptimizer::new()), - Optimizer::Adam(config) => { - GPUOptimizer::Adam(GPUAdamOptimizer::new(config, all_params)) - } - } - } - - pub fn update_grads( - &mut self, - layers: &mut Vec, - scheduler: &GPUScheduler, - rate: f32, - epoch: usize, - ) { - match self { - GPUOptimizer::Adam(adam) => adam.t += 1.0, - _ => {} - } - let mut idx = 0; - for layer in layers.iter_mut() { - if let Some((params, grads)) = GPUOptimizer::get_params(layer) { - match self { - GPUOptimizer::SGD(sgd) => { - sgd.update_grads(params, grads, scheduler, rate, epoch) - } - GPUOptimizer::Adam(adam) => { - adam.update_grads(params, grads, idx, scheduler, rate) - } - } - idx += 1; - } - } - } - - pub fn get_params<'a>( - layer: &'a mut GPULayer, - ) -> Option<(Vec>, Vec>)> { - match layer { - GPULayer::Dense(layer) => Some(( - vec![ - layer.weights.view_mut().into_dyn(), - layer.biases.view_mut().into_dyn(), - ], - vec![ - layer.d_weights.view().into_dyn(), - layer.d_biases.view().into_dyn(), - ], - )), - _ => return None, - } - } -} diff --git a/crates/core-gpu/src/gpu/optimizers/sgd.rs b/crates/core-gpu/src/gpu/optimizers/sgd.rs deleted file mode 100644 index 995679c..0000000 --- a/crates/core-gpu/src/gpu/optimizers/sgd.rs +++ /dev/null @@ -1,27 +0,0 @@ -use std::ops::{Mul, SubAssign}; - -use ndarray::{ArrayViewD, ArrayViewMutD}; - -use crate::GPUScheduler; - -pub struct GPUSGDOptimizer {} - -impl GPUSGDOptimizer { - pub fn new() -> Self { - Self {} - } - - pub fn update_grads( - &mut self, - mut params: Vec>, - grads: Vec>, - scheduler: &GPUScheduler, - rate: f32, - epoch: usize, - ) { - let eta = scheduler.eta(rate, epoch); - for (param, grad) in params.iter_mut().zip(grads) { - param.sub_assign(&grad.mul(eta)); - } - } -} diff --git a/crates/core-gpu/src/tensor.rs b/crates/core-gpu/src/tensor.rs index f2a0d2c..9c7b72f 100644 --- a/crates/core-gpu/src/tensor.rs +++ b/crates/core-gpu/src/tensor.rs @@ -59,6 +59,7 @@ pub enum Tensors { Dense(DenseTensors), Conv(ConvTensors), BatchNorm(BatchNormTensors), + None, } pub trait GetTensor { diff --git a/src/backends/gpu/backend.ts b/src/backends/gpu/backend.ts index f9a5b42..f22cbe0 100644 --- a/src/backends/gpu/backend.ts +++ b/src/backends/gpu/backend.ts @@ -38,6 +38,11 @@ export class GPUBackend implements Backend { shape.allocBuffer, ) as bigint; const outputShape = Array.from(shape.buffer.slice(1)) as Shape[Rank]; + + // free gpu resources when program loop exits + globalThis.onunload = () => { + library.symbols.ffi_backend_drop(id) + }; return new GPUBackend(library, outputShape, id); } diff --git a/src/backends/gpu/mod.ts b/src/backends/gpu/mod.ts index 04669ea..a24259a 100644 --- a/src/backends/gpu/mod.ts +++ b/src/backends/gpu/mod.ts @@ -18,7 +18,7 @@ const options: FetchOptions = { "https://github.com/denosaurs/netsaur/releases/download/0.2.14/", import.meta.url, ) - : "./target/release/", + : "./target/debug/", cache: "reloadAll", }; @@ -43,6 +43,10 @@ const symbols = { parameters: ["buffer", "usize", "pointer"], result: "usize", } as const, + ffi_backend_drop: { + parameters: ["usize"], + result: "void", + } as const, }; export type Library = Deno.DynamicLibrary; From 2fd706ab45686a0b98182290cd239ccce0ddca1f Mon Sep 17 00:00:00 2001 From: Dean Srebnik <49134864+load1n9@users.noreply.github.com> Date: Mon, 20 Nov 2023 14:15:39 -0500 Subject: [PATCH 6/7] feat: improve Tokenizers (#45) (#46) * feat: improve tokenizers * feat: id to token & token to id --- Cargo.lock | 12 + crates/tokenizers/Cargo.toml | 1 + crates/tokenizers/src/wasm.rs | 54 +++- examples/tokenizers/basic.ts | 7 +- .../lib/netsaur_tokenizers.generated.js | 238 ++++++++++++++++-- tokenizers/lib/netsaur_tokenizers_bg.wasm | Bin 2122158 -> 2153467 bytes tokenizers/mod.ts | 50 +++- 7 files changed, 328 insertions(+), 34 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b5cde8..ea31526 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -824,6 +824,7 @@ dependencies = [ "ndarray", "ndarray-rand", "serde", + "serde-wasm-bindgen", "serde_json", "tokenizers", "wasm-bindgen", @@ -1155,6 +1156,17 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-wasm-bindgen" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c9933e5689bd420dc6c87b7a1835701810cbc10cd86a26e4da45b73e6b1d78" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + [[package]] name = "serde_derive" version = "1.0.181" diff --git a/crates/tokenizers/Cargo.toml b/crates/tokenizers/Cargo.toml index 5ce670c..d7014ea 100644 --- a/crates/tokenizers/Cargo.toml +++ b/crates/tokenizers/Cargo.toml @@ -11,6 +11,7 @@ ndarray = "0.15.6" ndarray-rand = "0.14.0" serde = {version = "1.0", features = ["derive"]} serde_json = "1.0" +serde-wasm-bindgen = "0.6.0" tokenizers = { version="0.14.1", default-features=false, features = ["unstable_wasm"]} wasm-bindgen = "=0.2.87" getrandom = { version = "0.2", features = ["js"] } diff --git a/crates/tokenizers/src/wasm.rs b/crates/tokenizers/src/wasm.rs index 0e1dc0a..916b223 100644 --- a/crates/tokenizers/src/wasm.rs +++ b/crates/tokenizers/src/wasm.rs @@ -1,5 +1,5 @@ use crate::RESOURCES; -use std::str::FromStr; +use std::{collections::HashMap, str::FromStr}; use tokenizers::{models::bpe::BPE, tokenizer::Tokenizer}; use wasm_bindgen::prelude::*; @@ -39,7 +39,7 @@ pub fn wasm_bpe_default() -> usize { } #[wasm_bindgen] -pub fn wasm_tokenizer_tokenize(id: usize, string: String) -> Vec { +pub fn wasm_tokenizer_encode(id: usize, string: String) -> Vec { let mut data: Vec = Vec::new(); RESOURCES.with(|cell| { let tokenizers = cell.tokenizer.borrow_mut(); @@ -53,3 +53,53 @@ pub fn wasm_tokenizer_tokenize(id: usize, string: String) -> Vec { }); data } + +#[wasm_bindgen] +pub fn wasm_tokenizer_get_vocab(id: usize, with_added_tokens: bool) -> JsValue { + let mut data: HashMap = HashMap::new(); + RESOURCES.with(|cell| { + let tokenizers = cell.tokenizer.borrow_mut(); + data = tokenizers[id].get_vocab(with_added_tokens) + }); + serde_wasm_bindgen::to_value(&data).unwrap() +} + +#[wasm_bindgen] +pub fn wasm_tokenizer_get_vocab_size(id: usize, with_added_tokens: bool) -> usize { + let mut data: usize = 0; + RESOURCES.with(|cell| { + let tokenizers = cell.tokenizer.borrow_mut(); + data = tokenizers[id].get_vocab_size(with_added_tokens) + }); + data +} + +#[wasm_bindgen] +pub fn wasm_tokenizer_decode(id: usize, ids: &[u32], skip_special_tokens: bool) -> String { + let mut data: String = String::new(); + RESOURCES.with(|cell| { + let tokenizers = cell.tokenizer.borrow_mut(); + data = tokenizers[id].decode(ids, skip_special_tokens).unwrap() + }); + data +} + +#[wasm_bindgen] +pub fn wasm_tokenizer_token_to_id(id: usize, token: String) -> u32 { + let mut data: u32 = 0; + RESOURCES.with(|cell| { + let tokenizers = cell.tokenizer.borrow_mut(); + data = tokenizers[id].token_to_id(token.as_str()).unwrap() + }); + data +} + +#[wasm_bindgen] +pub fn wasm_tokenizer_id_to_token(id: usize, token_id: u32) -> String { + let mut data: String = String::new(); + RESOURCES.with(|cell| { + let tokenizers = cell.tokenizer.borrow_mut(); + data = tokenizers[id].id_to_token(token_id).unwrap() + }); + data +} \ No newline at end of file diff --git a/examples/tokenizers/basic.ts b/examples/tokenizers/basic.ts index 4245000..e7b8a42 100644 --- a/examples/tokenizers/basic.ts +++ b/examples/tokenizers/basic.ts @@ -2,10 +2,13 @@ import { init, Tokenizer } from "../../tokenizers/mod.ts"; await init(); -const tokenizer = Tokenizer.fromJson( +const tokenizer = Tokenizer.fromJSON( await (await fetch( `https://huggingface.co/satvikag/chatbot/resolve/main/tokenizer.json`, )).text(), ); -console.log(tokenizer.tokenize("Hello World!")); \ No newline at end of file +const encoded = tokenizer.encode("Hello World!"); +console.log(encoded); +const decoded = tokenizer.decode(encoded); +console.log(decoded); \ No newline at end of file diff --git a/tokenizers/lib/netsaur_tokenizers.generated.js b/tokenizers/lib/netsaur_tokenizers.generated.js index 66bab9a..03d84f2 100644 --- a/tokenizers/lib/netsaur_tokenizers.generated.js +++ b/tokenizers/lib/netsaur_tokenizers.generated.js @@ -1,7 +1,7 @@ // @generated file from wasmbuild -- do not edit // deno-lint-ignore-file // deno-fmt-ignore-file -// source-hash: 78d396cb1d4bd48d3b906442e5d99b03fe98f891 +// source-hash: 8beb82a36802cbe280139e22e69a33415c0cb780 let wasm; const heap = new Array(128).fill(undefined); @@ -55,6 +55,71 @@ function addHeapObject(obj) { return idx; } +function debugString(val) { + // primitive types + const type = typeof val; + if (type == "number" || type == "boolean" || val == null) { + return `${val}`; + } + if (type == "string") { + return `"${val}"`; + } + if (type == "symbol") { + const description = val.description; + if (description == null) { + return "Symbol"; + } else { + return `Symbol(${description})`; + } + } + if (type == "function") { + const name = val.name; + if (typeof name == "string" && name.length > 0) { + return `Function(${name})`; + } else { + return "Function"; + } + } + // objects + if (Array.isArray(val)) { + const length = val.length; + let debug = "["; + if (length > 0) { + debug += debugString(val[0]); + } + for (let i = 1; i < length; i++) { + debug += ", " + debugString(val[i]); + } + debug += "]"; + return debug; + } + // Test for built-in + const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); + let className; + if (builtInMatches.length > 1) { + className = builtInMatches[1]; + } else { + // Failed to match the standard '[object ClassName]' + return toString.call(val); + } + if (className == "Object") { + // we're a user defined class or Object + // JSON.stringify avoids problems with cycles, and is generally much + // easier than looping through ownProperties of `val`. + try { + return "Object(" + JSON.stringify(val) + ")"; + } catch (_) { + return "Object"; + } + } + // errors + if (val instanceof Error) { + return `${val.name}: ${val.message}\n${val.stack}`; + } + // TODO we could test for more things here, like `Set`s and `Map`s. + return className; +} + let WASM_VECTOR_LEN = 0; const cachedTextEncoder = new TextEncoder("utf-8"); @@ -99,6 +164,15 @@ function passStringToWasm0(arg, malloc, realloc) { WASM_VECTOR_LEN = offset; return ptr; } + +let cachedInt32Memory0 = null; + +function getInt32Memory0() { + if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { + cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); + } + return cachedInt32Memory0; +} /** * @param {string} json * @returns {number} @@ -114,14 +188,6 @@ export function wasm_tokenizer_from_json(json) { return ret >>> 0; } -let cachedInt32Memory0 = null; - -function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; -} /** * @param {number} id * @param {boolean} pretty @@ -165,7 +231,7 @@ function getArrayU32FromWasm0(ptr, len) { * @param {string} string * @returns {Uint32Array} */ -export function wasm_tokenizer_tokenize(id, string) { +export function wasm_tokenizer_encode(id, string) { try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passStringToWasm0( @@ -174,7 +240,7 @@ export function wasm_tokenizer_tokenize(id, string) { wasm.__wbindgen_realloc, ); const len0 = WASM_VECTOR_LEN; - wasm.wasm_tokenizer_tokenize(retptr, id, ptr0, len0); + wasm.wasm_tokenizer_encode(retptr, id, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; var v1 = getArrayU32FromWasm0(r0, r1).slice(); @@ -185,6 +251,87 @@ export function wasm_tokenizer_tokenize(id, string) { } } +/** + * @param {number} id + * @param {boolean} with_added_tokens + * @returns {any} + */ +export function wasm_tokenizer_get_vocab(id, with_added_tokens) { + const ret = wasm.wasm_tokenizer_get_vocab(id, with_added_tokens); + return takeObject(ret); +} + +/** + * @param {number} id + * @param {boolean} with_added_tokens + * @returns {number} + */ +export function wasm_tokenizer_get_vocab_size(id, with_added_tokens) { + const ret = wasm.wasm_tokenizer_get_vocab_size(id, with_added_tokens); + return ret >>> 0; +} + +function passArray32ToWasm0(arg, malloc) { + const ptr = malloc(arg.length * 4); + getUint32Memory0().set(arg, ptr / 4); + WASM_VECTOR_LEN = arg.length; + return ptr; +} +/** + * @param {number} id + * @param {Uint32Array} ids + * @param {boolean} skip_special_tokens + * @returns {string} + */ +export function wasm_tokenizer_decode(id, ids, skip_special_tokens) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + const ptr0 = passArray32ToWasm0(ids, wasm.__wbindgen_malloc); + const len0 = WASM_VECTOR_LEN; + wasm.wasm_tokenizer_decode(retptr, id, ptr0, len0, skip_special_tokens); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + return getStringFromWasm0(r0, r1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(r0, r1); + } +} + +/** + * @param {number} id + * @param {string} token + * @returns {number} + */ +export function wasm_tokenizer_token_to_id(id, token) { + const ptr0 = passStringToWasm0( + token, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len0 = WASM_VECTOR_LEN; + const ret = wasm.wasm_tokenizer_token_to_id(id, ptr0, len0); + return ret >>> 0; +} + +/** + * @param {number} id + * @param {number} token_id + * @returns {string} + */ +export function wasm_tokenizer_id_to_token(id, token_id) { + try { + const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); + wasm.wasm_tokenizer_id_to_token(retptr, id, token_id); + var r0 = getInt32Memory0()[retptr / 4 + 0]; + var r1 = getInt32Memory0()[retptr / 4 + 1]; + return getStringFromWasm0(r0, r1); + } finally { + wasm.__wbindgen_add_to_stack_pointer(16); + wasm.__wbindgen_free(r0, r1); + } +} + function handleError(f, args) { try { return f.apply(this, args); @@ -195,6 +342,32 @@ function handleError(f, args) { const imports = { __wbindgen_placeholder__: { + __wbindgen_object_drop_ref: function (arg0) { + takeObject(arg0); + }, + __wbindgen_is_string: function (arg0) { + const ret = typeof (getObject(arg0)) === "string"; + return ret; + }, + __wbindgen_error_new: function (arg0, arg1) { + const ret = new Error(getStringFromWasm0(arg0, arg1)); + return addHeapObject(ret); + }, + __wbindgen_number_new: function (arg0) { + const ret = arg0; + return addHeapObject(ret); + }, + __wbindgen_object_clone_ref: function (arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }, + __wbindgen_string_new: function (arg0, arg1) { + const ret = getStringFromWasm0(arg0, arg1); + return addHeapObject(ret); + }, + __wbg_set_bd72c078edfa51ad: function (arg0, arg1, arg2) { + getObject(arg0)[takeObject(arg1)] = takeObject(arg2); + }, __wbg_crypto_c48a774b022d20ac: function (arg0) { const ret = getObject(arg0).crypto; return addHeapObject(ret); @@ -216,13 +389,6 @@ const imports = { const ret = getObject(arg0).node; return addHeapObject(ret); }, - __wbindgen_is_string: function (arg0) { - const ret = typeof (getObject(arg0)) === "string"; - return ret; - }, - __wbindgen_object_drop_ref: function (arg0) { - takeObject(arg0); - }, __wbg_msCrypto_bcb970640f50a1e8: function (arg0) { const ret = getObject(arg0).msCrypto; return addHeapObject(ret); @@ -237,10 +403,6 @@ const imports = { const ret = typeof (getObject(arg0)) === "function"; return ret; }, - __wbindgen_string_new: function (arg0, arg1) { - const ret = getStringFromWasm0(arg0, arg1); - return addHeapObject(ret); - }, __wbg_getRandomValues_37fa2ca9e4e07fab: function () { return handleError(function (arg0, arg1) { getObject(arg0).getRandomValues(getObject(arg1)); @@ -255,14 +417,18 @@ const imports = { const ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }, + __wbg_new_f841cc6f2098f4b5: function () { + const ret = new Map(); + return addHeapObject(ret); + }, __wbg_call_95d1ea488d03e4e8: function () { return handleError(function (arg0, arg1) { const ret = getObject(arg0).call(getObject(arg1)); return addHeapObject(ret); }, arguments); }, - __wbindgen_object_clone_ref: function (arg0) { - const ret = getObject(arg0); + __wbg_new_f9876326328f45ed: function () { + const ret = new Object(); return addHeapObject(ret); }, __wbg_self_e7c1f827057f6584: function () { @@ -299,6 +465,10 @@ const imports = { return addHeapObject(ret); }, arguments); }, + __wbg_set_388c4c6422704173: function (arg0, arg1, arg2) { + const ret = getObject(arg0).set(getObject(arg1), getObject(arg2)); + return addHeapObject(ret); + }, __wbg_buffer_cf65c07de34b9a08: function (arg0) { const ret = getObject(arg0).buffer; return addHeapObject(ret); @@ -326,6 +496,17 @@ const imports = { const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }, + __wbindgen_debug_string: function (arg0, arg1) { + const ret = debugString(getObject(arg1)); + const ptr0 = passStringToWasm0( + ret, + wasm.__wbindgen_malloc, + wasm.__wbindgen_realloc, + ); + const len0 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len0; + getInt32Memory0()[arg0 / 4 + 0] = ptr0; + }, __wbindgen_throw: function (arg0, arg1) { throw new Error(getStringFromWasm0(arg0, arg1)); }, @@ -370,7 +551,7 @@ let lastLoadPromise; * @param {InstantiateOptions=} opts * @returns {Promise<{ * instance: WebAssembly.Instance; - * exports: { wasm_tokenizer_from_json: typeof wasm_tokenizer_from_json; wasm_tokenizer_save: typeof wasm_tokenizer_save; wasm_bpe_default: typeof wasm_bpe_default; wasm_tokenizer_tokenize: typeof wasm_tokenizer_tokenize } + * exports: { wasm_tokenizer_from_json: typeof wasm_tokenizer_from_json; wasm_tokenizer_save: typeof wasm_tokenizer_save; wasm_bpe_default: typeof wasm_bpe_default; wasm_tokenizer_encode: typeof wasm_tokenizer_encode; wasm_tokenizer_get_vocab: typeof wasm_tokenizer_get_vocab; wasm_tokenizer_get_vocab_size: typeof wasm_tokenizer_get_vocab_size; wasm_tokenizer_decode: typeof wasm_tokenizer_decode; wasm_tokenizer_token_to_id: typeof wasm_tokenizer_token_to_id; wasm_tokenizer_id_to_token: typeof wasm_tokenizer_id_to_token } * }>} */ export function instantiateWithInstance(opts) { @@ -402,7 +583,12 @@ function getWasmInstanceExports() { wasm_tokenizer_from_json, wasm_tokenizer_save, wasm_bpe_default, - wasm_tokenizer_tokenize, + wasm_tokenizer_encode, + wasm_tokenizer_get_vocab, + wasm_tokenizer_get_vocab_size, + wasm_tokenizer_decode, + wasm_tokenizer_token_to_id, + wasm_tokenizer_id_to_token, }; } diff --git a/tokenizers/lib/netsaur_tokenizers_bg.wasm b/tokenizers/lib/netsaur_tokenizers_bg.wasm index ac62c2e47cdf6f1bd7c01b14d1cd0293ddf672ba..3e6f07606ddc01db3377a1fc6c65b395ba35be52 100644 GIT binary patch delta 520945 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⋙^(yNOH=oBmsMO$3k z9=HIG>t5P@Fnv2{u{iFcI?Fy=fr=^U{xt)h!|{fn813xO(e)=OD-Lnwh=BZ~eb4`o z)?)g{u6PM!S;yaN|LKaC^!T_8|8K4ZE=m5&wV1i-ZA^XIT2$%;cP(@`Bh%AX;G3WA z$Lc=CE7zr-Mta*4q%$HCZ4v_=6_kQ;H@=fCh+$bT)b*@i?Pqs-C~vjjcD;RlhRd-}4W= zqaN~M!_Q7MOkB;XUqDmSQ77F>RkH2{Dk4Q)wZ$j0fGqa-M2p<7e6j&)7AQr5<@}B( zf{4I=F%*G;AM=ZjXrwwM8mZlW(V`n#LZ=7tVo-OiMz3%^6hs^B{=eJ!Eg9krwDDSo zI0bDC3W@?%FCg0K(ew?7djIxlW(UO3g0HA2w9gC|m=R&j@S}+lbqI=5)68i{j)Iy0 z!%^5Fab>d6{KFa@6%r?!`TH*{($$%wXSfOz@3e9@K1do%EzK0C26poI7Ui==Pv3?I z{}Twf8UV)m=>xFm4exqFIBr8LbweaIp!wi66NrSd6=VUAzM!*ij7zE=_C_Xj1Ax%n zGKYI$r_w-eju87rB}$onv4~*E2t3D0(c1c|YLFC7Eo-{EFD$B0(OX#iaN`aR(wCi| zJ^~OME`PWR_@ll-|f-rF}c;~JTcx2)ZehKC_Ma-IO+_mKhzaRJ0y-W zmnpERQyXj+*41G1VO{YEW^qWq7+P;7H-q-TkQmQ8w};>6i{3zgT?)iUpqBFrae92L zPA&wZuh3=G9fhK}@4nlaCdPC>RZj;|}O zm7rX?9LdR1mqkQ=?9gV?O&ZIL+`^wpEVB=<#4<7_dRm{TfiY1}tR2b8>I0NWZC; zaY3bOuef*)mJa*kqPX+A*`Im5cR8!^fP*SJ{C75*-?92&Idv-0g)cHQtaE8MWXPlX zG#1Bs56)B9W=EQ+CmV~nm;@OB`9g?X)hpSNhU&}4;`mM`6>4&5FJO2ATW6wnc-{hK z$a`u@RS_UxYdS+3t*%uUHh}_umAb8oxBzF(dricPc#LTZB>zTL*Jhx2ypwD-r@80@ zS-|(r#T-1Qmw-r_UiDRpxX;V4H@6Z4dZGh3214W)(X9Vi&BBZU*nBMSZmP_JFIF)sR(#6yL;P;80>8@ zWhLHneUloIjbVbO;_U>3jrMB?{}}qaQx3$e&DEx>JKKpOYrA@^o%l8|NgEcZE9S}E zdhkpa*{;EKJ}-s zt7nfBw@^FBYMr2N>LISrPizviK2ACI3X#LFJw(TROgBtvw1m<4 z<;&80xofAaM(WB_1>+?T?UWT)lTQ_mnR)sYNeL1W01o5pP8a#d%CpSmshWPe*lsmiJr+{x5@*vx zu8`W<`2rF^pDksAnsKHW7j~0&zo?UX_7#7{uxIrZcjD2apXgF}ETOl$y&ul!J!)b< z@h~3E&H}2^V(zwiDfu>6&d9gbwzI^D6!JF)JyqBD2cEO$sGkOiMg{wyAhtpY47PGA zepllULhiL2DDrdW&_NBjZwTSMaMTl-qb?XIUQVHWierfKGr;<3ln(?80V)C>pDm`8 zeXh9(NP-|v`5cavfPX4VMnK?x{<0)=`|9VW<%dYst{+_g4D7VOB4&VWkUF^O+c zi2I!>$v2<&9;IVrc;~=Nx1$GDmOiR=dQ?OTP!2is`9^?prcc9=+d3QY(A&hc3h}dP z)n`PGKBxLof(PRcfW(q`j6n(P4re;%53jT&;uKC`MKdYynpt1Ztg`_Rqpg5S*xAmv zE$WMN00o;4aO$14cmOc&KNn)4YPIBCaaEw=U7f4hdE$KUgMM|_dE$6J7oR6i;`5vH z#Gm=R@O;q$&#E!!i)za|%3F2Tg<`E$Z%i_@9mo~pFz3+Y2zCc+w&N}mLxQ{Am!~fh zFQ#CFdjfm^Zx@Sbt9?tVF*e%CAJo61_=R}I8(*w8G-qOI5CK>%xme7$wpRV+643>U z6jgbtXwv8yfAotRzmr_KavM&?8k3Sk!8B3=sc?t6f!t#O3#N+n9Y6^W}7&cqA zy{WEL6ifMHavfT#8JCOJ9mc$%YXY5~^z=l@s)p38 zhyn`$P8bO!ASf;X!QdYx`v0EJL(P0RRXl2tXzN9%UmPSFdM9mB8wZJd5QkS?as^~_ zPgRY(LhP`tSyi|GN&I42U#MIDBF;zhyMGbqSuGM{jN;6{AzsH2Hg!R_C69c%d*wp* zyHYePOJ?_>z^o6R`@nNL%V{%(d?@cyr38qfIK0Sl-arSYCJGa%6A?-w&HI_#vVD}6 z;{}?G3_D9K^~IH{J}pQJz7m1 zbNST*Hk4HlT`f9T*3W9iV8~B@P?G_V z7P%?&NrtZ(A{L^?JFd|+uDnKE2u`@+-vHrXs|)`oP6g(j!pAOE!^AzR=vw`D`L*IC zYgg6d*NW@NP@@lpm(C`A&nCSZobYR(+tlu4aogUOUpZmE%ODeCC9YtiQtFTLl5 zP-y`)*dwlktksOR)4w%Z3Z~E(J=~&UiAv!0Y8a08xd^l>^6KddokJEupM!7?>YtdP zxx+-^IsA-Dur)wt>MO=rAs>lU#8)2$hjGAdHEY3%P*v-|aguxHCU7gH0y;%w6MU}& zY*KHyXy1nwyE{?K&k|b^0t7Frhs!RD``JCgP2ikO0n0AK@lh+J==kBHm$jv8<8aZ? zf(6v~*Fz+;S{2_QCe=^w44x}x*Ehhbx zwtlCoZic{RuBvm3xEv%c%;9tm%hesXh_==aHTxFP7rB18MLgx5|ABhqR75Cw&TeU6| zjlCm<8dxUILW`AUqLAVu4O`kWL&KIq_!#qhWui%;25DZqF%a*;av5}=RSuX~sIDy+ zt%{fl?&XcT8plr}HFd zY%lC|H9z?wUS|4Io%jrM7I*h?+c^j?oap1)^mN2sPo!6-r$ZE#NS~daUXx1SluQ?& z1TA&<-QtG44T^*a$tF6~U#Z`eeUB*f-V;<0-Xrb}Y&U87BSksWCXE!8dDADQN-cw6m@`y3xsEufyhr?~fhOY_kq=>y?<@10d5Q`(f7|`7Q*5%NItAlR})3aAagq z{V-ab35KoL17ZRmA3q>&l&-^KXFK|(E`Crn%r?`v1ga34AbzXve^5MXbyf|>h+*#3 zRtSz{lO9QubU+P;;#e?7G-{4Yobp90Jg~I(LLUoph@VXmS94Z$glTW&B=!9mQH-wS zj}>ibl$xq-om<<5V|9jG#)_uiLkrckv0{95c97T+j*i`U#GpM9J7 zhiMy`wwiyI;7_fBZ8mPlowp_YQ@ss;=JU_Y_4u=zX_b7f;Gc5*f#uQj<3$(W#)r16 zedERQu#QKq#b*J3ch&k4QBQSy6cWLmkBE)|6RcXrCy4##ca3WBsJOQ5(2w9&y^)_Z zo{TcCp~o5d6Vm){TD8X{PGDltO)S?D5Ya&M| ziH~f($eNQ=cT5ruj#d;x#YEA?lW^KDSD#H1Jwo$&M+v5Ns_kRq0!FLObGnoi1@^{>oa<(UjUaf{c4r*nSTJ^ZN(%P%qP7yaW*_uH; zkbBWj@S-2??!ekm-|{naxJIp-0!n4=vnu-uaZ_mRvzSXCET_jlA?CyM_>`&Q_%2^? z9(dcOS2(PrCPQ_FD><3Yy_^jl2uL7Ag|XlaQ$qa%OGwbabEb-p>E%OI2Z2XNfVW!Z z1N9MRLR)}>cup%{G)**bTmy?Glmg|UTc-j7+%Wh~p8YjGp!TimFVjSez?gAZ_+4tk zG;kbS)x5D8hzEd=8EW0wjHn7%iV)8G{7NyjshJt+@Lnd4PEHXRYG?8LdZce=;)=E{ zRL*rWPc5$$7Zm9WhP$B5&{4`uJp*HKi$l@^O}Beeq#-JTPiyYq~OGI zU<@%3O!f@kr^q_I;q@%8Z|YGMYZ|Wel(@j$Y}5@?L(7^dV$%)lcm}DySFF-~pP?Rq zN(^k|js(V}nxqOlw8C`UUanF0-@!9&QGfco=#se!rtN^L$R;&(xU8#MPlqqdxoY*_ zMek#L>O5Vv4z6`|7}rb}=g{FHP3A=N;qgZMW5h9vkuPEy3;sDbPtR_YXPh{iFN+gjuC1TjD0VL{ zZ*rcRczC;Ba|zCq%t4|Tx9n;vc4eRn4449`WEGNCG@fb3 z2j7eh)g3cM0qes{R4tw3~3~$gd!O%YRtmqnEHV?-Qv>UI{ z7FG>>Rx~e~a(Jn`s&VkqFE!f0wcB%U6#?94c@!JwShcCq;%c^T`^C*0-j{Ve33FnT{U0a1hVRs z1z?C?S63_$y?vmrRJR4to2^jMbrtLiNjFIf8AG{SrJ(et8+ zjEHzBU`bxW+y}=Bz9x{q5=G(Sj5YeGDP9pu2Nr;1P`E;(UsFs9X2`+-ceVO(;orhpR zj3w{G#sQwy4xN!Df&&+iLajAKLsak$YB8U!l5&I0`u`^w(1kC8iccX*1S zd>*4SAkcS@D_>0y{n;Z7b?2F0^D810=n4@YdR5hYv{=b>wQM0$n` z%giJK_@L$n1STgD&R_K;Lck2%ZM&QxB*I zLL3q=gO8kJbu`rkJIn#q>SZP;T8rKAnQmUpJ#gryu^v`m-+ig%{`M>o+y@1<|zbX0qGb)S5T-GKNr1y;?o{f;c`< zVX|$1L7W+=G{29p5?34{#ecd={E|w{1dQOS>%t|%c6T>uAPBMEcoA4)x%%QoQR;sT z)?e!DkNhy4)DuQ=3ZMw~v&MS^?~q^~c<+ATQt@VRnM(r?cwac`mVUCCxAIq2*-xfX z=st`W(qx$4f=C2G1q$nR6?<6}sVy&osYCvZWhpY9ca(Q7ODEG)Rwd^w#= zfBfac$n>9I2AO`yb;@zUa**j89suFF6fw-4l6tyb96eTs84E zF+Xs~P{F@^4Y}4<)%F`vs-9aZx`dJh;_j8Av;in!awFI?B>xQgyKn=@8Td9)JH8Pe zQ~8IzF80FMXwVw~{^a=-f{_0jS}PKCC%*yEwH{aP&&+EPd4Wg-=9u^k)zC<<+OkT- zvUMt?VkWhwDr>bEZ<*9&-ao5(Yhau=SB-uXg5kO9-8aSkhZWqZ{_>V++T;aXruhJ! zT?tVTLOQ@YAcN=&G8Q5U-S8GQ_bsu)=8@vQ-?~pb2S`rivrvj25o{kIZi%qxM*$$ z65$8d3nz`}-t;p#j=Adl^`dcbO3G%a!;x8j`B~Ig>OHYAIOQ?J{9@x@>D%%uuJ84e z>33kwrcbctfFo@BuiqElb>5r45F2w`zTCaeN=vY>mWjG4_T1g~r~-S0p3qsvxLuk( zFZ&>U--|B~+xLI_68nCc+rxYRfqh@`9-w{ytLXDvYQaCS@6!|XzJFo;Vf%g)64Lg4 z@_S<6C%+%D?^hqW?^mm3yAR*@$K=5EzSkW1QTM&rsQ3LJH|l*q`)nCgJ2#4RunD_< zl)m||{s^0Y!+LK1)@s{FqHSn{8PZZ!|6@@VT5d*sw#vR%^7hf!AB#rbKgDFc z&c-9KY@CL))F!_&wO@B{I>!E<`3|;B=*a!O+3fEv>H8bfU%kJzva;`f5migKh|Sis zYSJg7oqUp_P?B_!8cRi1=GLu)0F+nZ_)UG7t$zAMl!#QqW2#LJ7C4pgqPn<7G#2lW zmDY8Ap`zbI{`EwSC<^L*3+EoM)W9eu@p7<6v`W6T+?w{~Pg}*Q$uD!ZigS}Mp-)Al z5ZbWO*;iHBvPgZ^=Tng%)pdd@aS#a(fXpsL*p?w z36h`mY`S-dPkwkMBui0?rDna6TdYQJ6OrVgE4KmF{j9cb6LEL|p~%6{ z7_)V8!w{Rb{0ET_ED0HMo9&`K7?DBSK_M+ybGB=YcW}Gt+~{WzYxHspQ>!#01D5*) z{kf|DXK8p4gmDrN&ixE{aKFKWn?Dm*g=0{%%O<6;-!UnkBat7o-uQ+1=)Z*fR_yv6xX-;Cz3R)u zXr6Ds{69hS{P*F$etR_To4!ZmzRbOv=DBNcI@+7H7ie$#EcL@)&^*&;X(YZ>UGf!Z zp1VoPg@23Y2`6cuWZnz*iFbhxn}03V2WI~UI-Cj$=&0n*Aqw5-XstH6)A(DB4(sf% zjSkl)(P0(Pq2Gcn!@%#L&e%_S!$pOZ(7`&xns`tYiqwbiRBT&rEG^+N_0D&|CCm}| zRsHy#C`$Xdi&(I2Q-kwrGAQ%Z!jeHCZ@lD$^(H1+1MTn)-zPC*jhgYjh`A`BM!oaB zIJHHx5?H7rOy>#Sqg9dt0uwzh5YVrqOGK1w)FlT*yGBVIiRpK7WGc@-_1pmwGlMv! z)*q-fh%eOvd<^Ol-tAY#2SvSZ`{7z~3>NyeB+(WozDy8p5sVemVF==n-c5D$LEuYw zL~80m5lhXH?i|qW(T1nCBWtpp`~fP6F&XNtA4Du2H5QPT)TnW)AqrDMo4@=B3Q!}- zBDM5KAk12{VWTm`l(@NF8&l%ukinF{O)-wF(C0WP#;ZauJi5dpsE60Y>h z;-W>&0mns9UVzQz>AIFFns0p4D;uR};CWmt!^d9vs;gdy8lEq@!hP|S}Uc({6 zrTGu}D4HRABPM6zQF20vfkQLfFZJ~Oeei#8KyIb2$-4|Cy}%2*`UnVc2ptxOJEFvZI@b^DchkdBy8HLbwg#5%D3eo zsc*q7K?_k^-?EJuIEOwmQfiL{woKQzB-9>B1&V4cWGqGO_7$>q$gO9MDi^X7^cpV; zna)RPy~cx5N{kDFBP_A!G!umnW*m22Or_}b;Q-L&nS;(lX zaqIMbBxtj&o%rR%oiQ7bK&Pr>;kWd$It^6Wr~YDW`UJ2tviPk znMVX=j>%k>sBj~5lmADBIu9z0)Nb>i%)&D>EerI{>D~H-S%_8BvSiiHvYlDDS#_2& z({*SGSxv<4`j^ZTa=zumRIf+ie3wXo`h`Ps4)71%;Gi;{@Dme&=#m{c6p#q8kY4$S z3S>!CPRllTe*VMSdB~@AeKc#&KC63@PGv;Ml?N9uBwf~FC zDT9Z<7}l9j7~_sbkpxJ*$`9#t36LN)l9pvPvm_VOtR--n<-E%ef|UZJSkA|M&EzXE zb$SJ5+xR7nDlsqn@H=hk0HxUF%q?BGC?AK+A!igHglw=|EaQx20-c{@DJSsvbpD~F zIWgPwn848N3BbhMg7mOTohAIzfL#NIN$=VQe#lQNGCru@&XxV>D&>kxGGbLH=gF(B zMoC90^rE0Ii)Da*(7~ArpkTKpv0B@&Y-`TM<_63ni@u&nuLDcn@h>q0Fae#i~MivK2p|*}D_GBk2%i^*6NS zE$2^I(eLM{)!(T6`m$v<@_C~5pa8*aMPP)}zrL(TW1PYDf8g>oBRpo6UPfdy9c{>88M&~w=RmsGJ zDSG{e@+8=OpWjgWc){tSMslikK>g52p3#WCutXeo3RwLh{D#BHecEJQQ7nr&S$7x9 zPEkx2Jk<9^^LX^p!hHPbYTi4cM;{lD*Elwa-TPF-I_B<+&ok z(!*Uj)rzQ$34$fDv*iq(7!~ur0loOX5+Ha;uWUZ9pX0%WfEw`eL zVI-}8WF}HP(TKKIR(F-ke051<*}yy6r*3O3pT}IcX(D?xa914kHOU{*x;wi~e2kd9kA0d;8uIXAfo3HTh`obah;G?%*# zcs5k?OXT&Kwtee4@ z(BG?REoHCsYVDh3JxP!xHlolAq|+e4kGm6o6GSPS>f9mI{7auWYeOo6$ z^dS`~mAy;S;FOyr0hPEXY2Y*+JUh6M*`sQIsl32ypaGeLzWc+tPKG%oEa26ZZDn(7 zvwFC#q!W&XZDkwd{L%u#S*~`ql_#c5-id!<@?Q5QCp0V`pnm0~c5;x$)zIH+6q=F3 z)jA2dnn~*A_OfM5VmBQH!{BP%IMHU(P?OXt@pg*w+yKV$aKGeqFz6eEy++@7y679f zH2TKVMc=8mlju9uHqg`f4hDUv@+HxCDj)FCXB{;9&N)t=OrRWaoUH2w`nmGBbbJk` zyujBPDSYh%{(*K^^*>oQR%?%w(d1&%iia!w({V>ZLMu9Iq&@8v86?uqI6*$qn)72| z7H)c+jtT4ujg~$wZhEyF#{)QD{pCd2#>Mez&0!K}oG6R?U{mFo4x)iH{2p@gds>kM!Vj@0 z1L*mPiaBW6^(G5rJ({v)sV_6aqfyr4#I@K-63Y0eA|tOK^+bp!;22q~1@B zPLfkdY-or%#3y>V<|Ns=ArcdSoM`~rcEOy0T&JsS6~nY21&}$Dx+YBTWnE?aY)o&e zdI029l*IuFfUKvsb(Kvt_Qr9}+f!ieljYHq=*hCFjh>`IV;c3~0^*Y=9|aJvJVl-e z>LCG$&vcW+vQUu=hcy(FBb#u0UGB(2Zm(M%8E4Ov>*@UN_3R|QeNhvXrs?yT|^sR6y@=^$e#_tMnt zx?Zv=1aIH>l4s&RL66?@sqlt{)eJbY6A!pa`MNidaM@{IfGgc#K&hJY-vd4LX3`xr zc0xMndEDDC*O#I+bKorTam!4={k20{KclI5Hx;zLNlclf(?hbpNDUC7%@hQy9@OX` z+zQk<>T(N2y*);jmzPIQq)wVzA@U^<6PGY91D!N3Tfbx%YpQ;VkM{>gNa0QqxpIy6VH&0SkU$ixf1fr{b$H-n5~Xy z%2Fi$@l4qQZ)45`&%asCIa5-r{O+0Z66;gdy03JMNf~UCuogG>l`jUzxTYB=_LEm0 zQ;l+T!;$dBvjA|=r_?`7CT+Y~@y}<;G#l?@8IQ!&1^s0fItxv5fx5H5Y?UyYcvH>q zf0$6P&H#B%aLiOAwYg>h#DD2lBa;Tm+GZrL50J$TDrsm!5BG2_txdN5&LSpJAUJWL zY}6wygR$vO%b=}7Xi1XrDEpw+D1+5ulCdOt5C)qAW#6QnPn(kXjGWJh^{s8xtyRiQ zhAD~vNK=x11GSv*w6nFG4=QC!pJM08G*gnZ&Vh7q$xg0gpD*W+GDq_cBqL-qXJWx4uT|7-N=I7OAmx99lT8+3=4#qCpeW`5J z0Voy7niCI6XXKznU6ASHr^dwyx|4?3To)BxFO$8R>(5>oZKJF|@=*GnV;T+y68-LCR`iyb3fR{~(D8y;(zimjH;1arE|>i>tkV|y_of~f%u^NUo? za672l{FGy>p4;u?Xpg(%EBjA;j@W^SGw)PlG5oO8-ujJAoRIQ{ID_of5=rrgFZv zTeI4B&qfMhwPP1I8Sw}kc7EiePGoFAM@`kX+hZmmiH>QXQ5B!tEm`ckuj~#HNWk1m zmjzI1Q2p|`ts~_9{sA4}Xl;!4Xaj;^vGg}Y`KTz!UA z#V%WapS8=5>-2TI?D}ct0$b^o5p`Z%$2cHrMQf6*&Z`58~4~z zOdzV!JN*|cnJv240BZNWc9YADri>8nju%6LLSZ&)kJ8`v;K(m}ct~5MdxKQ40Ff8` z9JC86yiCrubXF3u7`o5EzyC;pZ|s7_Yg|@Q3*g^D62SeJfExF?-GWm=cvmBz7Ijqi z4l}CX591@)+w5b&IE;XggmHN0#$u~(Uz-I??$M@hm;b>o2WoYB6O-Uj3e!=m)0Xw< z%XR9j{+)y3w1go)FswG@2LbmJaWKwwymU$F&Kd?Xl|N#q2M)Of2bfU+RtSCkQuXdgiMBK zMj_Y;)<-Qt?MNu3w?(JespT;79RzA5M6MZ zpaJ3;>~pd)i#U8zcR6wJfN`X}R`U-y+)RZ<>ba}HBrI32T$Qc|&b<0Ck`EXB8mduO z%M*gLT{FVhuLj+>@fXlNHTVNP@Yh#^?n_T-G#GT>DCVe>r2A+}F`Y?T5&Vb2vXPUP zgM?qL96UgA3{%){Oo-PR^I4N*2)}h|$zXZdWxivY5NrLeHX%N$e)setn(nI{qUpYj zYc$<=+coKQ-!s>c?n`NPJB3Cj6uSNY28Hfqjt-aeXh)n<=yFkvLN_yMQIpJh#flVRVOYTLRsJy9 zA~4;UHS`*$Y0I02$(|{V?W@CN+e9U6)DOeJ-fdBBhszVwC@kn)$)k)LF6#vkx#ZM> z;fJebnZ>#ueDxmH`Fi;f9;>gHof6)gT!&8K8|2XAYB_X*y9;vlLx8^5F;s!J|HlpS zelF2lqZ8G<8)QFJ`ST6(nI4CiPdJS_q&-BT!bE~;lq~?0_@h>DKXh}TF7~L;ZPpP?z2;Tj%Z|`4+_`80>5QA=_MY zvn){0-z@9ru1|f13nW~OF<-AiCH-#EmE3xZ+=99;yj8Z!`B=j)$XxV*#y%ga3Aaio zy%O9DqSs7V{NE~9MHemD=5bm$HFy}Mbdq{CyIH+^n=H*EwV2%JkV$I+QRH@c%3)tX zrc-qE$J=EO@4W#v<96_-&#QH}%jO|XaQa|I@$2pKu9U$sFYlX+3P8}jbHUqHUx%$C zwfGL%wSa`U&-E~s@O*?=Jt}l3I6P0X}F*(2n=&D?UkljVRPc7m8r#GM$UW2~yh zBV@GQcC8>QgcA%e45@yrg+r!=jJsu%;@#L+ylaGY!h#cxRy>AI)N}SvVqdHJ+%4-^ zU1qwWe{hlhXBrzs(O)=&nxBZv`f-L=mU(%HyApRrNZ9!t{*J7wnsAS_t-R!IZ-8Us z?zdVvQpVkT=T#q%l$lmMmCcvTM!3yLyw#|T`($@`{ONt4e8q=&zJUiI;YB>(UJu9; znFz1}mgYxw>jUz3MyegWJkVOjACyIn(m#_bPekDO{~$(hGUV)+56WmiGo5sgZ>E!; z^P&DtPG_QH$q>5S-kN^YNcJwdKk&;z;tisl=@}o*nPal*_C;)x*!qTOq;Bd`=dHYnN{SoV*65r#=VqCxW>?Cm$$I zRO0RK>?akD1BI8LXsWTFhMzailDwI_dlsk{c%lQAR9`)Z>+tPnLuY!gPn|wn{;B?I zpH^Sf(H7+!Gp)EOjVrvj%#zL3p4q_22PV#u^qmr&BV+n@?~$LT&XJdPSWSTrWVf)V zfF1x7O2Go|-qV8$x}*<73Q=5P3ccEu&Xp$xXS+7;L+66HdS6w}l_z$8UrUKX@emk3 z%&7LyY&lbSvCKqW){&5DpP(;XvJp@EXH_sy_DqEJg4g0gt+RqpIf&J0;^-Bs{UtJ2 zO_?W$1UI=I$eJ%NX*8O5#!RS4pc7smC0R4ZO;w}j%l7GcK>Qq@r|QG`vbR+*ot^a= zTR@uk0PEtQe_wT6D4P~NllmCVhy{(Eu$$qAh0@7$Gtl1w0t<)f*cg7|7Rt`8-Fo>2 z_o%fJ4C8{h-k4r64)Jij>U*f_ieb3v-Q#(f^|eq7p9e;`+gJ6?^H@|IXBmrSCmv_r z7Rz(PWA4LA+|HSKKThH=RpnxNmi3AHYB3@@m?(+96AAkX7NUbiXFb zkkN#$naL)ZWPpx=GwpZURmyQ1qccN3?PIS&h z5U?EEF>fkdEeE*ErUjAOtHIoAc?_=xLEx_E;P^lwx-JfQ9Oe)((7!>J5io#|r_=V3 z8XWLD>f+o_SS%cqYYM$V#=##eYw zF?M12HQP;@nM_&YrYxfJ`LZ`)hyA>Yt&$H?fwfAGZSuCc%SV?YZ!^XkRD5s*imD*~ zz&kq5a;stb^tN)|m+@SD<<&im1dVHL{aiI?wLB+0^6Ae&Hjjj{hqLTy6&p2#C1HFu3{OB=gS*2sp8`1;El zS=xN&W3QtAJFql(+~QP!4TRYW~f>3h19A3#!h3Q~qQ%gt0dH8T!%#0#A5< z!#P0jm}>A^S!9#pLBeb+t_F@4`FSwD#33?L`zP_~zJY~$ajlHUb|0Xl*jq@Ejoim( zo$?7{SW z3CWc%dsi-Raj+WGVnv1|yo+~_%2JP)jwBLCF(^uXod0#5EIH&6XpkPkbk2$%XdDIBXY}Ud`90Juz|o2h{T-A8S0P!00neV-Tx2S$a=YI#y=o6 z3Gd#D$;x*o?E@rysaAa`+qb;}a3G?2#>+vb=5I++qpN0Ml*Zu&5qVJt#-GhM%6n3s zaW~+L8_DVF4Y=VXjKc9mhW`vfx0#p&QpE! z!Jcb2zomba${23r=+@>N^pXbi0Cn@?oG^4^nC^<#}Z!xF3YZ43)4 zy@RU%r?RNs1QV;r(JnB8j5)4#OZ+1wmy~(SWilIH0KDpdum^1w^Qd zii!&O|9;Q8NmImS=KcNN|GXbQ^xmB9p7nX2^Q=LJ?K%?)j11Nm&ssJ4!*H9x^o`i| zkEqu^1lMa;V$eqrYS#B4q}N&fd3!i|++odwIn3tkP~9|-upexGvHsp*yb+JXm7;0? z?d{>y3F^ytK+SQirTXp&FKV$t>uwFeo(#Hy^w1=ham3z?mVjqa?Zujp;O|69>w^GkcOJ3KFxmIwU?ND@QNa*keK zK$9ueB>J(3XYUG6Yenz|hKEK8c)BP7Zwnc@nOPbqjQS)z=6s6rQ9K;Y;YAXE!T>lR zm!Q665=l~C%Q_n8;OXKVydCKS7=E(-LA%2*W1r{k(V%78o)pf}ZmfWF$QK~aK?UF( z-7(^v!FAy#dY%j~%9K_&)fp5dQqUw1#}UQn)rC(M(`Tko(1MvnLG9GhpN0#g3y|Ir z4>2W)hfs9*r{UI_&)x&z5ss`-|M)a~k({VC=Tmqf@L4!oWbi=dPw;>`{LDn32Q|jH3yb$gV1wT}|T7aB;)*nd-UE!k5&a6c-4! z`dkB{#Dcv5e5u@|+Umz&gwIJO5~ksJtJA*3ZT*2v^_MT9^|K~1?aT03i_xXZ_l27$ zqZ39EaS)4->nGz&sSEdoyR>W=uMAyIMlfSxeUU;!;<v@pO+d-t;lX z(}fdw)1)Jw8cgi?L6eTN4(MatU;|=MU=@JH+?lDFMO*-PKue`XOlQ0N?Feo;J zfvKT>Ja{-Y>H3`Sawz-<@7-SY#G!C?{f>4ILH{4a)hPlg%MwrihZGMG@lC|RZPdM9 z(d?&)xZ}TpgMR~g?Bd|-{9;u7kf3}*9K6>r#t{dP4v4U2)gAWJk;zHG77WX07fVUef4%@!Tg61svjbW2#APd`oR&HPDJ3q73*IF**@Ab8Dq)_N<;B}3~+s9o0e?))& zF}dSEh>CR5bJYJd)#+^}hW*@H`OI3aYbMILRv6a5x>=F`M+SCJTwGbdLID7L9A&FS z9L1wtUMh0ER!h~ZmDrFfH)UZeWwo2Kk|=C>8-2=eYb(a$l!x2tQ_dzMfa!ST$1?Rj8%I?0 z4_xK}n5~eI>(gq{$Pmm#ebjm5c8|I~){)oM$L-81uczn`HkA}z)AnLm%9qrb_ToJF z&f3ymwCMEx3<864^sl%g^^ynatW~{#7cMt=}pntK0IER7xpw|NlA=F|ZM*+Yh zXE!rOk--rI^HF4g2zlz1j=*jIR9ANtmsyk5`i>&npd=4i12JkmQmixbErUELW+1D=aIWAx?f z)GneIIH~HcE~2a*kU{2Q;ysGXeRS(@!X!f3rmMFXQno*&wsa8%$JRXrE-NX`q-=F8 z6DWvst67Y$n5wq5@ejK7lMPN!CZJOO2xwL( z+hZsp(;md`XiuTNV^Zzm4q){q9>A<(ukUmn!&!aVF(|x3-{z$Z%U2ooL~c{J{3Fz8 zVpmZ?X~JpUMYCe?*T`FkF)Y;YMqu-hZ%wrUO!ky=|3>C38uR| zKFKEI{1|Fb2`W_sA;xtLY8C1l*y9%C;Ibf8w4^r(1{s>riZN<-H^Hb1%br3spL@OP z{cd_A*t2C(uGW|Z;zsNE(!JiWUv)YlA+*!;5i4M`pmhCaD!_s=qkDRm%+EqyWb$}D z(p@a`E}xpXq=)G11vYr1r#LDZ7-RYKxdp1Orx57D_dS70=c?AdL^3)?9F1^3oT?1d z2Yn%M#^_&|8@4`mbT(aXeg18Tk2lP(7W?(DL+00@{UJumC_PRv(1sf~P)m;!@oo&8L08t<*`6qN4LD@m?fUl}sdrCWx+k(DQFy$#8ger=<^=uO87GLH zpq0i|h%6sGRNOQ%Qk*qq({d_1!a4cWi4i)hd-p`tS*=bwN%Y3!&XdF#JV4X%*PuS) z6tRC5jFZcpnpa?RjnHR(#GA;uv9CBY@0RD^fJYOGVGyPkRE|^iy!xQ8Xp8(g{X~(9 z_XFLwTAk4k2V5tefXAo(#Abv-d9}Z|tmx27Xu6Hd@tBVfILrB!r&ZsR#U=2k_r%Gf z54Bpn*bsy`5&j`Z(mF+yW$&Mdp;XOZ?ujf{T}~0lq?d$Z762Ve-h7HU?zp%7+=*CL zxZddq=!Qopz(OnXUNG(xa0HFm@_OHYjZhE}GkOU2^+%xrp}sjqR8jFI*^4r^-4<=% zb*lJXdPbBPrO5cG(ws3b@hut!Tp(RJEen3SR^&t) zwODX?5yyf<_f#>pet>A|tW6doL@Yg0bG(~sw?K5>2KyhM|1IYrs80xPgA}>7tny zt6c*{EN@yC#E|}2mJZqr|1TJb${Ag7y!TEJR-+3#Ra%jSkP2bGv54|hSw|#+>k|(gizGVJK+F^+&5Piojp$`C``Q{|&Qd=FD|;oFCUy$9|le>P6Zppjtx9MGS)dfNJUC&X?J9 zOsPg=?zD&55KPsNJhtP?ycMyAgNvpH6+L_`M34=J@Ni{88%deBVVilJ1N+oFl?721 zA0)1oL>(Y+SKcYo^yJ1^jq28!XJk<(Hm28EFx4b4G|y!66t{Fu!_q&KyxnbN z*I|uJGi}%4*_rsw{pRMUO?s_)G8wSUS@(!Z-e8`QMe3%raDt97S~d49J>0ct>EXV1 zwjOTBbM$b1=Ze8rrz6yg)9W$-SZ16OF|axi`&O$lfo%z3hq)_O)6NqgnF;KpR-Z3g z;Cm0Cjx?*A+gf4S1pDGK#J%hFv6zj@aRG7qP>MCod8<5gQh$g?jH|0mrY2 z7QX`#5!h^0P&*D4PWE2nw*B}61>c*8iiaB{lnxW4oBs&kgoOK`s6e=Dc!AAYs+FnW zWNq0n(fp_h(4&E_1VgEa*3FZhjXcD9jG%Jt)ng#L;Nt4 z@~aCk2i@VOe&we68l?X5GE>&uAobhJ#2_@{%di!42++xLuL*c1>)hjQ9=e*rV?5O z7Np*b)Pzx@X<)iZNQ@HQPuQT}jf!l>2tdd<0OiT(6yfFeR3?9o;jgVM8UoKy|Eg8( zuNTL+-uF~8`S(=ChiR(*o}%-L>jBA{eeRD{me+7`gD(MJn`L} z+zECtsJ>X4+ej-zOvx=A0*B$+mi}G)p=$>~O*y&q)?{p1zcZD(bD_v)pSBy) zIkT8VCfa&85lZ_whXK`TS56)*UUJ^gDNt8@n4>>+iwH(9gGvkgs&5G(#~^a>$Fy3g zCyouA8T0sXjJcPA5Dmb`*r+APG-PX>gK-0gBH17;6u?wcT^}mBBjcIM-kPIz+-O@< zWXuHUIf#Tm&P-h(<_TwI|NMLm|CRap;SN0?%kIP@tHFG%W>WfmaQfb0BCbfdS46(@ zn#ud`o2No|p6X4$Uh`p|g6g$myRDL0Ia=qU=2KZ1!u^!n1*@kb&Fw~&u8Gn^k71lX z&WD9HCen2#GASzxnmjFW8WZ!Qyk|8?f0pS%q=U-DJn2TT=CmUWM}Ej4iYFtImT>4; zAln$P1WMJ{dt}ZLH+JQ(EM!BoF|)BvtA2ciJ3P*-TO2W-J@G7VRZkQT#-hjqJ#M9J z$w0!5L>zT&{VWKw^>$@BgzW*VRpkuNYt$G;7`%Y_I&y(&huKy4i$eAJ3_G)u!8XD5 z;GHh!V`OQ35a$6-J9r*4^m#x7xOU+@q#8i!D8ij#%Jq4Gn-KhrgQiTL2e5cabZ7$} zf0T;OU(w!=;cdJXG_=9N;FVelJIAi1*&8WMJ!oFPd5Z>Gbq7d89X&v%#(3rD_k$yx z7nW<~B%QCR^=vGbqpgp0W8pY}6*91KSQE!LHB1kYHjIn-ok}C%PEHfkIE%#U7?$(C zZjf>NprFSwVgwfYPBkj{c}6G!&{aW9+Rv<6(51MKv|PV=wJOngIIdTV-2=Zbxm4c6 zmnyXvbmOU|GN20=){;8tbU?Bz@V8^4evOodbsto z*kBUX8#C;J%CtGtQC(4ktB~rtmewbC843eZVwW8@|JY?F0xPWzf4a-`zKH@9!^a#v zNn%#G=k=HS9HBMmgS6G;eoYM*D{joZpwHp~Gzt9o0nA1&z(iL$DX$V*`m@#gjnFQ< z_+UVzJeUv`BD8?kv!a5o!LHD|0R0a@gE(dZ0Gg0mFN4L1nDOSpfHoZ6eK4Rk=5js* z`fPtFkf*Lb#)j>K#)~>gjlrBQio^*uC=%FIqewhG=_pbcXn-O$NC+8_z;WRGcv5D4 zF(H+1tAWdb6axL4~B1!9_bfF>ni>?^xpe~P;K$k#1_!A#%}13|p~ zw4G!#+$;p>oF0$kp$%XFmO+>h57`^|83KT%5?l!5i4%X~uBn-T!1A0z;MB;4RLCbW zOmO0?nX??T45LtJXW-HY5}D~F;xtr^%+F$@nY2U16`|ah84vgV(Ymd-e+WMl4I`$z zt_hn&ET`|cBfl4jyfPXfzhz7UK8wt8kr^lD6d60LerN72>KhhzxOQvHre+K!1 zz^8`|Kv(tN#+)YqukAP9Rxs408L0&rj(vj5Zfd_3!MzCr+300ZY1=JUsW*n+Uthqu zw9Lb+H1^FW_)+fh&?}1Bg$`eIIJRHdf>`79O-P$kcLP!ok=%gL7fNkFm49VkwDRBC zXK1CtKEu8{e4k-C_3qt3b6M_Q_NrkDE&^C^o{j9=GGI<9{+zmI;e=|(U=ROMd~fYg zlWr9CE~VfdQfnsu^G4D2+!f%xL;x#jX&ZS(t7rP1n@7coXFe}BGz4!;waY#aQW;I`y)Wc60v)&5+*()_@M*I9dToyRG0HZWI9#;ESR zoxf_;owtg6BOfDr8z8$N;MdruQjRTXL#~?a3 zb}j1lyF{y2I^O18uGLFguC{ui91|mlaHsLz;_TS0+g`#+B@O2xA`fFXX{5+vKzk@w zeYdzdIL-}mn|F^G5nlTSAdGP$j_}g=h(?)jF(nA=>c{U9$7d$0PpF*?t+ck-&dVwXP#yvo07xPE0>FzQ<@iD3 z5PrZykvR_5jIg8TAF#WCy6MAz7YhRO`J*;*&SbH|g1L9&DbQzlNnJig{0YB4m?EBQ zzH17kSGH3%4e~2$DmWV+Mgnx{r)sg;{D&cm+m=vM#c5XOeGlUpw$a3pQ!^Fs<7;pP zwTc@yv$K5~4=)*1{59RgW-qJ}@%(+M9L6pi!&+O^X*Hr>aouC zOi9hFf!J|IVttMHo8`UFtA;!(n&(t!cJ+2a5p3(Gco?Po1sP*R#uP(it}c?^E!{blIcV%=|sdjA&!-+GHhwDE|!x)$W}k3Sf8#&F#5~ z@Z;c2!h)`HrkGQC;DwJc=uEg79rGgJB6tH#+>Rec`xMq+BaGsJ_8=NY{?F9em#UM? zIbMtwvv0;hbdBD0b=6x#Dy_6LZC70pn>w#pVHrA#Kb&aSNZp`Qn5! z<8Xm9==xb$d$?PL&8C0X%oj(O86OHDf9OMj42;xh^vO3q6wsI&@T|~bT_-*(v^%NS zo)u>^H0)2I9!#cHj|HL}P>;S@S{lFl^MAv5E;{t1teXBV~U=ISD z@`9r+T4T?Ow(5iD1Oq`ee_ph2bWmFgHwEt-+sRz?A_vv5=Y`WAS(p_!OWy==M+B!R zVlwhg9o`>+ArGo`&%=1*pxXVsXpvv@B%mNcngihK%-6qEvxK-71@29VVmzL}qv&85 zus8LQCO8?m^=6^5%_f(5&`p4>0h0|(2>Lu5x%NVFOnhB~Z`3yUwby*{iiP615{{61 zH*xT}c>9R(Pk!VH9B0Hx23dD|hI(b8n1w!Fy9iQ~gKF|3(Jrq>02oh#_*PT*F=zvE#YMbmoMW1)8V6vA!|*ow4|IM&wcUVplf3-a->wM&?NLWwwmN zs2ewx!D{)7;u5E`{<#F5U8O!*BJRXv)KZjNrKT)}+;!BXh%%FT;^}s)_{%tLEeL3)I48LUyM# z175VuAi?p=YUe41rwv~}oSvYw4(v8Q-6;q<3$cfxIfdY7hn9&6Ru46PxfoT#MuJW? zX5Vr)>*-4&DO5Ems%!;Bh$!eB*!`v_hOpx?I_k$|4sB~|ZT&Sg9*p!I#^_A*OC1bMQ`xfI=l%xy> zlN_6~Zx^~n$3keK4lSr}UJ}n%RwYjh&cI$Dkbm}zL9c+Is|1mA+;Gt#feGutywto$ za0~E?eZz?8{A{W zZxEj{napCa`OAGp)Zb&|ny9Z5tO*psI5;s@EDOVClx&D9Qq$|LaH2SKplE{Vy1#d{ z8(70&tds2EF30u?MFrwGgS(OGLkVn8Ya}f%{Dd~T3?ftGXk11BhUZoMGc;~TGb=~N zv-kr5Rtq91!~tjlV1Q+>y5#uKe9}M7~OyZPB)YW;vDxe-gn`Tp?^^)YIKmA#xk(i@w+IV z32ug(^o%&B9|1a+n`%gqNSG}a&6pGQ&*>e#V@wQzZ#+@Z;)XvNg&Sa;r6@Kbu{G45 zIG@ylQHhtun)XQmf%ELW!PyTcQgD=pJMsK9iaAAQ&s`}N9!_Te;T6%Y$4VT6%)`iR zu(J%AO^qiX35FYDjnNnEPe!i>*^ST+iT7SHWcPs8VoviU2`y7(x5Pe3lHKaMld}u@ z{!E#AGCL2uq@K*iiAp20eNh-VQTV3*utwAXROY`bT2+F$!y(lojZ?Xop~^wRx1Qq8 zfXDD(ptzY`PjLsMf~|0LmNs(yHHtgm(CseC9m1Eb$V&D4tK!8Zy?x(nq6^60mtPZu zlH_*L+FvBMef0!tLvlND=UOq%vL01Oy&(qTapN0edI4F3Gwp2KgT2FhUM9G)Gwnpj zH-SN|Ly3j!KvA{ZH*<$3PO0J+c>n~H2R>F~uq#bV$C33TEL~*P#J5Ca-|Bl`Qcd3y zC8Qa#>A=#Yk9WL*aXu0Ja%}9#T>*9BTjJtl>g}{(MtPW_7FiEamn`#+v+zlZslcuP zO}IpT{+1Y2nrfY=>?KHE*f>ZiNVv(Qh8M)hGZN~)t9y=l;3bb!;%ro4 z%8+OxOArSQ^A4t<$7@mPd+hrltIC{en9iBy;Rhd(YWM~*6w~(V2HZO4DDT^12Gmmq zeC;bz%ik7#tru1B9dTB@8!;d*SLcs%0Q8!B?=SC&w#NN6<-<$Wymv&0V9kE5-J*89 z1MSvl)Cup3q7;MH_13GdcvlRy4OYS|R*VEiQK{a37ZpIFZ4{S6*_d;sRrH|dM+9WR z6K8=HA|I;-8^y8Em;It?q>=K!r|l>PzbBS^_kO2xH{otEFLA;qXm*QvS^*o{B>-9T z5~JQ1=UCRqn%4=&$OoH6tDj-R7JUGIX#=)rieEbO1JR*jR!RYP&jbsRu$X|NKx$&RtJDQsgwwE*6kGM_Euz@WD{g3**LSvvA$0dvz7@BuXH~RTbXIq4 z#o+d<*;{c<8{=lZz^rpkYD`V86@v?>JdP_WdIv=A%;x)I{DC5|wN0FQMha?@c?KzV z*nmvvc@Z>&U<~TUlcyN<*ov-S4iN~zH zs`?Z0VTajdsv*)H9{Nx_E|+aT6Ev4?EV*pGoRxUM+1(?%p{9nN^VuG;2Npe>>OjK2 zk~sfUKu+((pnCE%@fM$d``qw6w|tI4uTtNBF3t=t9uIsDp7QB?MOo10tg2h~iqdB8 z4~h$bXdpy#>Sllda9PVQ?G>GpK9RoLD>`JSXLkNVj0vutY+7FWg{aKD=Vi=H2rS{* zUxEodfxqBqUS07e7{ou5_xhKjyx@=t6HORQn#D+552^51;+zZju{$AfhIC}``LopaZ?Uo7P_KRev$CirKO7Fu8pxth z`Tie7VaV7703dy>=Kmo6_`e`ax(V)P{tx>3`v0wdHcq^MKwM{48WuFTH@I&3ot2vH z%wKTL=d!2y3q-E7AeG0G3pDHcXG*5>d|))`>x1P?rxH7w4MbLf-O4+o4>W;#^^hnj z-higDOAhc0uIvgG^!HTekK*2(C$&btCR<9e1*<<(kN+sn^4{-L2Y(c$*7ON+InTxY z6L!l#T5}UaEjifA*UpKPKolR>=7=l3ayjG*xBKKpS-iGSYF+Pw{^byC{C~&^X80V; zi0b)6PP0%DmmCV@Vm>wS(@=3`^5TYbg*z7rous#D5G|A^K^e$p$br?0O|8ipZ05J8 z0wVaGANY{QCApa$=dNi;3IQ%_m)&mSLrlbd7;U-fxVgfkdvPZE!%2Mp z44;uA_85e_Y?l-uifNyza9}sm@llI4^TOQx4TBm}8}|$W}wY%h3+$W8LjSqf-g^i4`!j zsFj7m<#b$i%74&Nx$CMP%mSx|ze7=u&a6KZpJXC2RYrZH*7h+nJQCXb>CInjLr{GY zDOyoMwb_}ILk{#8ALbM`*9x8(?O~lU8_ciZAiuHd8p&VCKyl9XGTv0!s0WyW8$hr|1dNN#q=BQ&M=RjMgWKbyFpLxcv3y8p^Z^L8ebgR9hL zfvAI83Y43)-7Bv^X~PX61i;Rajt-D?3}2|u|1rmouppKb8wAP*K#pp7hrHs{*l><9 zMtzRmvAO4$^Q_0F^`TsSZgh+RC|vjLR_eqd$UzL2d6>}^)cf|K978uyFp%TTZKGQJ zn4{&dD~9F9z!5W>CmPU@z^`&D?4nf0f~Rszhq@+~QJgca zxk`+q)nJhTMGKrGb_2n+wBjmZKS+Sc1}~J=$>XPjETF$6Fcw1K^-ts)o0_WRh(+)yg+3-isZ<;Gqt;1ozQ}i!a6B)r;|G7JpCTpI!X9 zpMS>k=SI9m9=6l#9{3Vo8xDMdKjZjT$3L6-XEy&V=AX6vGX;N8RbAkhI!@1F`fGK5 z*^TYDhkQgU{{7<+HxwQ&0rx%n(^*2N7TzkI#`W z5}|Avpe|BQSa$C53tmGq8h8!)iOZ1DVcEs{Og)2EO84K%`#F~bD+X~sh}`^o_L8ga znk8f_bhe|ALkCrj#bs;;w4JacQIi`J8`(=01Fb1k^DFt)$$VUSsO-8`q}HTuP;Uyr zv?P^yoir;`6VGd*o|keUCqH1Dl_|5Oc20Y{EwwV?9NR3)=eAyy?1;R~A`5F&jyx%y zVQGAP_YqWk0(K$8GUwq?bG0`|HcOR*ZyW7P9SlRp-q9!yq z-Ef>*Xg1s3g^~)aOA2L@V9!X8x1_a$em6T3S63Cu0)mFBBH05KUMP~M@aK?oa$9JL zH-H%R>JO<-jiuIsMZq$4cVmDF5cq#@EFU?&dj0EUVPQ4Lt>YV{wPayULbB0Q3#9ba zaQ&k3QNY=Cx*%q=c@h1vKJo5G}Vvm&0}6uS&GCBP35uHbY(Y_S6X%IPt9aC9+}PM z6WwP3W0E(Hm{YyIrvu%1ohmSKc#>`*URzGHP-iS|qWUMGgAd`FamqevF1v#F8f_u} z&@{z-p$#zv2ta5Qy#Obm;Jg;HpE)Nq{#-gSD(}soe>+v!3`5H6)aYO8k*NG*_o`$L zfu*x|OtKsf_aJU%bg7y}YFSwe|9SeL6ge;^Pbi#@@=hC_?yTc`EgN_`F+C=?THdh} z)$Jv66WG>6OXZ-7RIeccM6Y3!1#KS80QdsXqVU65Hu6siEpM!^hN@bZN#i+elPoBy zd|oPBX5+NMEHp^Bsj5XwS%^95)>4)>qL2&_Pz#0`D2v4GTy8tCKai`)yK1HvO7 zFzN|fQ`+N9p9OsD#s^TtTFHF1x|KXO$@0!TN;Yr)B;DANz{aveCI|FS`Z}d)ynKgj zsfHgVPYKSRYFObf93@Z4+zgl3n)z*&$&%EsMB6fXxm7%yUnOT6x+>(M;gq0l*jC(| zp=OuMZkcX@HEK^e6n~yn;ntGgY|2~96`Ayi?|32`)R(R05n}fk9Rlc+BxCnb6`(=v zp1y75U9H?8EmL%e9!MPt)YD`4EH<%wzHTE2c5}ao5Iz8wWpS@V7CCksezoNV!VMCn z4R>{rpxLbaw7RLS>>qP0Ba#mxZH#ifhCzJPM{VUC3N9XOCwsyj^c(GDhLu7+8g1d! z06T$l02dY;dX?JSUbZsFhElnuiD(BP%*rWGf&$vO1JiT6-`Ttq&$axs??e0`58qJ3Xvn~cM?`D`tyCYO-Ztm7L+y)3UY7U@Rq9uJ)T=fc$G zbgI169r8q`sM*&9+Xbso%Bh;IYOe{#PDZIG1asXAz&PFtXT149lrj$j0QY+UGTz7{ zNnnNkpufqsy=Z&zwZV1++_rW1oWCL8cjKQ%;Vc@`c~2MwuiIEZsF0`nOInTJjY}VEWKQW0i-u$R5lCX2MF&1d<-l&eU^%com|}%f2mB@HGSali1&3?j4963<(US zOI>4AciAard6U~i9>ixO$I6>PVcl~q@Y{=O)v@x-qUq=%^mn}4$L(hRSU8rTU3KaS z8Nie3)}FH5yRc5p=_&hAWU#NNj058p_LB19-EK3*c$)y!$fOKPguoPb|T6WdOZW30gR?{ILosF9Am zBCx=`zw5{|0vpVG$KLYP_&)tkOvO9a%G57jp0=BE5BHYu2F8D{+q&sQc|%}`KA!C1rTyxA zxVYah^pMWL+#Z(qmpub3b*~a5`b*0TUxHVkB6|d;o1Q*(ioC{pO*J`HPO)A~BuG*>+`|>o|_hf`92E@x~AV~L94=W|y$332y)(Kxt zJvb7djNifv8`)UY+0W+It6K)j`$)(k21+uR#u-!rr_y2!B426`GOz{lypE&M2Gkz~ zBgyC)?K~8*1R6%qa0cThf>xvN(io&)*Q z?z4g1R;lcB)#w1<>ugAs|EK!kd>L)2OL?KU z8UOjB@GFm^(cjddcUqPjIy<|d&92m!+@3Y)7qA7?-iS0Jpp7ankogX1UzqZcTc&g*Ig(N zmF=Bi{4DJ=Pvd?m;H;bMx?eI+xL=xhk!;(1ubaFtnGE+VnlQIUpnqz`a9ON=xCn$e zuJ9Lw0+$;u*91e%SR7$n54ZG1+WrU(mv|`p)xJr0Z}|0v^E}wqtwvVl8IfB zUUSAJAiTGz&6mi_!GJpE|-@c zX;zx6&=qoF?)Hbw9PBbrOpRJJ98}+TSI9gwz(SQZLWWhxD`jsp)PYT)YejZ}KQat2 zWLrV;lgk;|sNTO)4gkO{yGo|Ti*eUNT_wNvE__qnHym4d%3d{pICv_bsxOD@Nj!H1 zCsEBGA$!$RNC;s`3<8Q2!XX5Qz&BT^tdVk9lgp#zks%J0UYcr)QaRAB-pD33W~A(N zq$Wt(x=p+_65`=h6RP{wvPV3Hw(36$|2US@i+aGV3)op- zh13nIJT*%GfhKY-{*YYoAQUjL;Hvr$@(=aJd9%k(&%Hr*lAlw4iFkbIaYp3x#E=_s z@wN6RuDTI7MLh5SlRVdIxj$3er)C}N=|@xg{_%ig!)PQKL}o7?y{}J%|01umgd13< zR;Q`EZo(+`tG8~FGw}HHU**VP6++6;+HUt>{6%3ox#Po$_wCoz34W1YBKx@qCH^- zt{Ec_3x5I{m+?uUkNVDXAcg**&vf_`pBw%J%J^#07?}!xvU`kV_>*gH2T@qRnOrRj zb%#7G{0WFr(|j`giH}x!XX1Ow@F!XsvOfIDzB{B2f71U>sl%UKey7yoPjFQl5Chyx zg+D<;f4%Goe{$Sd$?zwO?~)zWOJk)Q{zP*Wz|#brLE)j;H+V4o$rob*>Yh>8+$9;bEf4Ao z*aleLRQQu*N;3S(Yj?}`c_TF|O=uMfY*_Gx=c@2MvW59L%$ky$QT4n>UfXK<1fzJB z;wi2CyV1!4L?Usu7C$3TsCDs`-G1_&{mJiun`k~&HJP8%EMsiY?fN5X!0p*B5~trQzq8`i_hBcuai-kw zo-DMl6Xru+q>tJ{^|y)gUg4Ho`v8+wk&?$Mr&>#kaq@Z=!R~qnleE)2~?Z+#S>&pQx2CWl-n~wjtEpSZ;QHM zqMR@GFUS42jrMzLdaxcJ->uBY7rw7EYicpt^@&E4sVj=l(9M>hTI}0*IOz zARD_22!cGX(=m*Hmd{c{rU31Is2-Yvi^{yj^HZ?n zy>|yyc&hA^Tzsq@q55P**_$d)vkhaHq&XOsIQ&bdg1NU;eK=K?mDYeKNpcrgcWq+_ zBbUk)>mNHnD@C=RCR?_sMR&mMi-mm^(Qt3;=C~M)yE;>$RbM+xT|W&1g{5ldG#Ra| z-ek;j!6(>g%yJ=;2D=l^oHA_D45jpPY@pT*yjw(rFc6rLO*LhFR@q#a6UZGw&-Mlry8sHlJ zh-{g;-^c|cYFk015Iq4yYpp7NR31NYHp)630MDSnyqWKdmt(6DntQ0D3rCwqSr^+~ z0~p*$%Dtt$Im5D#NF~YphvGe0i8CLS&8&55)uVD+{+P!>_qM^Z&*#g=S>*7jKR+h# z@=o8NeA5BTH@^pN)Rsh-={zIlYS|2VUeTD(z$$9vZ2lHmTHg)^7EtrrsyaR{i?YY> zr~CAd06jZY-{)`zul^3@5Oe09$K|=99X|Rw0z==cs{SPh(0O<43C&3!I#aWr;ki8C z^)~BpX8%(GurV-?ez+z7lq3%e^X!MW8#;Ox^#a45BnWhSOzi_J7*h*=e2q>?fT?%Hf?I^DCV-`Tske zos!mBNO=yMS)?4^+1r1mvnKy%JBtZ^aJJlsyX&2E(&x_~Dhxu$VUlxSP zI-vfkE{POf;^g`ADVH}8Q*Ecfr9H0nI@;#7C)hs|ZIkXXZkdx!E&*d~Quwp!X?Zkj zBCcjkb$G@IGB3C?QlkFyjFiodGcN#`zPPDrr(p25L@5yrZ%}*2GxB&H!QN{&Ho%TkpYR|LaHqTW@Es#GTZtX80`@cOWixApDJtsf1rmDX_FX>kQspn-}M{0v01wN=> zq3R?c-n)7)(z<0T_MOg}rrK_j?KFkuA51=sgw1lyOa2sAv$BGe=Z`9ojA>I5&B^JuQuwp(0*V_2iVi9QUm(|EcxGH_49$X|l zH~vN|YAp_>I=E23V(qppl0}&sVnyx(UVuOrbm)i|Wee}Ues#}_@+50@ zV%>}KJu5JO3ZucQc}ryXz;eFVs!x}I5&NaOW+`f~QuCLh8(*sROXb-;YPW&U83Bxj zCBR<3Px+8MPv8{iVIV%I#Hl4F*3cbTGYl>>jtW`7Lzl^(kuP=h6O%!*B=OWT-23W@ ze9-dx#<)VB-gU#ikBEt|x-Sw@J1f6N`<;EA7YP1sf<#Kh`N-%;Ej%3|RSq92Uk1bUuxJq8p z;qWjaD1y*zIx2{tx14+=n5ZBTynUvotdh-xZd4GpVwHS02XWq^rN;XZD0Tq5rxLM{ z4RxZ&|0xG&kDW>q17mR3Dr>bY3LZcLF>G|T9CN0k z0;;VcT$Zes{Tttx=HDK-A5Sa@2P~SdX}(6@TKOn8I!O?c6QDW}I(sKF!Q=N;By&58+AF|+m5=0ib{xUQLw+W%`~x<53eo})g?N{wHai0XE$?TRL@61 z7r+)m)hGejK2kVJ5a0F$Y!l^dkLZnrL(Zf4MGI6KLe8Qm_EZD zW7)n6r*0+$Ty--O_N(#;W7l+Uj9K@|pc4?^dxcvFu4H&tO;L!qUfSk;;<1XU@`mH)9AI))xjsmp)@ zsq|LxGLsF372rl{vmh!?cJ>E8n5f`%!u&%YP7w4@tOsq-c3)xzV6%3w;HNO%>wLHj z^M*?;0;Bq9)aFGP6{KWDUYYnW*{Ns;vULT55l_qmCk{B|z*i^#OGY&z!kY^KfG2zH zVU+%qBT@Rze@f|3GBg0p7ItQ;H)iU)0mA_Wru+)sY4Q!-X+G9~qGt@C?D382jdiXM z0f+yPlUeSA^KhRNI=L8EXqjbseg2Fl@OXDH|c z@t}sho71ReLwD`aGWCF9qjG}dx@-4A{ZT!zGo%%SulqdIE}rHceM%5cF`;Sp+dp_* zLx1S$A6$JWU+x0NdgQxZH!m% zt-`2t_>-D7@WD;>^_bsRq3+vl_9)bsqhK4km7qc5mZow%{Fk_j z?(A~wpZhG}yzaA6bSHdJ?e~Np#4l&Z6rkPH!LA- zqClsC^vT4uyDHbb!^E`)h?Qnrvu9;)@$Zry0sz8%;2gOo2vqVv%ml$D(9+!6R{oM= zGzEZ`s;mxcgMi7^;pjQudRNNaV5C~i#-%G|2b;JZoigM81t~t&yVLco;jb8FwPH2g zC)2tp<%3Gw5ReFM@kOY_c6Zw^9w^tFar%Kuc{85rqwbXHSGqUjcfIxL>E4W!>A&Sb z0UcxgyxHo1YW*(!ch-;2RWYs|^uo&-2YU!JenfrxpDx}N8p5RcB=)BJBu-mS`Xv5$ z)>8Y>##(AE_006OjH-7&%dvggQ~m0NmqSgJm<)~CKfWzIA-%z!0<8A?2 z_0qR-dmOVanenF1@FSd8h7RY|Yd7z>zx;4SAsc0{OBGqCYiFRgFIx>; z8OqPzm&#k8%ELnHyxHrMUp0CBstF=iT${@J$ye3+@5(!^4eG;pkE9?64g>^Pa15E$ zTMOW3(?CHkbW1p{&fO?4O=`*2RVUemkjAHL$&E8wa@#h_!b+&eq2UNPy;?o)7d~@< z&1q2<;RitB-Y`|lcL93=I)HSAvYh5uV+C<>#kOv!F-LVhjsfm-Xu$}Oge6vgdJnp- zzs8+d{U32Bw3{D*xrG+J=YU>t7Q5d0$btXuJPY;dCRudKFP7(aO=ogsOZ>(Zt*rqa z{Gy%wxmo{IgWd;YX1==Wefej2EZz3LT-2c&E=e(&d+C{!%KOfAyg5CbTJ5S7QrRYe`Yr%hI3QM|cVY~w zU$b_~Z<|y-im$l-h4mF6sZTpuE&3QkaP!xw?>^=b5{-7rW30ANn*wf*K)3%V<^aI3 zezNWW$w>b~o%zO3APoIpP5(r;2OsKRpU7*=H{JnHvE+U%gp7I@e@wd1bsOu{t^SDe zh1yrifl?!P%kunxYX2HZ--kF&@O`Le?Uv0n=MwkIe<{v4Oz_ReNJFyY64C5H$0zCo$3n)8(`4%C|W zH@=eVNPW9Rbzuwe!R_v3l^Q%%h5Mw$u`j`4~pX^pyrAvX+c!%(2S9;U^ z2vSMh)9+YM3sQ~5q(1N8oYhcPg;bHeUuUCvkI8h)CGCXjuz1H1Il_-$Bra)+hquh^ zxaj8Vh-#ITMnX8LGor|6pkI6p&IC=cOt@5o3A}a(hnyB5U7_iKw<5fqq~D?=;#pn2 z6-cWX8M8pyb%aKLsmEKve-3QRAbAGWnv;PDJAhR5UqzywmxVyIk}ym2E}@bTbSi;= zkPikGz5VmeGYH3+w-#2UGl<%ZtHI=iCSl}T_(>pd+c*^j*@=1KI5d|s6Fp4*Ms0c@ zNdAuElAFnr!Dyv+r)A`+nGhO4s|jk4J01goc*TQC;L6UPjvwP@EO!~g?>&y65tCKN z_g%BxEZkoxHN-Dtalv`4z9NTB10I6@ndu^;D^k=Wcz ztv*Kns=zhJodHd_ckc#~a4)P;G^Fc7p6b6o#-p7%0xKhWSKi*c>Xuu_jIFL&UR8Np zO!z9IVz9pg4-dGOBV!)bA&}p+5@KyyF<>9vG!w4yU{5n@BzY@zc!@s55MZdx+mSlI zMNpbGN}@C8tuv)R zse_E76X_`fSf&#F!by#Am)`cTw{_Ca^3HSx!4>_$xs#;CGk zx|+exo5`avQ!@&fcQV?v4Br4n^eeEPo(f86!A<~F7#$T@c5vLm#t!L4hU0K|Tj8{t z&BXb~H84uhL4=R3!#U(t)~}5PxSvqTU<&t8yQ}G8@AO3&+d8!i!stI1CzA}f3^3LB zqx2`sfxQ6`UgoV#ZVrp%gH9{h{YdVGiabByM-X^|CvJ#aFODNQa=1uqC201{&)tE9 z(s&knY2Mq$b(AioMvW&ZzCm*j0|Y6Jp(l@rI&g`dd7_Ns(vOoN8ypaA?uF@RrDS>c zIK`zoHc&|#2@bF)D%I~o`OVHFa)svS=%~Cc2B*k+*0X@d{5Qmb$gVVUPk4rjjC6U; zW;lMZSV8au;5fB_w@w=kj-8EkU$P5-pvchcYiNqIc`GFxwNk>-v0rP8zxiK7q&8Qz z+mUO8pp0k6#p7<_#NidR!bQmLZd$6V&xU(LovpvHk6s8O&k%*}PZl9$NA2^z(bCch z-^iF;pzU0Y6?tT}TKSDEFEtVyf_lonAh7`*t6#Om22rT9K~dyHNVuHT77JLt=$`(<6gAaQlpcd{ffeV#_z zfBR0J7g%84Kll#1{A0{}*YD-ldX*&h4@`Yn;o<0`!`Of@Uid*aQ3HOE-O|fZaFkMA zN|kG!=c=l^*2(}{VDx|RgB*pB-e2U~%`>1lgI>lQI}fXJ#{ozz=c<_pAV!_5h8zzG z7)&@0%I@Y@p&EKnh8UJT$|D!q?$gp+aE>3z)ZyM?F=NXW<%k=%8#zq3DC2O3?3hx_)c6^F3%Ur|>rwmYcK zKgy}cKMLIf?FU&y4`4JPzEg4RgAtw6&ePmsY#<==WJ1*OrV=LDb`$RdnG@RBEv+>Z zhS-0wKAEt}{?qZ(Kg6MUh5ZJeJj^2}5&SemiUDrHjoWdBcr;7hWZ9?N z(_f$^KolEoE1qFB%x5wU2JeibOna+5L->Ep7n* z0v3<@K>D%aJXL*bPCzBRwzxtwJ5Z_Z2$E;4j*ZSwje9X!eeJWxNCD6hG!bK^>x1!= z8Y_RkhHCAzW7*>uC!5@=&i2_yg-y&0t^WVAy6yuxPK82tLF!gplVMLZ!Q3GO1PD&~ z!0hC=JEmu#+dO_t)wqCNnVtb=kqQ5fu=R~pafaPIJr~ECH=U(wK!)8EF3)cX+TGOu z-H)#3M>m-f_qM$I=c&uH?X%lYf*vt;Dq)Nd*aQbC$ODwpaL17%00?61`k=@5Nj7%m zDrJZ5kB@)H=M7f+NcMvdoB_n-(L^29;L#%Ywgsfm-4L1Mi-qy4BQxMfIx;ebu%6#W zniK(p!lVSLG0R6(1`cL4Fe)BUBYMfB&qw6WXc(lK??#4LN1!A~&~F$ScVm2NV?u-Y zjhqW(fVSf3X!y2xcrb7*1_DG1tPX)?G&B-*K_`ynXnpGQUbwXFdRydcNt-6JNMiQ( zj*f>x3&QRTZTZgBk|fB#e8A9Kavuuh#jzB2ce_TiDn@ zG|Y#eZRY2<z^rdziEg0C6lm)5w?I4NP^-o{cC-9%z>Rl2k@+x=z&Rm(5NW4Q z$+6$Dj#aT-tk6Q$FV`;5qP-ec0igXaxi-z>AIY_;^|Lb9jzX_=N3MN&Y~vn-Cy51| z&F&B0VldvIhK3{a?DHDeGN;^&ldB_YQ897IjTyyC^#^7krf5-Y&5CJp7SXZ;-Q>I@7MXdk{g2%rA9W zJNqAbh;*h6%fao`Tx`OhX{XqY)KTs2)y8+FzBtmdo0K;JjlYB4JH4XT{bj~^9qcQt zO^M|l?2vUv-TPn}HFw5s27aK5kTahN&sQ#^6=1_##4%R8#g0c03&2ioEpjOI*d3cljBLs^It*YbTcKl`-0wv$~4)%**O zwogb|c|LlyJpyn>bhew|QP$ZWgEgAd*^YU~Kwqb`-Jf~{Jd$8dQKOjg{q~YN&VE)PX`F~FE`Q^|)+#+TI6+*gosQ8lxN9Z|=1vHP&{(|aITr~%i=c02Me zI}(g+R%^Q0+O@)s@stmK^HLhU#W+>n;!fJQ{O0`vgXL+c6J!6t1U2nD1?5s}x^79{UmsBn?Byf>I zpccBABz#>6`r~n+TIQ+&j(sd1KSM}UaVb=;5u<` zc3hobVTZhjtQ0%*)(U%YlJftb9!{u!I7;-kmswXNUhi#>wyeJD)RXLir72n^1YQH3 zbOe6tq(dz^$u35P_fE1)5n~C85kL>df(FYBzabPk0p%g&0=9LtK6Yt;7kTQPV!U&Z zlcD`X1L^?L6JtjD0{FuLa0cnH!I<97rX-(C8bx~q>}0T0{M`BY!^v6ljpJ=52w z)10k+fizaDR{iWDefIr}x`329*1pNNC_e(SfabZRJ2Z0<>G{!&G*ey1bz7XOxl=j) z?Pes?-|uI)s;JuFHfi{wKhrW{d4p!yJn8cK)`s@C+h^B*=417De5TVhI_|*rk&%U+ zj}hO3G<~UyBD}OQW3wAlz57^w+}|#5rK@>e#S{<8MrXDz13gJcnuEFcE!Fj8yScsL z?TVP9V<)AS72$*G-47a;& zr`XpXgJd2OHyM{iALFH<4KU;wU!_5dNvxZ={ZtS)-i2$`>;d*r@8Y!zCO6Mn8`a9w z>@r~gPfxQ?z^`@#aXN>os|MOb&Nuf!Vr~+|c!Hh7d!RRY?MvPRQwhm?pqmgU%3)nj zGl8$~WbzRn$W(cQ(3v%=#~@x0)to{0xvBf1|48>ke}nrWoIK-xXbL9phbIoUkItSw z5m@=IFnpBw)%u6*yw)+y65z74?voYT)h_yAIjixboB@NeYWNAb9**3rmJGI2p3?UX zwmY}}824}lj21p`1z)njNze?LpEjq448hvotF9bkw?|Nei9_tt6X!n)D#1?=FxKnj%$9F z-7ej@#q^^s`cbn~_hZ{F*@Z3i?Fv~&e={j1Hf2vj*%fEmdF2LV)~4~VU<9eLLW=E$ zAzp>z2hXx;576vveKV*y+wOwV{qb!3bnmU()ta;Iaz6K+ZAbYmILAD@pJVsq?_176 z$U8izo?~Cg=YezVHhh+!YoCOG7T26>kHljWe;uP*oQM7Twd!-8eP2<{EdZ26v(9|H zIW3)yOqd!@>^aZ=$nt)gtxo7-YowK;ph_F+er?uzG`M_%Ur*26S_vsrt>}|iY-Oqs z`s8W7AW~PVao;>`)1m3A=RV3YbXCa_$T>|{(a8tk0^^0LW$#7`By_p3#c!wo!w{Bh z&+eRN#x*J;Yv-vs{qrQ39AQyQj^a6?^J&xorG$WSTFWV{AsBd41mX}B_|%ZAjDp!= z^rT}H%rqs4&x2~lxuIGx$SoY{tD$}CSTV1!LTgjS(HuF!cz`yG;`$wBAQ<2!Yb0Vt za!a7!UMi!RA^>=VAh_Mm&hP0_t&g$8qJg7UWxX1S73iMxt9XHeJ|BKu*pGiTQb47+ z!`i|f9fkwurU@;6-D~s~jCZY?W>i_d75o>?Xy*Z+d!+PJHMHsoGXk1nZhoxM zNQD}9$f*mM`!lZAzQ~?HxF`0oTWOmw8t1w5R(!0QXz5m|!^$D69*ockEAkZ`qLE7mgRh2Prz?vViH?X(Wb_@l-vu8J~TGodwc1->e>rLu-gi&DUfm$D*Hj3);x~I|c zOvKThj$u$ZsYgtqq#o;}@f_=U4Zq*gKdB?xd&BGj>CE$_t2@nP2X70sn$pnH0rH4oaCFZl_IvFNq>hqR#Y60r^38?c`Ki<*ld2xL6c`iABA03$QFo~( zEgN5EUjvJ-v6tCr!=J*|%K+V#@?LJA9G?H?>mD$2Vi5-pHqN=+zS6ZBqwb^Ly$;~q zaukBy(Yu%1JJHJ0E9??HKD@#{8jUr&(vBZHQD22X>X&)P86Y=Kn-Uqr1PZ(XI4Ge8 z<4-e-f}|0uXg4?NO1l?uDD1z4rlU1=XjS0DCOcByy%o9dXW>=XFB@hUsc^vPG* zHwE18G#PI1if>3ME|4bLH6zJ4!D(}UsnQYlHI*w_PJ2Bf>rwyGlzAvsj$9cZZdmXR zmQ9F}ojs+%8>(z*fwMrhs9Qf~!{?4*}8waN!ZAoD57^oH7c{$()UcSQ3D* z+zUTi`FIPVz22T!E3@0Pfc~tx1Hmm^|L`09@pM?;7SX2op6;QD`ncp1?q zTI3teK=kam*YOPG80hmOmV+*6H#P*?mUF_Wm~Y|$JHOI*z0UH|!ws{%$igfJZn!>1 z&x_YlJPWeM2_u1R_;f+PlY4_xRkhbMigkRcI@iZ@ki62<7pfA3>(m;^iss-J;LLh_ zhX=?lOTUnRv>FNRIsk#_5Mq=pW@3uMC=dTnc#Gf(;Nk-+@Z)~~lT&S}2Ox#0G<8uG zxX0)9TcA7G8a+XC6Y*VZsc^FOriHq-5$b}%)Cdsg1qH!kij23o>931J8O0MT;rq?8 zpcm5yD;w>=3^UE6fFvLv!jT^<5ya0z0J>-x$`?L}kVZI& z)YZ+wu7YmN%~3CJp*Nt`q%G9Sxem(%(yb7C*GmNtVBxY@b0XtX{)xt-d_-c1&`l}? z*CsRH_*E3=#5&fEm`}YXtQ;;jreB$->J3PBHUQKydL0U=|I5)wON@{^7a9(+Ty@Ku zoTil}lxAbLAUG(wjhi}`OYZ*8juv7%Vnxy1XbA)n`#n$)K^)Bhwkly;BdyL8YmDud zX~t84@f1WGX@Y}CG8Qes=8U}Hi?!rHDE-JB3C)C-y&I41{iEl$-s-)7`La8dM_bMW zzu#5Ci{PP@*JWiXlbIqGf7SWw_DR z0qihn<5QV|loJ+VbhPv~>{AgfO-WMFWIpyG@kg|ghJ0E?l8>k@T0{~LfKH3$;p2^Q zKr~Wd*HisNnAesw} z$rFQd;|O-(Om!q2OF~sx?V6dC-aC#ltboM%AR!F~3HrDL_^=Is0H4%Z$fmRT!&Aw0 zrgF?g)Yj`vXjG9ags7`&cB@;0@q`WhT9_&D9=wxZXKA!D-XBEVR~QO%F5Hd$;1o1r zRrLnp79ddqEQ4$4^Jn=}2SgcoC_Q;FEmqGLK!6a0kM|qrZ-edcoh)h*b3ec(SAH2JumhPKiWj$LwScGmIGiCXbCv$ya_wdzJV7L82o%cJv*>?21Jp? z118l=46{d5QQ#07ctIzriJ1396gI+95tKYgp}Ve?N`3^VR$C@(9j4<)N94k6P;*!} zV8@4aTR=5H3VZ8*G%JVC463C8GH_#2>cO3YC-y0i7(LqHeW8BB(-&-~w!Q03?cTxP zZayw?V72=EdU;o1HHNOE{8fV*u z7xU^H( z7l~S08Vf;I3Jx7H5N{aUM<8?UrUp78_=50kh6v~DQg9!mGPk;ZMB@?Dr`Qn~V;G17 zk%L!?^7*r|LXO310@yUz2%ZpU6g_Di*T=5|yC;xFR7s-po`Kz~bMdPSe-YsZ@vYyj zKog7s&_>);2AGSefbwEz7=u?dFdvQtR0h2R?jVDEIuY-SK?GG?qWDWY>vBwBae@I?JC(P>2~2GeJi@!%-Rj7=8wyeoff9ViP67iA&wO zapuQ{QLW})Yp#TmZQa=G%vOe{W}dp^dh-|KNp<@TW?SFd8QU>!LbE4T)eUBs%$1Kq z!-V_U-h^LvTf31N+timgn9oC3VAce49wm7my)E#L#55?$8#&Qz-LwFp0B??hJ0_a1 z7w?OqF<=vi)Z|tplQ51alddPQ&#)Fe)Y#8p6zqfGIm8TS7ElV4%d{FP7vDXaHUYUFidZ>Rw&AHk1x7@FGzrpt68!zi;p*tkddZ#*=E7DYL z`?wf&;7hYZ%kBTq=0)pZJuj?8lXZ5Abo7Y^9#P%^W?bvH?UU9Bb`$Zve=GkMFVV3v(CfoK82fj#1~EXBZ#R=X$uk#21-`&ui3iS5`#a4kTpK?` zfgxx4Sf3JlYg&D$*%xx>AMZ5Vch^L>s*s8+}?i>xAIO3ZRpThNwV;1ire z$H9s&bsUknjVhXqS5EsN_Eg;@vx<|bzRT=^Nql&h`6xVUT{p?3Pt4_$%o~G8FHvMg zGzVBzB&(6dV4dt#w-uW+scmEc9ud^R*Odby+LoAV6hKF)0KiTwDQOS~V21j3$zrVd z9PZ*qO~4zJfcQ}c;D8m3G!`0)!p(T>WbhPXtENLtuu)xhxA{JR)PQ@y4u3;keUI6< zW7Tx}EYZX@fL3WZ1wa$>&p%UVstxy;=fpL-QCV-OH8Xks-h!{bh!mmiOtX&xM)Nc% z0=%Ur&NOYLX3Q}2hem`0`gQ>90}#RGXG5`|i9dVf0pkD&r?9{PzxkQf-Uqk}gbHTb*74*r!h_`A;FU;XajjWvIC@FPbJ zzWvz2zjg-S?hO9*?+#x2hu^$HY3W*c*`Y0a^lsnh4E~NY_`csAeET0ByymFE|8eZ# zjn3fza0YMu-NBdr;bm_)YH%n&9R23sID>C>2LI-F2VeS!cl(i}2H$w>;QO7yH#&pw z|J}iB{_wI-D{ubIHyu0px6a_3oWZ~S-NC2+k!8=EWnPgnmC+kCG-g;H+{o12d0Wkx z1(fJ*wP=?4!0ENsREWs}7Pw6R^5YlWNipHzr3`=$JR!!eU4X1z1nm%FIVs&WQ}ry{ zsY=VB`2@c)8_UdAI#_y{d7JUI8l%jc@Yt@P3-Pr|FE_j9RKJCrN6P@??S2k&M?=GM zovp@{o9|w|>tpQ=2k7~f@3ZxD{&L@En>YjMq?Br2p&p29JA3x(rbA59iY3|s$TAF*yT(fg?E56lpP3l@fB_^Qas?6^3 z-!H7Ede<*%NR^qJiJ-cqTQrIVp5GA`BIuh+nPcffhy}uhrO%~;%eBHXfyg%nI)-#S&t8SVM3nXlG9>AXveNVXq49&ZpbIh(xn9t~C%YO!< zbtDmRDyVLH#tgvmwmpdt%A@&oeuB zpe3q5rE3%rA(GoE{uHo|sLGLomtoLBtsDaf_HPL;AvM10HqJB8GB{4#YEzrNYGucp zs?Ax<)PZ(`3(VsOL9Kzb1QwbhN{akx7#{xx!yFnSmgG^ACz|0fY%FSor~5NBk0v(D zpD`cyt_=&#_qij;{3Ao$TedtYy%lynHy0%gIW&BBhkocQi%frbTpR?9ALR$r-Wm7cBIn!XzF_wC%&b-i7g#~{ z_ZQ4mU)417xC#NPQq(6em^qz5^wvH^jGS~j$PGu=3$c~^czPq_5Xzd=&y|Y+nMptM zz=3`SMUh-c}+xOMs5-^a7+wk|efjAkaram`GOkW3vzy@{9@)0WOPF+T1^bGTI- zGCtnzfng%(ktfu_rDk927^2@$+pY?jAiC2Ap0I)rd7ArE;FxUHz(g3ZE~&3Xrp7y87}} z^VHnBhxbI;0lR(%=x42sKMlW-QL8i58LP~}{~PtNlO1Nn&fixL!}Q^Z0oo8AT13J< zL#PSJZCXT9Uo0EF`QGt5mcx~hWf+iwLAWKky(%U*Z~bee!{4;YI=u;^)DU#5VWXr zhK)N!;1>k=&JRzhEZT#mcM_`a>t??WKP1^PUX+T0U&iMSW)1gP#l_9^dLGk8*6GWvi~bP9y%j3kQb zddH1m9&TNPOEdHjr;XnWX{Xa3I!!?HqQnRAiiby?x^^u#Zk2jyt>$PASO@D#!DtXZGGz-V1`twMQ^}c>H4~hH$cCm+8hf@Gboi1r@}&x6RXvO@0t_iW|G+iA1L1K=0(1c z+Y}h8sh{6W45$aTo43SGt8}Wwy=PA9_r?LOsyaN`M_+ti;37dEkdA*K8_`l>5Sq~1 z@6*zMMuLgAH?qJ7-QZW>GY3UlYqhi%T1SUlLtx*eb&r3TIhjkM^_b+A0WRWAcv6-` ztJ;TRj#u;lVGa%8Esf+j-a@fj`2jeXy>p?S0aRU~oUSHpO3ap;1;?eZHLne?-|Kzs zgMX>f?}HikFLmqtW^Q~HxlIC0v!~uSvx?nyLLZozVM|I<18^1EIu_<4S6CnQVsAWWE2JKp1kYIa&fZ6W2pE{);+-8u<2qcXr~hlerN2hntLpkz5<>ZITBRpT^NAf;|_`Jt&xfqO(0$b#5?Q`O0UpyYrD*rOs$D zNA!Hwt#eF$Hy`R2qfvWhlXh=6m_;5q=@lQF{tgSMsslg@;dl&|tRzOf1f?Cld?hf6 z#&2+sVVm}skImzJPlNVGMg!m;?B>h|4dW%%?o%j>zg~CAr>55f4)A5Wm{dp(Q19UH}6s@F|lLbb^4X3YOoE+eKUYaJN^7Q{0d%f5zPe)8VhpA0z5~ zfQa0+@cpHUdI3Cq-2m6*Fn>=Cxj@4AhTe`JMM>kD$it(Nu@e=! zKRxz_Df|Vwp1l`&nnmH7lwgQebsZbcG)B}Lvfn&4uEOOdJ+dFD%M+@8KUDIzsPFch z0pIi&!Us;Z{nl)M`T-2XP^Dhj#NbC4!U2!nq#D$CVnJ;2{!7sU3N6h`CW?%zP@ihj z9X?+y*xrQev5n=);P!li4-uF_y_Hm`5wAX>s2(J}m?_~kwv|N4A>=$Vr=QzAQ zrgcnfKz?d?vG+*px*Z42HlDQVMOZCQIQlH-_=Ji-WcEud=UaQ75`1ZvY*FVNGK;dF zWQq2$1^qAw$g=c+sySqy7Voxu6W)=`5ovB+07$PtnJY|3S7X07TWd!aY>g#00#I*r zCi145@jakBgg@V#Z3?)Q$;13f!~6-uZqynfXpTH+h#15C@lF=VmbzcQ*Y~gL`h&T~ z*rg8q01V-cx(di-dOuv=&=|l0Ny9nTFxo|72DfVAuU*&d1|# z|2BsgZ(T`#Aa~{wK+ckI3V2|X6buQPq#&iUYr{1m6Kj%!Hf@udgtU=937hM~?FO;g zX`#_!aTnEQ(Y7DoC@YnnK)Lfv!3T#~U9b?sRDz;ZmO#)m6ah!50h zKbu!&AJ96ig1Zz8lctpzaUU6CZnE0^v)SE)=Py4)|8>0z{$dWxsN4@}sLO4UlSj2R*YzSUhQh&`8Db*!gyQ zv2)h#;u523)(2t%ki~lp(aK1hS_RTV^HZs{ty4Qytw)Sco<`cEvwe6jX%AK46&Lgm zUDrUc^>qyr8qgG2nf>Ly&$J~_6z7M<{1jxe=HX!9-g=y3pXP~k(yUb+7>O@5He z%gmkMs(YhFKJDF}j~1E6YieDzC1aWEjDuwcnuCysZeAcwmD~V!g+#_XN;xhGXqUh&on5FvrL|4y@GIh02bo3mU zr5^K%G2K4%;IPw6l-&TN0U$F3B zhJ2G{Ec1%lU{V>PQQ4;GOpg-Rn_@UAkC#nxQ9n=~92UAWP><1r6XJm-2|NvVXcHO) zNHQf zV!`hzb<_3)Ua;OF~d6fs-0gn7+;hHL?5v6`v%0>I0Fv` zMEB(K3NR-++ci(&@NZLZ1jJRw7pi*@cgojlY*3tmdbL4uenGQ(bel1i4c#a_E798C z#4Z-A!gk_vG@98?pR-rmi9jdb`+$piIGcF*HC9Jf7!)QkU#QjDB~LkoiRzgzYS8-A zd_nu3l=d203}`R9#PBrNr~{pFr!P|eJdxv>7ORHl3Hn+&y|XA#59En{P%B#4S-1H% zPta%W3vE*Jbnt}lJqU}T=3D{)Ot0LUoT19wiylb_91u@{9b>pM3k4#vS(F=+{jm9P zqujhxASSh@zA5~EbZH*l<~}-ct-R3ctY&o-mkhyf z>hy*l6Yfn0V^R~wicZSYRXiN?aRRt|YF1a#iQ@OwUByLM{+w>O;x?!;-Nbl2Hg*$d zy7dCxq5F+`r*#L)gwRsm#qoH2*InF%dRG^U6A+fFrcmS?nW2xOUmh`qfZJ&1{0kS0 zo~m_E@ep0IXsIt^gu^2MkZAa00?H#c)YbPCgNtqYKciA}I7EdvCaz8+vnX!!gb5ogbseLVG&v>K?bFlI^#*ew-f4spOyq_6A)= z&FC%iY)&l)*et$y{S@FfJ8>B7rTn!Fe?+wzDqXt?1+^?)#$PM(hoy^D!&os&4L?qt zWQuVVnYcIus=J3vvAi@lTPMfmx%G1|CGNLhj*Uo)5CBaW@)n z`V7q$t3{UsR6MF0`-rPLUn0>F$$n_Nq(#VhaD_E6UNHpcKX8V4!&4Tgwp}YOA-&M!I+2CbY+s3c|MMZ@NqmyYLq&cV zg5a{z4h?yZ>y{4{8HR5Ucru6-giW(ieN-e)?_P-v&~|6Rupp5P3&3^zdsf0iA+`|N z>p*;`k~PECQRmsB@RBBt5?W})2xLtgIVK~dx*eXm7TAg-+S3@R^-#XUOFyFa;I3^p zQ}cMyH*T8i?0v-XqKB9Zrj)%0VgrW-U9TQKUYz2qsf=XoK3?==H5i&S$?bH4=oP#5 z1-yT~y8HwXB2TC(Cy0*S@Od#gIN|`d68gOM9~$_=TK+_FA7n z#eTvMza{3V+lGs_1&xnuUK{xT)Db}K2+K=nxwW5AuMHPnPYki4;6wulOw;aI8=g?K zHfcHH4n{W{&1-;7MXx(}slt;4f*PwyCy9y8*7~QDL~pLO(QK`UoQ$=uch>sWld;y{ z!Lf`e7!f{7c+2ovvMZY{HaU>)BzZt6Ofevt!18mHCM&N}P7z;47CP1u2!$8gJQWLF z9R3a-zHO6*2IAqUaOsnJ#9h&&2gf0Rh6cqrktJ@Sj^4_q_zoBqe4&?n8~t5>oOJgz)CN_>IA|9++z5L^1rCMpcRawev= zK^;63r1noL`z$f}oTcy%kDG~`jz6_;b$gkUiLlZ9Max&*&@9!wN(#%g$&u|w#N_UF zB4QriqjB*AXNmIGvmgNt{lgU;9tOAZGiO7D^>m#2@NBTno>u+O5p9{g@Ej2|-I{*H zG|@NrgXf4&2_KPZUEryN_6#CD$9ZfJ?BXNUaE|Dcy9j`i*gUocL_?107fCZVnC3LN z0G?0LU?)}?2HeR+oB=ZUVV&5OaELHWPW z6Q_9^|D{g;i|Ak6@Xcmi+2l95zp%QEA7Qj7>BqyMYy&n_c6GyMd=6l^Je;(74X{zD^AY|**o(nYk+y253`kSX-zEE^^TkO3sj00z@t`~tm z)`)OhRdx|{iq@&+7iny``)G{~|84ZK*f65pN3h}7u$ynV1Q_6ky8A9^hWAcCgx4bP z*sjGd;Jtg9(E{EZuBh?e%5bx94{)LEBL|OZW|x15qC$HE9!`(b{)r5~J@vcvP|glk zDX>fQpu~IA)pcXV2_5Nn*FNwP{v5_1vBdOc;alT#Y=E5JKJpm;l+MH%TB1G}E2g&^ z0niI$?*NIm5~zDXcfbc&0lmuq4&nXs{~Y0c%t3fx|KB3KkF|jC{&IzQi?Hvlzlzb# zF|RYj%-xk&He>F7ai!?avLaLZRo|;bkO{<#?gh#rq=x#!RZg9qSBaZWt8@qh+`hy> z;F5*$IpGo^3h~TfzzQ4=7mE*{15gIHv8I5hu7k*fCkuGyQvRO49%%St_4L&ui|%1@ z2f;^$s=r#~9=GR!Yv*M{?aHqDXGqQg1}?R!4S33cL&UfF)z}-$pG{E7*NQbQL;XyZ zehmoR<#hwD5$_tt*t(SQ!Z3YAR$8G%igfTn>JDGZ5`S?Aufx)Z#B!L?%^9n zwV@r-zwQ0>ZFz?)pJYHkr%;*ol*s4}&HijE8#OMr*(RO@dQryARoyiIg( zyCB8~`9X|7i%KY=J|U5azRBrz%xxkAW{8xw*4=TNm|y^YH~t+wkoD^1+r{ZfK`eGQ zQeWLJZl)H;*gHhe9BmaKfn-%o#)x`+hHlZRo$7@%J7u67=u!6SVlmNT6Wq^!-0)Cr0VG+c z_7#h1-S?Jb@~!OB$2ob}%I@mjOhMHF*F2q6`lSMTRLY|u}T9ecC z#$+*AgkCH3J}T{Q;g94_clXGNcZ;jjT~^*shcAR1e>(Vzb*t|dDMoT*8AkNmdodF% zXu~~X05)Z2sTka@Snra35s<?tDGbozlaIrek7T3tUy=Sw0jzbqEb^RyEl;0N$mCVq@VPRPm?R|%LCYT~`%6f9B?+$-AqO0^|1Ih@a` z759ql!V(8}OpX#$lSPGrU0CYmK(@zU+B>T4*1}VbnhGBE=P^D3+sUb7v*+^|wenuk z`cHHOJ4kd?j6Qu&CVOOY41F{eL8}j{rgVK2h>rM~)1gb~$UV(<@0W@LT>yx4McG`b>*ya#i4A?-UZuD=Y!X#^ZUVjQL^Kv27X~+ zQ4z?%B;ivnK97#1k}14NAWZ|6Jo_+INdif5T>#GvbV1Mmi@+0s7E7!~(xXm;I28Uv zZh~8=1iA}K92YEx?3JN}ypGc#?FbZNR=OtB+&Fd)CqkHYcu#SwVbcd=0U_YP9}bAX z#qb5$qwB>Az%+K8FPOv$MnM4w_CM4{MJh>0y@Cz@cz_CSSx+EQ$)3sS#cBRHRPk!B zd1;PI9caH9<6*v^h!+Rz1)dlZBMyiv>3=Ag=ERL*JSz;E7KynOG)YGa@lb+4p1w%n z^{5T3QcP&djtiQMc_rv$+2pBVbgW{Us~{td-fhzE38Z16fQZHd-a>7LFNoQ}#Q;eV zt$+n>2R{`0U`^$CREpOC7r+l9`3!nYiT0=W^$L6etqcsZ1!S9pWl?n}mOdr2=vat* z%^#bKr+=Kd%|*m$SInREpoRA~l+3ZPMqYqnXKg%sZE!ZZHr!Xo#?*1w#>XQHPGZy5 z;o8J-Z6G}#haDD*P8CPNI(8U}6WwFLC?;Gnuc(r=t|5OH-x?oKxYjjowRH{E5*-gH zN!)puDOWyeVlYJ=e8cQMm>(NW1Mw&k{&dH2Pzu~pO@zNLhG4Lq3jTOp!`j#-nCiFC z0*r(83W~{Hho@k59VaO?E2n>Ud_1>b0$E%|{5**`Fdo<*X@v-QM+!|Wm;hC>Afl73 zhmU^f8^@)4F&CKqICKXV0xDR3s106cW~jm~W^67#UR-FZpfwXFLeaYm+_^++_d=?0 zP+D#`=wE^ziPz*;#p2Mb5L}JGQOa%3S~VU2j}IQ#s-=SG`gpZ#)B*r^i9UeF-Hl|2OkZI@D9Vdz7gM= zgdn^bK{(=iGm09I?*QZs=a=4$lKhB*1{n<985uZ=5LGI%O{TYQ)DDOQA?s1ji*)%( zj;|uYR*tVC(o1x5ydQ`Ou}g=-!33~{vE`z~iy^8foM(s^Rq9M}q34%!b;C^Pso^2*hL4!u|?PVf6A;OTKT_))K zWJQ^{#ptMdD$(C_w^v=KM8PP&H`WPw%@^?Y4F59-Wa`VmbIF|5hW*MWtvghgeTLV+3c& zK2omaJsGLd_aY>Ls=YfSz2$Pxy&iSO<6=-;h0A_~RJxUV?s3s6w(3=^YrXpDadBpx z^E=LwgPin)$ebPF>|-h#&@VtCp`@TJ@kE^7OnAEl@U8e{q!`jz7S67 zQuL}rC3a_p`bVX>j4If3fbvzS(m7giykL(0vg_xFuHnELKg|)HKqKZqgPE;TS3D!8 z#BSe;DSe{8eMSUwr*7lN(#n6}2Jo{HO54+s%}>^CE-0n1>mHa3W_(2P8Ju>a5Zc)` zmH|K%B*BI%al2NK1Dt^@yzca8!EC&+@hMR7-Rz3lYn&bQMuI1LQY;z8z=JfhMr1LG z$PUh>0abY3Gla&5CN_Mov%F}efnT8v*H_l~0OD%&n3U8ilZ-^Dlk$igxDOJrdE+Mr z;r6*e7O1I{l5&;VS;i(L;iVvh4#cY&#Yw3rCgQZjX_s68Qi$;wOt!PGWhZ3l63*#s zJ;ATD?X>awvZeDVn*2J1mrre5?rSwlqj$tDqg~uG`Y7BI&X5UQy*AWi^_$T&ey8&$ zKzzmr=nnM&$STJ%nd&|%DLb2x+HrG3oGieb4ln9YoCv3_;WsmfB{P#30&X^78GN;| zN$!imCK}a~c{w+EFWkp?^gx^>K*LC~3D6A82X}`3I6>Oz>It^y zuwC@3|K|LFQvd1sfgINJ<2q>~g(9_<=SRPa|JD4ktB#sq@qfL3jz+j$u9fo`QWKyU z_b8=A1d4Ehr`MkwjLVIi->m>Xzx#_&S2yzcK?!KNg$BevIC7&yH5>-?$XyAxfO>GA zIPBXnl_mlNvY%=oo3j-e`eJbaIF3anbEaWCFY~I&SEP4TMej#dT7rMl-_b`rm?PkC18=N-be3DU@2pRB9--tyyXhQz4yF;Z!v)O@CT>(sgE^dly_ zgbMHb1gX4G>N%#u!@t5*c)(3ewF%YS%M@45_l`$RGJtv}FBOA*)4rnAgBr_~>fELH zN{C#iI^l<}CR{Q{mq6>8IK<&SniIbirMN8qu~g)>enw+s9vXU6U3$;nP?vL6+DnjV zK*_o2C2>+TIeV%k8!BH9YMMWQ>*LSR`@vXjH&No+-fwa*O!TtQE}_*sl9#kaqkk(^oY&MT$>swW`-z%dA3&9 zx8Zm2YTV2?E!UzV{N)N=VY03OD(XK~_{poSc>Z&RUvveq)0_9uBQnO%x&}jxwLA%D z+MlbPYg7Fr^sEl+7Er_f4=u#Mbp-&w|4_l{vQ~{)mpV+nyP`;JI7oKCzN|Bi#o)$r>4GX@Ox>h-Fq_#;k_+k0&*Qnx^P{)LPZly?%cQdQi zj5ksPf%%4A^-X=04QBVe_yA?-^h=3X#s0wiVx7!aMbGdYPJUH%2q$iNRTLQuRo$y1 z*cm5`^cpZ-KwyZdIZya=$O_`}fQ5*rc=;_1M5>Bj1*~VC>az;0``69<$xG_RNuI#UIna;O*e+~4 zV)Rt?I$-7%x=8I^BL>FSIKMl-E*gWidqPc!9M^|az!2S(>bq97OD_Ek3U}S?rFa0` zUA0z>bWAB0l&O_#!P;3^roLY*deVfV<2o_H1G9)H*NG0Q*T+z?-=c~dfXsrQ-5@Uc z4X=0_KcTteuMMDscB+mai!lgn^8c>!jh~3J!tM7sC~}PbEL7FH0P*FgqAZNR=yJRO zPf&Rcs7Um=-=`vfL@g6~9b>}8k|r?_xyddm{jDzPy4&q?Dk`$eg`bM)o1(pH zYsWwk;@B6twoD=WqA5GE{Ysvr+)n+tQ*_Lkx{RaoUUD2e6%yx0s(?|Y)X-gGP_Qyo zg%bSUk(y2FJ+(`;Ze0_uhX{bI_ZHxYj_;(l?GinBJw@*p?XqWv>V<}E($Vp|#o6uF ze#|-1Sh8BvB7PvKoRf}p1zfZ>uDAO4QZf=7LiHY1J9di>9KrZZQNX93JQn!u&(5gmHs7;5rg2PbtX5oaqoTmgsL z2u6tt@DzAv4WHWj8Mx)TH-@^Lw?~{9cLZuTl(B(C9T=gU05M28;lKm!rq@$OfH>uI zal-FZS@5~&eB5(!oETOIlf@x)l;55Mq~)G-m8gLwf>Z4ZDfmMrd?5yVrpBmCN5=%z zHD8DoaeMFAh@tBIrC99QTdh9%QuK-|rRGd&jmp|9CIlQvp`*uh0bJ>T3oJkd%vKBb ziq6__(c{1$tf3o^3d^`}FQtYxb$|7 zyLh`BMX-3s6SQFi)kwM(LZ?uQ29DL?G8#B;2&ZV^7^w*Z$7SIn*f&NJU799f-xw)@ zeWQ~|;K&fdS3jYqeIu^*;Q7-xA}?bvdbAPI;Bh=)E{B~04E+Pud%x(G3@1y;+(Fv$ zypr!F=csA>#YO}SJO5kpc5La3Z;?09MbLs$k?lTLa| z+ck(CZLh>1C?({4C(g`q-~(Zt10SGEq+dx#gI4}SBHcaUtn#UP?mOpz|KmH+DaQc~ zP1@QcouP^jIbh|QL*g%|?1dnUOywwgt#bb1d}sx+AbF`2#6WLKGrLhO zT6~>^TipwnAAW=4S8srBsClFkzQ_K3MVj1^!C`TpVXQCvNt}<|3x0y#$hNvye-bAer*FV4!15eL>CO)4 zcL1*KoL>YHo|eNk#0O)^sf8=}C|@wHuNOM-HEP5WD4LXiq9z^@J^GHttPL-Zav{Z$ z#A!&pIsgaUaj~0#Ckdhue~f07@cn@>d~if`F$RV{K9wI422)F9v=2Ub!nZ?vAvU}h zw2x``s;Vpc1=8D*wc$`M#2+Flp!D{U+6ZpZB=u^N5l42?)+q4C!M8@_5i;+9I9J2*QI)tCc+hK4Z*wKs*79SoLHi9+k8bcQ0 zbS*R_jq$b^vej7?I|y2My=&GaRFuDA26r~32t46p5!C4TW-Fcd)e>o}3q%G+9!^w~ zTr6fqwHn}&?K~^1)fkV=?8;)7@y^%hdOLs(C}vo6h-f_;=&HFM*`teY0v0)8Bl!{t zqV2QizYmbp+1`WYaTvy+?Bm6%GOx_+wRFETy!=SN<7RZbm zqUDg|oH6}qf)#9ohqHoN_yr!I?uaXBA40!&dwV5yME9xVV`Q(^tMyXAbwD53S$OTW zyZIjd@atRkaEvU7+l~ypLEWn{vWub8r92IvO=IH=)nqAo6}klZuF-LHKmN9q4BE=f z(|!jj_xaNCni^;|d<%wh4gQEv%}6dIc-f5R1#;#DOa4fuu_37vYW{V9NtJIkvv#Jt zin_vd*}*`3t@AVFX3s+jszau{IJt2bbf7Zq4UIrr;9xdW<~z2|^uE4I)o04S#%y&s zQ+CI+3$kR;b#)CsrdSXD6uz5yKb91SSQzIL9*$)zF-y`sxC61V_@QWuf}i*<-+Y*o z1>)*A>O06sxWU#ed1izm4)h7{qY7Kep%JtI2ZRU~%p<@zM9dJt!gXp|EBRNGniATJ zhK>6JTe7wM3|3WpTFXd~=}y_Q2iW(cv*qKl)3hD0`ggXxFvQ9~um)?tO+yKO z4X4Nz`_@?_zO&|aQ^X*i_d<(@`UqGuha2m2INz~|9%iqNQi}@Y1Y8hpJIZT&Ki{l7 z?G@bVt!RAH&NO1%tg{$)*1Kt6>e04x`G}nhwh~l1lq(y7kM?G%Lpr428-F3n1G{Zx6|MP2eto6mkWjXh*+Dq<;e`}( z=c5%}OG?C# zRsGsdwuNh-wt4dJo-N)#O3~%3_aYMfiZ+$2@9IYI>@AIA4AY zL*i@O%b>cagDmRckTxOfaoqQgcM$^wt8;9T1*bXc>kg8J0saD+--c}vDZ&w$kio#y ztxq;6qKDecYAC%EmK)=N9^t!j3!@4Q_xKB)y}eFmtLr;Ri5|xkNI$HzN($s`oDS^f zY=gjQP$zi`6h`muBoQ6^;<`J!pcZOZbd?h{cxN}M-6R9J4(TR`C+qic=oFO9=qA$; zJ5N(h_`n!d0~D7R;=9;LDz*YZ-#I8QZjw(fEtv>LzfE-y>^#^uBU zBj2vJPL}O`)f?%}gSYQ?W!xAH|nE8**5jSn<0lE+tHj(E4=CwFBrtr z@0O{gK>PKOr$b~orH3rQV^I&;5!-l24> zQxlHUd}xJIbiDcjD?6*|7hDboY`KUH4}-4;O3tzJb=iHSFhXV;R(9rrXj_w#Ql}4v@LU_ZWn`$hW7K ztaSp-i05MYC6O5o7l+?~infGvB$o#OSjd_MF>y^oiD z`RV+L!{BS_Mx2^N)PL$GxcF7a%TxOzRvQGg(S8X=F26mUDf;2#kW)r7fl0>^7HKNb zC-nLP=|$EF(s6|mo(xW=2D@t13351AN1Y&t`Zj3bMHe)O)vgodx>h?^)8B7Df5P!# zyPXJ`Y(M&=OR)Q^*G`n3T0i2&j%Fw*C(IFkwc!l7e%@hnC_dM(!(>}^*)Vxc=neM_ z!?D!)4>(z^)ZF26U+m&oRefL_(kb^5u$@zu zuBazUc>og@`w~>;NwT&2=SlK=@}>cDVzfe0L@&|K(o&zGfwjY1jq^(&JzC8T{A@D%)mHU&FNr|dc>{UO13N|4-iBA4 zcbc5$Os%gPce=dqHz$!aLT1Np*v)aBX|Wm=c)P(DN|{_?^tzsirlHG z{v%~h6Qmbfb~p@lpGaPqa~l3OQl9F3i){7q-=#>T0v?t$IkbqrGeV1)r7%!xME~FY z6fsz{IP6~B!|$CTCx&+f6n2PYt8+)mww@iYt6N6NZ!qyI&I|*B6lkp>o*hKqxa@IJ zbU#aajqv)0*eQJ4*d#>bgYg*5fYmOpN`v}n@!_`)RZ$bqmieh)Hlat|wrauI(%=3| zf@v_m7_vI3c^1C-%R`Pn{E}{V-R{kN4>86Jo$G6A?&U5Wgba@e&@^c z0A?OJUp|KqJ@5iKasc%9asENB2!C2b+}RYrG_XntgZ*Qb1ELl-+V`@Ea7$US?^vE;nO` z&QMQWDE%Fm-NQN<1k{&Zj;`!#_UG8(K^4ZC7=hO$4DJE;My_3sn@BgV{pSBR4Sp7r+j96LDtn(3LVTw2i%XExxth##2MzlOLhTS*<}B=))`JUjs*d zVrY=ZBxRD30B*YOwQlTH@)pCWQLV1S5*<{>T_*>sZr5P5FH&7^!PRubHQI029oNXa zdWU+$DGG5VAg%H8b_0y|CsSk$G7(x*;$hGS9l>78SKp4q9d`UU{grMQCr|JCU-hE) zjswMXQ1u)yZ|UKlVGiiNJKurl%66A>1JASu0f3(1^n5U0`iqZgwl{S0ZC#5_MmT4E zcHNGav1k1OVc|@+Dz;t}AQhC<7#R>725;_su2}mp`_rE*l(Qq815u98UdH4ns^nT( z-fXG=g;l*px@OozpS6r{RusH!dht1c6PFbWrxn7=^8-f}- zVkXF%@j>m_H-S(E%~7AE)TA3Eb!4Bs;SaYMI6=2Ke}WtmwoAtD)Zg8sc@T6E^uh#r zBKpNn$qoSfT0&^IO_YV%o1uWAqnpwh63&3u z?8YMS&^&arev4Obmboz$2QE_MZ`2rWhrekI_oBarj$xJx+$1SXAA6GwXp){{JTQPG z1{5R}iSGmHy|Rsi?;@tAi|=al2pX7i@!H<3*I*DHI&uPS$$;|4IVkTnH*1V5GB+Y# z4L8eC&VsbXW5g};oXBa06uPfU5ronYcDQqSHg?*IZExJyo_`+J;t*bKq-2j{5G zP_RVA!Z+Qet2f>yJB4Q#x=->aNq--n8(w3H1)kn$gNGAzFcCa<@fM=-kk|UEcH)i* zrbs(MKJJ(#&%pQ_C*hh~rMeeua6Y+MQeSIsvAi0Oq!LN#bk7nwxG6IfplOwwR3gX0 z+s0QV^0X0qmjaiFF#XC`;VynA#Pr+oDpFyl-(IG|Ouxg;Qd8OP6Egiy_&?&HJbO1- zpL)`#jM)3HElnrg@Ete>&xR&l!BlwCHB5yky|P(qlTJCD%GLMC39RT%R z;+bEjw*AY>_RK3&yPnBNQ>#nm#jTgY3#)^9xxavUZDpe;Rlg~6vS;V3YQ+>R{5D7g zWGcSR_fuq_bc9hPDF_mRMkoBk0Io&%${Q0J9HF>qP__5z&$sviIS6`i=2RKT!PX+X z+~Hukzk*TXBXoz&6__T^_=Ceg!hL*Rir&?~YYl{Wx3-u z2g+s3URmBMmz~a@{u!vI&iF)FkCptrVGp3Mrl33|htp70x|@Q`CNkuepEJXeA=~9h zIPGh`K+`!1>ZHfzAW9P}OOw0AIqw_sMEw5aGVH7(i80fNh$EDmp(eLVZOx!rqn-ej z*GbKOLgpBq>Q+7>M;b`_DrEk^(*2O%bhaCQaM`)ICaE#=slNDhkSj2^XzU7JHG^Eu zJWK%*gJONI##hK5anpZ9ODMz5t&sO;9^MR%kZu2$Kz z<#BnHB^(jA8rEkMe>dQdUZ1HRxS#;^a+${IEisJ^b>{0@7Qb({%so?cjVb5|bB&{1 zt}(Yj&>+{CKAA9Y zSWhONlUW6xx~ly&Ee*QYiHVG49jl(HlwFJKmq6r9h2f-e_FDWFk7{palrcm@VUb>b zwzCS@maNj?R-sC8lPZm@LhU3}IqX)^N^y~1roMA_V=t-Atf z7$o4M+O4B$naKBB z#wzY)>fI_DL620~$|}^F$A{YCR>7xex>5GB3bLA1QAt(ugivttbE~8iTpSP?IQB|) zcNO?|I=Fb3&QDRY4GFEj75-DKlfxg^^P1@Wth~5m6L)E}ign!Z`9RSUu-i>a)$(WM zEzO(`4xA^CYnE}xJlQ9qnlAjbC&c9_Z<0JbPu^U-iOy*5PeSwuE(`z$0BNjv2^$W# zGc5fn69~dUG#iClYJoe%?JoclXczKfc3JNTc`Em4`1~VNsV_#Y;RkT3H8Xu|aP~e3lG&Q4ZdH^2F>K4e8TDlv> zLfNZDS7qldl%0yVzTx;D^MsV9Hs}oZ!mC0;ua~`S1F(d-VPfGeq%?Ve`<@oSIIv_# z*S|@W!fDaS-!-hrD|WgE-jmx=Ru+uTiy~LsQv~Lc`gNgP)eP+@4k^L4jCMr%-im{D zq{Y7A$^u>@$oqxU1wP_~KCmim?=3KWL{bC*W{IMC-0|Z4K42d6h~|fI+K7Ms+>d^ z;2D5g<|GBv;9Z5);}H}T86uDYCB+O%T@u4~m4vG}K8a+p z23-}`B*qkl$j&vmOwfKM;QGL$1B(^_!p#pbo-1HB=R#XX13e=c7L6z4#&v|d0Pt4S zwobB>s{JlDV$Jc7t+xiPqYpW7sds!$^2=~93=Nol;6VZ(Jd0SN9ig6+c@-o+x7c( z;|mgi_){={Ho7MNrg^lyn(qmxfEAs2wSRqIM(!)sRR6x7{AM z>u4yE%uzdDl%=U_(G9}V9I3>Eu-pfw?HiVYh??S6Bl;ow#cNAt3|?v7Qms?;%~F}A zb?~)G5!M8pfP1{8#0^vRIKq%2&D)KBNnS*Z{*{;H2nMI+9YeR2c;W*=3lgNuI+gpf z?8I89zAW#>VAN9l9iyWo+UO|NWlo5>S_KdX8aK+Bb@GZo)`?@e)KVvPeU{1ZL)s{# zcdo^rZ$TS{@1e;*zt?v^72#rl)-zxcUXFUP^rjzWm*6!G&|A=}!%7iWaNXh|rUX3n zYOs(C3+?&v7o+1`qBIcYrG8#KmM3;%Fjl=d&nh@0=!NeZF9E#=VlA)Z5CvFU)I|Fx z?0z~oK~vI$fWY{LA?Y0%lk^f+c<(_6NCJZ3IG8^5bgj&|ycmZn4lMzB;IzkpR|uca zH!Z=FQ0$?5qn+R-;)2nd-kwQzOKRYtd?RY$q;`(h1Xr&tmp4J*sM`wJ8>)_%uYdy4 zE>*t*qUSf%ffZm2hs)kw33g}GvOG2URe48RgiQ-SYl7C8=P>{&}BdJ;lpn1YqCq20{;)DOAB9IAe(ey@*2SFL93+=6|PCEWlp*_Ed=j_235GB z@L3pvtaddxxf|5})$#$)!*S~NHL}fru34boT_e+->Vd>kPgAmSphrBeM!l~26{Ha_ zZ;3{%&^kLVS#~c4D9va@H^(8%c(eS6no$BZamLHCEr#pzt%ZPX_7c@=EyR4!EK!%O zmB+=^A}*15G)B!{D~GkMVUQvN-yn-y64$AWj&dCorP=pArabH9Msx&iJo2-R^|E)j z=1S|)a1NVd8-ELMQeC6y0|5_DvWNR$l=;-<>t(Qb?Q)GDX$y}7{Jm#|iyt{sc6x)| z^vY4*VAtvlT8O~!O(hce1rmKJ+J`VQNRy}%fGr0#`J=};6dnV|6@;3H2Qs-ut$S6t z-fE==zacj^w^9l3#Fnj8)Cn8pS;l*+Yy)=FyK2VBQ7hvkhx3I{+sK8ILI-b+P3OF;mes5wT%j(|( z+yw(=+eHooC4Qr{d)K}XgHr@hC1}1s25=0=4Lm#Tav#Gw_ZF@rhj-$EQwIA}b=O9j zE&q+XJP#FNsYoh&!>4M&MtR)8r$H4v>M(dXdIcUrMNJ@Wz-T%!s~=I*cHnmd{%9Qc zOT&m(2Rdf7HC|NxH^~mM&jByO%kH|U#PFOKW(=du7bMQl!@Yus<*IZ%YoKF3v~ z;1)ScP5(M2I&KLpkI6AUvI!8Ox4M2aD7N0}&COV)z4KN4+j2mMz4MRu4#b?0cOY0# zkk5e1*Srmp$0=&_+j2C6QFh(}Zuu$d>MimwT6E1xuHPbu=>&yT)>c`Vya!$JtKnYQ zGhdytRklwAxnai!U}!&I6>pW7gw;#;Y=yGgODblY^tV1-ulFxbr(M6A+udHa20ImU zPwn-m?J{J7#YWCTiT>$&{n@@AwE&m?woMkacE`pN#m`4T-HGtg6?+EEEHLm(+hicE zVjX%eB(cdKYuR+M`g)rz^l^cCyR&NkJMy6KGx{$g%hUIf`X$@CST(kX+mkUlR)6Jiv9DAa$H_GHv$Ph6lshXXL;ss0NwtP4C-JZf;Nby8nFGEN~`pg&<2 z)Fje7#`O?%Xokzm13V_D%`Vj*g4Cy@VlsV>Lm)pI?N=YCTDi%tL!c<%?(nW!@;}&B zvDj6<*9>KUpOU3K=~j9Ny(1mEnL84&Pa~Mes5K8sw-_b-#&oNb7F>dlpm9^*0mJaB z9tBpW+L&Rbs}Itx?AUUEZhMD1vtM#6Rr0WmM#H;WTU06?nqlR(Zwd65JD?w!v-kpH zTkibD)hPtuD#IFSJg&aTusR|oGOdC(0Pk8bjAf>Niwj(cqoLV3nY!YnOlvo+C@;;j z4#rdJzS?WVaGr(gfmYTT5=>0ir(hT_&30e6(leB;t$Yr^GwHCr!UMP!pWm8N;N|7$ zzSGkMRvYY(mQ-b(3k~g}fp|KXl7Xdhn4aMr4FKHBDm~kJD66~*_fZ%703T}&d+9tp z*LcMXYI(MmpY^W=NEX=Z7vk}>$Nszq&lfx>{UO_`RDa8{Qn60h)tRuUuu{GF!s#xRiRg`ND8K8GDnE{2oT%&|$4pBr6iNWvihL+`8?Ze%{Qt(f9 zx2mnRDs%!X-v__Gr4v}|x86V{?Y?W;gE*#|i{!fRdL>}p5|$wQK|)f#JtS!Pfya#r zT0=|)lPa87XdOUb<8F`YTw$HSYi2@))u;Hq+4bPT*=zZbqQOh+e(W|}y&oV88??-b zWHsn49HVBrpR#R|KZv#(`mJLp<0^-E7TEV`GX-uqu04hu0|P5NgUM zaDfRI6m#2IMZP1bLgdn8zoYiIv;5TY$1FRghbDxfLURR&`3$^3>dcozZFqm>W*ZyM!4nP;69UkdX-K;9MV`#kHyu#yt0)1cG!CI+qz`9HAqU8N@ETREP} zFVrLX)_K&7^=bz(#)AKBjs|!@`Utd}&$ksouUPGxFH&K~VRdTK!Ee~JB{k{bbJeZD z>eEdBJ`9K=U?q2GOQ6!xzjtxp-(XHx2%)Z z+kk2IH=V6djdRrIF4l>~8{s35=qIqNP1>%;K|^u3>7Xk(YJ}}z=+oXk9U7^KzGd<@ zBTWHIC_Shnc#L!cCC?zWRl@8VAhu+!fEkudESDP}5EGYZESX2R9?H5}i;kJ^+1)I~ z`R?m(y@x2Bs|&3j0L6L}*LqkvO{VG8 zR*gNZK&r;LLvsNukW=yZw9d&~^jtl>Qh}ETUAGPVy|t#Eh|_~Ttyaet?sN)Q^t2v~ zyaY9+sMg%e>PUT~l3vy*#|jc`Z5*l(ds*F^>Rjs&4j*_}Rjk#$~ftP3vuK zj&uu}wUp zO)JyF0=2BKRS4U~ulid3e6@3MdpIG7RF{5MpLUUmQQ#ktJ^-KIHTmJ!=e@6TcBcf@ z{C?K(xRvxt4>uKu`dR14zxXe#TN)g;p3~pz9!Wje-zvy>QKK*r1LL|6UGnfx`DTAB zr*&f`=8(n!*?Qw?7p1i26-&wnSpDMN;x|>%0E=p+qX$^K=>WWFpp`)f;O7sthC#wT zd!R)%rMN*>Zin!>@5e#J9WOXKXaAlE|3k+gP5zw9K zuh%_aWStNylLvc5IFCLl;ZI891>~dD#1?h->b$}L~ zv6C5bcI$Ci%WBrxS$F!$7FeLmW`?SBWl&vbIMp>z%-#^LK^7U>>kM7P0B7Q{ZLJII zR-bB}?k%onO-F(QL2AI0ln%-c|H_->$1p$D2T^g1J+(3f`!FZy_Tyzf z&_pl(?QN3pVScjDhMzWjhm(J~erNEwJyepWd(#b}23Qxw2@Iw1Uf>vFA-HhiSB-@~ z4`w)P$Ax2x+H1V;?H!!#r|R30)@g+$DB(6sv_HTR?}F#1SY)i-wfkJvP?s3oJUQ(8Nm1bDx7B>6Mna5lAJzo!{?ics8CpjaP}Hu*Bycjc6~IpZ zUip)T;6I;fooxJ2H~cK?pB_*BS~cKY%WsvwyGFBaVUxQy3Z0a^tFArQ8g$vpXPYqW zYr+X|NGie!@JObG6JXdMsS33LV%Qi?fMI`NcBljl`v#{({d$9S8i?~Mb^du)$J9;e z345g!g*Fuq62P;cd7jmahiUP?#7wpGJgaTu)A!+hfZd6&Rl;Aa;VeA!FIKnsmznQH zq@3rU_i2vMuHmU^YV6ginj^ISFV@MdD$cjg<8xJ~)HbU0d}~DBzbopa#<_|C3ASgv zA8{oh#kzJpT*Z4Q+Qv=xzbn-D=UZoa@bteU($vKlSQZl#FR+f!1@9lK!|`P3QH9v= z;fcec@;cyU+XYq^j`!;YRv+Ihn4(|%NBBe)U1(7>Fl&YtP!C;bRWOjE0m#N%AsoeY z&_!08rUl^ck?>xn#$RLwn-+jMLXO!gRe6!s$2&D9s6J^G9Z)}AWOb)Ap3bAK5xK4( zp7ICir-!zoZbr4vP-Ua7;SqcoSQp*NIALFbi)nlq5nt8MqpjPro-hDAztMfS0j@3rq1F`_p71G zE(P9zZdP9kGJM*_P9o6H%v5h*Y_%0`$M3V_ICQLjzStVV`hzdQM)<_Zj%07P$Ar+@Kwo=}J-zUoAO{QN1W7$M0Pk4e zXmzdKI%Bry*37-uzA$6CHpJtMYeA3h)tj%id%BN-5W#2SSvaGSi(d&sKWNukBxE>^2b?b?58s-!}b{ zXSon9ljm>6(-&MZxrZn@L85MTz1?1aah+ZI)8+aU?i62ZVt-RN20QhiuD5#?ZD404 z$Yu(;i#_>`>+REu);@i*%*V8KgWb2l%S6OXGXywI4MOso8|-c!yh@oR$A4reJlmGB)B3X?ZP8)4^B87hCXuDZ92+$Cs97@UR`$t2F%EWG-M8||o0c1|J!H)R+ z-`E4L`~Sat1D>&SfA<^vwv+DMRkzr!0}H3=dAHa<1}5WrtKFqyg5D3JiXIB-Xy2$l zaZ+&+l0j5q?68MA?t*DLbekQg&&rD1>?@r^d$v%>nD6reaIuuyySpFJPuymgq~?IY z=ex*x{WklKz?i+-{jKe=j!S-P|BBDmzqR8PhfdytW62gs{qU0Mzuo=|&nHyfZg;I( z1|R$6N1*1Gb`$YpAFHA3eQ9@4mVM*}zvwct9a>{EP-b4x+0-`QFI(kVIdh~fHT zdB9Q(ZsNy(rn~<&-SzkO(DeQ5z`4{`-}`&}&!M6n@&F>)CG#O!B%r|+C_VGEK&IZd zBQK2`gzE+Crd;en3tXRT(p|mqx5I@<7iN{JwY-5wa&f!Ywefs=6?X#WP%=Apd z!tPXgs-APFo$J4G$J#`epOjeg2|I^-B>9A(D(={Nl}uos5ce5a4Le@*YH_C{-EHfx zWwu!MNVpWRsN{OftL!to&7W37ktEaIWxU^jAJNshQy#%%2X_V&W@LMAkGP3}6nePI zUJ51lIb(pb7wSKavFCYm=w|!Z;H{I$p)vgs|LDp0+ZWdhCL0@T|19G;W8Xo3@X&*H zEOLP1`VQd-v7)~iZ^!E;-11kuylgT{WQr+7s0kKM6oADfepbh(Ld8<^S3A>9DHd#4 zjL3uHLA;tRJ5#lBi)oU~W>u}nOtsIu*)v5<7+1oIlj2QBS)VG1+*ZADmeC{~j9-NLbsLs<@-ffR)JVFPJg{K*zDQ}|u zkylaP8==$$j8I|ATw3w*DARFPom+3Hl9~b;sv##Uni#HR(MH4d_oNvDx?+aw@9FyP zsrJzR{~P0_PmHsF)p!(kdvYd$lU+ZeYqj`Ej6!OHz{w*gP@+DZ%wkdlI7um%?0BMB zqmD0a3@1wkPX2fLJ#a#Ue!nomz9?f7gI8jGL?+tN$iYbf^=+U>(C=;&?bv{ngm5g4 zLR&&MhyxF{;~?b4hRA*30lbR9^sphKXqQmP6d8{h6YXZDDFqus%3CB~ zgV~~QfH?C(VIXr^1$+@?thoI-NlEfQ3-yuv>|x0<3v!%8uB@$4qqQZJB$IhShHI<7 zUGcs5HyAU)DF>f0V)9 zAX&800BmfGGBz5NQT4xpGERbG_Y?UY@wuP-+?~8VZcuEbg!p$kQ-FWxzr8xs=T0IA z@bam!?~KP%U?~;N$S9^Ja1`}j4`CROjls&wt2c~ED+x1$IJNOG zPW}Hjj51OOcVeX0!i7aNcYY~X*WhWMVBf~p| z@P_{71$lHdx3W2m4`yDFmxKESOj@HCOtZU|9ST5y0~;_a1UpVp^>T=w`fTgz9R1@o zd+<5C4!}H7s7)}*t~?2;nT~jzDeiJ3DE+QjUTp&Y;a@vA zh3Js)K{QVDv4t#B61`SFJi#l2{VcW2dX_0NZA%mZN$hv`FoRKIgg&MyF%QdV3UJ5T z$=Kree7kE&_^K`$5b)?wd zn+J} zt5}YZKQ!y`GpYCr)yAQpNlL3xC2B*>p;(3<(>1T~*NJYEV_~-;8bSOm@M5)c4@&Dt=8K%gEqiFyhGSf_q$WHiuGvh{9rEXsO+& zjVv%Qh97P?N5w@jfg>)`HXmL>42K@(-3oI72GaQ_@=Ms?!yf?gIh(Bf5`=mct5WG1 z!H%XoGD8p%NA<5ZS?SmDJT6)WGllO1fqwj>%*TrR*bPCCFfQPT!AwEG1IqtU44PRs z8TBy-2WbE$ep*QyFae}_U;^sZfXVUC@?(0|yZLEhCP^dO9?XvwqR#9%yn3>7!kYj} zNMCs{zmR7i%x7?99N&o|{2JIkC{};9*=llG1}$s>>y%&O$77Oyg!a6Hub%-5FzaoC z{kjJSqld7a093%+JJ6AI#88S9f~I+mrCwiP`pwN&>sStEG&vb&BG3eU%bSLDeZ_$+ z8S(OYc||>QsIksQbFc_x&E`bm;+$(XhileTEm_v~VBDAEGpjEPpUBbUwphJ5ajUmj zqR;tq3j(2J>yoWjoAWUQ_+&T+jL1(@^@BAiYXx7zV;obAgI-)K*|JtFKn$0!Su$Bs z9D8t+`l~5h5r7J7TQxA|0FncMqC9>9qBOt?!0^_(y1d~h z+ri=I7o^9yvd8+z?iqPSOynsqR7_B2VS%Eu9vQJd4l7HOufTtvG;lQI{-P8d&NQwP zx`136L@A&LZMQlPL4@4V7*fAGWsC3TIJlWDP}Ic>jH+%wk_wH&t|qC{%cn}O03P%j zsPt;|%uDi$_3rJ~S)O9A6|aNeM4Z$->}rsd;Y9A}IOGTQo9a7RQ$?f%)t`xIgr$|7 z^-O}C1tb)}JSZ9uVYY$fU>DJ7oS1+?MNBu`unISeJBLxoZ2gdFlcUbY{At?-i>?ndLu%qZ3c355b#>mgIT3?(4REGuUgUSQ@Dy2+f zqTnGvHvrfK#>>WN;u7Zf#aAetl%pHs;#!s&4E7NzL0}n+J6)IUM2uH_o~SU41ypb zwAY83MoYq?ikF-S+8K@1S!^;MCf@eziWx?GO(oW~TV~Z@lXTbdl9?bE0z^u0G70kL zdX}LdFcF9h>$zU~7xF&R19j>AzOfk9ktgg}2ar7uT8~8p3n^EK(Wr$)k4Ew+(am|0 zcWF|-YK7fd?|#`1>%To=4+YIt`-I&$R!4IM49%5qYE00qn{~e@ZKn#gdKo)>?gxve zXIrS&c;QE9y^n*Otoyp-{(IA-r?XhHjquV;s#n_R)dqG}AN?fEVqU8~QV$7UkwZTB z^)|B~&SV)cX}aHCI&V*UO3E%6*SxYl0w=P^pR|X@p??(hBs{O+R@9R~LAVw5WYmT@ zXVgr)dqb^cfs!eWyqXutsS5FU8OX^j-R$-J5`B2BUC25FM)gOG){=fVaC zF#8a-0zy3@ayR}kGf+n-_JM{cTcSO|<$DxO2#^G&8lgQzLZ&zxIxA$Nt%q=cMZDp2 zwZ*Y9Wygbh&);DhW$DYGw%h2fQz98{15v9kRy-q=(l;XZDcDK*qZZHCS@*;&tdEqJ z&cboW2CqS7hV=;IREU6h+K_m-6jdcF@G2$tqf^ze-tx3v&J~4iS?oK?4`)R$$J$|_ z7pW>DBZJpz+#SN%6^Ou(+`)j+rKb` zK;^SmQR|>A9nyE){NeCSqK$HPWaE--uK#8){eznR!*xm6~Hmg+@J zyRrS?Nog!t=4Eq8b1-<@-wLXZcGQ}S?H3DOC~m;kDF16X5}ZrW32mtzz-mls<5NV_!IHJ+8>?}brCqh9W zEgZuT%D9M`9)8kB(SMEvMZ~zu2}^8wVSa!#8>%ABM$!tPZGD<UfL-42cZLKW-Np=rrzvu zpc9Hwkz3_Xou>~!YsafX?ipSfb0BW=Pa${qq#CTWO5DMP!BAPjp!CTfC6@JIDO++t zIAQ%DXYBLHv60iy%fUJ|In$T}&RDIkTCQg`At4sAf6iQiAw|^wQ@{dyhRQ z?d74z3~4VsDkL}@v^c8od)`>aEP3AUixbC3p0|ZpjfK;F^X;GiWPpJ) z{$C;s=y?n5b2A@?9XcEc;P~wK3+$nR`P1}?o&{wAoRqEnr|syf6Lv<`!bl*u%FkWX z6LnCk;2YG-$E_GFI-wQQ4zB(zKi6#-5Wl+4nC;b>ozIi%3i)apiB{*z{?lgo*u0No6dF1 zt&K-u^KjQ*?%0J2q#&waHmbq7p0v6yART+2?72b_hvJA|3~7Le-fbb9+30*=Q&1Ff zdZDC11?Zall=xYPgAacd_;r*6$#ZWS@EtfzD=yYDHrg+SC|E~Q9EIV8gC&ZsF>sI$ z5`nMLrokVzh+9B0ajL-Tf(S8Dz>>BzX$Zg_Q*NcPmq9!)G&`!g2he|b2$6Q3H5OzZ z+?HcR=nln)=9pH)SvOFOKNdn?>bG7Db`p(0N%JA8I#u(<<4%?(UZ-iEfSnJWFi||n z|KU|>GHU>uB6@_45wK&eA#!3sQecC{Lq{%qLOV9o5f&R2#{^Sil^7XR7nC?|*#J&- zL!@rq0#(4?X+lGj$N&};8zOXt3`!huR~vM*Iko9@R8Gk?W{blmJDG*hbAS!dn}7|p z53mR617X8jf({6oKqwF)O(>RahR7GE;19h4l(c$k0niR&5z*Z<8b(NG^=OsX-VBt5 zu;=o0#~Ukg8Jj^WF~dwcCljVrqW1(0@Q4KV8L5R;axU3PIU4|IVe{BMD-I@)0T$BS zBln>Z{$wNA*JL|zdL~L|CuyAi#tkt$uQUXe!I7&^+LGL%ur*?b3Sx4WfR1P;C}QpI`A4(DiCmZHXbI; z!A>R)qThW6kCw?g$opl_dRYLE40k%8#1w`N3Y5|AcKKWsYlm0B03P7|yyPpCLtYE$ z#5EhPHE^+jrGjWXkGe*@JgABZ;CvkeL%?N)TQOV1xN+t{ z6maIi!Rosf+V^`LUxvr=>ESQfF-9Z8cYp{XzUF{q7v%Wy7GKemU$D=FMhE7nMcFk0 zZ)BNq=mopjzpy%U5iZd69Qx2{>HkI#UTpUX!z2~ejLFi6ZcH!H)>}?m0EUta7u#K% zeiy*Uz{OxWxIwPN0B6L=EWTU%BF-B(h=SbjA9lNB2nG}kxmCY)oBqxX-5Qre8{__A z|G}IH0tW^|o{S~-8Oe|esGVn*NLdT<10onBdraKgi5;|Gj9`+-(Y*5duS@L1iF2q+ z?psZ8ZWQK6&wWWOayPzY(=|2+NM|p#vm7E(Uot`z1{P-3y6sY%8nKI(+JkU;VyR6p z&oxW!7I}hm>FCiwt6p4|8y81|JIS&S`={Mp_p7$A@H8aJx%;>p#KGnlwYALd*y?TQ zsa$?_9u-zEh1`8ipppmd=|Phg3+hov?Q%VKnO)G3>(!f<+2i`?T zLbUP0A;^GRlkjc|JFvI>I9UyOLQKE$vNR5&gr<5$wcSKd>0S^{HuKh3>=Ee?r-4pQ z(zq<0 zGAW#1h!ulYruGEd0Ms##&WJ$#2JB(f2?3JVF+Oha-H89uBIph3swvqbe;*OH%c~6eWq#41@MzE&*hg|h z{y-33XORT)E}Mgz!$N19gjbLN98M37aBspQGcuSGphHGb&uAGR%~?(JibhHfDRn9p z(5?Wkx^e*`v|0VFMWoS~mjn>}dKMy23dZ?|{HYUUL;2gj*(zs=Uwt?ydov^a`Aw6)l9X(GZQylSg z@G{zo4Z_O7I8&*G(LfW)Goul>WQ)iM)xp;f8yRFj875^c55K2dY5E_l?Us=y5My)e zG8Po>ba;(@dK0e^Xc$_<%FL4C`nYHf z7|>7kBWrB8@&JrAU~P_!<@B}ocp!6%nj53x zN3#6s-fD#KFBJ`!=~-R!np|C9_3j-Ap+w0|RlT1u=aD3R+`TnG&}dzI96yqD!?#hq z$^xQ!j{(snlVJ6p{QFW)DLh2k9tS!23 zgTD#rQKWKhi5M3`Nz4bfVs0p9pnLP1+D=nyw~friXtxuZZQvRdc{eM+RTpq`p5j`d zt_9gUQC!mp8sXJwrX{n&gG?R!*mQ?_=?=tB6c_<;462p|XgnsRY$zzi4TWlIm>;0s z_z@MgECiex1JRB7q~;62NpFsneWEdO2o2Flvn^q*QQpLKa#XnbqHtg(@^Rdm{gl8Q zB-@(u1z>XW9rA@i@(D*i!IDrqQ>MZ^8BtuZn{xX4LFvrJ&t{krHq8i_&is&V#ZCh# zFXavt3=;8hLr!)Jf^?yGi-KdtE@yBnfoi?EIqaltzS- zgN~0zJD6{pJq(M9AHaH&b^pp zbbckLF^m^`KaA%axR5(23EseLz=P@ZZq$XS2BS8>ztR!?@&^0zAxAz-HNTUmTGmZt zys-z7M}BsPKaghJEqW2<-5uT@0$HrNbEnMHBRAUP3y*F7kf=5=Fzzcw9pvxav0L=< zjdt@Y&TL{B;C`3O$tNf&ovwI&?jjS5-n%no#(ajN=MTY2-ay-A_|x12AM@xDVjz0a z(@Cy}dijdkdH{;M0pG)G@qnrRNv#*?wZ8uiI2;%o(f@eEekj3^CT&3>2Ozzbh&!wQu*u%068_g+ z>vqhzam@aU&GxOj`G&N7{r+bAn$m5LW83axIy80$?x*5M;Ax${c>@*#940`j6%CEH zw(6(0*q6t5)B_QDN`lCK=IzntTkY%er%W|`Y}9v7DJFf=RIRt#)q&j)RS(|=XBLQt zIBh%F*82jwX1g5~&v?)%!2K8em%vAZ=X49m4JWK1gqrrI{ZIH9T>hqAEY1Z(?tGvh zmaPaZg0Mmg&ZjWq@SD(Qzoq-UWzX+?G6$f=sSZFPn}VAJz!QbgfX4Z{Y=?bsVB35> zX9qCkga`HZ9dnmp z!044`%GNo8VHt6Nl*@4(ZyRV8j>t^&j2>7hU|eJ>sWZ9%$6^ z$KN(BZ}E<4`S5qp@)i2tckHg>vlAXd{1Eg8k}cQU-?57e+98GQ3`jeHs?p9B`p0*q zou#{^o!xesc3!c|W*D~#yX-RK^XN}+fsg-RZE*GfsKM2zXmIX(b{7e~9?9yBxeg>~s}`+^>Qh2$U|>jEu+dhrdi z`a<7?bu)$rVGv-!KO}PHsR`6{NT9cyIlJvH%}MF_W$9L5y4Qy~ml9RT5jyxXt-gBh`*zpLzObfCN~>HF5IBa4mB3Dl4P!z^4-o}@ zr0DEDcC>u=_uM3b)U5Y|C#gUWL7|Ihd4(9lGJt|;0gFQ(%BmOBC+ zb^6#IyRG6GSM)vPPKSe!bR1;BXm#BS@!2|kx7Ucc^w#O5dJpQ5GCOF~28r}B* z1Y`R@w0~z4lZeVA&7Fm?i@+B8#{KrC;;WkeKD-S8jEmU=-rH}tMuUPMiEqOWAK66+ z3j~VB6Bcr_AX#V%{}S0fO!h%Zlk5Wtu_9kP0&i9s){BrHyT=kmsC5GVod1#CTY|_1 zj9r^(p{ZD)GFoKlxzcnQbe;FH-L05_0HB3SaoiZ!Hzvf~FF&?VyM{A^Q>l>hB*7JC zh=47u5i?bQT1eIa3>=HPdBrnu?8)X9FJ#qwL4WzNJ?j5;jsk~jbe{wEZycE&Dt)G4 z3=n3SXkM?zj9tGcMD!d zH-m5l1sh*Rg5(zV-Y51g&1H2hq5`FhyB`-hr|M3eh=g|TEGBH%H-Cz==Iiw2Pwk-@ zkK^O+thxGwPwhE*KVpRf^o_0vqVQ>-*?n_nt(SL~ZIE|A_{{E;e5v(8J6iV=ArSQF z#Ru)P{pab&4%)-;kxviW?bwXJ9N{FVFe2@OzKMg_~&+0RQ&Sic8~G|vcdobZjZCwknNX>Y@b0FwDpBuiv@7_ z3%k2W)g$m?26zNm!r-L~#_WtQWov@$y+HrzOWP;_;p{sB-6&?_!A9I<6j-E56j-RW z%<3@JT_aE);UY&|5mEifE=T^Dmx;2K8kd&51v%GY^4*<|>T1Qv%?+M5YPC z(Rw92saAp*4iJ8Fy^_fj#nOg(WZ{*%`jA~2HyS;{N8omdMvd&yE@KD}!-ZkX1IVZdEb}MyN6TfD$Xf%hab`#yCmJCPWgEf~ zpdmc6efY55t&#IMEOar;08x!4*#9fLN7a!P=-3;KJOix478z@TpfJHO9Q2%i!6h7! z(Sv?-a6h33Bm*F`%jTQOMUwG(+fY%%x{bn;-K_|;kQc2w`W$J9JgFo9vD=o>^-8u6 zFC3{}?Xy`RIpMfeJt2w(bFU)#lzL_Dt$ z;(6WuwOtp_>*cTQx3W`pAA0&XCsB9=j>6Bvrp3C|QM;r4B+fEnUPS}6o9CKd($^h5 z$xGXh!toI_V(_>ROvSjRO_F$wR0-E%r(^bw;xzcbF@SpQF*!p2^)Wl%p0nQu1B4xC z%9k}bYv*&p%6%ih5T4>5)}PZ=6*gn3Sd$ek149HFe_q!ip@>0ABk%%EHQr2gFN*B}}z6aH_MvwU3rV91<-`hhx73vhb zz6$lz@9m#MrPcqqs2p!OP7SP{cpQLsOs_v~-&Qo^8FU*C_QG1p2AEc5mez1EW_`sijwA<8^z?&S!bn<=N8`NO^HT=k#>YT`gTH{9+6+iNjD$Q9a z@|+;O!5jf_7 zUJt0Y_WVQyq&#)3K>#ccdYh`%aeIouMMfr z9VVn zfjZD)N(2m~eq5+T>q?0cXTS~8ln16^mDsOPVI@hSsm2i$;T|&Elvg4UnCH%AmFd`0 zn2&R8DfuxPXi})?i|T);tKQ|yGP$2}$RrU|JGDNnf@JnW?PjQP8OuFC3Y#<374FI>8de>gZ=XX>*myXF_Lez&w3Vq^p0SHvOHcYfO~Y_vuxNDUjSvhk&|{jQA`3C2 zFd&Qmj(0-V>-yGA)gqkm{G^}ARMD{arHy)BrfTc2)`v3HK+qnbuUzj_8#5^uH{&CY z;xTJpjmCQvvP3FL-6RpcqKnaNjin{C!InSWveKiLiNZ|;uLCBjsn?KJuyesiYKVid5Y20C*VS!fb&Ex z1ZLb!NUeT3PxbbHrN7QoU2>)_#wJqX?#2a7KsQUxz`KjS&MnfPS}Mn5BE_PNPzfw+ zFvJUGxh+ue^n4842K}pi)fbm1^VJ<4xT$g(pq#v6K*OY#B~ztFj8;EeiLFqiiL5n@ z+QFAFT}xKsX99k#S$Vq3Ru{K0jxvKuNx8tUgHBC&+@Pr-$eV9%)v@{584?%AS6Ai! zgXrU?Blsbu#43j<^-PnUQ2$u>q&E?umK*Nbz$5E)#8E2(la}k(9W@$qMh!V*kv_jb zU0D~ke2fv3=v4)(f60;wAVV_TBb!!p?{|-xEA2SS3YGXBqzQ+dHc@45XYe~TZiUqLodCsZRK-!>3)mHf&l-BVhr&niXriuQ`(#8fF2#thlhMb= zKKnGkDJ@|T*5$`^rH2(N+G}VT)3-{KV|p$Vhm@J&%;~Ah5S9(1G0(sTnr1X}!DM`n z9ltUzvm_gbuC+77RHbcGb!PZe7Gdvy(-dQZo=k44TC!?!L%F%BvNFG65qgJA2I@`K z@oKl3x-c+yiq_4rY2x~FGj%Dii_U>x($?k5=0optC5GsCma9^*xQ~{r*8B)uN4C%( zm#g7?=n=(Sy~K|-fQizmfr%wiz{K|~&rXy$^x5`h`WU7J3In~&TIn|l&d=}wc zzZy%K>;7@f^(M|W2c7f6K_3%00EtPSgkY8(nyWVc9(v#2Tv5K?-du@w`=aJRRFH-= zSKlOO=+hP|S~YV4>Z6>q-)OcH=8m`rqv{@-j|?8P>NnaA-4@SbTkCRA)n9rrC{<|i^u-gM@%Ay9(ERWh%G?;7IQ zioi%>oE^`hkf=jZ5DH!o`&I<{1IZq2skT+UohU)^FC4ujAA!eu`K|%o1jWNhyv@!x z8Wq2n;f;zn8i~~UqmfAUM#GFl6=)7qw>J>p5F}E)5%Bt+NcH;e^%|+C?lp8_W<1bi z;5xdo=dmHT7{M+eq}Q*sRty2NwYBPoOL~Q(sbrf9MK7qAR>+olM};~YPcK)f7*rCG zND_(wJyBiSMqNVKfnVU}TDMUuyeompr*tr|xV;V5F^a(RYir%4trAPJD=t^9(82e%|3L$)!mGXj_u3h@H8hy>Y{UEveO|JT#d2 zV?}l5d9=nySBptS=v#io!we+S^AerT2DJ z;-x*i63BHr^Vp8WMtFUtl9=p|Rx0r@y{{79GG57&vvL8N+{Lk>09D?un{_fc_~!K7 z!XS?`U)V_*7s!=>q^CNmqN+Ejxg> zU_JSRF@=&gea@r+trPbcbRX#8<2fo2xfW5&F&eQNTqLEILqGtJoTfwtSEuU}qQ_L? zWmB++Vv>&xU?FZk`fsPJ(>PCSPFJT_z4;hw4!Ljhl5~I^aQDhHh8sBC+ff4U0Vb9p z5dmuIQty5osW5$YcOlgyH0a1b3TS7dJKCm({f)$1f8p4wcMJ~XjxTNiX6#WU#Cx+;V2lTrlVVS{z&u7)zfjvm!_byX6( zPH2c7T~%4kGpRZ9cT`JP*0SHEx!>~{#{JfFI=`FQtD3h>ZC_f7e?LFFpmIuv=esh7ziD;TcMthqx-EP>;M)Mf8*D z8DV|J&sDb0Khsb;oz7JBI56l;)v=D5xa&-_1^F*cy32{_56?7{nAb=BnnQ8-wW>%z z*hgK?hl730r<(LtKjZUn`bxFq`l7!{_Try?O|}2(>!JU?s&gH0QIEK%VNa5`-~mNa zXZQD0ts@?9k!{@@&@1{WLEH2q_DE^$@oqzedgE8LN=XXL_l`a1oTi)JOc z5wcFKe(%7P-kx!mYE#FO+;o;|R)hnP*xR7#K-*v_ndC~y6fu*ZNn|D&6Y@owNg7!9 z9Rd(8JzHfr^OzKdltx!bR*;s0J{{z%^}QZ&wvsKS@f>FMH-L|sQ$fZ_`B{I=U6O6N zufIn=)VVr}=`Z^y`IYv1&;YZ-Wda`?U?xz8uw-D$5Dpr6sv(r%ECW^RaFVY%=@7OY zq?$J7Yeo%H63py{K}t^I=dH;tn>JYWI@xUH0VA!`wdblP`o_U3^CTRQux1Men`OIV zu)2dxPM32G2Xyf{Ne&1WN>lW%a}4v-H_;3s1%O$b z>z+f@Egsy*^rj(Z*Z};9fiT1j8(B@#LbzfRAmnkk?mrZem*lOuAOIXjC>+xJ`WobP zqOWRENO6=oQ$cASl}*Q9Qi))$ws<9E-YCk7FsMYm~ZFk7FsVpXxCzP3ot53`>bgg+n>>Igev$ zYW+ta_?a5Y_I10^FbdBD_|PZ(W?xY_PI*MBA{^sWOd+KMGwDJ(XWUT z`Dg19XRAW}{AJ44&;H5?_Y#X7KK@R+$g$?I!tS|3wQikYp{VG{#RwUnY`M`~9%jPH z*jyqk?8PaL`eM3hq`HkGhz+Yu&mF0n(Ykiavq6bOCk zO5oo{>{r%RW=qA~Nz|TGvtPS=rm$ZmCBDBZh5Z_QwTjheza|7v!G5J?)MLL=GwQKl z$w-|I*)K2SC)uxSJoam13QJhWe!;sIrE}!F2)m91`~+74&Me7PL5^pbDxr1iWyzc1 zw{)9pl|($kWHscmlEF$n9xF(e1(;O6o8Yk!p9$PlGS%a;;BytJpp&F5w!OwYR-#+7 z--6LX2lVN`Hdr0RMv;E}*Q#9uz6vcO!VVd}ijICPRAZ7nzDk67+w~8>R_76@hF)iO z5fOFJ0Fj@Al`5PH02=;zoxz>Jynkfr8?RTVH{iLvPi7~0u6*l5U30w}z~UJ%0n!ST1KW+e$*vm_fxvnLw1>J`WiOt@dae~bD#Hu&zh zs!qTDh6J{OkuDeDy6{+(^-(;-JD3x3Bc*An}*YyRKNP&HOzoF>gw&csR{ndZR4PJW8+;P z{`Mc*;yq=es;P(ZBnAPjc>b4os?`&3S4|NZaqjI9&#u>R->#bH9IFvCfT?R~2B6dL z05!QzSKa}5o;FS2dIt_lKQT=|dWY)jJUtCINWV0xpPKM3 zVm=Eo18fuOTac~spVCZd{}LWJ0Y;`3$&Ta$%!KM57)Uvp12duI1L7Ee^?Qg|b}Z4Q ze^AY_ILHKf7D^JyU^g>^gumlJL(rD@t4e}5JLuyiR zMJF@7SK$E01ca&pA%Asmx)7C51ZB*?D= zNq;#MI;Z%{kpmETk0Ne*%Yh3JdY7T{0&Lm6F!J@hc2LmY|nIMJ`FjR=}~`BOCyK=g*F_+58`38`=dIoDkT9XkaBK3 zI~zeFjeU&4nnrtnBEt~16xyd^Q=|hsG%o*$m`tUn8`FbFSh|CcCS9-@+x16PnX&sJ zV^EX#C-ueEUVH=ehbQ~75(Vholw?{oog^9co-7$GW5Z-U^3SS-u`xpKei+r5FljY< z;-6Ks&YO}6Z-irhU?Uz!XANi&)x*?>CP$V&`j_c<|E$_4!qP_mqAC$o_Kd%%=+#s~ ziN6C0ckhLv<$$;;VQ2v-y`_Hlo)ues?kCIfQ_G)s`Lm5bZ}4X=e^&G77=M=I$GSgH zulkER2dC{a?^G97&He&tai0Oapes*2O6665bQ&%dA!?zA8ST3_xOKcRWbiR`S?A^+exspVD=pCPKDTP*n_G# z<=od}y2D*+n6tLtxi5LD)l=?L@!SV@ZT7iwclx_HPWWWDuDMIKCI1hg3-hciu4q(( ziV9Szj{bk^&Q6JCWx0@7}F0ty=pDdXWYA0olI|_kaWl zA8T=E-ECG9^5_+xXTJ`yFjWtLjpHoxuvt`I5uQe!^r=?_4*RF$o<#s(2uH_^yi}+7 zPx$=-y{JR}<^2eOM0gA|&kb!(n0NRJ#*hYJl4wv%G8Kc%qIfleFrF)%B7OBeDq6a0 z;;TTBu#0ey+|4^2l$G|<4)E|bg+-;4?mKmXZTG06(hdJbfxuYR!5`L@V^t@Z8+jsG zV@?j=^tZ?1Sx5h2tSZl%!oxz?F)(vaja6>ov5?NX6YT5QdQ&G)g#E|#@VixU7-NiA z8qU*O5A*m%`0efc+}Pjs7m)o+pX#J#E_eUnLg<6boo zwA@dbPxhanDx9w~FxtzKu8m~((PJj4B6{IL)~0}d=rgB8_j@)!-T#JOH9^s!YX1av z%~`MI<^cC#qh!mEWyI-5E!YpUIV%mi4@e-$?!d4*9Wx54J7gR|clkubY@I|!Hz1%& zKmJWtiGF&bdgCk%DY2uO__*J~LD9sP;@Mr-C8C&Ym)^kxudH5lAGCube?`~qcAx$MblHdKFDWE>} zl@F-W%o*JG(irk=+yknI|9idi0pRKN`pXAYVfwLoX!J@Qc@R>#qq^cjb$(!LQ0L#T z`VFdiF10`MM6jY|zUj!0l#aY@tn^I=9+ExWp-()hhGcl=iF(9j)h+q(;ABAlr+WEh zby4dLP;1FnF3S|q66aUwt&`{@a69#0k;pUp)<;x9mQkg@2s%J7ZjtY_Iy9ctBNymw zxl37~V3je5RJOmUADW_CwHbTwDa+D5eE?(>iNc7k!{FHIJzkIz4>2A-cFqXYc{{oFBRkYLgn1cj5xz&RdCGY%VE+G}H_ zi=VN&GBxlB<0E$O`!_YHKoB`dICF>)b6g__f&QktMW)W(f(jTza);jiHzi@T{d#r2 zRZu!BnYC;t3q`re=)D2Btou~e(|<_cIu)8wM3I>|RdsV_eUSHwenyUU7oAea6 zT;a(46+W?JibSv=$rsHQYh-=XBdRPkH|@VWOBiFnHCL~HM71jYFJ?)Hr>P~s;F`LR zOTD>|ejj}#zrixfv2>D-o95ui0)GffkXmB50YCxqyOVfU9V87oOqAgr@q@T{VP2k| zdAnWE?4Y3fFme(|pE$&={VPsYAh`LtTD9muQ4D^CXEFAf0USYh6Svu;&I;100Zf`@ zHr=UvX*iDrR4V?Nk@cN^5j6!c`n$BMcW5V_FhWuhzS22KV71y!S0_K2XQdv*4mCPG zxqdpN>o`4mU^>Jq6TZ>CAH{N?r7wL{{Re02fnMrh44#e%VIvEL&!Y@$=7QA=40w|;Pj4v7dq&YQtRz)$W1 zT4cXlVy&#spP};n{S!+;)<}i798#Bv7f9CZ-tOIj-hN+QyG>^GHBYF3-|tpm_oN!^ z_jlEcW`a-tTK{XNx(ZD=bC$Zb(rgH%H@GKF_N3Bcu!|>5iP-}18FUjVde1BswYh15 zRVrgDu5>5C_SOCpd{V_`;IaW7bW)#tQ{lPQpADGi=b5+|jSR~UJXLEuO{uc>B7oHUjoF&?e zLR{ww!31U-Jv}~G4M@_;Se$agd-yz6oLlew+r#>I^VByKm9#)5(H4}U;D<7ls%KUA z^eKyhoS)LmpH*iz8~X~lgqjSnuWh5)sf(j+t=A!>m4gS?99{IBy24t@&8C8WPNCV# zw*IBZKc`Mlrs9x*N!|FIYH`LkxK#+;CEgXhLxb?I@DUFX#)hRXeL{7k)!*iM=#Dq) z0nbC@So?y0@OgE6V8U@7nh#riT)WR#e=0tDH+Y-2Xb=u>y0ia^hxzxQ3ybx}`Kq$Z zF6Ne}<}R09?0D{M_=KTMFF-@lgM8TZAqHZx?yvxYzctnOE>JD~5LGQ$sET?o&ZKit zx(>z#aZud(+g2w~O3+2%s27vZbxRxe21H3G7OK*pB>+f-jNC&9BZW7;pjyZ&?HtN}rW8hV zDEyg#t24pTD!Yx35^N z&P-nGR3*vs7|Sq~Le=7=P!)%(m;tG*zW60|Q*8D>@Fa(1 z0@)xtFnAfz^~3H#1`d)(z5gW@?Q|m&bF#A{QOBIRna|fUd4eX8os)bmJNepH-F2yI z8+(bxY*P#&*Sy*}uAG*L^_d>CRJAbQ%u1$i&`Xl3jJ|BjZqNsos(5Ty%9qg|ugcVy z+f}Qcm0kmJxF$e<6-`LYtmmugRw6BzX`7iAu{P?d)v9IKt9+wgU9F1FPMy~&GDA}_ zLj(;R?C}OpDucw|t49U|UMaj!y{=1_snhCB^#rMC5~uo#WvZ|g8y0r(Kny38@Ylgt zj0q&Fi&)iq$}&)rbM))WROx98aRObwi~;e0lJo(}r8e^xg5T|^TfMAWG@rrFjadXd zvJe(2jsr`bn?(H+j}F088# zuO%A%S&%g&U+-J4%Hf{Jze2SxPwBq*8B;z?LIb{c2CV=VOev&)zd}7+uh%{J$urQm zrYlwJdN~!$X^)&sSE`%p<@94tf8@NoQpM|ycqMbX)OA2m9G6$NwLv#urP|hO%%!W; z>FRaH?!b`2aVH#O_k+-Uj(&2L8UmW((^cvZ{)77J8ugvpo(3lr@HGT??-qXuK)0+` zO;a<%%-}{pYqgq!_dC6+e%6O)%M>yF<3#Ny^k^O)mn9x^>{DU-koB&9^;Nab|9d@Q zjT+=%rnjw8T_SVIia|XSK(w8_wJMg)1Zzwvj@V7`?X*@En3TIEC76=(U65r$DJefn zN}8mkOFcj6SJtZ1l#hI*Yu6&+nPeW5;^CAEzL%6tNlAHWkv?yox;cYZr~zxQ{_z#7 z(8m5Nbi)qg!injhu2Zp=UZJ#X$Z9}VcMDw4t-4{+%GXp;vcB{2aCY)N*)!l9{bcW@ z(bX;Jos;M4d9SI?$y)cNe&R&xL(}!DSr{V#97j?@w^!$_uv+Wy)~iUe5!oA5>*PbP4OnaI z^ko~=g9J1>t*2_o;twJ4`wa#H6B**Ph!EIrqv|8I^syG{TQ;haj%+V!2?J~%MUib2 zGUpQ%8KN0XhL9L}0K8=z)gMX4+WaQmhK2dVs{6mL2BcGJ`1a&ztJM0iW;Y8>=@NteN4$8%PxXbHe;#vu@n1 z1`tambKr`|yt8hzstF%lf_VsFAADeo8dI+vVoMqf6x)g;fT=YUGlw1c*;du6UQU!b zZ0G}9g_>Ek6^Be`Ox7Q4RRc$)R)MgX9zqI|jtF-2`P>opBqYcLx` z1ay#)Wuma@NjfmsAGfJdf$7!yqit$@czQK@l5V}Cf4g1Hs@j)EFDE=V~4M1Xz`_R~ohyyNkA<`8dz4$G@dog{Q2?lVv@lm%OEB z)%hYRj>ag~Knw!3&52en#F_0A` z&N&dEA<#I?EIB;~jNqD`s&o2r=&sPn?{|VKd*16l$c7j`uu^w?TU`*D`Zih=0ZEq) z@7C|a;w{m{FcQApr7r0uLds7gL@c2Wz7ese(0O4m- z`W5mJH!Ccxs}M=04J(|JtT0U~tQ*9RyVPaf6V1bXOKtQ8=rs>X@rJcM&)TvuA2qvh z?mN+0eGpZZB&xzBNLBGfRr-o|RblugzRIb*^Ig>TCX`+J-$a*{G-eOEnwfP0Geh(s}Zth-d)K4!ea2nSz#sW8S03zNbcK?uL6x zV0&w~Zn{U6G#kLB>WO9`C`quMC?g`Wj=L584xYPPjW7#4m|WPu*U#^U(eD?!?0xm% zp!YZ|5R9aWoCOZ-5zqqCnkgi2pYj_bE`u^cFjE;svFW6YljshyaSge2_!oc>G>5x_x#p-uY6m+pA{!U)R^x zs;JznU1YR1k4>c{+H|$5Ts3A=BIk*hpMATfYf>f2!sS9xzW3|ka56qjUh8? z_3huF$0tc|xnIS+4ZBuv`6kk%OXETw6(UDRPnMe=K|hMF16{Vy0`y_3)4Cb?q~K6qy;)@4trh_77A^-y=BBH3@^iM#vEa-*Iz@D?wL? z;Mu|m0N=p8xlWwIHmP$jw=VSh@ z`drCR_7f=&-F0ts5Y!Jdyvd37#p`R$^fso8EYd|=38`s>R0gbqkVgopdcv3hAhrAe zJWc#w_dB3&&6wdiK3R4Er&)K zL0_x>=u`ri-a`8b`S@t~hM8IJ~z9Dj?TqCuGFzW9IReLO`tq0*CV+jkE z81k)A!OYL4V7Jdva5D>vxW#H*<1MD(6DZhpFA4$(rQ;2193R%ZK38Wn{dclRZo|4z zq|+BDawJ(Kr(u!%1Ny!%)Hd{B_*Zh`eEgTHec89k7qT0^a7b_YQZW=x_8~b4(B_b8 z>YhlJ$97+TgigR&OGV%a&?c{k{M4cW<|OD%(7k6B1|kR%(Y=Ro?rH*`rr-w_KQA9r z>+zMl53A;NAA9w%dcbR{c=`}i?k9w98a@~GHU)L@&{s;8B!rwYPxYjnE51^fU9eZ@)H>ww&Mtr0CM5*u#^dpB*DSLf#M{+Im>I>hf)@^1TH(p6mj7Ls!sgNyi z2s@M^x8i!>b$#L+)m*yG#po$0JnC|x?s-&pip!6xHkT%MzJTm}@k~&Tkhcrdv@SQ6 z6@?jUIF<=Xgt1=}ZkwK=TP2(5ZJLzVg62S|DQr&b^!rCu5%!_4kE)A?QevOlMoL8C zB>_88JjkG9A<

Mpr?;*ch@TcU7! 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

v-u6) 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 vkLqdggz1sd$~Isxa2%KcOgpjXCVT}e)2 Date: Mon, 20 Nov 2023 14:33:35 -0500 Subject: [PATCH 7/7] chore: bump version --- Cargo.lock | 6 +- crates/core-gpu/Cargo.toml | 2 +- crates/core/Cargo.toml | 2 +- crates/tokenizers/Cargo.toml | 2 +- deno.lock | 5 +- src/backends/cpu/mod.ts | 2 +- src/backends/gpu/mod.ts | 4 +- src/backends/wasm/lib/netsaur.generated.js | 196 ++++++---------- src/backends/wasm/lib/netsaur_bg.wasm | Bin 825696 -> 825703 bytes src/backends/wasm/mod.ts | 2 +- .../lib/netsaur_tokenizers.generated.js | 214 +++++++----------- tokenizers/lib/netsaur_tokenizers_bg.wasm | Bin 2153467 -> 2152402 bytes tokenizers/mod.ts | 2 +- 13 files changed, 174 insertions(+), 263 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index ea31526..a9e2353 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -789,7 +789,7 @@ dependencies = [ [[package]] name = "netsaur" -version = "0.2.13" +version = "0.2.15" dependencies = [ "getrandom", "js-sys", @@ -803,7 +803,7 @@ dependencies = [ [[package]] name = "netsaur-gpu" -version = "0.2.13" +version = "0.2.15" dependencies = [ "ndarray", "ndarray-rand", @@ -817,7 +817,7 @@ dependencies = [ [[package]] name = "netsaur-tokenizers" -version = "0.2.13" +version = "0.2.15" dependencies = [ "getrandom", "js-sys", diff --git a/crates/core-gpu/Cargo.toml b/crates/core-gpu/Cargo.toml index 9f7a7e4..578df5f 100644 --- a/crates/core-gpu/Cargo.toml +++ b/crates/core-gpu/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "netsaur-gpu" -version = "0.2.13" +version = "0.2.15" [lib] crate-type = ["cdylib"] diff --git a/crates/core/Cargo.toml b/crates/core/Cargo.toml index 32c230c..e65349e 100644 --- a/crates/core/Cargo.toml +++ b/crates/core/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "netsaur" -version = "0.2.13" +version = "0.2.15" [lib] crate-type = ["cdylib"] diff --git a/crates/tokenizers/Cargo.toml b/crates/tokenizers/Cargo.toml index d7014ea..0a41f79 100644 --- a/crates/tokenizers/Cargo.toml +++ b/crates/tokenizers/Cargo.toml @@ -1,7 +1,7 @@ [package] edition = "2021" name = "netsaur-tokenizers" -version = "0.2.13" +version = "0.2.15" [lib] crate-type = ["cdylib"] diff --git a/deno.lock b/deno.lock index e9357ba..b503d55 100644 --- a/deno.lock +++ b/deno.lock @@ -65,6 +65,7 @@ "https://deno.land/x/canvas@v1.4.1/src/lib.js": "bb21711589bfbc8997b455cdf53e3150e23289f3b44809188041b1d2fc7924fa", "https://deno.land/x/canvas@v1.4.1/src/types.ts": "67d5800f8f4b0a407e0251676a03ae91b5f50a3ed53e6b72dc5984113cb93128", "https://deno.land/x/canvas@v1.4.1/src/wasm.js": "449d72cc14fc4142a5853f944df49a744d852981d09c5515528ede8aebb0afda", + "https://deno.land/x/dir@1.5.1/data_local_dir/mod.ts": "91eb1c4bfadfbeda30171007bac6d85aadacd43224a5ed721bbe56bc64e9eb66", "https://deno.land/x/lz4@v0.1.2/mod.ts": "4decfc1a3569d03fd1813bd39128b71c8f082850fe98ecfdde20025772916582", "https://deno.land/x/lz4@v0.1.2/wasm.js": "b9c65605327ba273f0c76a6dc596ec534d4cda0f0225d7a94ebc606782319e46", "https://deno.land/x/plug@1.0.3/deps.ts": "91d5b264dd7374bf6f4f544fa0ddef12f1c6fddc10840314f5fb6aeeadb64396", @@ -73,6 +74,8 @@ "https://deno.land/x/plug@1.0.3/types.ts": "0490359117c53783138f2b6692a34f85bca9237314ba8cdef8ad682d81218d21", "https://deno.land/x/plug@1.0.3/util.ts": "ded3db6e9bb16b8003899d9073fb310e13231ca617b35d6b7dfd53f38762cc76", "https://deno.land/x/pngs@0.1.1/mod.ts": "9dc8a7daed1497b94a77b68c954164a9f0b2a6f40866481bdfdbbaf015b5f764", - "https://deno.land/x/pngs@0.1.1/wasm.js": "e3d4a8f293b267c9859a2164ca7b4603869bc92fe0d5ad4f109925858bce0c4c" + "https://deno.land/x/pngs@0.1.1/wasm.js": "e3d4a8f293b267c9859a2164ca7b4603869bc92fe0d5ad4f109925858bce0c4c", + "https://deno.land/x/wasmbuild@0.15.1/cache.ts": "9d01b5cb24e7f2a942bbd8d14b093751fa690a6cde8e21709ddc97667e6669ed", + "https://deno.land/x/wasmbuild@0.15.1/loader.ts": "8c2fc10e21678e42f84c5135d8ab6ab7dc92424c3f05d2354896a29ccfd02a63" } } diff --git a/src/backends/cpu/mod.ts b/src/backends/cpu/mod.ts index f13a0c0..b1e1ad4 100644 --- a/src/backends/cpu/mod.ts +++ b/src/backends/cpu/mod.ts @@ -15,7 +15,7 @@ const options: FetchOptions = { name: "netsaur", url: new URL(import.meta.url).protocol !== "file:" ? new URL( - "https://github.com/denosaurs/netsaur/releases/download/0.2.14/", + "https://github.com/denosaurs/netsaur/releases/download/0.2.15/", import.meta.url, ) : "./target/release/", diff --git a/src/backends/gpu/mod.ts b/src/backends/gpu/mod.ts index a24259a..32c7b55 100644 --- a/src/backends/gpu/mod.ts +++ b/src/backends/gpu/mod.ts @@ -15,10 +15,10 @@ const options: FetchOptions = { name: "netsaur_gpu", url: new URL(import.meta.url).protocol !== "file:" ? new URL( - "https://github.com/denosaurs/netsaur/releases/download/0.2.14/", + "https://github.com/denosaurs/netsaur/releases/download/0.2.15/", import.meta.url, ) - : "./target/debug/", + : "./target/release/", cache: "reloadAll", }; diff --git a/src/backends/wasm/lib/netsaur.generated.js b/src/backends/wasm/lib/netsaur.generated.js index b41c991..5dd7a66 100644 --- a/src/backends/wasm/lib/netsaur.generated.js +++ b/src/backends/wasm/lib/netsaur.generated.js @@ -1,7 +1,7 @@ // @generated file from wasmbuild -- do not edit // deno-lint-ignore-file // deno-fmt-ignore-file -// source-hash: d2763e5966c8367f7be14106af540e555164a811 +// source-hash: 27a7ab3b4a6ba5708c4d244969e0c8d52811e2ac let wasm; let cachedInt32Memory0; @@ -36,12 +36,15 @@ function addHeapObject(obj) { return idx; } -const cachedTextDecoder = new TextDecoder("utf-8", { - ignoreBOM: true, - fatal: true, -}); +const cachedTextDecoder = typeof TextDecoder !== "undefined" + ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) + : { + decode: () => { + throw Error("TextDecoder not available"); + }, + }; -cachedTextDecoder.decode(); +if (typeof TextDecoder !== "undefined") cachedTextDecoder.decode(); let cachedUint8Memory0 = null; @@ -53,12 +56,19 @@ function getUint8Memory0() { } function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } let WASM_VECTOR_LEN = 0; -const cachedTextEncoder = new TextEncoder("utf-8"); +const cachedTextEncoder = typeof TextEncoder !== "undefined" + ? new TextEncoder("utf-8") + : { + encode: () => { + throw Error("TextEncoder not available"); + }, + }; const encodeString = function (arg, view) { return cachedTextEncoder.encodeInto(arg, view); @@ -67,14 +77,14 @@ const encodeString = function (arg, view) { function passStringToWasm0(arg, malloc, realloc) { if (realloc === undefined) { const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length); + const ptr = malloc(buf.length, 1) >>> 0; getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr; } let len = arg.length; - let ptr = malloc(len); + let ptr = malloc(len, 1) >>> 0; const mem = getUint8Memory0(); @@ -90,7 +100,7 @@ function passStringToWasm0(arg, malloc, realloc) { if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3); + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); @@ -126,7 +136,7 @@ function getUint32Memory0() { } function passArrayJsValueToWasm0(array, malloc) { - const ptr = malloc(array.length * 4); + const ptr = malloc(array.length * 4, 4) >>> 0; const mem = getUint32Memory0(); for (let i = 0; i < array.length; i++) { mem[ptr / 4 + i] = addHeapObject(array[i]); @@ -203,23 +213,13 @@ const imports = { __wbindgen_object_drop_ref: function (arg0) { takeObject(arg0); }, - __wbg_log_fd19485ee91363a8: function (arg0, arg1) { + __wbg_log_8d8708b5d26d7ac1: function (arg0, arg1) { console.log(getStringFromWasm0(arg0, arg1)); }, __wbindgen_number_new: function (arg0) { const ret = arg0; return addHeapObject(ret); }, - __wbg_getRandomValues_37fa2ca9e4e07fab: function () { - return handleError(function (arg0, arg1) { - getObject(arg0).getRandomValues(getObject(arg1)); - }, arguments); - }, - __wbg_randomFillSync_dc1e9a60c158336d: function () { - return handleError(function (arg0, arg1) { - getObject(arg0).randomFillSync(takeObject(arg1)); - }, arguments); - }, __wbg_crypto_c48a774b022d20ac: function (arg0) { const ret = getObject(arg0).crypto; return addHeapObject(ret); @@ -263,11 +263,21 @@ const imports = { const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); }, - __wbg_newnoargs_2b8b6bd7753c76ba: function (arg0, arg1) { + __wbg_getRandomValues_37fa2ca9e4e07fab: function () { + return handleError(function (arg0, arg1) { + getObject(arg0).getRandomValues(getObject(arg1)); + }, arguments); + }, + __wbg_randomFillSync_dc1e9a60c158336d: function () { + return handleError(function (arg0, arg1) { + getObject(arg0).randomFillSync(takeObject(arg1)); + }, arguments); + }, + __wbg_newnoargs_581967eacc0e2604: function (arg0, arg1) { const ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }, - __wbg_call_95d1ea488d03e4e8: function () { + __wbg_call_cb65541d95d71282: function () { return handleError(function (arg0, arg1) { const ret = getObject(arg0).call(getObject(arg1)); return addHeapObject(ret); @@ -277,25 +287,25 @@ const imports = { const ret = getObject(arg0); return addHeapObject(ret); }, - __wbg_self_e7c1f827057f6584: function () { + __wbg_self_1ff1d729e9aae938: function () { return handleError(function () { const ret = self.self; return addHeapObject(ret); }, arguments); }, - __wbg_window_a09ec664e14b1b81: function () { + __wbg_window_5f4faef6c12b79ec: function () { return handleError(function () { const ret = window.window; return addHeapObject(ret); }, arguments); }, - __wbg_globalThis_87cbb8506fecf3a9: function () { + __wbg_globalThis_1d39714405582d3c: function () { return handleError(function () { const ret = globalThis.globalThis; return addHeapObject(ret); }, arguments); }, - __wbg_global_c85a9259e621f3db: function () { + __wbg_global_651f05c6a0944d1c: function () { return handleError(function () { const ret = global.global; return addHeapObject(ret); @@ -305,23 +315,23 @@ const imports = { const ret = getObject(arg0) === undefined; return ret; }, - __wbg_set_17224bc548dd1d7b: function (arg0, arg1, arg2) { + __wbg_set_502d29070ea18557: function (arg0, arg1, arg2) { getObject(arg0)[arg1 >>> 0] = takeObject(arg2); }, - __wbg_setlength_c0e533b51f477fd2: function (arg0, arg1) { + __wbg_setlength_02cc4ef174b232f4: function (arg0, arg1) { getObject(arg0).length = arg1 >>> 0; }, - __wbg_call_9495de66fdbe016b: function () { + __wbg_call_01734de55d61e11d: function () { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, arguments); }, - __wbg_buffer_cf65c07de34b9a08: function (arg0) { + __wbg_buffer_085ec1f694018c4f: function (arg0) { const ret = getObject(arg0).buffer; return addHeapObject(ret); }, - __wbg_newwithbyteoffsetandlength_9fb2f11355ecadf5: function ( + __wbg_newwithbyteoffsetandlength_6da8e527659b86aa: function ( arg0, arg1, arg2, @@ -329,18 +339,18 @@ const imports = { const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }, - __wbg_new_537b7341ce90bb31: function (arg0) { + __wbg_new_8125e318e6245eed: function (arg0) { const ret = new Uint8Array(getObject(arg0)); return addHeapObject(ret); }, - __wbg_set_17499e8aa4003ebd: function (arg0, arg1, arg2) { + __wbg_set_5cf90238115182c3: function (arg0, arg1, arg2) { getObject(arg0).set(getObject(arg1), arg2 >>> 0); }, - __wbg_length_27a2afe8ab42b09f: function (arg0) { + __wbg_length_72e2208bbc0efc61: function (arg0) { const ret = getObject(arg0).length; return ret; }, - __wbg_newwithbyteoffsetandlength_4078d56428eb2926: function ( + __wbg_newwithbyteoffsetandlength_69193e31c844b792: function ( arg0, arg1, arg2, @@ -348,22 +358,22 @@ const imports = { const ret = new Float32Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }, - __wbg_new_15c8c9d805511d5d: function (arg0) { + __wbg_new_d086a66d1c264b3f: function (arg0) { const ret = new Float32Array(getObject(arg0)); return addHeapObject(ret); }, - __wbg_set_636116f560e91428: function (arg0, arg1, arg2) { + __wbg_set_6146c51d49a2c0df: function (arg0, arg1, arg2) { getObject(arg0).set(getObject(arg1), arg2 >>> 0); }, - __wbg_length_ea966839102cae05: function (arg0) { + __wbg_length_d7327c75a759af37: function (arg0) { const ret = getObject(arg0).length; return ret; }, - __wbg_newwithlength_b56c882b57805732: function (arg0) { + __wbg_newwithlength_e5d69174d6984cd7: function (arg0) { const ret = new Uint8Array(arg0 >>> 0); return addHeapObject(ret); }, - __wbg_subarray_7526649b91a252a6: function (arg0, arg1, arg2) { + __wbg_subarray_13db269f57aa838d: function (arg0, arg1, arg2) { const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }, @@ -377,6 +387,13 @@ const imports = { }, }; +import { Loader } from "https://deno.land/x/wasmbuild@0.15.1/loader.ts"; +import { cacheToLocalDir } from "https://deno.land/x/wasmbuild@0.15.1/cache.ts"; + +const loader = new Loader({ + imports, + cache: cacheToLocalDir, +}); /** * Decompression callback * @@ -402,9 +419,6 @@ export async function instantiate(opts) { return (await instantiateWithInstance(opts)).exports; } -let instanceWithExports; -let lastLoadPromise; - /** Instantiates an instance of the Wasm module along with its exports. * @remarks It is safe to call this multiple times and once successfully * loaded it will always return a reference to the same object. @@ -414,28 +428,18 @@ let lastLoadPromise; * exports: { wasm_backend_create: typeof wasm_backend_create; wasm_backend_train: typeof wasm_backend_train; wasm_backend_predict: typeof wasm_backend_predict; wasm_backend_save: typeof wasm_backend_save; wasm_backend_load: typeof wasm_backend_load } * }>} */ -export function instantiateWithInstance(opts) { - if (instanceWithExports != null) { - return Promise.resolve(instanceWithExports); - } - if (lastLoadPromise == null) { - lastLoadPromise = (async () => { - try { - const instance = (await instantiateModule(opts ?? {})).instance; - wasm = instance.exports; - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - instanceWithExports = { - instance, - exports: getWasmInstanceExports(), - }; - return instanceWithExports; - } finally { - lastLoadPromise = null; - } - })(); - } - return lastLoadPromise; +export async function instantiateWithInstance(opts) { + const { instance } = await loader.load( + opts?.url ?? new URL("netsaur_bg.wasm", import.meta.url), + opts?.decompress, + ); + wasm = wasm ?? instance.exports; + cachedInt32Memory0 = cachedInt32Memory0 ?? new Int32Array(wasm.memory.buffer); + cachedUint8Memory0 = cachedUint8Memory0 ?? new Uint8Array(wasm.memory.buffer); + return { + instance, + exports: getWasmInstanceExports(), + }; } function getWasmInstanceExports() { @@ -450,61 +454,5 @@ function getWasmInstanceExports() { /** Gets if the Wasm module has been instantiated. */ export function isInstantiated() { - return instanceWithExports != null; -} - -/** - * @param {InstantiateOptions} opts - */ -async function instantiateModule(opts) { - const wasmUrl = opts.url ?? new URL("netsaur_bg.wasm", import.meta.url); - const decompress = opts.decompress; - const isFile = wasmUrl.protocol === "file:"; - - // make file urls work in Node via dnt - const isNode = globalThis.process?.versions?.node != null; - if (isNode && isFile) { - // the deno global will be shimmed by dnt - const wasmCode = await Deno.readFile(wasmUrl); - return WebAssembly.instantiate( - decompress ? decompress(wasmCode) : wasmCode, - imports, - ); - } - - switch (wasmUrl.protocol) { - case "file:": - case "https:": - case "http:": { - if (isFile) { - if (typeof Deno !== "object") { - throw new Error("file urls are not supported in this environment"); - } - if ("permissions" in Deno) { - await Deno.permissions.request({ name: "read", path: wasmUrl }); - } - } else if (typeof Deno === "object" && "permissions" in Deno) { - await Deno.permissions.request({ name: "net", host: wasmUrl.host }); - } - const wasmResponse = await fetch(wasmUrl); - if (decompress) { - const wasmCode = new Uint8Array(await wasmResponse.arrayBuffer()); - return WebAssembly.instantiate(decompress(wasmCode), imports); - } - if ( - isFile || - wasmResponse.headers.get("content-type")?.toLowerCase() - .startsWith("application/wasm") - ) { - return WebAssembly.instantiateStreaming(wasmResponse, imports); - } else { - return WebAssembly.instantiate( - await wasmResponse.arrayBuffer(), - imports, - ); - } - } - default: - throw new Error(`Unsupported protocol: ${wasmUrl.protocol}`); - } + return loader.instance != null; } diff --git a/src/backends/wasm/lib/netsaur_bg.wasm b/src/backends/wasm/lib/netsaur_bg.wasm index 7eb184d800e2c45fc3e4e9069b7985687066a6f8..11e045eb5f231006872461a4f6164582ab15ac7a 100644 GIT binary patch delta 7053 zcmbtZd3=ml_kZqv?tRutGD$>2LME})@**?IOcJV0HN0M0Tl*Gm#bg$HLQqr*s;E-S zgli9i61#+3VvDV|3bhwS)el9fz18wN&kSDm{{H*L=RW6r&vwsq?z#8Qj0@{*SJv4k zzZpXE;1A_>74!0j32WQbN9Ht7T53{Smfd4>cv4+%tKW%Z{Y#P6f0)X}Zd?)jPovNL zLrA#Uo@PyVq4Rl@1R-e!6 zNwuYW(_JoadUBe-39TJr_oet;UZ2BlwPmHId)_%6X;z!vn`}+DKgQh~rL6Nr6JyjM!#R5=`T8!28=ADOt%re}Ysq!eLEuxb0R?O1jJD zPV)F(itb5GwxzmL?XFaNy33cG8iLpCI}c~5e5=~mEa)=sw5#$giu3gXhCCW zNsJ&UhMfTf4QV36A)*%cOcF2-k>wCU#ubbS-qox~^^eh#;?$rCJP8)Cf@x(VrU?lq zLG^#HyvjZQ7Fa~)XnsEX$T47NEG8mBtlLi3Pp&LZ~>_T24g`Ks4M^_ zM8pImNvc3BND5UF{0H@TNa2RwkE#fpWPg@v7n0~M0O81h7;(W4|ju&@{ zPw_P1%Ed$CR?yrhMezKIETeytQS<@%j6NbG=pW>FGM0Wp$Ix-~F?m8((B)wD7a2_- zl9BW&`JDQTLf*~DCmZQR^1Jv4gvuu;$tegtM*Lh{MN8?AWE))qcrH0l=8?r@r;lKkhpk1F=2JG1~hp}5vtI}vJKd?RBhQYK-ikbq4U{1@M@Q#`Z9^dwYR zoHRHcp=o~0Co%p}L*}As#g%;$i zCL8(9$`@Kwar=#xaL}Z9bm=!3CTqOa@l4{Mu>A;P#a+rqVZ{6wcXkEv=B~pvPy?1< z3FQ?}{iPO06N^i4R6;1F`1nm4gIe=56pcY>BF~ahEQtAV1x1CU1{^#JYw*Ku(a=Oz zsV(9>wF&yk%v<$Gvm*Jg)6rfNvhr1a)Kuh`#{l9R3Q?Q7sE|wLXqgHD*PKHCG6Ft6 zjb;O7Ku7UPXHlq#X0lr6krmD4ozJ7EBHGV8UqV|npfSIq@n&>@7d}Dh66(v(5&Qv0 zex5Gl+-QisqAIRm8{E&dzz%Sa_$NLggZNq->=1!kI^d-ybd>MQ#16vLo;aKL@nA1P zM;VBYvL!y;0rh3GyWwP3uN&?IGXS3rGfem3K73G5TwO)OS@;~hjejrzr)y{npEewi zM<|0^M&KxnG8j-7XQQwhjW+WIGcnYwlv@_!mWkYP5j$0$xdVR}hc70w72n}BzV;Vf zD-jLnKbS;rSWb-+p&HG3{b;de2>PB6t}fO@kViocv9bhjx~Zw;c91C9BVpxWSBc`?ZV&#sHfS)HHWNXjJs7bj;Ce|@dN&)QDj z3xk5*E+=b6G?gzrN+K-MuHx;2c?REfm!xAUe{BH#exK}6Xi%~J2`NQr#`;ew9K$o% za744E(dz%peJLS{{vJUC$_l<(cS8W`3wpG=tkh=+~jr z=wRgYv9vLUkX5SEG#ZT9xhlmekm5(}X�Y&%H~piYTA$=}4O+KMUzZn*w>K6MdZ( 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 TEC}3`XsR&?r83)0Q~m!1I=xBz delta 6894 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 diff --git a/src/backends/wasm/mod.ts b/src/backends/wasm/mod.ts index 3b21000..84a6e3e 100644 --- a/src/backends/wasm/mod.ts +++ b/src/backends/wasm/mod.ts @@ -22,7 +22,7 @@ export class WASMInstance { await instantiate({ url: new URL(import.meta.url).protocol !== "file:" ? new URL( - "https://github.com/denosaurs/netsaur/releases/download/0.2.14/netsaur_bg.wasm", + "https://github.com/denosaurs/netsaur/releases/download/0.2.15/netsaur_bg.wasm", import.meta.url, ) : undefined, diff --git a/tokenizers/lib/netsaur_tokenizers.generated.js b/tokenizers/lib/netsaur_tokenizers.generated.js index 03d84f2..f525e0a 100644 --- a/tokenizers/lib/netsaur_tokenizers.generated.js +++ b/tokenizers/lib/netsaur_tokenizers.generated.js @@ -1,7 +1,7 @@ // @generated file from wasmbuild -- do not edit // deno-lint-ignore-file // deno-fmt-ignore-file -// source-hash: 8beb82a36802cbe280139e22e69a33415c0cb780 +// source-hash: e9948b2e6e24f9fca8b2bb38a4999a5fabdbcbc9 let wasm; const heap = new Array(128).fill(undefined); @@ -26,12 +26,15 @@ function takeObject(idx) { return ret; } -const cachedTextDecoder = new TextDecoder("utf-8", { - ignoreBOM: true, - fatal: true, -}); +const cachedTextDecoder = typeof TextDecoder !== "undefined" + ? new TextDecoder("utf-8", { ignoreBOM: true, fatal: true }) + : { + decode: () => { + throw Error("TextDecoder not available"); + }, + }; -cachedTextDecoder.decode(); +if (typeof TextDecoder !== "undefined") cachedTextDecoder.decode(); let cachedUint8Memory0 = null; @@ -43,6 +46,7 @@ function getUint8Memory0() { } function getStringFromWasm0(ptr, len) { + ptr = ptr >>> 0; return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); } @@ -122,7 +126,13 @@ function debugString(val) { let WASM_VECTOR_LEN = 0; -const cachedTextEncoder = new TextEncoder("utf-8"); +const cachedTextEncoder = typeof TextEncoder !== "undefined" + ? new TextEncoder("utf-8") + : { + encode: () => { + throw Error("TextEncoder not available"); + }, + }; const encodeString = function (arg, view) { return cachedTextEncoder.encodeInto(arg, view); @@ -131,14 +141,14 @@ const encodeString = function (arg, view) { function passStringToWasm0(arg, malloc, realloc) { if (realloc === undefined) { const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length); + const ptr = malloc(buf.length, 1) >>> 0; getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); WASM_VECTOR_LEN = buf.length; return ptr; } let len = arg.length; - let ptr = malloc(len); + let ptr = malloc(len, 1) >>> 0; const mem = getUint8Memory0(); @@ -154,7 +164,7 @@ function passStringToWasm0(arg, malloc, realloc) { if (offset !== 0) { arg = arg.slice(offset); } - ptr = realloc(ptr, len, len = offset + arg.length * 3); + ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0; const view = getUint8Memory0().subarray(ptr + offset, ptr + len); const ret = encodeString(arg, view); @@ -194,15 +204,19 @@ export function wasm_tokenizer_from_json(json) { * @returns {string} */ export function wasm_tokenizer_save(id, pretty) { + let deferred1_0; + let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.wasm_tokenizer_save(retptr, id, pretty); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; + deferred1_0 = r0; + deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(r0, r1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } @@ -224,6 +238,7 @@ function getUint32Memory0() { } function getArrayU32FromWasm0(ptr, len) { + ptr = ptr >>> 0; return getUint32Memory0().subarray(ptr / 4, ptr / 4 + len); } /** @@ -243,9 +258,9 @@ export function wasm_tokenizer_encode(id, string) { wasm.wasm_tokenizer_encode(retptr, id, ptr0, len0); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; - var v1 = getArrayU32FromWasm0(r0, r1).slice(); + var v2 = getArrayU32FromWasm0(r0, r1).slice(); wasm.__wbindgen_free(r0, r1 * 4); - return v1; + return v2; } finally { wasm.__wbindgen_add_to_stack_pointer(16); } @@ -272,7 +287,7 @@ export function wasm_tokenizer_get_vocab_size(id, with_added_tokens) { } function passArray32ToWasm0(arg, malloc) { - const ptr = malloc(arg.length * 4); + const ptr = malloc(arg.length * 4, 4) >>> 0; getUint32Memory0().set(arg, ptr / 4); WASM_VECTOR_LEN = arg.length; return ptr; @@ -284,6 +299,8 @@ function passArray32ToWasm0(arg, malloc) { * @returns {string} */ export function wasm_tokenizer_decode(id, ids, skip_special_tokens) { + let deferred2_0; + let deferred2_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); const ptr0 = passArray32ToWasm0(ids, wasm.__wbindgen_malloc); @@ -291,10 +308,12 @@ export function wasm_tokenizer_decode(id, ids, skip_special_tokens) { wasm.wasm_tokenizer_decode(retptr, id, ptr0, len0, skip_special_tokens); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; + deferred2_0 = r0; + deferred2_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(r0, r1); + wasm.__wbindgen_free(deferred2_0, deferred2_1, 1); } } @@ -320,15 +339,19 @@ export function wasm_tokenizer_token_to_id(id, token) { * @returns {string} */ export function wasm_tokenizer_id_to_token(id, token_id) { + let deferred1_0; + let deferred1_1; try { const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); wasm.wasm_tokenizer_id_to_token(retptr, id, token_id); var r0 = getInt32Memory0()[retptr / 4 + 0]; var r1 = getInt32Memory0()[retptr / 4 + 1]; + deferred1_0 = r0; + deferred1_1 = r1; return getStringFromWasm0(r0, r1); } finally { wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(r0, r1); + wasm.__wbindgen_free(deferred1_0, deferred1_1, 1); } } @@ -345,26 +368,26 @@ const imports = { __wbindgen_object_drop_ref: function (arg0) { takeObject(arg0); }, - __wbindgen_is_string: function (arg0) { - const ret = typeof (getObject(arg0)) === "string"; - return ret; - }, __wbindgen_error_new: function (arg0, arg1) { const ret = new Error(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }, + __wbindgen_is_string: function (arg0) { + const ret = typeof (getObject(arg0)) === "string"; + return ret; + }, __wbindgen_number_new: function (arg0) { const ret = arg0; return addHeapObject(ret); }, - __wbindgen_object_clone_ref: function (arg0) { - const ret = getObject(arg0); - return addHeapObject(ret); - }, __wbindgen_string_new: function (arg0, arg1) { const ret = getStringFromWasm0(arg0, arg1); return addHeapObject(ret); }, + __wbindgen_object_clone_ref: function (arg0) { + const ret = getObject(arg0); + return addHeapObject(ret); + }, __wbg_set_bd72c078edfa51ad: function (arg0, arg1, arg2) { getObject(arg0)[takeObject(arg1)] = takeObject(arg2); }, @@ -413,43 +436,43 @@ const imports = { getObject(arg0).randomFillSync(takeObject(arg1)); }, arguments); }, - __wbg_newnoargs_2b8b6bd7753c76ba: function (arg0, arg1) { + __wbg_newnoargs_581967eacc0e2604: function (arg0, arg1) { const ret = new Function(getStringFromWasm0(arg0, arg1)); return addHeapObject(ret); }, - __wbg_new_f841cc6f2098f4b5: function () { + __wbg_new_56693dbed0c32988: function () { const ret = new Map(); return addHeapObject(ret); }, - __wbg_call_95d1ea488d03e4e8: function () { + __wbg_call_cb65541d95d71282: function () { return handleError(function (arg0, arg1) { const ret = getObject(arg0).call(getObject(arg1)); return addHeapObject(ret); }, arguments); }, - __wbg_new_f9876326328f45ed: function () { + __wbg_new_b51585de1b234aff: function () { const ret = new Object(); return addHeapObject(ret); }, - __wbg_self_e7c1f827057f6584: function () { + __wbg_self_1ff1d729e9aae938: function () { return handleError(function () { const ret = self.self; return addHeapObject(ret); }, arguments); }, - __wbg_window_a09ec664e14b1b81: function () { + __wbg_window_5f4faef6c12b79ec: function () { return handleError(function () { const ret = window.window; return addHeapObject(ret); }, arguments); }, - __wbg_globalThis_87cbb8506fecf3a9: function () { + __wbg_globalThis_1d39714405582d3c: function () { return handleError(function () { const ret = globalThis.globalThis; return addHeapObject(ret); }, arguments); }, - __wbg_global_c85a9259e621f3db: function () { + __wbg_global_651f05c6a0944d1c: function () { return handleError(function () { const ret = global.global; return addHeapObject(ret); @@ -459,21 +482,21 @@ const imports = { const ret = getObject(arg0) === undefined; return ret; }, - __wbg_call_9495de66fdbe016b: function () { + __wbg_call_01734de55d61e11d: function () { return handleError(function (arg0, arg1, arg2) { const ret = getObject(arg0).call(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, arguments); }, - __wbg_set_388c4c6422704173: function (arg0, arg1, arg2) { + __wbg_set_bedc3d02d0f05eb0: function (arg0, arg1, arg2) { const ret = getObject(arg0).set(getObject(arg1), getObject(arg2)); return addHeapObject(ret); }, - __wbg_buffer_cf65c07de34b9a08: function (arg0) { + __wbg_buffer_085ec1f694018c4f: function (arg0) { const ret = getObject(arg0).buffer; return addHeapObject(ret); }, - __wbg_newwithbyteoffsetandlength_9fb2f11355ecadf5: function ( + __wbg_newwithbyteoffsetandlength_6da8e527659b86aa: function ( arg0, arg1, arg2, @@ -481,31 +504,31 @@ const imports = { const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }, - __wbg_new_537b7341ce90bb31: function (arg0) { + __wbg_new_8125e318e6245eed: function (arg0) { const ret = new Uint8Array(getObject(arg0)); return addHeapObject(ret); }, - __wbg_set_17499e8aa4003ebd: function (arg0, arg1, arg2) { + __wbg_set_5cf90238115182c3: function (arg0, arg1, arg2) { getObject(arg0).set(getObject(arg1), arg2 >>> 0); }, - __wbg_newwithlength_b56c882b57805732: function (arg0) { + __wbg_newwithlength_e5d69174d6984cd7: function (arg0) { const ret = new Uint8Array(arg0 >>> 0); return addHeapObject(ret); }, - __wbg_subarray_7526649b91a252a6: function (arg0, arg1, arg2) { + __wbg_subarray_13db269f57aa838d: function (arg0, arg1, arg2) { const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0); return addHeapObject(ret); }, __wbindgen_debug_string: function (arg0, arg1) { const ret = debugString(getObject(arg1)); - const ptr0 = passStringToWasm0( + const ptr1 = passStringToWasm0( ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc, ); - const len0 = WASM_VECTOR_LEN; - getInt32Memory0()[arg0 / 4 + 1] = len0; - getInt32Memory0()[arg0 / 4 + 0] = ptr0; + const len1 = WASM_VECTOR_LEN; + getInt32Memory0()[arg0 / 4 + 1] = len1; + getInt32Memory0()[arg0 / 4 + 0] = ptr1; }, __wbindgen_throw: function (arg0, arg1) { throw new Error(getStringFromWasm0(arg0, arg1)); @@ -517,6 +540,13 @@ const imports = { }, }; +import { Loader } from "https://deno.land/x/wasmbuild@0.15.1/loader.ts"; +import { cacheToLocalDir } from "https://deno.land/x/wasmbuild@0.15.1/cache.ts"; + +const loader = new Loader({ + imports, + cache: cacheToLocalDir, +}); /** * Decompression callback * @@ -542,9 +572,6 @@ export async function instantiate(opts) { return (await instantiateWithInstance(opts)).exports; } -let instanceWithExports; -let lastLoadPromise; - /** Instantiates an instance of the Wasm module along with its exports. * @remarks It is safe to call this multiple times and once successfully * loaded it will always return a reference to the same object. @@ -554,28 +581,18 @@ let lastLoadPromise; * exports: { wasm_tokenizer_from_json: typeof wasm_tokenizer_from_json; wasm_tokenizer_save: typeof wasm_tokenizer_save; wasm_bpe_default: typeof wasm_bpe_default; wasm_tokenizer_encode: typeof wasm_tokenizer_encode; wasm_tokenizer_get_vocab: typeof wasm_tokenizer_get_vocab; wasm_tokenizer_get_vocab_size: typeof wasm_tokenizer_get_vocab_size; wasm_tokenizer_decode: typeof wasm_tokenizer_decode; wasm_tokenizer_token_to_id: typeof wasm_tokenizer_token_to_id; wasm_tokenizer_id_to_token: typeof wasm_tokenizer_id_to_token } * }>} */ -export function instantiateWithInstance(opts) { - if (instanceWithExports != null) { - return Promise.resolve(instanceWithExports); - } - if (lastLoadPromise == null) { - lastLoadPromise = (async () => { - try { - const instance = (await instantiateModule(opts ?? {})).instance; - wasm = instance.exports; - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - instanceWithExports = { - instance, - exports: getWasmInstanceExports(), - }; - return instanceWithExports; - } finally { - lastLoadPromise = null; - } - })(); - } - return lastLoadPromise; +export async function instantiateWithInstance(opts) { + const { instance } = await loader.load( + opts?.url ?? new URL("netsaur_tokenizers_bg.wasm", import.meta.url), + opts?.decompress, + ); + wasm = wasm ?? instance.exports; + cachedInt32Memory0 = cachedInt32Memory0 ?? new Int32Array(wasm.memory.buffer); + cachedUint8Memory0 = cachedUint8Memory0 ?? new Uint8Array(wasm.memory.buffer); + return { + instance, + exports: getWasmInstanceExports(), + }; } function getWasmInstanceExports() { @@ -594,62 +611,5 @@ function getWasmInstanceExports() { /** Gets if the Wasm module has been instantiated. */ export function isInstantiated() { - return instanceWithExports != null; -} - -/** - * @param {InstantiateOptions} opts - */ -async function instantiateModule(opts) { - const wasmUrl = opts.url ?? - new URL("netsaur_tokenizers_bg.wasm", import.meta.url); - const decompress = opts.decompress; - const isFile = wasmUrl.protocol === "file:"; - - // make file urls work in Node via dnt - const isNode = globalThis.process?.versions?.node != null; - if (isNode && isFile) { - // the deno global will be shimmed by dnt - const wasmCode = await Deno.readFile(wasmUrl); - return WebAssembly.instantiate( - decompress ? decompress(wasmCode) : wasmCode, - imports, - ); - } - - switch (wasmUrl.protocol) { - case "file:": - case "https:": - case "http:": { - if (isFile) { - if (typeof Deno !== "object") { - throw new Error("file urls are not supported in this environment"); - } - if ("permissions" in Deno) { - await Deno.permissions.request({ name: "read", path: wasmUrl }); - } - } else if (typeof Deno === "object" && "permissions" in Deno) { - await Deno.permissions.request({ name: "net", host: wasmUrl.host }); - } - const wasmResponse = await fetch(wasmUrl); - if (decompress) { - const wasmCode = new Uint8Array(await wasmResponse.arrayBuffer()); - return WebAssembly.instantiate(decompress(wasmCode), imports); - } - if ( - isFile || - wasmResponse.headers.get("content-type")?.toLowerCase() - .startsWith("application/wasm") - ) { - return WebAssembly.instantiateStreaming(wasmResponse, imports); - } else { - return WebAssembly.instantiate( - await wasmResponse.arrayBuffer(), - imports, - ); - } - } - default: - throw new Error(`Unsupported protocol: ${wasmUrl.protocol}`); - } + return loader.instance != null; } diff --git a/tokenizers/lib/netsaur_tokenizers_bg.wasm b/tokenizers/lib/netsaur_tokenizers_bg.wasm index 3e6f07606ddc01db3377a1fc6c65b395ba35be52..19491fa9e0faf52ce07b62b1b8f78b69e7cde390 100644 GIT binary patch delta 244174 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%0Dn(ZWZ{Sq0u7<)e=jJ`> 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
_|Ge;kDoUfJeLN_8w}iO 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 gCM;Z^<#VNTwdd-Z*VlN3K6d}}uY=A&O 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 Vu3X(}n|g$wc_lE|RDTri_kS*Dem?*J diff --git a/tokenizers/mod.ts b/tokenizers/mod.ts index 33d9b92..2d6461e 100644 --- a/tokenizers/mod.ts +++ b/tokenizers/mod.ts @@ -16,7 +16,7 @@ export async function init() { await instantiate({ url: new URL(import.meta.url).protocol !== "file:" ? new URL( - "https://github.com/denosaurs/netsaur/releases/download/0.2.13/netsaur_tokenizers_bg.wasm", + "https://github.com/denosaurs/netsaur/releases/download/0.2.15/netsaur_tokenizers_bg.wasm", import.meta.url, ) : undefined,

^<% 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 delta 494321 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 z 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