From 4211e4aae89502effc8637802fc4fd2d86b11161 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Sat, 23 Jul 2022 11:29:00 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20dd726?= =?UTF-8?q?c15d1e1d3bdb80c80d056ffc26a40c5eef0=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates.js | 2 +- db_core/tests/fn.database_works.html | 2 +- db_core/tests/index.html | 2 +- db_sqlx_maria/all.html | 7 + db_sqlx_maria/dev/attr.async_trait.html | 8 + db_sqlx_maria/dev/dev/attr.async_trait.html | 8 + db_sqlx_maria/dev/dev/enum.DBError.html | 55 + db_sqlx_maria/dev/dev/enum.Login.html | 45 + db_sqlx_maria/dev/dev/index.html | 38 + .../dev/dev/prelude/enum.DBError.html | 55 + db_sqlx_maria/dev/dev/prelude/enum.Login.html | 45 + db_sqlx_maria/dev/dev/prelude/index.html | 35 + .../dev/dev/prelude/sidebar-items.js | 1 + .../dev/prelude/struct.AddNotification.html | 50 + .../dev/dev/prelude/struct.Captcha.html | 50 + .../dev/dev/prelude/struct.CreateCaptcha.html | 48 + .../dev/dev/prelude/struct.Level.html | 43 + .../dev/dev/prelude/struct.NameHash.html | 32 +- .../dev/dev/prelude/struct.Notification.html | 53 + .../dev/dev/prelude/struct.Register.html | 49 + .../dev/dev/prelude/struct.Secret.html | 44 + .../prelude/struct.StatsUnixTimestamp.html | 48 + .../dev/prelude/struct.TrafficPattern.html | 48 + .../dev/dev/prelude/struct.UpdateEmail.html | 45 + .../dev/prelude/trait.CloneSPDatabase.html | 12 + .../dev/dev/prelude/trait.Connect.html | 16 + .../dev/dev/prelude/trait.DBOps.html | 9 + .../dev/dev/prelude/trait.GetConnection.html | 16 + .../dev/dev/prelude/trait.MCDatabase.html | 83 + .../dev/dev/prelude/trait.Migrate.html | 13 + .../dev/dev/prelude/type.BoxDynError.html | 9 + .../dev/dev/prelude/type.DBResult.html | 9 + db_sqlx_maria/dev/dev/sidebar-items.js | 1 + .../dev/dev/struct.AddNotification.html | 50 + db_sqlx_maria/dev/dev/struct.Captcha.html | 50 + .../dev/dev/struct.CreateCaptcha.html | 48 + db_sqlx_maria/dev/dev/struct.Level.html | 43 + db_sqlx_maria/dev/dev/struct.NameHash.html | 45 + .../dev/dev/struct.Notification.html | 53 + db_sqlx_maria/dev/dev/struct.Register.html | 49 + db_sqlx_maria/dev/dev/struct.Secret.html | 44 + .../dev/dev/struct.StatsUnixTimestamp.html | 48 + .../dev/dev/struct.TrafficPattern.html | 48 + db_sqlx_maria/dev/dev/struct.UpdateEmail.html | 45 + .../dev/dev/trait.CloneSPDatabase.html | 12 + db_sqlx_maria/dev/dev/trait.Connect.html | 16 + db_sqlx_maria/dev/dev/trait.DBOps.html | 9 + .../dev/dev/trait.GetConnection.html | 16 + db_sqlx_maria/dev/dev/trait.MCDatabase.html | 83 + db_sqlx_maria/dev/dev/trait.Migrate.html | 13 + db_sqlx_maria/dev/dev/type.BoxDynError.html | 9 + db_sqlx_maria/dev/dev/type.DBResult.html | 9 + db_sqlx_maria/dev/enum.DBError.html | 55 + db_sqlx_maria/dev/enum.Error.html | 82 + db_sqlx_maria/dev/enum.Login.html | 45 + db_sqlx_maria/dev/errors/enum.DBError.html | 55 + db_sqlx_maria/dev/errors/index.html | 14 + db_sqlx_maria/dev/errors/sidebar-items.js | 1 + .../dev/errors/type.BoxDynError.html | 9 + db_sqlx_maria/dev/errors/type.DBResult.html | 9 + db_sqlx_maria/dev/index.html | 43 + db_sqlx_maria/dev/ops/index.html | 14 + db_sqlx_maria/dev/ops/sidebar-items.js | 1 + db_sqlx_maria/dev/ops/trait.Connect.html | 16 + db_sqlx_maria/dev/ops/trait.DBOps.html | 9 + .../dev/ops/trait.GetConnection.html | 16 + db_sqlx_maria/dev/ops/trait.Migrate.html | 13 + .../dev/prelude/dev/attr.async_trait.html | 8 + .../dev/prelude/dev/enum.DBError.html | 55 + db_sqlx_maria/dev/prelude/dev/enum.Login.html | 45 + db_sqlx_maria/dev/prelude/dev/index.html | 36 + .../dev/prelude/dev/sidebar-items.js | 1 + .../prelude/dev/struct.AddNotification.html | 50 + .../dev/prelude/dev/struct.Captcha.html | 50 + .../dev/prelude/dev/struct.CreateCaptcha.html | 48 + .../dev/prelude/dev/struct.Level.html | 43 + .../dev/prelude/dev/struct.NameHash.html | 45 + .../dev/prelude/dev/struct.Notification.html | 53 + .../dev/prelude/dev/struct.Register.html | 49 + .../dev/prelude/dev/struct.Secret.html | 44 + .../dev/struct.StatsUnixTimestamp.html | 48 + .../prelude/dev/struct.TrafficPattern.html | 48 + .../dev/prelude/dev/struct.UpdateEmail.html | 45 + .../prelude/dev/trait.CloneSPDatabase.html | 12 + .../dev/prelude/dev/trait.Connect.html | 16 + .../dev/prelude/dev/trait.DBOps.html | 9 + .../dev/prelude/dev/trait.GetConnection.html | 16 + .../dev/prelude/dev/trait.MCDatabase.html | 83 + .../dev/prelude/dev/trait.Migrate.html | 13 + .../dev/prelude/dev/type.BoxDynError.html | 9 + .../dev/prelude/dev/type.DBResult.html | 9 + db_sqlx_maria/dev/prelude/enum.DBError.html | 55 + db_sqlx_maria/dev/prelude/enum.Login.html | 45 + db_sqlx_maria/dev/prelude/index.html | 37 + db_sqlx_maria/dev/prelude/sidebar-items.js | 1 + .../dev/prelude/struct.AddNotification.html | 50 + db_sqlx_maria/dev/prelude/struct.Captcha.html | 50 + .../dev/prelude/struct.CreateCaptcha.html | 48 + db_sqlx_maria/dev/prelude/struct.Level.html | 43 + .../dev/prelude/struct.NameHash.html | 45 + .../dev/prelude/struct.Notification.html | 53 + .../dev/prelude/struct.Register.html | 49 + db_sqlx_maria/dev/prelude/struct.Secret.html | 44 + .../prelude/struct.StatsUnixTimestamp.html | 48 + .../dev/prelude/struct.TrafficPattern.html | 48 + .../dev/prelude/struct.UpdateEmail.html | 45 + .../dev/prelude/trait.CloneSPDatabase.html | 12 + db_sqlx_maria/dev/prelude/trait.Connect.html | 16 + db_sqlx_maria/dev/prelude/trait.DBOps.html | 9 + .../dev/prelude/trait.GetConnection.html | 16 + .../dev/prelude/trait.MCDatabase.html | 83 + db_sqlx_maria/dev/prelude/trait.Migrate.html | 13 + .../dev/prelude/type.BoxDynError.html | 9 + db_sqlx_maria/dev/prelude/type.DBResult.html | 9 + db_sqlx_maria/dev/sidebar-items.js | 1 + db_sqlx_maria/dev/struct.AddNotification.html | 50 + db_sqlx_maria/dev/struct.Captcha.html | 50 + db_sqlx_maria/dev/struct.CreateCaptcha.html | 48 + db_sqlx_maria/dev/struct.Level.html | 43 + db_sqlx_maria/dev/struct.NameHash.html | 45 + db_sqlx_maria/dev/struct.Notification.html | 53 + db_sqlx_maria/dev/struct.Register.html | 49 + db_sqlx_maria/dev/struct.Secret.html | 44 + .../dev/struct.StatsUnixTimestamp.html | 48 + db_sqlx_maria/dev/struct.TrafficPattern.html | 48 + db_sqlx_maria/dev/struct.UpdateEmail.html | 45 + .../dev/tests/fn.database_works.html | 9 + db_sqlx_maria/dev/tests/index.html | 11 + db_sqlx_maria/dev/tests/sidebar-items.js | 1 + db_sqlx_maria/dev/trait.CloneSPDatabase.html | 12 + db_sqlx_maria/dev/trait.Connect.html | 16 + db_sqlx_maria/dev/trait.DBOps.html | 9 + db_sqlx_maria/dev/trait.GetConnection.html | 16 + db_sqlx_maria/dev/trait.MCDatabase.html | 83 + db_sqlx_maria/dev/trait.Migrate.html | 13 + db_sqlx_maria/dev/type.BoxDynError.html | 9 + db_sqlx_maria/dev/type.DBResult.html | 9 + db_sqlx_maria/enum.ConnectionOptions.html | 37 + db_sqlx_maria/errors/fn.map_register_err.html | 9 + .../errors/fn.map_row_not_found_err.html | 9 + db_sqlx_maria/errors/index.html | 12 + db_sqlx_maria/errors/sidebar-items.js | 1 + db_sqlx_maria/index.html | 15 + .../prelude/dev/attr.async_trait.html | 8 + db_sqlx_maria/prelude/dev/enum.DBError.html | 55 + db_sqlx_maria/prelude/dev/enum.Login.html | 45 + db_sqlx_maria/prelude/dev/index.html | 38 + .../prelude/dev/prelude/enum.DBError.html | 55 + .../prelude/dev/prelude/enum.Login.html | 45 + db_sqlx_maria/prelude/dev/prelude/index.html | 35 + .../prelude/dev/prelude/sidebar-items.js | 1 + .../dev/prelude/struct.AddNotification.html | 50 + .../prelude/dev/prelude/struct.Captcha.html | 50 + .../dev/prelude/struct.CreateCaptcha.html | 48 + .../prelude/dev/prelude/struct.Level.html | 43 + .../prelude/dev/prelude/struct.NameHash.html | 45 + .../dev/prelude/struct.Notification.html | 53 + .../prelude/dev/prelude/struct.Register.html | 49 + .../prelude/dev/prelude/struct.Secret.html | 44 + .../prelude/struct.StatsUnixTimestamp.html | 48 + .../dev/prelude/struct.TrafficPattern.html | 48 + .../dev/prelude/struct.UpdateEmail.html | 45 + .../dev/prelude/trait.CloneSPDatabase.html | 12 + .../prelude/dev/prelude/trait.Connect.html | 16 + .../prelude/dev/prelude/trait.DBOps.html | 9 + .../dev/prelude/trait.GetConnection.html | 16 + .../prelude/dev/prelude/trait.MCDatabase.html | 83 + .../prelude/dev/prelude/trait.Migrate.html | 13 + .../prelude/dev/prelude/type.BoxDynError.html | 9 + .../prelude/dev/prelude/type.DBResult.html | 9 + db_sqlx_maria/prelude/dev/sidebar-items.js | 1 + .../prelude/dev/struct.AddNotification.html | 50 + db_sqlx_maria/prelude/dev/struct.Captcha.html | 50 + .../prelude/dev/struct.CreateCaptcha.html | 48 + db_sqlx_maria/prelude/dev/struct.Level.html | 43 + .../prelude/dev/struct.NameHash.html | 45 + .../prelude/dev/struct.Notification.html | 53 + .../prelude/dev/struct.Register.html | 49 + db_sqlx_maria/prelude/dev/struct.Secret.html | 44 + .../dev/struct.StatsUnixTimestamp.html | 48 + .../prelude/dev/struct.TrafficPattern.html | 48 + .../prelude/dev/struct.UpdateEmail.html | 45 + .../prelude/dev/trait.CloneSPDatabase.html | 12 + db_sqlx_maria/prelude/dev/trait.Connect.html | 16 + db_sqlx_maria/prelude/dev/trait.DBOps.html | 9 + .../prelude/dev/trait.GetConnection.html | 16 + .../prelude/dev/trait.MCDatabase.html | 83 + db_sqlx_maria/prelude/dev/trait.Migrate.html | 13 + .../prelude/dev/type.BoxDynError.html | 9 + db_sqlx_maria/prelude/dev/type.DBResult.html | 9 + db_sqlx_maria/prelude/enum.DBError.html | 55 + db_sqlx_maria/prelude/enum.Login.html | 45 + .../prelude/errors/enum.DBError.html | 55 + db_sqlx_maria/prelude/errors/index.html | 14 + db_sqlx_maria/prelude/errors/sidebar-items.js | 1 + .../prelude/errors/type.BoxDynError.html | 9 + .../prelude/errors/type.DBResult.html | 9 + db_sqlx_maria/prelude/index.html | 40 + db_sqlx_maria/prelude/ops/index.html | 14 + db_sqlx_maria/prelude/ops/sidebar-items.js | 1 + db_sqlx_maria/prelude/ops/trait.Connect.html | 16 + db_sqlx_maria/prelude/ops/trait.DBOps.html | 9 + .../prelude/ops/trait.GetConnection.html | 16 + db_sqlx_maria/prelude/ops/trait.Migrate.html | 13 + db_sqlx_maria/prelude/sidebar-items.js | 1 + .../prelude/struct.AddNotification.html | 50 + db_sqlx_maria/prelude/struct.Captcha.html | 50 + .../prelude/struct.CreateCaptcha.html | 48 + db_sqlx_maria/prelude/struct.Level.html | 43 + db_sqlx_maria/prelude/struct.NameHash.html | 45 + .../prelude/struct.Notification.html | 53 + db_sqlx_maria/prelude/struct.Register.html | 49 + db_sqlx_maria/prelude/struct.Secret.html | 44 + .../prelude/struct.StatsUnixTimestamp.html | 48 + .../prelude/struct.TrafficPattern.html | 48 + db_sqlx_maria/prelude/struct.UpdateEmail.html | 45 + .../prelude/tests/fn.database_works.html | 9 + db_sqlx_maria/prelude/tests/index.html | 11 + db_sqlx_maria/prelude/tests/sidebar-items.js | 1 + .../prelude/trait.CloneSPDatabase.html | 12 + db_sqlx_maria/prelude/trait.Connect.html | 16 + db_sqlx_maria/prelude/trait.DBOps.html | 9 + .../prelude/trait.GetConnection.html | 16 + db_sqlx_maria/prelude/trait.MCDatabase.html | 83 + db_sqlx_maria/prelude/trait.Migrate.html | 13 + db_sqlx_maria/prelude/type.BoxDynError.html | 9 + db_sqlx_maria/prelude/type.DBResult.html | 9 + db_sqlx_maria/sidebar-items.js | 1 + db_sqlx_maria/struct.Conn.html | 29 + db_sqlx_maria/struct.Database.html | 74 + db_sqlx_maria/struct.Fresh.html | 32 + db_sqlx_maria/struct.InnerNotification.html | 50 + db_sqlx_postgres/dev/enum.Error.html | 6 +- implementors/core/clone/trait.Clone.js | 3 +- implementors/core/cmp/trait.PartialEq.js | 3 +- implementors/core/convert/trait.From.js | 1 + implementors/core/fmt/trait.Debug.js | 3 +- implementors/core/fmt/trait.Display.js | 2 +- implementors/core/marker/trait.Freeze.js | 3 +- implementors/core/marker/trait.Send.js | 3 +- .../core/marker/trait.StructuralPartialEq.js | 3 +- implementors/core/marker/trait.Sync.js | 3 +- implementors/core/marker/trait.Unpin.js | 3 +- .../panic/unwind_safe/trait.RefUnwindSafe.js | 3 +- .../panic/unwind_safe/trait.UnwindSafe.js | 3 +- implementors/db_core/ops/trait.Connect.js | 1 + implementors/db_core/ops/trait.Migrate.js | 1 + implementors/db_core/trait.CloneSPDatabase.js | 1 + implementors/db_core/trait.MCDatabase.js | 1 + implementors/serde/de/trait.Deserialize.js | 2 +- implementors/serde/ser/trait.Serialize.js | 2 +- mcaptcha/all.html | 2 +- mcaptcha/api/v1/account/password/index.html | 2 +- mcaptcha/api/v1/mcaptcha/easy/index.html | 2 +- mcaptcha/api/v1/mcaptcha/update/index.html | 2 +- mcaptcha/api/v1/meta/index.html | 2 +- mcaptcha/api/v1/notifications/add/index.html | 2 +- mcaptcha/api/v1/notifications/get/index.html | 2 +- .../api/v1/notifications/mark_read/index.html | 2 +- mcaptcha/api/v1/pow/get_config/index.html | 2 +- mcaptcha/api/v1/pow/verify_pow/index.html | 2 +- mcaptcha/api/v1/pow/verify_token/index.html | 2 +- mcaptcha/constant.CACHE_AGE.html | 2 +- mcaptcha/constant.COMPILED_DATE.html | 2 +- mcaptcha/constant.GIT_COMMIT_HASH.html | 2 +- mcaptcha/constant.PKG_DESCRIPTION.html | 2 +- mcaptcha/constant.PKG_HOMEPAGE.html | 2 +- mcaptcha/constant.PKG_NAME.html | 2 +- mcaptcha/constant.VERSION.html | 2 +- mcaptcha/data/enum.SystemGroup.html | 4 +- mcaptcha/data/index.html | 2 +- mcaptcha/data/macro.enum_system_actor.html | 2 +- mcaptcha/data/macro.enum_system_wrapper.html | 2 +- mcaptcha/data/struct.Data.html | 6 +- mcaptcha/data/type.Mailer.html | 2 +- mcaptcha/db/index.html | 10 + mcaptcha/db/maria/fn.get_data.html | 8 + mcaptcha/db/maria/index.html | 9 + mcaptcha/db/maria/sidebar-items.js | 1 + mcaptcha/db/pg/fn.get_data.html | 8 + mcaptcha/db/pg/index.html | 9 + mcaptcha/db/pg/sidebar-items.js | 1 + mcaptcha/db/sidebar-items.js | 1 + mcaptcha/db/type.BoxDB.html | 8 + mcaptcha/demo/index.html | 2 +- mcaptcha/email/verification/index.html | 2 +- mcaptcha/fn.get_identity_service.html | 2 +- mcaptcha/fn.get_json_err.html | 2 +- mcaptcha/fn.main.html | 2 +- mcaptcha/index.html | 4 +- mcaptcha/pages/index.html | 2 +- mcaptcha/pages/panel/sitekey/edit/index.html | 2 +- mcaptcha/pages/panel/sitekey/list/index.html | 2 +- mcaptcha/pages/panel/sitekey/view/index.html | 2 +- mcaptcha/settings/enum.DBType.html | 44 + mcaptcha/settings/fn.check_url.html | 2 +- mcaptcha/settings/fn.set_database_url.html | 2 +- .../settings/fn.set_from_database_url.html | 8 - mcaptcha/settings/index.html | 9 +- mcaptcha/settings/sidebar-items.js | 2 +- mcaptcha/settings/struct.Captcha.html | 8 +- mcaptcha/settings/struct.Database.html | 11 +- .../struct.DefaultDifficultyStrategy.html | 8 +- mcaptcha/settings/struct.Redis.html | 8 +- mcaptcha/settings/struct.Server.html | 8 +- mcaptcha/settings/struct.Settings.html | 8 +- mcaptcha/settings/struct.Smtp.html | 8 +- mcaptcha/sidebar-items.js | 2 +- mcaptcha/struct.CSS.html | 8 +- mcaptcha/struct.Data.html | 6 +- mcaptcha/struct.FILES.html | 8 +- mcaptcha/struct.JS.html | 8 +- mcaptcha/struct.MOBILE_CSS.html | 8 +- mcaptcha/struct.SETTINGS.html | 8 +- mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html | 8 +- mcaptcha/struct.Settings.html | 8 +- mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html | 8 +- mcaptcha/struct.VERIFICATIN_WIDGET_JS.html | 8 +- mcaptcha/type.AppData.html | 2 +- mcaptcha/type.ArcData.html | 2 +- search-index.js | 5 +- source-files.js | 3 +- src/db_core/tests.rs.html | 20 + src/db_sqlx_maria/errors.rs.html | 118 + src/db_sqlx_maria/lib.rs.html | 1938 +++++++++++++++++ src/mcaptcha/api/v1/account/password.rs.html | 24 +- src/mcaptcha/api/v1/mcaptcha/easy.rs.html | 24 +- src/mcaptcha/api/v1/mcaptcha/update.rs.html | 24 +- src/mcaptcha/api/v1/meta.rs.html | 24 +- src/mcaptcha/api/v1/notifications/add.rs.html | 24 +- src/mcaptcha/api/v1/notifications/get.rs.html | 24 +- .../api/v1/notifications/mark_read.rs.html | 24 +- src/mcaptcha/api/v1/pow/get_config.rs.html | 52 +- src/mcaptcha/api/v1/pow/verify_pow.rs.html | 24 +- src/mcaptcha/api/v1/pow/verify_token.rs.html | 24 +- src/mcaptcha/data.rs.html | 32 +- src/mcaptcha/db.rs.html | 128 ++ src/mcaptcha/demo.rs.html | 24 +- src/mcaptcha/email/verification.rs.html | 24 +- src/mcaptcha/main.rs.html | 2 + src/mcaptcha/pages/mod.rs.html | 24 +- src/mcaptcha/pages/panel/sitekey/edit.rs.html | 24 +- src/mcaptcha/pages/panel/sitekey/list.rs.html | 24 +- src/mcaptcha/pages/panel/sitekey/view.rs.html | 24 +- src/mcaptcha/settings.rs.html | 92 +- 345 files changed, 10248 insertions(+), 259 deletions(-) create mode 100644 db_sqlx_maria/all.html create mode 100644 db_sqlx_maria/dev/attr.async_trait.html create mode 100644 db_sqlx_maria/dev/dev/attr.async_trait.html create mode 100644 db_sqlx_maria/dev/dev/enum.DBError.html create mode 100644 db_sqlx_maria/dev/dev/enum.Login.html create mode 100644 db_sqlx_maria/dev/dev/index.html create mode 100644 db_sqlx_maria/dev/dev/prelude/enum.DBError.html create mode 100644 db_sqlx_maria/dev/dev/prelude/enum.Login.html create mode 100644 db_sqlx_maria/dev/dev/prelude/index.html create mode 100644 db_sqlx_maria/dev/dev/prelude/sidebar-items.js create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.Captcha.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.Level.html rename mcaptcha/settings/struct.DatabaseBuilder.html => db_sqlx_maria/dev/dev/prelude/struct.NameHash.html (62%) create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.Notification.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.Register.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.Secret.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/dev/dev/prelude/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/dev/dev/prelude/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/dev/dev/prelude/trait.Connect.html create mode 100644 db_sqlx_maria/dev/dev/prelude/trait.DBOps.html create mode 100644 db_sqlx_maria/dev/dev/prelude/trait.GetConnection.html create mode 100644 db_sqlx_maria/dev/dev/prelude/trait.MCDatabase.html create mode 100644 db_sqlx_maria/dev/dev/prelude/trait.Migrate.html create mode 100644 db_sqlx_maria/dev/dev/prelude/type.BoxDynError.html create mode 100644 db_sqlx_maria/dev/dev/prelude/type.DBResult.html create mode 100644 db_sqlx_maria/dev/dev/sidebar-items.js create mode 100644 db_sqlx_maria/dev/dev/struct.AddNotification.html create mode 100644 db_sqlx_maria/dev/dev/struct.Captcha.html create mode 100644 db_sqlx_maria/dev/dev/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/dev/dev/struct.Level.html create mode 100644 db_sqlx_maria/dev/dev/struct.NameHash.html create mode 100644 db_sqlx_maria/dev/dev/struct.Notification.html create mode 100644 db_sqlx_maria/dev/dev/struct.Register.html create mode 100644 db_sqlx_maria/dev/dev/struct.Secret.html create mode 100644 db_sqlx_maria/dev/dev/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/dev/dev/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/dev/dev/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/dev/dev/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/dev/dev/trait.Connect.html create mode 100644 db_sqlx_maria/dev/dev/trait.DBOps.html create mode 100644 db_sqlx_maria/dev/dev/trait.GetConnection.html create mode 100644 db_sqlx_maria/dev/dev/trait.MCDatabase.html create mode 100644 db_sqlx_maria/dev/dev/trait.Migrate.html create mode 100644 db_sqlx_maria/dev/dev/type.BoxDynError.html create mode 100644 db_sqlx_maria/dev/dev/type.DBResult.html create mode 100644 db_sqlx_maria/dev/enum.DBError.html create mode 100644 db_sqlx_maria/dev/enum.Error.html create mode 100644 db_sqlx_maria/dev/enum.Login.html create mode 100644 db_sqlx_maria/dev/errors/enum.DBError.html create mode 100644 db_sqlx_maria/dev/errors/index.html create mode 100644 db_sqlx_maria/dev/errors/sidebar-items.js create mode 100644 db_sqlx_maria/dev/errors/type.BoxDynError.html create mode 100644 db_sqlx_maria/dev/errors/type.DBResult.html create mode 100644 db_sqlx_maria/dev/index.html create mode 100644 db_sqlx_maria/dev/ops/index.html create mode 100644 db_sqlx_maria/dev/ops/sidebar-items.js create mode 100644 db_sqlx_maria/dev/ops/trait.Connect.html create mode 100644 db_sqlx_maria/dev/ops/trait.DBOps.html create mode 100644 db_sqlx_maria/dev/ops/trait.GetConnection.html create mode 100644 db_sqlx_maria/dev/ops/trait.Migrate.html create mode 100644 db_sqlx_maria/dev/prelude/dev/attr.async_trait.html create mode 100644 db_sqlx_maria/dev/prelude/dev/enum.DBError.html create mode 100644 db_sqlx_maria/dev/prelude/dev/enum.Login.html create mode 100644 db_sqlx_maria/dev/prelude/dev/index.html create mode 100644 db_sqlx_maria/dev/prelude/dev/sidebar-items.js create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.AddNotification.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.Captcha.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.Level.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.NameHash.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.Notification.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.Register.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.Secret.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/dev/prelude/dev/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/dev/prelude/dev/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/dev/prelude/dev/trait.Connect.html create mode 100644 db_sqlx_maria/dev/prelude/dev/trait.DBOps.html create mode 100644 db_sqlx_maria/dev/prelude/dev/trait.GetConnection.html create mode 100644 db_sqlx_maria/dev/prelude/dev/trait.MCDatabase.html create mode 100644 db_sqlx_maria/dev/prelude/dev/trait.Migrate.html create mode 100644 db_sqlx_maria/dev/prelude/dev/type.BoxDynError.html create mode 100644 db_sqlx_maria/dev/prelude/dev/type.DBResult.html create mode 100644 db_sqlx_maria/dev/prelude/enum.DBError.html create mode 100644 db_sqlx_maria/dev/prelude/enum.Login.html create mode 100644 db_sqlx_maria/dev/prelude/index.html create mode 100644 db_sqlx_maria/dev/prelude/sidebar-items.js create mode 100644 db_sqlx_maria/dev/prelude/struct.AddNotification.html create mode 100644 db_sqlx_maria/dev/prelude/struct.Captcha.html create mode 100644 db_sqlx_maria/dev/prelude/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/dev/prelude/struct.Level.html create mode 100644 db_sqlx_maria/dev/prelude/struct.NameHash.html create mode 100644 db_sqlx_maria/dev/prelude/struct.Notification.html create mode 100644 db_sqlx_maria/dev/prelude/struct.Register.html create mode 100644 db_sqlx_maria/dev/prelude/struct.Secret.html create mode 100644 db_sqlx_maria/dev/prelude/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/dev/prelude/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/dev/prelude/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/dev/prelude/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/dev/prelude/trait.Connect.html create mode 100644 db_sqlx_maria/dev/prelude/trait.DBOps.html create mode 100644 db_sqlx_maria/dev/prelude/trait.GetConnection.html create mode 100644 db_sqlx_maria/dev/prelude/trait.MCDatabase.html create mode 100644 db_sqlx_maria/dev/prelude/trait.Migrate.html create mode 100644 db_sqlx_maria/dev/prelude/type.BoxDynError.html create mode 100644 db_sqlx_maria/dev/prelude/type.DBResult.html create mode 100644 db_sqlx_maria/dev/sidebar-items.js create mode 100644 db_sqlx_maria/dev/struct.AddNotification.html create mode 100644 db_sqlx_maria/dev/struct.Captcha.html create mode 100644 db_sqlx_maria/dev/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/dev/struct.Level.html create mode 100644 db_sqlx_maria/dev/struct.NameHash.html create mode 100644 db_sqlx_maria/dev/struct.Notification.html create mode 100644 db_sqlx_maria/dev/struct.Register.html create mode 100644 db_sqlx_maria/dev/struct.Secret.html create mode 100644 db_sqlx_maria/dev/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/dev/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/dev/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/dev/tests/fn.database_works.html create mode 100644 db_sqlx_maria/dev/tests/index.html create mode 100644 db_sqlx_maria/dev/tests/sidebar-items.js create mode 100644 db_sqlx_maria/dev/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/dev/trait.Connect.html create mode 100644 db_sqlx_maria/dev/trait.DBOps.html create mode 100644 db_sqlx_maria/dev/trait.GetConnection.html create mode 100644 db_sqlx_maria/dev/trait.MCDatabase.html create mode 100644 db_sqlx_maria/dev/trait.Migrate.html create mode 100644 db_sqlx_maria/dev/type.BoxDynError.html create mode 100644 db_sqlx_maria/dev/type.DBResult.html create mode 100644 db_sqlx_maria/enum.ConnectionOptions.html create mode 100644 db_sqlx_maria/errors/fn.map_register_err.html create mode 100644 db_sqlx_maria/errors/fn.map_row_not_found_err.html create mode 100644 db_sqlx_maria/errors/index.html create mode 100644 db_sqlx_maria/errors/sidebar-items.js create mode 100644 db_sqlx_maria/index.html create mode 100644 db_sqlx_maria/prelude/dev/attr.async_trait.html create mode 100644 db_sqlx_maria/prelude/dev/enum.DBError.html create mode 100644 db_sqlx_maria/prelude/dev/enum.Login.html create mode 100644 db_sqlx_maria/prelude/dev/index.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/enum.DBError.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/enum.Login.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/index.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/sidebar-items.js create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.AddNotification.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.Captcha.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.Level.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.NameHash.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.Notification.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.Register.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.Secret.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/trait.Connect.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/trait.DBOps.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/trait.GetConnection.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/trait.MCDatabase.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/trait.Migrate.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/type.BoxDynError.html create mode 100644 db_sqlx_maria/prelude/dev/prelude/type.DBResult.html create mode 100644 db_sqlx_maria/prelude/dev/sidebar-items.js create mode 100644 db_sqlx_maria/prelude/dev/struct.AddNotification.html create mode 100644 db_sqlx_maria/prelude/dev/struct.Captcha.html create mode 100644 db_sqlx_maria/prelude/dev/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/prelude/dev/struct.Level.html create mode 100644 db_sqlx_maria/prelude/dev/struct.NameHash.html create mode 100644 db_sqlx_maria/prelude/dev/struct.Notification.html create mode 100644 db_sqlx_maria/prelude/dev/struct.Register.html create mode 100644 db_sqlx_maria/prelude/dev/struct.Secret.html create mode 100644 db_sqlx_maria/prelude/dev/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/prelude/dev/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/prelude/dev/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/prelude/dev/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/prelude/dev/trait.Connect.html create mode 100644 db_sqlx_maria/prelude/dev/trait.DBOps.html create mode 100644 db_sqlx_maria/prelude/dev/trait.GetConnection.html create mode 100644 db_sqlx_maria/prelude/dev/trait.MCDatabase.html create mode 100644 db_sqlx_maria/prelude/dev/trait.Migrate.html create mode 100644 db_sqlx_maria/prelude/dev/type.BoxDynError.html create mode 100644 db_sqlx_maria/prelude/dev/type.DBResult.html create mode 100644 db_sqlx_maria/prelude/enum.DBError.html create mode 100644 db_sqlx_maria/prelude/enum.Login.html create mode 100644 db_sqlx_maria/prelude/errors/enum.DBError.html create mode 100644 db_sqlx_maria/prelude/errors/index.html create mode 100644 db_sqlx_maria/prelude/errors/sidebar-items.js create mode 100644 db_sqlx_maria/prelude/errors/type.BoxDynError.html create mode 100644 db_sqlx_maria/prelude/errors/type.DBResult.html create mode 100644 db_sqlx_maria/prelude/index.html create mode 100644 db_sqlx_maria/prelude/ops/index.html create mode 100644 db_sqlx_maria/prelude/ops/sidebar-items.js create mode 100644 db_sqlx_maria/prelude/ops/trait.Connect.html create mode 100644 db_sqlx_maria/prelude/ops/trait.DBOps.html create mode 100644 db_sqlx_maria/prelude/ops/trait.GetConnection.html create mode 100644 db_sqlx_maria/prelude/ops/trait.Migrate.html create mode 100644 db_sqlx_maria/prelude/sidebar-items.js create mode 100644 db_sqlx_maria/prelude/struct.AddNotification.html create mode 100644 db_sqlx_maria/prelude/struct.Captcha.html create mode 100644 db_sqlx_maria/prelude/struct.CreateCaptcha.html create mode 100644 db_sqlx_maria/prelude/struct.Level.html create mode 100644 db_sqlx_maria/prelude/struct.NameHash.html create mode 100644 db_sqlx_maria/prelude/struct.Notification.html create mode 100644 db_sqlx_maria/prelude/struct.Register.html create mode 100644 db_sqlx_maria/prelude/struct.Secret.html create mode 100644 db_sqlx_maria/prelude/struct.StatsUnixTimestamp.html create mode 100644 db_sqlx_maria/prelude/struct.TrafficPattern.html create mode 100644 db_sqlx_maria/prelude/struct.UpdateEmail.html create mode 100644 db_sqlx_maria/prelude/tests/fn.database_works.html create mode 100644 db_sqlx_maria/prelude/tests/index.html create mode 100644 db_sqlx_maria/prelude/tests/sidebar-items.js create mode 100644 db_sqlx_maria/prelude/trait.CloneSPDatabase.html create mode 100644 db_sqlx_maria/prelude/trait.Connect.html create mode 100644 db_sqlx_maria/prelude/trait.DBOps.html create mode 100644 db_sqlx_maria/prelude/trait.GetConnection.html create mode 100644 db_sqlx_maria/prelude/trait.MCDatabase.html create mode 100644 db_sqlx_maria/prelude/trait.Migrate.html create mode 100644 db_sqlx_maria/prelude/type.BoxDynError.html create mode 100644 db_sqlx_maria/prelude/type.DBResult.html create mode 100644 db_sqlx_maria/sidebar-items.js create mode 100644 db_sqlx_maria/struct.Conn.html create mode 100644 db_sqlx_maria/struct.Database.html create mode 100644 db_sqlx_maria/struct.Fresh.html create mode 100644 db_sqlx_maria/struct.InnerNotification.html create mode 100644 mcaptcha/db/index.html create mode 100644 mcaptcha/db/maria/fn.get_data.html create mode 100644 mcaptcha/db/maria/index.html create mode 100644 mcaptcha/db/maria/sidebar-items.js create mode 100644 mcaptcha/db/pg/fn.get_data.html create mode 100644 mcaptcha/db/pg/index.html create mode 100644 mcaptcha/db/pg/sidebar-items.js create mode 100644 mcaptcha/db/sidebar-items.js create mode 100644 mcaptcha/db/type.BoxDB.html create mode 100644 mcaptcha/settings/enum.DBType.html delete mode 100644 mcaptcha/settings/fn.set_from_database_url.html create mode 100644 src/db_sqlx_maria/errors.rs.html create mode 100644 src/db_sqlx_maria/lib.rs.html create mode 100644 src/mcaptcha/db.rs.html diff --git a/crates.js b/crates.js index 33cb38b3..d1ec762f 100644 --- a/crates.js +++ b/crates.js @@ -1 +1 @@ -window.ALL_CRATES = ["db_core","db_sqlx_postgres","mcaptcha"]; \ No newline at end of file +window.ALL_CRATES = ["db_core","db_sqlx_maria","db_sqlx_postgres","mcaptcha"]; \ No newline at end of file diff --git a/db_core/tests/fn.database_works.html b/db_core/tests/fn.database_works.html index 4b529164..3706a718 100644 --- a/db_core/tests/fn.database_works.html +++ b/db_core/tests/fn.database_works.html @@ -4,6 +4,6 @@
pub async fn database_works<'a, T: MCDatabase>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
)
Expand description

test all database functions

+

Function db_core::tests::database_works

source · []
pub async fn database_works<'a, T: MCDatabase>(
    db: &T,
    p: &Register<'a>,
    c: &CreateCaptcha<'a>,
    l: &[Level],
    tp: &TrafficPattern,
    an: &AddNotification<'a>
)
Expand description

test all database functions

\ No newline at end of file diff --git a/db_core/tests/index.html b/db_core/tests/index.html index 7a34caee..544844a5 100644 --- a/db_core/tests/index.html +++ b/db_core/tests/index.html @@ -4,7 +4,7 @@
-

Module db_core::tests

source · []
Expand description

Test utilities

+

Module db_core::tests

source · []
Expand description

Test utilities

Functions

test all database functions

diff --git a/db_sqlx_maria/all.html b/db_sqlx_maria/all.html new file mode 100644 index 00000000..1425a3e5 --- /dev/null +++ b/db_sqlx_maria/all.html @@ -0,0 +1,7 @@ +List of all items in this crate + +

List of all items

Structs

Enums

Traits

Attribute Macros

Functions

Typedefs

+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/attr.async_trait.html b/db_sqlx_maria/dev/attr.async_trait.html new file mode 100644 index 00000000..5e912198 --- /dev/null +++ b/db_sqlx_maria/dev/attr.async_trait.html @@ -0,0 +1,8 @@ +async_trait in db_sqlx_maria::dev - Rust + +
+

Attribute Macro db_sqlx_maria::dev::async_trait

[]
#[async_trait]
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/attr.async_trait.html b/db_sqlx_maria/dev/dev/attr.async_trait.html new file mode 100644 index 00000000..4e137f6e --- /dev/null +++ b/db_sqlx_maria/dev/dev/attr.async_trait.html @@ -0,0 +1,8 @@ +async_trait in db_sqlx_maria::dev::dev - Rust + +
+

Attribute Macro db_sqlx_maria::dev::dev::async_trait

[]
#[async_trait]
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/enum.DBError.html b/db_sqlx_maria/dev/dev/enum.DBError.html new file mode 100644 index 00000000..d2289ea4 --- /dev/null +++ b/db_sqlx_maria/dev/dev/enum.DBError.html @@ -0,0 +1,55 @@ +DBError in db_sqlx_maria::dev::dev - Rust + +
pub enum DBError {
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    UsernameTaken,
+    EmailTaken,
+    SecretTaken,
+    CaptchaKeyTaken,
+    AccountNotFound,
+    CaptchaNotFound,
+    TrafficPatternNotFound,
+    NotificationNotFound,
+}
Expand description

Error data structure grouping various error subtypes

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

UsernameTaken

Username is taken

+

EmailTaken

Email is taken

+

SecretTaken

Secret is taken

+

CaptchaKeyTaken

Captcha key is taken

+

AccountNotFound

Account not found

+

CaptchaNotFound

Captcha not found

+

TrafficPatternNotFound

Traffic pattern not found

+

NotificationNotFound

Notification not found

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/enum.Login.html b/db_sqlx_maria/dev/dev/enum.Login.html new file mode 100644 index 00000000..8f8ab69a --- /dev/null +++ b/db_sqlx_maria/dev/dev/enum.Login.html @@ -0,0 +1,45 @@ +Login in db_sqlx_maria::dev::dev - Rust + +
pub enum Login<'a> {
+    Username(&'a str),
+    Email(&'a str),
+}
Expand description

types of credentials used as identifiers during login

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/index.html b/db_sqlx_maria/dev/dev/index.html new file mode 100644 index 00000000..9721be38 --- /dev/null +++ b/db_sqlx_maria/dev/dev/index.html @@ -0,0 +1,38 @@ +db_sqlx_maria::dev::dev - Rust + +
Expand description

useful imports for supporting a new database

+

Modules

+

useful imports for users working with a supported database

+

Structs

+

Data required to add notification

+

Data representing a captcha

+

data requried to create new captcha

+

Level struct that describes threshold-difficulty factor mapping

+

type encapsulating username and hashed password of a user

+

Represents notification

+

Data required to register a new user

+

datastructure representing a user’s secret

+

Captcha statistics with time recorded in UNIX epoch formats

+

User’s traffic pattern; used in generating a captcha configuration

+

data required to update them email of a user

+

Enums

+

Error data structure grouping various error subtypes

+

types of credentials used as identifiers during login

+

Traits

+

Trait to clone MCDatabase

+

Create databse connection

+

Database operations trait(migrations, pool creation and fetching connection from pool)

+

Get database connection

+

mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.

+

database migrations

+

Type Definitions

+

Convenience type alias for grouping driver-specific errors

+

Generic result data structure

+

Attribute Macros

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/enum.DBError.html b/db_sqlx_maria/dev/dev/prelude/enum.DBError.html new file mode 100644 index 00000000..b42f8ea9 --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/enum.DBError.html @@ -0,0 +1,55 @@ +DBError in db_sqlx_maria::dev::dev::prelude - Rust + +
pub enum DBError {
+    DBError(Box<dyn Error + Sync + Send + 'static, Global>),
+    UsernameTaken,
+    EmailTaken,
+    SecretTaken,
+    CaptchaKeyTaken,
+    AccountNotFound,
+    CaptchaNotFound,
+    TrafficPatternNotFound,
+    NotificationNotFound,
+}
Expand description

Error data structure grouping various error subtypes

+

Variants

DBError(Box<dyn Error + Sync + Send + 'static, Global>)

errors that are specific to a database implementation

+

UsernameTaken

Username is taken

+

EmailTaken

Email is taken

+

SecretTaken

Secret is taken

+

CaptchaKeyTaken

Captcha key is taken

+

AccountNotFound

Account not found

+

CaptchaNotFound

Captcha not found

+

TrafficPatternNotFound

Traffic pattern not found

+

NotificationNotFound

Notification not found

+

Trait Implementations

Formats the value using the given formatter. Read more

+

Formats the value using the given formatter. Read more

+

The lower-level source of this error, if any. Read more

+
🔬 This is a nightly-only experimental API. (backtrace)

Returns a stack backtrace, if available, of where this error occurred. Read more

+
👎 Deprecated since 1.42.0:

use the Display impl or to_string()

+
👎 Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/enum.Login.html b/db_sqlx_maria/dev/dev/prelude/enum.Login.html new file mode 100644 index 00000000..5bba4e65 --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/enum.Login.html @@ -0,0 +1,45 @@ +Login in db_sqlx_maria::dev::dev::prelude - Rust + +
pub enum Login<'a> {
+    Username(&'a str),
+    Email(&'a str),
+}
Expand description

types of credentials used as identifiers during login

+

Variants

Username(&'a str)

username as login

+

Email(&'a str)

email as login

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/index.html b/db_sqlx_maria/dev/dev/prelude/index.html new file mode 100644 index 00000000..90d500d3 --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/index.html @@ -0,0 +1,35 @@ +db_sqlx_maria::dev::dev::prelude - Rust + +
Expand description

useful imports for users working with a supported database

+

Structs

+

Data required to add notification

+

Data representing a captcha

+

data requried to create new captcha

+

Level struct that describes threshold-difficulty factor mapping

+

type encapsulating username and hashed password of a user

+

Represents notification

+

Data required to register a new user

+

datastructure representing a user’s secret

+

Captcha statistics with time recorded in UNIX epoch formats

+

User’s traffic pattern; used in generating a captcha configuration

+

data required to update them email of a user

+

Enums

+

Error data structure grouping various error subtypes

+

types of credentials used as identifiers during login

+

Traits

+

Trait to clone MCDatabase

+

Create databse connection

+

Database operations trait(migrations, pool creation and fetching connection from pool)

+

Get database connection

+

mCaptcha’s database requirements. To implement support for $Database, kindly implement this +trait.

+

database migrations

+

Type Definitions

+

Convenience type alias for grouping driver-specific errors

+

Generic result data structure

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/sidebar-items.js b/db_sqlx_maria/dev/dev/prelude/sidebar-items.js new file mode 100644 index 00000000..2d916772 --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"enum":[["DBError","Error data structure grouping various error subtypes"],["Login","types of credentials used as identifiers during login"]],"struct":[["AddNotification","Data required to add notification"],["Captcha","Data representing a captcha"],["CreateCaptcha","data requried to create new captcha"],["Level","Level struct that describes threshold-difficulty factor mapping"],["NameHash","type encapsulating username and hashed password of a user"],["Notification","Represents notification"],["Register","Data required to register a new user"],["Secret","datastructure representing a user’s secret"],["StatsUnixTimestamp","Captcha statistics with time recorded in UNIX epoch formats"],["TrafficPattern","User’s traffic pattern; used in generating a captcha configuration"],["UpdateEmail","data required to update them email of a user"]],"trait":[["CloneSPDatabase","Trait to clone MCDatabase"],["Connect","Create databse connection"],["DBOps","Database operations trait(migrations, pool creation and fetching connection from pool)"],["GetConnection","Get database connection"],["MCDatabase","mCaptcha’s database requirements. To implement support for $Database, kindly implement this trait."],["Migrate","database migrations"]],"type":[["BoxDynError","Convenience type alias for grouping driver-specific errors"],["DBResult","Generic result data structure"]]}); \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html b/db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html new file mode 100644 index 00000000..97945918 --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/struct.AddNotification.html @@ -0,0 +1,50 @@ +AddNotification in db_sqlx_maria::dev::dev::prelude - Rust + +
pub struct AddNotification<'a> {
+    pub to: &'a str,
+    pub from: &'a str,
+    pub heading: &'a str,
+    pub message: &'a str,
+}
Expand description

Data required to add notification

+

Fields

to: &'a str

who is the notification addressed to?

+
from: &'a str

notification sender

+
heading: &'a str

heading of the notification

+
message: &'a str

mesage of the notification

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.Captcha.html b/db_sqlx_maria/dev/dev/prelude/struct.Captcha.html new file mode 100644 index 00000000..908864b7 --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/struct.Captcha.html @@ -0,0 +1,50 @@ +Captcha in db_sqlx_maria::dev::dev::prelude - Rust + +
pub struct Captcha {
+    pub config_id: i32,
+    pub duration: i32,
+    pub description: String,
+    pub key: String,
+}
Expand description

Data representing a captcha

+

Fields

config_id: i32

Database assigned ID

+
duration: i32

cool down duration

+
description: String

description of the captcha

+
key: String

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html b/db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html new file mode 100644 index 00000000..b3c69f6e --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/struct.CreateCaptcha.html @@ -0,0 +1,48 @@ +CreateCaptcha in db_sqlx_maria::dev::dev::prelude - Rust + +
pub struct CreateCaptcha<'a> {
+    pub duration: i32,
+    pub description: &'a str,
+    pub key: &'a str,
+}
Expand description

data requried to create new captcha

+

Fields

duration: i32

cool down duration

+
description: &'a str

description of the captcha

+
key: &'a str

secret key of the captcha

+

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Returns the “default value” for a type. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/db_sqlx_maria/dev/dev/prelude/struct.Level.html b/db_sqlx_maria/dev/dev/prelude/struct.Level.html new file mode 100644 index 00000000..e856db06 --- /dev/null +++ b/db_sqlx_maria/dev/dev/prelude/struct.Level.html @@ -0,0 +1,43 @@ +Level in db_sqlx_maria::dev::dev::prelude - Rust + +
pub struct Level {
+    pub visitor_threshold: u32,
+    pub difficulty_factor: u32,
+}
Expand description

Level struct that describes threshold-difficulty factor mapping

+

Fields

visitor_threshold: u32difficulty_factor: u32

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/mcaptcha/settings/struct.DatabaseBuilder.html b/db_sqlx_maria/dev/dev/prelude/struct.NameHash.html similarity index 62% rename from mcaptcha/settings/struct.DatabaseBuilder.html rename to db_sqlx_maria/dev/dev/prelude/struct.NameHash.html index 20ecd122..45d2902c 100644 --- a/mcaptcha/settings/struct.DatabaseBuilder.html +++ b/db_sqlx_maria/dev/dev/prelude/struct.NameHash.html @@ -1,20 +1,24 @@ -DatabaseBuilder in mcaptcha::settings - Rust -

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Constants

+

Crate mcaptcha

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Constants

\ No newline at end of file diff --git a/mcaptcha/api/v1/account/password/index.html b/mcaptcha/api/v1/account/password/index.html index c9bc8866..5a648d99 100644 --- a/mcaptcha/api/v1/account/password/index.html +++ b/mcaptcha/api/v1/account/password/index.html @@ -4,7 +4,7 @@

Structs

Functions

\ No newline at end of file diff --git a/mcaptcha/api/v1/mcaptcha/easy/index.html b/mcaptcha/api/v1/mcaptcha/easy/index.html index 746781d7..5bd44352 100644 --- a/mcaptcha/api/v1/mcaptcha/easy/index.html +++ b/mcaptcha/api/v1/mcaptcha/easy/index.html @@ -4,7 +4,7 @@

Modules

Structs

User’s traffic pattern; used in generating a captcha configuration

Functions

diff --git a/mcaptcha/api/v1/mcaptcha/update/index.html b/mcaptcha/api/v1/mcaptcha/update/index.html index feb2c93f..c41e4992 100644 --- a/mcaptcha/api/v1/mcaptcha/update/index.html +++ b/mcaptcha/api/v1/mcaptcha/update/index.html @@ -4,7 +4,7 @@

Modules

Structs

\ No newline at end of file diff --git a/mcaptcha/api/v1/meta/index.html b/mcaptcha/api/v1/meta/index.html index ba3baacc..e6049033 100644 --- a/mcaptcha/api/v1/meta/index.html +++ b/mcaptcha/api/v1/meta/index.html @@ -4,7 +4,7 @@

Modules

Structs

Health check return datatype

diff --git a/mcaptcha/api/v1/notifications/add/index.html b/mcaptcha/api/v1/notifications/add/index.html index a1eae663..6395f1b3 100644 --- a/mcaptcha/api/v1/notifications/add/index.html +++ b/mcaptcha/api/v1/notifications/add/index.html @@ -4,7 +4,7 @@

Structs

route handler that adds a notification message

\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/get/index.html b/mcaptcha/api/v1/notifications/get/index.html index aa9a8096..f9257d5b 100644 --- a/mcaptcha/api/v1/notifications/get/index.html +++ b/mcaptcha/api/v1/notifications/get/index.html @@ -4,7 +4,7 @@

Structs

route handler that gets all unread notifications

\ No newline at end of file diff --git a/mcaptcha/api/v1/notifications/mark_read/index.html b/mcaptcha/api/v1/notifications/mark_read/index.html index 140aeba5..d7ea3e86 100644 --- a/mcaptcha/api/v1/notifications/mark_read/index.html +++ b/mcaptcha/api/v1/notifications/mark_read/index.html @@ -4,7 +4,7 @@

Structs

route handler that marks a notification read

\ No newline at end of file diff --git a/mcaptcha/api/v1/pow/get_config/index.html b/mcaptcha/api/v1/pow/get_config/index.html index 5ec4aabf..bac356dd 100644 --- a/mcaptcha/api/v1/pow/get_config/index.html +++ b/mcaptcha/api/v1/pow/get_config/index.html @@ -4,7 +4,7 @@

Structs

get PoW configuration for an mcaptcha key

Functions

Call this when [MCaptcha][libmcaptcha::MCaptcha] is not in master.

diff --git a/mcaptcha/api/v1/pow/verify_pow/index.html b/mcaptcha/api/v1/pow/verify_pow/index.html index dac38f16..f684879f 100644 --- a/mcaptcha/api/v1/pow/verify_pow/index.html +++ b/mcaptcha/api/v1/pow/verify_pow/index.html @@ -4,7 +4,7 @@
Expand description

PoW Verification module

+

Module mcaptcha::api::v1::pow::verify_pow

source · []
Expand description

PoW Verification module

Structs

validation token that clients receive as proof for submiting valid PoW

diff --git a/mcaptcha/api/v1/pow/verify_token/index.html b/mcaptcha/api/v1/pow/verify_token/index.html index 2dead0f2..a263c2c3 100644 --- a/mcaptcha/api/v1/pow/verify_token/index.html +++ b/mcaptcha/api/v1/pow/verify_token/index.html @@ -4,7 +4,7 @@
Expand description

PoW success token module

+

Module mcaptcha::api::v1::pow::verify_token

source · []
Expand description

PoW success token module

Structs

route hander that validates a PoW solution token

diff --git a/mcaptcha/constant.CACHE_AGE.html b/mcaptcha/constant.CACHE_AGE.html index 32bd39f2..a0368204 100644 --- a/mcaptcha/constant.CACHE_AGE.html +++ b/mcaptcha/constant.CACHE_AGE.html @@ -4,5 +4,5 @@
pub const CACHE_AGE: u32 = 604800;
+

Constant mcaptcha::CACHE_AGE

source · []
pub const CACHE_AGE: u32 = 604800;
\ No newline at end of file diff --git a/mcaptcha/constant.COMPILED_DATE.html b/mcaptcha/constant.COMPILED_DATE.html index 00c865eb..85ed347f 100644 --- a/mcaptcha/constant.COMPILED_DATE.html +++ b/mcaptcha/constant.COMPILED_DATE.html @@ -4,5 +4,5 @@
pub const COMPILED_DATE: &str = "22-07-22";
+

Constant mcaptcha::COMPILED_DATE

source · []
pub const COMPILED_DATE: &str = "22-07-23";
\ No newline at end of file diff --git a/mcaptcha/constant.GIT_COMMIT_HASH.html b/mcaptcha/constant.GIT_COMMIT_HASH.html index f588df09..2beda82e 100644 --- a/mcaptcha/constant.GIT_COMMIT_HASH.html +++ b/mcaptcha/constant.GIT_COMMIT_HASH.html @@ -4,5 +4,5 @@
pub const GIT_COMMIT_HASH: &str = "9371416398e3efe8e193144c883c241e249125b7";
+

Constant mcaptcha::GIT_COMMIT_HASH

source · []
pub const GIT_COMMIT_HASH: &str = "dd726c15d1e1d3bdb80c80d056ffc26a40c5eef0";
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_DESCRIPTION.html b/mcaptcha/constant.PKG_DESCRIPTION.html index a135de87..4845df45 100644 --- a/mcaptcha/constant.PKG_DESCRIPTION.html +++ b/mcaptcha/constant.PKG_DESCRIPTION.html @@ -4,5 +4,5 @@
pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
+

Constant mcaptcha::PKG_DESCRIPTION

source · []
pub const PKG_DESCRIPTION: &str = "mCaptcha - a PoW-based CAPTCHA system";
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_HOMEPAGE.html b/mcaptcha/constant.PKG_HOMEPAGE.html index 732d5251..e1527485 100644 --- a/mcaptcha/constant.PKG_HOMEPAGE.html +++ b/mcaptcha/constant.PKG_HOMEPAGE.html @@ -4,5 +4,5 @@
pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
+

Constant mcaptcha::PKG_HOMEPAGE

source · []
pub const PKG_HOMEPAGE: &str = "https://mcaptcha.org";
\ No newline at end of file diff --git a/mcaptcha/constant.PKG_NAME.html b/mcaptcha/constant.PKG_NAME.html index bc1c05ee..c4fd4233 100644 --- a/mcaptcha/constant.PKG_NAME.html +++ b/mcaptcha/constant.PKG_NAME.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::PKG_NAME

source · []
pub const PKG_NAME: &str = "mcaptcha";
+

Constant mcaptcha::PKG_NAME

source · []
pub const PKG_NAME: &str = "mcaptcha";
\ No newline at end of file diff --git a/mcaptcha/constant.VERSION.html b/mcaptcha/constant.VERSION.html index d38c600f..77ac4c5e 100644 --- a/mcaptcha/constant.VERSION.html +++ b/mcaptcha/constant.VERSION.html @@ -4,5 +4,5 @@
-

Constant mcaptcha::VERSION

source · []
pub const VERSION: &str = "0.1.0";
+

Constant mcaptcha::VERSION

source · []
pub const VERSION: &str = "0.1.0";
\ No newline at end of file diff --git a/mcaptcha/data/enum.SystemGroup.html b/mcaptcha/data/enum.SystemGroup.html index 4c4b2b4e..4f370d69 100644 --- a/mcaptcha/data/enum.SystemGroup.html +++ b/mcaptcha/data/enum.SystemGroup.html @@ -4,13 +4,13 @@
pub enum SystemGroup {
+    

Enum mcaptcha::data::SystemGroup

source · []
pub enum SystemGroup {
     Embedded(System<HashCache, EmbeddedMaster>),
     Redis(System<RedisCache, RedisMaster>),
 }
Expand description

Represents mCaptcha cache and master system. When Redis is configured, SystemGroup::Redis is used and in its absense, SystemGroup::Embedded is used

-

Variants

Embedded(System<HashCache, EmbeddedMaster>)

Redis(System<RedisCache, RedisMaster>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Variants

Embedded(System<HashCache, EmbeddedMaster>)

Redis(System<RedisCache, RedisMaster>)

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/data/index.html b/mcaptcha/data/index.html index e0fc8f8d..6f41e023 100644 --- a/mcaptcha/data/index.html +++ b/mcaptcha/data/index.html @@ -4,7 +4,7 @@
-

Module mcaptcha::data

source · []
Expand description

App data: redis cache, database connections, etc.

+

Module mcaptcha::data

source · []
Expand description

App data: redis cache, database connections, etc.

Macros

Structs

App data

diff --git a/mcaptcha/data/macro.enum_system_actor.html b/mcaptcha/data/macro.enum_system_actor.html index 8f1c1d9b..e59bded0 100644 --- a/mcaptcha/data/macro.enum_system_actor.html +++ b/mcaptcha/data/macro.enum_system_actor.html @@ -4,7 +4,7 @@
macro_rules! enum_system_actor {
+    

Macro mcaptcha::data::enum_system_actor

source · []
macro_rules! enum_system_actor {
     ($name:ident, $type:ident) => { ... };
 }
diff --git a/mcaptcha/data/macro.enum_system_wrapper.html b/mcaptcha/data/macro.enum_system_wrapper.html index a01f15c9..b6f60268 100644 --- a/mcaptcha/data/macro.enum_system_wrapper.html +++ b/mcaptcha/data/macro.enum_system_wrapper.html @@ -4,7 +4,7 @@
macro_rules! enum_system_wrapper {
+    

Macro mcaptcha::data::enum_system_wrapper

source · []
macro_rules! enum_system_wrapper {
     ($name:ident, $type:ty, $return_type:ty) => { ... };
 }
diff --git a/mcaptcha/data/struct.Data.html b/mcaptcha/data/struct.Data.html index 5c87776c..40504a5b 100644 --- a/mcaptcha/data/struct.Data.html +++ b/mcaptcha/data/struct.Data.html @@ -4,7 +4,7 @@
-

Struct mcaptcha::data::Data

source · []
pub struct Data {
+    

Struct mcaptcha::data::Data

source · []
pub struct Data {
     pub db: Box<dyn MCDatabase>,
     pub creds: Config,
     pub captcha: SystemGroup,
@@ -18,8 +18,8 @@
 
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

settings: Settings

app settings

stats: Box<dyn Stats>

stats recorder

-

Implementations

create new instance of app data

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Implementations

create new instance of app data

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/data/type.Mailer.html b/mcaptcha/data/type.Mailer.html index b37aea73..1ab11190 100644 --- a/mcaptcha/data/type.Mailer.html +++ b/mcaptcha/data/type.Mailer.html @@ -4,6 +4,6 @@
-

Type Definition mcaptcha::data::Mailer

source · []
Expand description

Mailer data type AsyncSmtpTransport

+

Type Definition mcaptcha::data::Mailer

source · []
Expand description

Mailer data type AsyncSmtpTransport

\ No newline at end of file diff --git a/mcaptcha/db/index.html b/mcaptcha/db/index.html new file mode 100644 index 00000000..35ad9e42 --- /dev/null +++ b/mcaptcha/db/index.html @@ -0,0 +1,10 @@ +mcaptcha::db - Rust + +
+ \ No newline at end of file diff --git a/mcaptcha/db/maria/fn.get_data.html b/mcaptcha/db/maria/fn.get_data.html new file mode 100644 index 00000000..bac560e5 --- /dev/null +++ b/mcaptcha/db/maria/fn.get_data.html @@ -0,0 +1,8 @@ +get_data in mcaptcha::db::maria - Rust + +
pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
+ \ No newline at end of file diff --git a/mcaptcha/db/maria/index.html b/mcaptcha/db/maria/index.html new file mode 100644 index 00000000..a9c39cfa --- /dev/null +++ b/mcaptcha/db/maria/index.html @@ -0,0 +1,9 @@ +mcaptcha::db::maria - Rust + +
+ \ No newline at end of file diff --git a/mcaptcha/db/maria/sidebar-items.js b/mcaptcha/db/maria/sidebar-items.js new file mode 100644 index 00000000..d9eaaa4b --- /dev/null +++ b/mcaptcha/db/maria/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["get_data",""]]}); \ No newline at end of file diff --git a/mcaptcha/db/pg/fn.get_data.html b/mcaptcha/db/pg/fn.get_data.html new file mode 100644 index 00000000..2d5de35a --- /dev/null +++ b/mcaptcha/db/pg/fn.get_data.html @@ -0,0 +1,8 @@ +get_data in mcaptcha::db::pg - Rust + +
+

Function mcaptcha::db::pg::get_data

source · []
pub async fn get_data(settings: Option<Settings>) -> Box<dyn MCDatabase>
+ \ No newline at end of file diff --git a/mcaptcha/db/pg/index.html b/mcaptcha/db/pg/index.html new file mode 100644 index 00000000..fe458283 --- /dev/null +++ b/mcaptcha/db/pg/index.html @@ -0,0 +1,9 @@ +mcaptcha::db::pg - Rust + +
+ \ No newline at end of file diff --git a/mcaptcha/db/pg/sidebar-items.js b/mcaptcha/db/pg/sidebar-items.js new file mode 100644 index 00000000..d9eaaa4b --- /dev/null +++ b/mcaptcha/db/pg/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"fn":[["get_data",""]]}); \ No newline at end of file diff --git a/mcaptcha/db/sidebar-items.js b/mcaptcha/db/sidebar-items.js new file mode 100644 index 00000000..08dd0158 --- /dev/null +++ b/mcaptcha/db/sidebar-items.js @@ -0,0 +1 @@ +initSidebarItems({"mod":[["maria",""],["pg",""]],"type":[["BoxDB",""]]}); \ No newline at end of file diff --git a/mcaptcha/db/type.BoxDB.html b/mcaptcha/db/type.BoxDB.html new file mode 100644 index 00000000..16d41e33 --- /dev/null +++ b/mcaptcha/db/type.BoxDB.html @@ -0,0 +1,8 @@ +BoxDB in mcaptcha::db - Rust + +
+

Type Definition mcaptcha::db::BoxDB

source · []
pub type BoxDB = Box<dyn MCDatabase>;
+ \ No newline at end of file diff --git a/mcaptcha/demo/index.html b/mcaptcha/demo/index.html index 80fbfac5..3d6b70e4 100644 --- a/mcaptcha/demo/index.html +++ b/mcaptcha/demo/index.html @@ -4,7 +4,7 @@

Structs

Constants

Demo password

Demo username

diff --git a/mcaptcha/email/verification/index.html b/mcaptcha/email/verification/index.html index ef8535c0..4e9d8e46 100644 --- a/mcaptcha/email/verification/index.html +++ b/mcaptcha/email/verification/index.html @@ -4,7 +4,7 @@
Expand description

Email operations: verification, notification, etc

+

Module mcaptcha::email::verification

source · []
Expand description

Email operations: verification, notification, etc

Structs

IndexPage 🔒

Constants

PAGE 🔒

Functions

diff --git a/mcaptcha/fn.get_identity_service.html b/mcaptcha/fn.get_identity_service.html index b73ba56d..26997db6 100644 --- a/mcaptcha/fn.get_identity_service.html +++ b/mcaptcha/fn.get_identity_service.html @@ -4,5 +4,5 @@
pub fn get_identity_service(
    settings: &Settings
) -> IdentityService<CookieIdentityPolicy>
+

Function mcaptcha::get_identity_service

source · []
pub fn get_identity_service(
    settings: &Settings
) -> IdentityService<CookieIdentityPolicy>
\ No newline at end of file diff --git a/mcaptcha/fn.get_json_err.html b/mcaptcha/fn.get_json_err.html index c7f638b5..fd05eacf 100644 --- a/mcaptcha/fn.get_json_err.html +++ b/mcaptcha/fn.get_json_err.html @@ -4,5 +4,5 @@
pub fn get_json_err() -> JsonConfig
+

Function mcaptcha::get_json_err

source · []
pub fn get_json_err() -> JsonConfig
\ No newline at end of file diff --git a/mcaptcha/fn.main.html b/mcaptcha/fn.main.html index 3407d9cb..c9daac90 100644 --- a/mcaptcha/fn.main.html +++ b/mcaptcha/fn.main.html @@ -4,5 +4,5 @@
-

Function mcaptcha::main

source · []
pub(crate) fn main() -> Result<()>
+

Function mcaptcha::main

source · []
pub(crate) fn main() -> Result<()>
\ No newline at end of file diff --git a/mcaptcha/index.html b/mcaptcha/index.html index d7803aa3..600f6ede 100644 --- a/mcaptcha/index.html +++ b/mcaptcha/index.html @@ -4,9 +4,9 @@

Modules

api 🔒
data 🔒

App data: redis cache, database connections, etc.

-
date 🔒
demo 🔒
docs 🔒
email 🔒
errors 🔒
pages 🔒
routes 🔒
settings 🔒
stats 🔒
widget 🔒

User facing CAPTCHA widget

+
date 🔒
db 🔒
demo 🔒
docs 🔒
email 🔒
errors 🔒
pages 🔒
routes 🔒
settings 🔒
stats 🔒
widget 🔒

User facing CAPTCHA widget

Structs

App data

points to source files matching build commit

diff --git a/mcaptcha/pages/index.html b/mcaptcha/pages/index.html index f8961ba9..f0f40f7c 100644 --- a/mcaptcha/pages/index.html +++ b/mcaptcha/pages/index.html @@ -4,7 +4,7 @@

Modules

auth 🔒
panel 🔒
sitemap 🔒

Constants

Functions

diff --git a/mcaptcha/pages/panel/sitekey/edit/index.html b/mcaptcha/pages/panel/sitekey/edit/index.html index eb10460c..9b7512a7 100644 --- a/mcaptcha/pages/panel/sitekey/edit/index.html +++ b/mcaptcha/pages/panel/sitekey/edit/index.html @@ -4,7 +4,7 @@

Structs

route handler that renders individual views for sitekeys

route handler that renders individual views for sitekeys

Constants

diff --git a/mcaptcha/pages/panel/sitekey/list/index.html b/mcaptcha/pages/panel/sitekey/list/index.html index c8220dba..8788b248 100644 --- a/mcaptcha/pages/panel/sitekey/list/index.html +++ b/mcaptcha/pages/panel/sitekey/list/index.html @@ -4,7 +4,7 @@

Structs

render a list of all sitekeys that a user has

Constants

PAGE 🔒
diff --git a/mcaptcha/pages/panel/sitekey/view/index.html b/mcaptcha/pages/panel/sitekey/view/index.html index 2940ead9..9dc2b9b5 100644 --- a/mcaptcha/pages/panel/sitekey/view/index.html +++ b/mcaptcha/pages/panel/sitekey/view/index.html @@ -4,7 +4,7 @@

Structs

IndexPage 🔒

route handler that renders individual views for sitekeys

Constants

PAGE 🔒
diff --git a/mcaptcha/settings/enum.DBType.html b/mcaptcha/settings/enum.DBType.html new file mode 100644 index 00000000..321f9e7b --- /dev/null +++ b/mcaptcha/settings/enum.DBType.html @@ -0,0 +1,44 @@ +DBType in mcaptcha::settings - Rust + +
pub enum DBType {
+    Postgres,
+    Maria,
+}

Variants

Postgres

Maria

Implementations

Trait Implementations

Returns a copy of the value. Read more

+

Performs copy-assignment from source. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

This method tests for self and other values to be equal, and is used +by ==. Read more

+

This method tests for !=.

+

Serialize this value into the given Serde serializer. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Returns the argument unchanged.

+

Instruments this type with the provided Span, returning an +Instrumented wrapper. Read more

+

Instruments this type with the current Span, returning an +Instrumented wrapper. Read more

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Should always be Self

+

The resulting type after obtaining ownership.

+

Creates owned data from borrowed data, usually by cloning. Read more

+
🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

+

Converts the given value to a String. Read more

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Attaches the provided Subscriber to this type, returning a +WithDispatch wrapper. Read more

+

Attaches the current default Subscriber to this type, returning a +WithDispatch wrapper. Read more

+
+ \ No newline at end of file diff --git a/mcaptcha/settings/fn.check_url.html b/mcaptcha/settings/fn.check_url.html index 8c7496f8..de602f7b 100644 --- a/mcaptcha/settings/fn.check_url.html +++ b/mcaptcha/settings/fn.check_url.html @@ -4,5 +4,5 @@
fn check_url(s: &Config)
+

Function mcaptcha::settings::check_url

source · []
fn check_url(s: &Config)
\ No newline at end of file diff --git a/mcaptcha/settings/fn.set_database_url.html b/mcaptcha/settings/fn.set_database_url.html index 7ce84b6d..0dd4fb71 100644 --- a/mcaptcha/settings/fn.set_database_url.html +++ b/mcaptcha/settings/fn.set_database_url.html @@ -4,5 +4,5 @@
fn set_database_url(s: &mut Config)
+

Function mcaptcha::settings::set_database_url

source · []
fn set_database_url(s: &mut Config)
\ No newline at end of file diff --git a/mcaptcha/settings/fn.set_from_database_url.html b/mcaptcha/settings/fn.set_from_database_url.html deleted file mode 100644 index a4d9fa9d..00000000 --- a/mcaptcha/settings/fn.set_from_database_url.html +++ /dev/null @@ -1,8 +0,0 @@ -set_from_database_url in mcaptcha::settings - Rust - -
fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder)
- \ No newline at end of file diff --git a/mcaptcha/settings/index.html b/mcaptcha/settings/index.html index 647e1cd9..926bd672 100644 --- a/mcaptcha/settings/index.html +++ b/mcaptcha/settings/index.html @@ -3,8 +3,9 @@

+

Module settings

\ No newline at end of file diff --git a/mcaptcha/settings/sidebar-items.js b/mcaptcha/settings/sidebar-items.js index d7af58c6..4a80c3de 100644 --- a/mcaptcha/settings/sidebar-items.js +++ b/mcaptcha/settings/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"fn":[["check_url",""],["set_database_url",""],["set_from_database_url",""]],"struct":[["Captcha",""],["Database",""],["DatabaseBuilder",""],["DefaultDifficultyStrategy",""],["Redis",""],["Server",""],["Settings",""],["Smtp",""]]}); \ No newline at end of file +initSidebarItems({"enum":[["DBType",""]],"fn":[["check_url",""],["set_database_url",""]],"struct":[["Captcha",""],["Database",""],["DefaultDifficultyStrategy",""],["Redis",""],["Server",""],["Settings",""],["Smtp",""]]}); \ No newline at end of file diff --git a/mcaptcha/settings/struct.Captcha.html b/mcaptcha/settings/struct.Captcha.html index ca190f2c..d029b957 100644 --- a/mcaptcha/settings/struct.Captcha.html +++ b/mcaptcha/settings/struct.Captcha.html @@ -4,15 +4,15 @@
pub struct Captcha {
+    

Struct mcaptcha::settings::Captcha

source · []
pub struct Captcha {
     pub salt: String,
     pub gc: u64,
     pub enable_stats: bool,
     pub default_difficulty_strategy: DefaultDifficultyStrategy,
-}

Fields

salt: Stringgc: u64enable_stats: booldefault_difficulty_strategy: DefaultDifficultyStrategy

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

salt: Stringgc: u64enable_stats: booldefault_difficulty_strategy: DefaultDifficultyStrategy

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/settings/struct.Database.html b/mcaptcha/settings/struct.Database.html index 65b277b7..c0f1873c 100644 --- a/mcaptcha/settings/struct.Database.html +++ b/mcaptcha/settings/struct.Database.html @@ -3,14 +3,15 @@

Fields

url: Stringpool: u32database_type: DBType

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html index 9b3593a9..ee2226ae 100644 --- a/mcaptcha/settings/struct.DefaultDifficultyStrategy.html +++ b/mcaptcha/settings/struct.DefaultDifficultyStrategy.html @@ -4,15 +4,15 @@
pub struct DefaultDifficultyStrategy {
+    

Struct mcaptcha::settings::DefaultDifficultyStrategy

source · []
pub struct DefaultDifficultyStrategy {
     pub avg_traffic_difficulty: u32,
     pub broke_my_site_traffic_difficulty: u32,
     pub peak_sustainable_traffic_difficulty: u32,
     pub duration: u32,
-}

Fields

avg_traffic_difficulty: u32broke_my_site_traffic_difficulty: u32peak_sustainable_traffic_difficulty: u32duration: u32

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

avg_traffic_difficulty: u32broke_my_site_traffic_difficulty: u32peak_sustainable_traffic_difficulty: u32duration: u32

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/settings/struct.Redis.html b/mcaptcha/settings/struct.Redis.html index bc3fb2b2..585df6f6 100644 --- a/mcaptcha/settings/struct.Redis.html +++ b/mcaptcha/settings/struct.Redis.html @@ -4,13 +4,13 @@
pub struct Redis {
+    

Struct mcaptcha::settings::Redis

source · []
pub struct Redis {
     pub url: String,
     pub pool: u32,
-}

Fields

url: Stringpool: u32

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

url: Stringpool: u32

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/settings/struct.Server.html b/mcaptcha/settings/struct.Server.html index c6c18c10..a0bcc76a 100644 --- a/mcaptcha/settings/struct.Server.html +++ b/mcaptcha/settings/struct.Server.html @@ -4,17 +4,17 @@
pub struct Server {
+    

Struct mcaptcha::settings::Server

source · []
pub struct Server {
     pub port: u32,
     pub domain: String,
     pub cookie_secret: String,
     pub ip: String,
     pub url_prefix: Option<String>,
     pub proxy_has_tls: bool,
-}

Fields

port: u32domain: Stringcookie_secret: Stringip: Stringurl_prefix: Option<String>proxy_has_tls: bool

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

port: u32domain: Stringcookie_secret: Stringip: Stringurl_prefix: Option<String>proxy_has_tls: bool

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/settings/struct.Settings.html b/mcaptcha/settings/struct.Settings.html index 887e8182..6370d0da 100644 --- a/mcaptcha/settings/struct.Settings.html +++ b/mcaptcha/settings/struct.Settings.html @@ -4,7 +4,7 @@
pub struct Settings {
+    

Struct mcaptcha::settings::Settings

source · []
pub struct Settings {
     pub debug: bool,
     pub commercial: bool,
     pub database: Database,
@@ -15,10 +15,10 @@
     pub smtp: Option<Smtp>,
     pub allow_registration: bool,
     pub allow_demo: bool,
-}

Fields

debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/settings/struct.Smtp.html b/mcaptcha/settings/struct.Smtp.html index 8acda3f7..3b3ee179 100644 --- a/mcaptcha/settings/struct.Smtp.html +++ b/mcaptcha/settings/struct.Smtp.html @@ -4,17 +4,17 @@
pub struct Smtp {
+    

Struct mcaptcha::settings::Smtp

source · []
pub struct Smtp {
     pub from: String,
     pub reply: String,
     pub url: String,
     pub username: String,
     pub password: String,
     pub port: u16,
-}

Fields

from: Stringreply: Stringurl: Stringusername: Stringpassword: Stringport: u16

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

from: Stringreply: Stringurl: Stringusername: Stringpassword: Stringport: u16

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/sidebar-items.js b/mcaptcha/sidebar-items.js index b4d150cf..7c955815 100644 --- a/mcaptcha/sidebar-items.js +++ b/mcaptcha/sidebar-items.js @@ -1 +1 @@ -initSidebarItems({"constant":[["CACHE_AGE",""],["COMPILED_DATE",""],["DOCS",""],["GIT_COMMIT_HASH",""],["PAGES",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""],["WIDGET_ROUTES",""]],"fn":[["get_identity_service",""],["get_json_err",""],["main",""]],"mod":[["api",""],["data","App data: redis cache, database connections, etc."],["date",""],["demo",""],["docs",""],["email",""],["errors",""],["pages",""],["routes",""],["settings",""],["static_assets",""],["stats",""],["widget","User facing CAPTCHA widget"]],"struct":[["BAR_CHART",""],["CREDIT_CARD",""],["CSS",""],["DOCS_ICON",""],["Data","App data"],["FILES",""],["GITHUB",""],["HELP_CIRCLE",""],["HOME",""],["JS",""],["KEY",""],["MCAPTCHA_TRANS_ICON",""],["MESSAGE",""],["MOBILE_CSS",""],["SETTINGS",""],["SETTINGS_ICON",""],["SOURCE_FILES_OF_INSTANCE","points to source files matching build commit"],["Settings",""],["VERIFICATIN_WIDGET_CSS",""],["VERIFICATIN_WIDGET_JS",""]],"type":[["AppData",""],["ArcData",""]]}); \ No newline at end of file +initSidebarItems({"constant":[["CACHE_AGE",""],["COMPILED_DATE",""],["DOCS",""],["GIT_COMMIT_HASH",""],["PAGES",""],["PKG_DESCRIPTION",""],["PKG_HOMEPAGE",""],["PKG_NAME",""],["V1_API_ROUTES",""],["VERSION",""],["WIDGET_ROUTES",""]],"fn":[["get_identity_service",""],["get_json_err",""],["main",""]],"mod":[["api",""],["data","App data: redis cache, database connections, etc."],["date",""],["db",""],["demo",""],["docs",""],["email",""],["errors",""],["pages",""],["routes",""],["settings",""],["static_assets",""],["stats",""],["widget","User facing CAPTCHA widget"]],"struct":[["BAR_CHART",""],["CREDIT_CARD",""],["CSS",""],["DOCS_ICON",""],["Data","App data"],["FILES",""],["GITHUB",""],["HELP_CIRCLE",""],["HOME",""],["JS",""],["KEY",""],["MCAPTCHA_TRANS_ICON",""],["MESSAGE",""],["MOBILE_CSS",""],["SETTINGS",""],["SETTINGS_ICON",""],["SOURCE_FILES_OF_INSTANCE","points to source files matching build commit"],["Settings",""],["VERIFICATIN_WIDGET_CSS",""],["VERIFICATIN_WIDGET_JS",""]],"type":[["AppData",""],["ArcData",""]]}); \ No newline at end of file diff --git a/mcaptcha/struct.CSS.html b/mcaptcha/struct.CSS.html index d6acaa1e..18a56301 100644 --- a/mcaptcha/struct.CSS.html +++ b/mcaptcha/struct.CSS.html @@ -4,7 +4,7 @@
-

Struct mcaptcha::CSS

source · []
pub struct CSS {
+    

Struct mcaptcha::CSS

source · []
pub struct CSS {
     pub(crate) __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = &'static str>

Returns the length of self.

This length is in bytes, not chars or graphemes. In other words, @@ -1162,9 +1162,9 @@ but non-ASCII letters are unchanged.

let s = "Grüße, Jürgen ❤";
 
 assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.Data.html b/mcaptcha/struct.Data.html index b01617ea..4772aa22 100644 --- a/mcaptcha/struct.Data.html +++ b/mcaptcha/struct.Data.html @@ -4,7 +4,7 @@
-

Struct mcaptcha::Data

source · []
pub struct Data {
+    

Struct mcaptcha::Data

source · []
pub struct Data {
     pub db: Box<dyn MCDatabase>,
     pub creds: Config,
     pub captcha: SystemGroup,
@@ -18,8 +18,8 @@
 
mailer: Option<AsyncSmtpTransport<Tokio1Executor>>

email client

settings: Settings

app settings

stats: Box<dyn Stats>

stats recorder

-

Implementations

create new instance of app data

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Implementations

create new instance of app data

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.FILES.html b/mcaptcha/struct.FILES.html index 38e3d300..a83eccf4 100644 --- a/mcaptcha/struct.FILES.html +++ b/mcaptcha/struct.FILES.html @@ -4,11 +4,11 @@
-

Struct mcaptcha::FILES

source · []
pub struct FILES {
+    

Struct mcaptcha::FILES

source · []
pub struct FILES {
     pub(crate) __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = FileMap>

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

__private_field: ()

Methods from Deref<Target = FileMap>

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.JS.html b/mcaptcha/struct.JS.html index 3d38db60..dc443b2d 100644 --- a/mcaptcha/struct.JS.html +++ b/mcaptcha/struct.JS.html @@ -4,7 +4,7 @@
-

Struct mcaptcha::JS

source · []
pub struct JS {
+    

Struct mcaptcha::JS

source · []
pub struct JS {
     pub(crate) __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = &'static str>

Returns the length of self.

This length is in bytes, not chars or graphemes. In other words, @@ -1162,9 +1162,9 @@ but non-ASCII letters are unchanged.

let s = "Grüße, Jürgen ❤";
 
 assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.MOBILE_CSS.html b/mcaptcha/struct.MOBILE_CSS.html index 755bd582..23d0b501 100644 --- a/mcaptcha/struct.MOBILE_CSS.html +++ b/mcaptcha/struct.MOBILE_CSS.html @@ -4,7 +4,7 @@
pub struct MOBILE_CSS {
+    

Struct mcaptcha::MOBILE_CSS

source · []
pub struct MOBILE_CSS {
     pub(crate) __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = &'static str>

Returns the length of self.

This length is in bytes, not chars or graphemes. In other words, @@ -1162,9 +1162,9 @@ but non-ASCII letters are unchanged.

let s = "Grüße, Jürgen ❤";
 
 assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.SETTINGS.html b/mcaptcha/struct.SETTINGS.html index a9b39d53..a95211e9 100644 --- a/mcaptcha/struct.SETTINGS.html +++ b/mcaptcha/struct.SETTINGS.html @@ -4,11 +4,11 @@
pub struct SETTINGS {
+    

Struct mcaptcha::SETTINGS

source · []
pub struct SETTINGS {
     pub(crate) __private_field: (),
-}

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html index c048efe3..0a7e62b3 100644 --- a/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html +++ b/mcaptcha/struct.SOURCE_FILES_OF_INSTANCE.html @@ -4,7 +4,7 @@
pub struct SOURCE_FILES_OF_INSTANCE {
+    

Struct mcaptcha::SOURCE_FILES_OF_INSTANCE

source · []
pub struct SOURCE_FILES_OF_INSTANCE {
     pub(crate) __private_field: (),
 }
Expand description

points to source files matching build commit

Fields

__private_field: ()

Methods from Deref<Target = String>

Extracts a string slice containing the entire String.

@@ -1337,9 +1337,9 @@ but non-ASCII letters are unchanged.

let s = "Grüße, Jürgen ❤";
 
 assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.Settings.html b/mcaptcha/struct.Settings.html index 077583d5..463487bb 100644 --- a/mcaptcha/struct.Settings.html +++ b/mcaptcha/struct.Settings.html @@ -4,7 +4,7 @@
pub struct Settings {
+    

Struct mcaptcha::Settings

source · []
pub struct Settings {
     pub debug: bool,
     pub commercial: bool,
     pub database: Database,
@@ -15,10 +15,10 @@
     pub smtp: Option<Smtp>,
     pub allow_registration: bool,
     pub allow_demo: bool,
-}

Fields

debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

Implementations

Trait Implementations

Returns a copy of the value. Read more

+}

Fields

debug: boolcommercial: booldatabase: Databaseredis: Option<Redis>server: Servercaptcha: Captchasource_code: Stringsmtp: Option<Smtp>allow_registration: boolallow_demo: bool

Implementations

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

-

Formats the value using the given formatter. Read more

-

Deserialize this value from the given Serde deserializer. Read more

+

Formats the value using the given formatter. Read more

+

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html index 549ebe65..e02a67c7 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_CSS.html @@ -4,7 +4,7 @@
pub struct VERIFICATIN_WIDGET_CSS {
+    

Struct mcaptcha::VERIFICATIN_WIDGET_CSS

source · []
pub struct VERIFICATIN_WIDGET_CSS {
     pub(crate) __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = &'static str>

Returns the length of self.

This length is in bytes, not chars or graphemes. In other words, @@ -1162,9 +1162,9 @@ but non-ASCII letters are unchanged.

let s = "Grüße, Jürgen ❤";
 
 assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html index ecd919d8..21fe30e3 100644 --- a/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html +++ b/mcaptcha/struct.VERIFICATIN_WIDGET_JS.html @@ -4,7 +4,7 @@
pub struct VERIFICATIN_WIDGET_JS {
+    

Struct mcaptcha::VERIFICATIN_WIDGET_JS

source · []
pub struct VERIFICATIN_WIDGET_JS {
     pub(crate) __private_field: (),
 }

Fields

__private_field: ()

Methods from Deref<Target = &'static str>

Returns the length of self.

This length is in bytes, not chars or graphemes. In other words, @@ -1162,9 +1162,9 @@ but non-ASCII letters are unchanged.

let s = "Grüße, Jürgen ❤";
 
 assert_eq!("grüße, jürgen ❤", s.to_ascii_lowercase());
-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

diff --git a/mcaptcha/type.AppData.html b/mcaptcha/type.AppData.html index f4271f31..d99b456a 100644 --- a/mcaptcha/type.AppData.html +++ b/mcaptcha/type.AppData.html @@ -4,5 +4,5 @@
-

Type Definition mcaptcha::AppData

source · []
pub type AppData = Data<ArcData>;
+

Type Definition mcaptcha::AppData

source · []
pub type AppData = Data<ArcData>;
\ No newline at end of file diff --git a/mcaptcha/type.ArcData.html b/mcaptcha/type.ArcData.html index 89b5a204..6e80b742 100644 --- a/mcaptcha/type.ArcData.html +++ b/mcaptcha/type.ArcData.html @@ -4,5 +4,5 @@
-

Type Definition mcaptcha::ArcData

source · []
pub type ArcData = Arc<Data>;
+

Type Definition mcaptcha::ArcData

source · []
pub type ArcData = Arc<Data>;
\ No newline at end of file diff --git a/search-index.js b/search-index.js index d3fd631a..cb8afc7e 100644 --- a/search-index.js +++ b/search-index.js @@ -1,6 +1,7 @@ var searchIndex = JSON.parse('{\ "db_core":{"doc":"mCaptcha database operations","t":[3,3,8,3,13,2,3,4,8,3,3,3,3,3,3,3,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,0,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,23,13,6,13,13,4,13,6,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,12,16,8,8,8,8,16,10,10,10,5],"n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","async_trait","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","borrow","borrow_mut","fmt","fmt","from","into","source","to_string","try_from","try_into","type_id","vzip","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_core","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_core::Login","","db_core::dev","db_core::errors","","","","","","","","","","","","","","","","","","","","","","","","db_core::errors::DBError","db_core::ops","","","","","","","","","db_core::tests"],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data requried to create new captcha","email as login","","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","type encapsulating username and hashed password of a user","Represents notification","Data required to register a new user","datastructure representing a user’s secret","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","data required to update them email of a user","username as login","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","trafic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","","clone DB","","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","receiver name of the notification","","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","","times at which the PoW was solved","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","database connection type","Create databse connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,2,2,3,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,3,2,4,5,1,6,7,8,9,10,3,11,12,13,14,4,5,1,6,7,8,9,10,3,11,12,13,7,12,7,2,2,7,8,9,3,11,12,13,2,2,2,2,11,12,4,5,1,6,7,8,9,10,3,11,12,13,0,10,11,12,4,2,4,5,1,6,7,8,9,10,3,11,12,13,0,2,2,2,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,9,2,2,2,2,2,2,2,2,2,2,4,6,8,9,8,4,5,1,6,7,8,9,10,3,11,12,13,11,12,2,8,9,8,4,5,1,6,7,8,9,10,3,11,12,13,5,0,3,2,0,8,2,2,2,2,4,13,4,5,1,6,7,8,9,10,3,11,12,13,7,0,9,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,4,5,1,6,7,8,9,10,3,11,12,13,2,2,2,2,2,2,4,5,6,2,10,4,5,1,6,7,8,9,10,3,11,12,13,15,16,0,17,0,17,17,0,17,0,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,19,0,0,0,0,20,20,19,21,0],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["level",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4,[["level",3]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["level",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["level",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[4,"Login"],[8,"MCDatabase"],[3,"TrafficPattern"],[3,"Register"],[3,"UpdateEmail"],[3,"NameHash"],[3,"StatsUnixTimestamp"],[3,"Notification"],[3,"AddNotification"],[3,"Level"],[3,"CreateCaptcha"],[3,"Captcha"],[3,"Secret"],[8,"CloneSPDatabase"],[13,"Username"],[13,"Email"],[4,"DBError"],[13,"DBError"],[8,"GetConnection"],[8,"Connect"],[8,"Migrate"]]},\ -"db_sqlx_postgres":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,13,3,3,6,6,3,3,13,13,13,13,8,8,13,13,13,13,16,16,8,8,3,3,4,4,13,13,8,8,6,6,2,13,13,13,13,13,13,4,8,8,13,3,3,4,4,8,8,8,8,13,3,3,3,3,13,13,16,16,13,13,13,3,3,13,3,3,13,13,3,3,13,3,3,13,13,13,3,3,13,13,13,13,13,10,10,10,10,11,23,12,12,11,11,12,12,10,10,10,10,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,0,12,12,12,12,12,12,12,12,10,10,0,0,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,10,10,12,12,12,12,10,10,12,12,12,12,0,0,12,12,10,10,0,12,12,10,10,10,10,10,10,10,10,12,12,12,12,12,12,11,0,0,12,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,13,6,6,13,13,13,13,4,4,13,13,6,6,13,13,13,13,13,13,13,13,13,13,12,12,16,16,8,8,8,8,8,8,8,8,16,16,10,10,10,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AccountNotFound","AddNotification","AddNotification","BoxDynError","BoxDynError","Captcha","Captcha","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","CloneSPDatabase","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Conn","Connect","Connect","CreateCaptcha","CreateCaptcha","DBError","DBError","DBError","DBError","DBOps","DBOps","DBResult","DBResult","Database","Database","Decode","Email","Email","EmailTaken","EmailTaken","Error","GetConnection","GetConnection","Io","Level","Level","Login","Login","MCDatabase","MCDatabase","Migrate","Migrate","Migrate","NameHash","NameHash","Notification","Notification","NotificationNotFound","NotificationNotFound","Pool","Pool","PoolClosed","PoolTimedOut","Protocol","Register","Register","RowNotFound","Secret","Secret","SecretTaken","SecretTaken","StatsUnixTimestamp","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPattern","TrafficPatternNotFound","TrafficPatternNotFound","TypeNotFound","UpdateEmail","UpdateEmail","Username","Username","UsernameTaken","UsernameTaken","WorkerCrashed","add_captcha_levels","add_captcha_levels","add_traffic_pattern","add_traffic_pattern","as_database_error","async_trait","avg_traffic","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","broke_my_site_traffic","captcha_exists","captcha_exists","clone_db","clone_db","config_fetches","config_fetches","config_id","config_id","confirms","confirms","connect","connect","create_captcha","create_captcha","create_notification","create_notification","delete_captcha","delete_captcha","delete_captcha_levels","delete_captcha_levels","delete_traffic_pattern","delete_traffic_pattern","delete_user","delete_user","description","description","description","description","dev","difficulty_factor","difficulty_factor","duration","duration","duration","duration","email","email","email_exists","email_exists","errors","errors","fetch_config_fetched","fetch_config_fetched","fetch_confirm","fetch_confirm","fetch_solve","fetch_solve","fmt","fmt","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_unread_notifications","get_all_user_captchas","get_all_user_captchas","get_captcha_config","get_captcha_config","get_captcha_cooldown","get_captcha_cooldown","get_captcha_levels","get_captcha_levels","get_conn","get_conn","get_email","get_email","get_password","get_password","get_secret","get_secret","get_secret_from_captcha","get_secret_from_captcha","get_traffic_pattern","get_traffic_pattern","hash","hash","hash","hash","heading","heading","heading","heading","id","id","into","into_database_error","key","key","key","key","mark_notification_read","mark_notification_read","message","message","message","message","migrate","migrate","name","name","new_email","new_email","ops","ops","peak_sustainable_traffic","peak_sustainable_traffic","ping","ping","prelude","received","received","record_confirm","record_confirm","record_fetch","record_fetch","record_solve","record_solve","register","register","secret","secret","secret","secret","solves","solves","source","tests","tests","to","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_key","update_captcha_metadata","update_captcha_metadata","update_email","update_email","update_password","update_password","update_secret","update_secret","update_username","update_username","username","username","username","username","username","username","username_exists","username_exists","visitor_threshold","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AccountNotFound","BoxDynError","BoxDynError","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","DBError","DBError","DBError","DBError","DBResult","DBResult","EmailTaken","EmailTaken","NotificationNotFound","NotificationNotFound","SecretTaken","SecretTaken","TrafficPatternNotFound","TrafficPatternNotFound","UsernameTaken","UsernameTaken","0","0","Conn","Conn","Connect","Connect","DBOps","DBOps","GetConnection","GetConnection","Migrate","Migrate","Pool","Pool","connect","connect","get_conn","get_conn","migrate","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_postgres","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::ConnectionOptions","","db_sqlx_postgres::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::DBError","","db_sqlx_postgres::dev::Error","","","","","","","","","","","","","db_sqlx_postgres::dev::Login","","","","db_sqlx_postgres::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::DBError","db_sqlx_postgres::dev::dev::Login","","db_sqlx_postgres::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::prelude::DBError","db_sqlx_postgres::dev::dev::prelude::Login","","db_sqlx_postgres::dev::errors","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::errors::DBError","","db_sqlx_postgres::dev::ops","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::DBError","db_sqlx_postgres::dev::prelude::Login","","db_sqlx_postgres::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::dev::DBError","db_sqlx_postgres::dev::prelude::dev::Login","","db_sqlx_postgres::dev::tests","","db_sqlx_postgres::errors","","db_sqlx_postgres::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::DBError","db_sqlx_postgres::prelude::Login","","db_sqlx_postgres::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::DBError","db_sqlx_postgres::prelude::dev::Login","","db_sqlx_postgres::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::prelude::DBError","db_sqlx_postgres::prelude::dev::prelude::Login","","db_sqlx_postgres::prelude::errors","","","","","","","","","","","","db_sqlx_postgres::prelude::errors::DBError","db_sqlx_postgres::prelude::ops","","","","","","","","","db_sqlx_postgres::prelude::tests"],"d":["","Use an existing database pool","Connect to databse","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Account not found","Data required to add notification","Data required to add notification","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Data representing a captcha","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Trait to clone MCDatabase","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","database connection type","Create databse connection","Create databse connection","data requried to create new captcha","data requried to create new captcha","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Generic result data structure","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","email as login","Email is taken","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","mCaptcha’s database requirements. To implement support …","database migrations","database migrations","","type encapsulating username and hashed password of a user","type encapsulating username and hashed password of a user","Represents notification","Represents notification","Notification not found","Notification not found","database specific pool-type","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","datastructure representing a user’s secret","Secret is taken","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","data required to update them email of a user","username as login","username as login","Username is taken","Username is taken","A background worker has crashed.","Add levels to captcha","Add levels to captcha","Add traffic configuration","Add traffic configuration","","","average traffic of user’s website","average traffic of user’s website","","","trafic that bought the user’s website down; optional","trafic that bought the user’s website down; optional","check if captcha exists","check if captcha exists","clone DB","clone DB","times at which the configuration were fetched","times at which the configuration were fetched","Database assigned ID","Database assigned ID","times at which the PoW token was verified","times at which the PoW token was verified","database specific error-type create connection pool","database specific error-type create connection pool","create new captcha","create new captcha","create new notification","create new notification","Delete captcha","Delete captcha","Delete all levels of a captcha","Delete all levels of a captcha","Delete traffic configuration","Delete traffic configuration","delete a user","delete a user","description of the captcha","description of the captcha","description of the captcha","description of the captcha","useful imports for supporting a new database","","","cool down duration","cool down duration","cool down duration","cool down duration","Optionally, email of new use","Optionally, email of new use","check if email exists","check if email exists","represents all the ways a trait can fail using this crate","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig confirms","featch PoWConfig solves","featch PoWConfig solves","","","","Returns the argument unchanged.","","","","notification sender","notification sender","get all unread notifications","get all unread notifications","Get all captchas belonging to user","Get all captchas belonging to user","Get captcha config","Get captcha config","Get captcha’s cooldown period","Get captcha’s cooldown period","Get captcha levels","Get captcha levels","database specific error-type get connection from …","database specific error-type get connection from …","get user email","get user email","get a user’s password","get a user’s password","get a user’s secret","get a user’s secret","get a user’s secret from a captcha key","get a user’s secret from a captcha key","Get traffic configuration","Get traffic configuration","hashed password of new use","hashed password of new use","hashed password","hashed password","heading of the notification","heading of the notification","heading of the notification","heading of the notification","db assigned ID of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","secret key of the captcha","secret key of the captcha","mark a notification read","mark a notification read","message of the notification","message of the notification","mesage of the notification","mesage of the notification","database specific error-type run migrations","database specific error-type run migrations","receiver name of the notification","receiver name of the notification","new email address of the user","new email address of the user","meta operations like migration and connecting to a database","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","the peak traffic that the user’s website can handle","ping DB","ping DB","useful imports for users working with a supported database","when notification was received","when notification was received","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","register a new user","register a new user","secret of new user","secret of new user","user’s secret","user’s secret","times at which the PoW was solved","times at which the PoW was solved","","Test utilities","Test utilities","who is the notification addressed to?","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update captcha metadata; doesn’t change captcha key","update a user’s email","update a user’s email","update user’s password","update user’s password","update a user’s secret","update a user’s secret","update username","update username","username of new user","username of new user","username of the user","username of the user","username","username","check if username exists","check if username exists","","","","","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Account not found","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Generic result data structure","Generic result data structure","Email is taken","Email is taken","Notification not found","Notification not found","Secret is taken","Secret is taken","Traffic pattern not found","Traffic pattern not found","Username is taken","Username is taken","","","database connection type","database connection type","Create databse connection","Create databse connection","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Get database connection","Get database connection","database migrations","database migrations","database specific pool-type","database specific pool-type","database specific error-type create connection pool","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type get connection from …","database specific error-type run migrations","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","trafic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","trafic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create databse connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,5,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,8,0,0,0,0,0,0,8,8,8,8,0,0,9,9,9,9,10,10,0,0,0,0,0,0,8,8,0,0,0,0,0,9,9,11,11,8,8,0,0,0,9,0,0,0,0,0,0,0,0,9,0,0,0,0,8,8,12,12,9,9,9,0,0,9,0,0,8,8,0,0,9,0,0,8,8,9,0,0,11,11,8,8,9,13,13,13,13,9,0,14,14,9,9,14,14,13,13,15,15,16,16,17,17,16,16,12,12,13,13,13,13,13,13,13,13,13,13,13,13,18,18,17,17,0,19,19,18,18,17,17,20,20,13,13,0,0,13,13,13,13,13,13,9,9,9,9,9,9,9,21,21,13,13,13,13,13,13,13,13,13,13,10,10,13,13,13,13,13,13,13,13,13,13,20,20,22,22,23,23,21,21,23,23,9,9,18,18,17,17,13,13,23,23,21,21,24,24,23,23,25,25,0,0,14,14,13,13,0,23,23,13,13,13,13,13,13,13,13,20,20,26,26,16,16,9,0,0,21,21,9,9,9,9,13,13,13,13,13,13,13,13,13,13,13,13,20,20,25,25,22,22,13,13,19,19,9,27,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,39,40,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,8,0,0,8,8,8,8,0,0,8,8,0,0,8,8,8,8,8,8,8,8,8,8,27,27,10,10,0,0,0,0,0,0,0,0,12,12,12,12,10,10,24,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["database",3]],[[["",0]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["innernotification",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["innernotification",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["innernotification",3]],["bool",0]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["option",4,[["databaseerror",8]]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["error",3]],["error",4]],[[]],[[],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[["migrateerror",4]],["error",4]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,[[]],[[],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0]],["option",4,[["error",8]]]],null,null,null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ -"mcaptcha":{"doc":"","t":[6,6,3,17,17,3,3,17,3,3,3,3,17,3,3,3,3,3,3,3,17,17,17,17,3,3,3,3,17,3,3,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,0,12,12,0,11,11,11,11,11,11,11,11,0,0,0,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,12,5,0,12,0,12,0,12,12,12,0,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,2,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,2,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,2,0,0,0,11,11,5,11,11,11,11,11,11,11,11,0,12,11,11,11,11,3,11,11,11,0,5,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,5,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,3,11,11,12,12,11,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,5,3,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,0,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,12,11,12,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,12,5,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,0,0,0,5,0,5,0,0,3,3,11,11,11,11,11,11,11,11,3,12,11,11,12,11,11,11,11,11,11,11,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,12,5,11,11,11,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,3,11,11,12,11,11,11,11,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,3,11,11,12,12,12,11,12,11,11,12,11,11,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,3,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,12,11,11,0,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,5,3,3,4,3,3,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,12,11,12,11,11,11,11,11,11,0,0,0,0,5,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,12,11,11,3,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,2,0,0,5,0,0,3,11,11,11,11,11,11,11,11,11,11,3,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,14,12,11,11,11,11,12,11,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,3,11,11,11,17,3,12,12,11,11,12,11,11,11,12,11,12,12,11,11,11,11,3,13,6,13,4,11,11,11,11,11,12,12,12,14,14,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,12,17,3,17,17,17,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,17,17,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,17,17,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,11,12,11,11,11,11,0,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,12,13,13,13,13,13,13,3,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,17,0,0,5,0,0,5,0,0,0,0,5,0,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,17,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,17,3,3,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,11,0,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,3,17,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,0,5,0,0,12,11,11,11,11,11,11,11,11,11,3,3,17,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,12,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,12,12,12,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,3,11,11,12,11,11,12,11,11,11,11,11,12,11,0,0,0,0,0,5,0,3,3,3,3,17,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,12,3,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,3,17,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,3,11,11,17,3,12,12,11,11,12,12,11,11,11,12,11,11,12,12,12,12,12,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,3,3,3,3,3,3,3,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,5,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,2,0,5,0,3,11,11,12,11,11,11,11,11,11,11,11,3,3,0,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,6,3,3,3,3,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,10,12,12,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11],"n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","ne","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","ne","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","GetConfigPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get_config","init_mcaptcha","into","into","key","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ValidationToken","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","token","try_from","try_from","try_into","try_into","type_id","type_id","verify_pow","vzip","vzip","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","into","into","mailer","new","new","new_system","remove","rename","settings","stats","try_from","try_from","try_into","try_into","type_id","type_id","validate_verification_tokens","verify_pow","vzip","vzip","0","0","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","handle","into","register_demo_user","run","spawn","try_from","try_into","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","0","0","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","ne","ne","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","0","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","Database","DatabaseBuilder","DefaultDifficultyStrategy","Redis","Server","Settings","Smtp","allow_demo","allow_registration","avg_traffic_difficulty","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","captcha","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","extract_database_url","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","gc","get_ip","hostname","into","into","into","into","into","into","into","into","ip","name","new","password","password","peak_sustainable_traffic_difficulty","pool","pool","port","port","port","proxy_has_tls","redis","reply","salt","server","set_database_url","set_from_database_url","smtp","source_code","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","ne","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":["mcaptcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api","mcaptcha::api::v1","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::delete","","","","","","","","","","","","mcaptcha::api::v1::account::delete::runners","mcaptcha::api::v1::account::email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::password","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::secret","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username::runners","mcaptcha::api::v1::auth","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::auth::routes","","","","","","","","","","","","","","mcaptcha::api::v1::auth::runners","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha","","","","","","","","","mcaptcha::api::v1::mcaptcha::create","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::create::runner","mcaptcha::api::v1::mcaptcha::delete","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy::routes","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::routes","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats::routes","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update::runner","mcaptcha::api::v1::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::meta::BuildDetailsBuilderError","","mcaptcha::api::v1::meta::HealthBuilderError","","mcaptcha::api::v1::meta::routes","","","","","","","","","","","","mcaptcha::api::v1::notifications","","","","","mcaptcha::api::v1::notifications::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::mark_read","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::routes","","","","","","","","","","","","","mcaptcha::api::v1::pow","","","","","","mcaptcha::api::v1::pow::get_config","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_pow","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_token","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::routes","","","","","","","","","","","","","","","","","","mcaptcha::data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::data::SystemGroup","","mcaptcha::date","","","","","","","","","","","","","","","","","","","","","","mcaptcha::demo","","","","","","","","","","","","","","","","","mcaptcha::docs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::docs::routes","","","","","","","","","","","","","mcaptcha::email","mcaptcha::email::verification","","","","","","","","","","","","","","","","","","mcaptcha::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::errors::PageError","mcaptcha::errors::ServiceError","","","mcaptcha::pages","","","","","","","","mcaptcha::pages::auth","","","","","mcaptcha::pages::auth::login","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::register","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::routes","","","","","","","","","","","","","","mcaptcha::pages::auth::sudo","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors::routes","","","","","","","","","","","","mcaptcha::pages::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::notifications","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::routes","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings::routes","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey","","","","","","","mcaptcha::pages::panel::sitekey::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::delete","","","","","","","","","","mcaptcha::pages::panel::sitekey::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::list","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::routes","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::view","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::routes","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::sitemap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::routes","mcaptcha::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets","","","","mcaptcha::static_assets::filemap","","","","","","","","","","","","mcaptcha::static_assets::static_files","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets::static_files::assets","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget::routes","","","","","","","","","",""],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","database ops defined by db crates","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","app settings","","","","","stats recorder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","trafic that bought the user’s website down; optional","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emmits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","validation token that clients receive as proof for …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route hander that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","app settings","stats recorder","","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Get an embedded file and its metadata.","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,0,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,20,19,19,20,0,19,0,20,19,0,11,12,13,14,15,16,17,18,0,0,0,11,12,13,14,15,16,17,18,0,0,11,12,13,14,15,16,17,18,20,0,0,19,0,19,0,20,19,19,0,0,20,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,0,0,0,0,0,0,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,0,0,0,0,22,23,0,22,23,22,23,22,23,22,23,0,22,22,23,24,24,0,24,24,24,0,0,24,24,24,24,0,0,25,26,27,25,26,27,25,25,25,25,0,25,25,26,27,25,26,27,26,27,25,0,0,25,25,26,27,25,26,27,25,26,27,25,26,27,0,0,28,29,30,28,29,30,29,29,28,29,29,29,28,28,29,30,28,29,30,28,29,29,30,29,0,29,28,29,30,28,29,30,28,29,30,0,0,28,29,30,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,33,32,33,32,33,0,32,33,32,33,0,32,33,32,33,32,33,0,32,33,0,34,35,36,34,35,36,35,35,35,35,34,35,36,34,35,36,34,36,0,35,0,0,35,34,35,36,34,35,36,34,35,36,35,0,34,35,36,0,37,38,39,37,38,39,37,38,39,37,38,39,0,0,37,38,39,0,0,0,0,37,38,39,37,38,39,37,38,39,37,38,39,0,40,40,40,40,40,40,40,40,40,40,40,40,40,0,0,0,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,41,41,42,43,41,42,43,41,42,43,42,0,41,42,43,0,41,42,43,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,0,0,0,0,0,0,0,0,0,0,0,44,45,46,44,45,46,45,45,0,44,44,45,44,45,44,45,46,44,45,46,45,44,45,46,0,44,45,45,44,45,46,44,45,46,44,45,46,44,45,46,0,0,47,48,47,48,47,47,0,47,47,47,48,47,48,47,47,48,47,47,47,48,47,48,47,48,47,48,0,0,49,49,50,51,52,49,50,51,52,49,0,49,51,49,51,0,49,49,49,51,49,51,49,50,51,52,49,50,51,52,51,51,49,50,52,0,49,51,0,49,51,49,50,51,52,49,50,51,52,49,50,51,52,0,49,50,51,52,0,53,53,53,53,53,53,53,53,53,53,53,0,0,54,55,56,54,55,56,55,56,55,56,55,56,56,55,56,54,55,56,0,54,55,56,55,54,55,56,55,56,54,55,56,54,55,56,54,55,56,56,54,55,56,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,58,59,58,59,58,58,58,58,58,59,0,58,59,58,59,0,58,58,58,59,58,59,58,59,58,59,0,60,60,60,60,60,60,60,60,60,60,0,61,62,63,61,62,63,62,62,62,61,62,63,61,62,63,62,62,61,63,0,62,61,62,63,61,62,63,61,62,63,0,0,61,62,63,0,0,0,0,0,0,0,64,65,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,70,0,66,67,69,70,66,67,69,70,67,70,70,69,70,67,70,66,69,66,64,64,69,65,65,66,67,64,64,64,68,69,70,65,65,65,71,67,66,67,0,66,67,64,68,69,70,65,71,69,70,69,70,68,71,0,66,69,0,66,67,69,70,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,66,67,66,67,64,68,69,70,65,71,72,73,74,75,0,76,76,76,76,76,76,76,76,76,76,76,0,0,0,0,0,0,0,77,78,77,78,77,77,77,77,77,77,77,78,77,77,78,77,77,78,77,77,77,77,78,77,78,77,78,77,78,0,79,80,79,80,79,79,79,79,79,79,79,80,79,0,79,79,79,80,79,79,79,79,80,79,79,79,80,79,80,79,80,79,80,0,81,82,81,82,81,81,82,81,81,82,0,82,81,81,82,81,82,81,82,81,82,0,83,83,83,83,83,83,83,83,83,83,83,83,0,0,0,0,0,0,0,84,85,84,85,84,84,84,84,84,85,0,0,84,85,84,85,84,84,84,85,84,85,84,85,84,85,0,86,86,86,86,86,86,86,0,86,86,86,86,86,86,86,86,86,0,87,88,87,88,87,87,87,87,87,88,87,88,88,87,87,87,87,88,87,88,87,88,0,87,88,0,0,89,90,91,89,90,91,89,90,89,90,89,90,89,90,89,90,91,89,90,91,90,91,90,89,90,89,90,90,89,90,91,89,90,91,89,90,91,89,0,89,90,91,0,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0,93,0,93,0,93,93,20,93,20,20,20,20,0,0,93,20,20,20,93,93,20,20,93,20,93,93,93,20,20,93,20,93,20,93,20,93,93,93,20,94,95,0,0,0,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,98,99,100,101,98,99,100,101,0,98,99,100,101,98,98,0,0,98,99,100,101,98,98,99,100,101,0,0,0,98,99,100,101,98,99,100,101,98,99,100,101,98,99,100,101,0,102,102,102,102,102,102,102,102,102,102,102,102,0,0,0,103,103,103,103,103,103,103,103,103,103,103,103,103,0,103,103,104,105,106,106,106,106,106,106,0,106,0,106,107,106,106,0,0,106,106,106,106,0,107,0,0,106,106,106,106,106,106,106,104,105,106,108,107,104,105,106,108,107,108,104,105,106,107,108,106,107,104,104,105,105,106,106,107,107,104,105,106,106,106,106,106,106,106,106,106,108,107,107,107,104,105,106,108,107,106,107,108,104,105,106,107,106,107,104,105,106,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,109,110,111,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,114,113,115,114,113,115,114,114,114,113,114,113,115,114,113,115,0,115,114,114,114,114,113,115,114,113,115,114,113,115,114,113,115,0,0,0,116,117,116,118,117,116,118,117,117,117,116,117,116,118,117,116,118,0,118,117,117,117,117,116,118,117,116,118,117,116,118,117,116,118,0,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,0,0,0,0,0,121,122,123,121,122,124,123,121,122,124,123,123,121,122,0,123,121,122,124,123,121,122,124,123,123,124,123,123,0,0,123,123,123,121,122,124,123,121,122,124,123,121,122,124,123,121,122,124,0,125,125,125,125,125,125,125,125,125,125,125,0,0,126,127,126,127,126,126,126,127,126,127,126,0,0,127,126,126,0,0,0,0,126,126,126,127,126,127,126,127,126,127,0,0,0,128,129,130,128,129,130,128,128,129,130,128,128,128,129,130,128,129,128,129,0,128,128,130,129,129,128,129,130,128,129,130,128,129,130,128,129,130,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,0,132,133,134,135,132,133,134,135,132,132,0,132,132,133,134,135,132,133,134,135,133,134,135,132,132,0,132,0,0,132,132,133,134,135,132,133,134,135,132,133,134,135,0,132,132,133,134,135,0,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,137,138,0,139,137,138,140,141,139,142,137,138,140,141,139,142,139,140,139,140,139,140,139,137,138,0,140,139,140,140,139,137,138,140,141,139,142,137,138,140,141,139,142,140,139,141,142,140,139,140,139,140,139,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,143,143,0,143,143,143,143,143,143,143,0,0,0,0,144,145,146,147,144,145,146,147,144,146,144,146,144,0,146,144,145,146,147,144,145,146,147,144,146,144,144,144,146,146,145,147,144,146,144,146,144,146,144,145,146,147,144,145,146,147,144,145,146,147,144,145,146,147,0,0,148,149,148,149,148,148,148,149,148,149,0,148,149,148,148,148,148,148,149,148,149,148,149,148,149,0,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,0,0,151,152,151,152,151,151,151,151,152,151,152,151,151,151,151,152,151,151,151,151,151,152,151,152,151,152,0,151,152,0,0,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,0,0,154,155,154,156,155,154,156,155,155,155,154,155,155,154,156,155,154,156,156,155,155,0,155,155,154,156,155,154,156,155,154,156,155,155,154,156,0,0,0,0,0,0,0,0,0,19,19,157,158,159,157,160,161,162,163,19,158,159,157,160,161,162,163,19,157,19,0,158,159,157,160,161,162,163,19,158,159,157,160,161,162,163,19,19,158,19,19,159,158,159,157,160,161,162,163,19,158,157,159,161,158,159,157,160,161,162,163,19,158,159,157,160,161,162,163,19,160,159,158,161,158,159,157,160,161,162,163,19,158,161,19,160,161,157,162,163,158,160,161,158,19,160,159,19,0,0,19,19,158,159,157,160,161,162,163,19,158,159,157,160,161,162,163,19,158,159,157,160,161,162,163,19,158,159,157,160,161,162,163,19,160,162,163,158,160,161,158,159,157,160,161,162,163,19,0,0,0,0,0,164,164,164,164,164,164,164,164,164,164,164,0,0,0,165,166,167,168,165,166,167,168,0,165,166,167,168,165,165,167,167,0,0,165,166,167,168,165,165,167,167,166,168,0,165,166,167,168,165,166,167,168,165,166,167,168,165,166,167,168,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,0,0,0,0,0,169,170,171,169,170,171,169,170,171,169,170,171,172,169,169,169,170,171,169,169,170,171,173,170,171,169,170,171,169,170,171,169,170,171,169,173,170,171,173,170,171,173,170,171,169,169,169,170,171,169,170,171,169,170,171,169,170,171,169,170,171,0,0,0,0,174,175,174,176,175,174,176,175,175,174,175,174,176,175,174,176,175,176,175,175,0,0,0,175,175,174,176,175,174,176,175,174,176,175,174,176,0,177,177,177,177,177,177,177,177,177,177],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["settings",3]],[[["",0]],["filemap",3]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["string",3]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3]],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[],["authentication",3,[["routes",3]]]],[[]],null,null,null,null,null,null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["accountcheckpayload",3]],[[["",0]],["accountcheckresp",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["str",0],["appdata",6]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["email",3]],[[["",0],["",0]]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["changepasswordreqest",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["changepasswordreqest",3]]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["str",0],["updatepassword",3],["data",3]]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],null,[[]],[[],["account",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["username",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["accountcheckpayload",3],["appdata",6]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,null,[[],["auth",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["register",3]],[[["",0]],["login",3]],[[["",0]],["password",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["login",3],["appdata",6]]],null,null,null,[[["register",3],["appdata",6]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,[[["usize",0]],["string",3]],null,[[["serviceconfig",3]]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["mcaptchadetails",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[["createcaptcha",3],["appdata",6],["str",0]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["deletecaptcha",3]],[[["",0],["",0]]],null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["trafficpattern",3],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["",0]],["trafficpatternrequest",3]],[[["",0]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["trafficpatternrequest",3]],null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["levels",3]],[[["",0]],["i32levels",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["statspayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["updatecaptcha",3],["appdata",6],["str",0]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["result",4,[["builddetails",3],["builddetailsbuildererror",4]]]],[[["",0]],["result",4,[["health",3],["healthbuildererror",4]]]],null,[[["",0]],["builddetails",3]],[[["",0]],["builddetailsbuilder",3]],[[["",0]],["health",3]],[[["",0]],["healthbuilder",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0],["bool",0]],["",0]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[["uninitializedfielderror",3]]],[[["string",3]]],[[]],[[]],[[]],[[]],[[["string",3]]],[[["uninitializedfielderror",3]]],[[]],[[["",0],["str",0]],["",0]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["option",4]],["bool",0]],[[["",0],["option",4,[["bool",0]]]],["",0]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0]],["",0]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["addnotificationrequest",3]],[[["",0],["",0]]],[[],["addnotificationrequest",3]],[[],["result",4]],[[["",0],["addnotificationrequest",3]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["",0],["addnotificationrequest",3]],["bool",0]],[[["appservice",3]]],[[["",0]],["result",4]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["notificationresp",3]],[[["",0],["",0]]],[[],["notificationresp",3]],[[],["result",4]],[[["",0],["notificationresp",3]],["bool",0]],[[["notification",3]]],[[]],[[]],[[["vec",3,[["notification",3]]]],["vec",3]],null,null,null,[[]],[[]],null,null,[[["",0],["notificationresp",3]],["bool",0]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["serviceconfig",3]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["getconfigpayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[["appdata",6],["str",0]]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0]],["str",0]],null,[[]],[[]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["str",0]],null,[[["",0]],["str",0]],null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["validationtoken",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchavalidateresp",3]],[[["",0]],["verifycaptcharesultpayload",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[],["routes",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,[[["",0],["addsite",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,[[]],[[]],[[],["config",3]],[[["settings",3]],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["",0],["string",3]]],[[]],[[]],null,[[["settings",3]]],[[["settings",3]]],[[["settings",3],["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["",0],["removecaptcha",3]]],[[["",0],["rename",3]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["verifycaptcharesult",3]]],[[["",0],["work",3]]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["date",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0],["formatter",3]],["result",6]],[[["offsetdatetime",3]],["string",3]],[[]],[[]],[[["i64",0]]],[[["",0]],["string",3]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["appdata",6]]],[[]],null,[[]],[[["appdata",6]]],[[["appdata",6],["duration",3]]],[[["appdata",6],["duration",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],null,[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["str",0]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["data",3],["str",0],["str",0]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],null,[[["",0]],["httpresponse",3]],[[["",0]],["httpresponse",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["mailboxerror",4]]],[[["validationerrors",3]],["serviceerror",4]],[[["parseerror",4]],["serviceerror",4]],[[["captchaerror",4]],["serviceerror",4]],[[["smtperror",3]]],[[["recverror",3]]],[[["dberror",4]],["serviceerror",4]],[[["credserror",4]],["serviceerror",4]],[[]],[[]],[[["serviceerror",4]]],[[["dberror",4]]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["statuscode",3]],[[["",0]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[],["authentication",3,[["routes",3]]]],null,null,[[["serviceconfig",3]]],null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],[[]],null,null,[[],["auth",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["sudopage",3]],[[["",0],["",0]]],null,[[]],[[]],[[["str",0],["option",4,[["vec",3]]]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["errorpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["str",0],["str",0]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["vec",3,[["captcha",3]]]]],null,null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["notification",3]]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],null,null,null,[[["vec",3,[["notification",3]]]]],null,[[["",0]],["string",3]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["advanceindexpage",3]],[[["",0]],["easyindexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["advanceeditpage",3]],[[["",0]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["string",3],["trafficpatternrequest",3]]],null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],null,[[["vec",3,[["captcha",3]]]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[]],[[["",0],["str",0]],["string",3]],[[]],null,[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["captchastats",3],["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[]],[[],["routes",3]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["config",3]]],[[["",0]],["server",3]],[[["",0]],["captcha",3]],[[["",0]],["defaultdifficultystrategy",3]],[[["",0]],["smtp",3]],[[["",0]],["databasebuilder",3]],[[["",0]],["database",3]],[[["",0]],["redis",3]],[[["",0]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,[[["url",3]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[],["result",4,[["configerror",4]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["config",3]]],[[["config",3],["databasebuilder",3]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["str",0]],["option",4,[["str",0]]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],[[["str",0]],["httpresponse",3]],[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[]],[[],["filenames",4]],[[["appservice",3]]],[[["appservice",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchastats",3]],[[["",0]],["real",3]],[[["",0]],["dummy",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]],["box",3,[["stats",8]]]],null,null,[[],["captchastats",3]],[[],["real",3]],[[],["dummy",3]],[[],["result",4]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["real",3]],["bool",0]],[[["",0],["dummy",3]],["bool",0]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]]],"p":[[3,"KEY"],[3,"GITHUB"],[3,"HOME"],[3,"SETTINGS_ICON"],[3,"CREDIT_CARD"],[3,"HELP_CIRCLE"],[3,"MESSAGE"],[3,"DOCS_ICON"],[3,"MCAPTCHA_TRANS_ICON"],[3,"BAR_CHART"],[3,"SETTINGS"],[3,"FILES"],[3,"JS"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"Settings"],[3,"Data"],[3,"RedirectQuery"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"delete_account"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"UpdatePassword"],[3,"ChangePasswordReqest"],[3,"update_user_password"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"username_exists"],[3,"Username"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"CreateCaptcha"],[3,"MCaptchaDetails"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPatternRequest"],[3,"create"],[3,"UpdateTrafficPattern"],[3,"update"],[3,"Easy"],[3,"get_captcha"],[3,"Levels"],[3,"I32Levels"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"update_key"],[3,"UpdateCaptcha"],[3,"update_captcha"],[4,"BuildDetailsBuilderError"],[4,"HealthBuilderError"],[3,"BuildDetails"],[3,"BuildDetailsBuilder"],[3,"build_details"],[3,"Health"],[3,"HealthBuilder"],[3,"health"],[13,"UninitializedField"],[13,"ValidationError"],[13,"UninitializedField"],[13,"ValidationError"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"VerifyCaptchaResultPayload"],[3,"validate_captcha_token"],[3,"Routes"],[4,"SystemGroup"],[13,"Embedded"],[13,"Redis"],[3,"Date"],[3,"DemoUser"],[3,"Asset"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[13,"DBError"],[3,"INDEX"],[3,"IndexPage"],[3,"login"],[3,"INDEX"],[3,"IndexPage"],[3,"join"],[3,"Auth"],[3,"SudoPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"ErrorPage"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"EasyIndexPage"],[3,"AdvanceIndexPage"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"view_sitekey"],[3,"Routes"],[3,"INDEX"],[3,"IndexPage"],[3,"sitemap"],[3,"DefaultDifficultyStrategy"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[3,"DatabaseBuilder"],[3,"Database"],[3,"Redis"],[3,"FileMap"],[3,"Asset"],[3,"static_files"],[3,"Favicons"],[3,"favicons"],[3,"CaptchaStats"],[3,"Real"],[3,"Dummy"],[8,"CloneStats"],[8,"Stats"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]}\ +"db_sqlx_maria":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,13,3,3,6,6,3,3,13,13,13,13,8,8,13,13,13,13,16,16,8,8,3,3,4,4,13,13,8,8,6,6,2,13,13,13,13,13,13,4,8,8,13,3,3,4,4,8,8,8,8,13,3,3,3,3,13,13,16,16,13,13,13,3,3,13,3,3,13,13,3,3,13,3,3,13,13,13,3,3,13,13,13,13,13,10,10,10,10,11,23,12,12,11,11,12,12,10,10,10,10,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,0,12,12,12,12,12,12,12,12,10,10,0,0,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,10,10,12,12,12,12,10,10,12,12,12,12,0,0,12,12,10,10,0,12,12,10,10,10,10,10,10,10,10,12,12,12,12,12,12,11,0,0,12,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,13,6,6,13,13,13,13,4,4,13,13,6,6,13,13,13,13,13,13,13,13,13,13,12,12,16,16,8,8,8,8,8,8,8,8,16,16,10,10,10,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AccountNotFound","AddNotification","AddNotification","BoxDynError","BoxDynError","Captcha","Captcha","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","CloneSPDatabase","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Conn","Connect","Connect","CreateCaptcha","CreateCaptcha","DBError","DBError","DBError","DBError","DBOps","DBOps","DBResult","DBResult","Database","Database","Decode","Email","Email","EmailTaken","EmailTaken","Error","GetConnection","GetConnection","Io","Level","Level","Login","Login","MCDatabase","MCDatabase","Migrate","Migrate","Migrate","NameHash","NameHash","Notification","Notification","NotificationNotFound","NotificationNotFound","Pool","Pool","PoolClosed","PoolTimedOut","Protocol","Register","Register","RowNotFound","Secret","Secret","SecretTaken","SecretTaken","StatsUnixTimestamp","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPattern","TrafficPatternNotFound","TrafficPatternNotFound","TypeNotFound","UpdateEmail","UpdateEmail","Username","Username","UsernameTaken","UsernameTaken","WorkerCrashed","add_captcha_levels","add_captcha_levels","add_traffic_pattern","add_traffic_pattern","as_database_error","async_trait","avg_traffic","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","broke_my_site_traffic","captcha_exists","captcha_exists","clone_db","clone_db","config_fetches","config_fetches","config_id","config_id","confirms","confirms","connect","connect","create_captcha","create_captcha","create_notification","create_notification","delete_captcha","delete_captcha","delete_captcha_levels","delete_captcha_levels","delete_traffic_pattern","delete_traffic_pattern","delete_user","delete_user","description","description","description","description","dev","difficulty_factor","difficulty_factor","duration","duration","duration","duration","email","email","email_exists","email_exists","errors","errors","fetch_config_fetched","fetch_config_fetched","fetch_confirm","fetch_confirm","fetch_solve","fetch_solve","fmt","fmt","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_unread_notifications","get_all_user_captchas","get_all_user_captchas","get_captcha_config","get_captcha_config","get_captcha_cooldown","get_captcha_cooldown","get_captcha_levels","get_captcha_levels","get_conn","get_conn","get_email","get_email","get_password","get_password","get_secret","get_secret","get_secret_from_captcha","get_secret_from_captcha","get_traffic_pattern","get_traffic_pattern","hash","hash","hash","hash","heading","heading","heading","heading","id","id","into","into_database_error","key","key","key","key","mark_notification_read","mark_notification_read","message","message","message","message","migrate","migrate","name","name","new_email","new_email","ops","ops","peak_sustainable_traffic","peak_sustainable_traffic","ping","ping","prelude","received","received","record_confirm","record_confirm","record_fetch","record_fetch","record_solve","record_solve","register","register","secret","secret","secret","secret","solves","solves","source","tests","tests","to","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_key","update_captcha_metadata","update_captcha_metadata","update_email","update_email","update_password","update_password","update_secret","update_secret","update_username","update_username","username","username","username","username","username","username","username_exists","username_exists","visitor_threshold","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AccountNotFound","BoxDynError","BoxDynError","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","DBError","DBError","DBError","DBError","DBResult","DBResult","EmailTaken","EmailTaken","NotificationNotFound","NotificationNotFound","SecretTaken","SecretTaken","TrafficPatternNotFound","TrafficPatternNotFound","UsernameTaken","UsernameTaken","0","0","Conn","Conn","Connect","Connect","DBOps","DBOps","GetConnection","GetConnection","Migrate","Migrate","Pool","Pool","connect","connect","get_conn","get_conn","migrate","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_maria","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::ConnectionOptions","","db_sqlx_maria::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::DBError","","db_sqlx_maria::dev::Error","","","","","","","","","","","","","db_sqlx_maria::dev::Login","","","","db_sqlx_maria::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::dev::DBError","db_sqlx_maria::dev::dev::Login","","db_sqlx_maria::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::dev::prelude::DBError","db_sqlx_maria::dev::dev::prelude::Login","","db_sqlx_maria::dev::errors","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::errors::DBError","","db_sqlx_maria::dev::ops","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude::DBError","db_sqlx_maria::dev::prelude::Login","","db_sqlx_maria::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::dev::prelude::dev::DBError","db_sqlx_maria::dev::prelude::dev::Login","","db_sqlx_maria::dev::tests","","db_sqlx_maria::errors","","db_sqlx_maria::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::DBError","db_sqlx_maria::prelude::Login","","db_sqlx_maria::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::dev::DBError","db_sqlx_maria::prelude::dev::Login","","db_sqlx_maria::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_maria::prelude::dev::prelude::DBError","db_sqlx_maria::prelude::dev::prelude::Login","","db_sqlx_maria::prelude::errors","","","","","","","","","","","","db_sqlx_maria::prelude::errors::DBError","db_sqlx_maria::prelude::ops","","","","","","","","","db_sqlx_maria::prelude::tests"],"d":["","Use an existing database pool","Connect to databse","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Account not found","Data required to add notification","Data required to add notification","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Data representing a captcha","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Trait to clone MCDatabase","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","database connection type","Create databse connection","Create databse connection","data requried to create new captcha","data requried to create new captcha","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Generic result data structure","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","email as login","Email is taken","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","mCaptcha’s database requirements. To implement support …","database migrations","database migrations","","type encapsulating username and hashed password of a user","type encapsulating username and hashed password of a user","Represents notification","Represents notification","Notification not found","Notification not found","database specific pool-type","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","datastructure representing a user’s secret","Secret is taken","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","data required to update them email of a user","username as login","username as login","Username is taken","Username is taken","A background worker has crashed.","Add levels to captcha","Add levels to captcha","Add traffic configuration","Add traffic configuration","","","average traffic of user’s website","average traffic of user’s website","","","trafic that bought the user’s website down; optional","trafic that bought the user’s website down; optional","check if captcha exists","check if captcha exists","clone DB","clone DB","times at which the configuration were fetched","times at which the configuration were fetched","Database assigned ID","Database assigned ID","times at which the PoW token was verified","times at which the PoW token was verified","database specific error-type create connection pool","database specific error-type create connection pool","create new captcha","create new captcha","create new notification","create new notification","Delete captcha","Delete captcha","Delete all levels of a captcha","Delete all levels of a captcha","Delete traffic configuration","Delete traffic configuration","delete a user","delete a user","description of the captcha","description of the captcha","description of the captcha","description of the captcha","useful imports for supporting a new database","","","cool down duration","cool down duration","cool down duration","cool down duration","Optionally, email of new use","Optionally, email of new use","check if email exists","check if email exists","represents all the ways a trait can fail using this crate","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig confirms","featch PoWConfig solves","featch PoWConfig solves","","","","","","","Returns the argument unchanged.","notification sender","notification sender","get all unread notifications","get all unread notifications","Get all captchas belonging to user","Get all captchas belonging to user","Get captcha config","Get captcha config","Get captcha’s cooldown period","Get captcha’s cooldown period","Get captcha levels","Get captcha levels","database specific error-type get connection from …","database specific error-type get connection from …","get user email","get user email","get a user’s password","get a user’s password","get a user’s secret","get a user’s secret","get a user’s secret from a captcha key","get a user’s secret from a captcha key","Get traffic configuration","Get traffic configuration","hashed password of new use","hashed password of new use","hashed password","hashed password","heading of the notification","heading of the notification","heading of the notification","heading of the notification","db assigned ID of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","secret key of the captcha","secret key of the captcha","mark a notification read","mark a notification read","message of the notification","message of the notification","mesage of the notification","mesage of the notification","database specific error-type run migrations","database specific error-type run migrations","receiver name of the notification","receiver name of the notification","new email address of the user","new email address of the user","meta operations like migration and connecting to a database","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","the peak traffic that the user’s website can handle","ping DB","ping DB","useful imports for users working with a supported database","when notification was received","when notification was received","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","register a new user","register a new user","secret of new user","secret of new user","user’s secret","user’s secret","times at which the PoW was solved","times at which the PoW was solved","","Test utilities","Test utilities","who is the notification addressed to?","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update captcha metadata; doesn’t change captcha key","update a user’s email","update a user’s email","update user’s password","update user’s password","update a user’s secret","update a user’s secret","update username","update username","username of new user","username of new user","username of the user","username of the user","username","username","check if username exists","check if username exists","","","","","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Account not found","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Generic result data structure","Generic result data structure","Email is taken","Email is taken","Notification not found","Notification not found","Secret is taken","Secret is taken","Traffic pattern not found","Traffic pattern not found","Username is taken","Username is taken","","","database connection type","database connection type","Create databse connection","Create databse connection","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Get database connection","Get database connection","database migrations","database migrations","database specific pool-type","database specific pool-type","database specific error-type create connection pool","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type get connection from …","database specific error-type run migrations","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","trafic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","trafic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create databse connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,8,0,0,0,0,0,0,8,8,8,8,0,0,9,9,9,9,10,10,0,0,0,0,0,0,8,8,0,0,0,0,0,9,9,11,11,8,8,0,0,0,9,0,0,0,0,0,0,0,0,9,0,0,0,0,8,8,12,12,9,9,9,0,0,9,0,0,8,8,0,0,9,0,0,8,8,9,0,0,11,11,8,8,9,13,13,13,13,9,0,14,14,9,9,14,14,13,13,15,15,16,16,17,17,16,16,12,12,13,13,13,13,13,13,13,13,13,13,13,13,18,18,17,17,0,19,19,18,18,17,17,20,20,13,13,0,0,13,13,13,13,13,13,9,9,9,9,9,9,9,21,21,13,13,13,13,13,13,13,13,13,13,10,10,13,13,13,13,13,13,13,13,13,13,20,20,22,22,23,23,21,21,23,23,9,9,18,18,17,17,13,13,23,23,21,21,24,24,23,23,25,25,0,0,14,14,13,13,0,23,23,13,13,13,13,13,13,13,13,20,20,26,26,16,16,9,0,0,21,21,9,9,9,9,13,13,13,13,13,13,13,13,13,13,13,13,20,20,25,25,22,22,13,13,19,19,9,27,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,39,40,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,8,0,0,8,8,8,8,0,0,8,8,0,0,8,8,8,8,8,8,8,8,8,8,27,27,10,10,0,0,0,0,0,0,0,0,12,12,12,12,10,10,24,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["database",3]],[[["",0]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["innernotification",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["innernotification",3]],["bool",0]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["option",4,[["databaseerror",8]]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["error",3]],["error",4]],[[],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[["migrateerror",4]],["error",4]],[[]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,[[]],[[],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0]],["option",4,[["error",8]]]],null,null,null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ +"db_sqlx_postgres":{"doc":"","t":[12,3,4,3,13,3,13,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,11,12,11,11,12,12,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,12,13,13,3,3,6,6,3,3,13,13,13,13,8,8,13,13,13,13,16,16,8,8,3,3,4,4,13,13,8,8,6,6,2,13,13,13,13,13,13,4,8,8,13,3,3,4,4,8,8,8,8,13,3,3,3,3,13,13,16,16,13,13,13,3,3,13,3,3,13,13,3,3,13,3,3,13,13,13,3,3,13,13,13,13,13,10,10,10,10,11,23,12,12,11,11,12,12,10,10,10,10,12,12,12,12,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,0,12,12,12,12,12,12,12,12,10,10,0,0,10,10,10,10,10,10,11,11,11,11,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,10,10,12,12,12,12,10,10,12,12,12,12,0,0,12,12,10,10,0,12,12,10,10,10,10,10,10,10,10,12,12,12,12,12,12,11,0,0,12,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,13,6,6,13,13,13,13,4,4,13,13,6,6,13,13,13,13,13,13,13,13,13,13,12,12,16,16,8,8,8,8,8,8,8,8,16,16,10,10,10,10,10,10,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,0,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,5,5,5,5,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,12,12,12,10,10,10,11,11,11,11,11,11,11,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,0,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,0,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,10,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,12,0,12,10,12,10,10,10,10,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,23,12,12,10,10,12,12,12,10,10,10,10,10,10,10,12,12,12,12,12,12,10,10,10,10,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,12,12,10,12,12,10,12,12,12,10,0,12,10,10,10,10,12,12,12,12,10,10,10,10,10,10,12,12,12,10,12,12,12,12,13,3,6,3,13,13,8,16,8,3,4,13,8,6,13,13,8,3,4,8,8,3,3,13,16,3,3,13,3,3,13,3,13,13,10,10,12,11,11,12,10,11,10,11,12,12,12,10,10,10,10,10,10,10,12,12,11,12,12,12,12,10,11,10,10,10,11,11,12,10,10,10,10,10,10,10,10,10,10,10,12,12,12,12,12,11,12,12,10,12,12,10,12,11,12,12,10,12,10,10,10,10,12,12,11,12,12,11,11,11,11,10,10,10,10,10,10,12,12,12,10,12,11,12,12,12,13,6,13,13,4,13,6,13,13,13,13,13,12,16,8,8,8,8,16,10,10,10,5],"n":["0","Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha_exists","clone","clone","clone_db","clone_into","clone_into","connect","create_captcha","create_notification","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","dev","disable_logging","email_exists","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","heading","id","into","into","into","into","into","mark_notification_read","message","migrate","name","ne","ping","pool","pool_options","prelude","received","record_confirm","record_fetch","record_solve","register","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","url","username_exists","vzip","vzip","vzip","vzip","vzip","0","0","AccountNotFound","AccountNotFound","AddNotification","AddNotification","BoxDynError","BoxDynError","Captcha","Captcha","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","CloneSPDatabase","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Conn","Connect","Connect","CreateCaptcha","CreateCaptcha","DBError","DBError","DBError","DBError","DBOps","DBOps","DBResult","DBResult","Database","Database","Decode","Email","Email","EmailTaken","EmailTaken","Error","GetConnection","GetConnection","Io","Level","Level","Login","Login","MCDatabase","MCDatabase","Migrate","Migrate","Migrate","NameHash","NameHash","Notification","Notification","NotificationNotFound","NotificationNotFound","Pool","Pool","PoolClosed","PoolTimedOut","Protocol","Register","Register","RowNotFound","Secret","Secret","SecretTaken","SecretTaken","StatsUnixTimestamp","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPattern","TrafficPatternNotFound","TrafficPatternNotFound","TypeNotFound","UpdateEmail","UpdateEmail","Username","Username","UsernameTaken","UsernameTaken","WorkerCrashed","add_captcha_levels","add_captcha_levels","add_traffic_pattern","add_traffic_pattern","as_database_error","async_trait","avg_traffic","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","broke_my_site_traffic","captcha_exists","captcha_exists","clone_db","clone_db","config_fetches","config_fetches","config_id","config_id","confirms","confirms","connect","connect","create_captcha","create_captcha","create_notification","create_notification","delete_captcha","delete_captcha","delete_captcha_levels","delete_captcha_levels","delete_traffic_pattern","delete_traffic_pattern","delete_user","delete_user","description","description","description","description","dev","difficulty_factor","difficulty_factor","duration","duration","duration","duration","email","email","email_exists","email_exists","errors","errors","fetch_config_fetched","fetch_config_fetched","fetch_confirm","fetch_confirm","fetch_solve","fetch_solve","fmt","fmt","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_unread_notifications","get_all_user_captchas","get_all_user_captchas","get_captcha_config","get_captcha_config","get_captcha_cooldown","get_captcha_cooldown","get_captcha_levels","get_captcha_levels","get_conn","get_conn","get_email","get_email","get_password","get_password","get_secret","get_secret","get_secret_from_captcha","get_secret_from_captcha","get_traffic_pattern","get_traffic_pattern","hash","hash","hash","hash","heading","heading","heading","heading","id","id","into","into_database_error","key","key","key","key","mark_notification_read","mark_notification_read","message","message","message","message","migrate","migrate","name","name","new_email","new_email","ops","ops","peak_sustainable_traffic","peak_sustainable_traffic","ping","ping","prelude","received","received","record_confirm","record_confirm","record_fetch","record_fetch","record_solve","record_solve","register","register","secret","secret","secret","secret","solves","solves","source","tests","tests","to","to","to_string","try_from","try_into","type_id","update_captcha_key","update_captcha_key","update_captcha_metadata","update_captcha_metadata","update_email","update_email","update_password","update_password","update_secret","update_secret","update_username","update_username","username","username","username","username","username","username","username_exists","username_exists","visitor_threshold","visitor_threshold","vzip","0","0","0","0","0","0","0","0","0","0","index","index","len","source","type_name","0","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AccountNotFound","BoxDynError","BoxDynError","CaptchaKeyTaken","CaptchaKeyTaken","CaptchaNotFound","CaptchaNotFound","DBError","DBError","DBError","DBError","DBResult","DBResult","EmailTaken","EmailTaken","NotificationNotFound","NotificationNotFound","SecretTaken","SecretTaken","TrafficPatternNotFound","TrafficPatternNotFound","UsernameTaken","UsernameTaken","0","0","Conn","Conn","Connect","Connect","DBOps","DBOps","GetConnection","GetConnection","Migrate","Migrate","Pool","Pool","connect","connect","get_conn","get_conn","migrate","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","dev","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","database_works","database_works","map_register_err","map_row_not_found_err","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_db","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","default","default","default","default","default","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","dev","difficulty_factor","duration","duration","email","email_exists","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","eq","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","ne","new_email","ops","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","serialize","solves","source","tests","to","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","async_trait","avg_traffic","broke_my_site_traffic","captcha_exists","clone_db","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","difficulty_factor","duration","duration","email","email_exists","fetch_config_fetched","fetch_confirm","fetch_solve","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","key","key","mark_notification_read","message","message","migrate","name","new_email","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","0","0","0","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","avg_traffic","borrow","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone_db","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","delete_captcha","delete_captcha_levels","delete_traffic_pattern","delete_user","description","description","deserialize","difficulty_factor","duration","duration","email","email_exists","eq","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","from","from","get_all_unread_notifications","get_all_user_captchas","get_captcha_config","get_captcha_cooldown","get_captcha_levels","get_conn","get_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","into","key","key","mark_notification_read","message","message","migrate","name","ne","new_email","peak_sustainable_traffic","ping","received","record_confirm","record_fetch","record_solve","register","secret","secret","serialize","solves","to","to_owned","try_from","try_into","type_id","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","vzip","0","0","0","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","0","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":["db_sqlx_postgres","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::ConnectionOptions","","db_sqlx_postgres::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::DBError","","db_sqlx_postgres::dev::Error","","","","","","","","","","","","","db_sqlx_postgres::dev::Login","","","","db_sqlx_postgres::dev::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::DBError","db_sqlx_postgres::dev::dev::Login","","db_sqlx_postgres::dev::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::dev::prelude::DBError","db_sqlx_postgres::dev::dev::prelude::Login","","db_sqlx_postgres::dev::errors","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::errors::DBError","","db_sqlx_postgres::dev::ops","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::DBError","db_sqlx_postgres::dev::prelude::Login","","db_sqlx_postgres::dev::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::dev::prelude::dev::DBError","db_sqlx_postgres::dev::prelude::dev::Login","","db_sqlx_postgres::dev::tests","","db_sqlx_postgres::errors","","db_sqlx_postgres::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::DBError","db_sqlx_postgres::prelude::Login","","db_sqlx_postgres::prelude::dev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::DBError","db_sqlx_postgres::prelude::dev::Login","","db_sqlx_postgres::prelude::dev::prelude","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","db_sqlx_postgres::prelude::dev::prelude::DBError","db_sqlx_postgres::prelude::dev::prelude::Login","","db_sqlx_postgres::prelude::errors","","","","","","","","","","","","db_sqlx_postgres::prelude::errors::DBError","db_sqlx_postgres::prelude::ops","","","","","","","","","db_sqlx_postgres::prelude::tests"],"d":["","Use an existing database pool","Connect to databse","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","","","","","","","","","","","check if captcha exists","","","","","","","create new captcha","create new notification","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","","","check if email exists","","Error-handling utilities","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","mark a notification read","message of the notification","","receiver name of the notification","","ping DB","","","","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","","check if username exists","","","","","","","","Account not found","Account not found","Data required to add notification","Data required to add notification","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Data representing a captcha","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Trait to clone MCDatabase","Trait to clone MCDatabase","Error occurred while decoding a value from a specific …","Column index was out of bounds.","No column found for the given name.","Error occurred while parsing a connection string.","database connection type","database connection type","Create databse connection","Create databse connection","data requried to create new captcha","data requried to create new captcha","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Generic result data structure","Generic result data structure","","Error returned from the database.","Error occurred while decoding a value.","email as login","email as login","Email is taken","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Get database connection","Error communicating with the database backend.","Level struct that describes threshold-difficulty factor …","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","mCaptcha’s database requirements. To implement support …","database migrations","database migrations","","type encapsulating username and hashed password of a user","type encapsulating username and hashed password of a user","Represents notification","Represents notification","Notification not found","Notification not found","database specific pool-type","database specific pool-type","Pool::close was called while we were waiting in …","A Pool::acquire timed out due to connections not becoming …","Unexpected or invalid data encountered while communicating …","Data required to register a new user","Data required to register a new user","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","datastructure representing a user’s secret","Secret is taken","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","Captcha statistics with time recorded in UNIX epoch formats","Error occurred while attempting to establish a TLS …","User’s traffic pattern; used in generating a captcha …","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","data required to update them email of a user","username as login","username as login","Username is taken","Username is taken","A background worker has crashed.","Add levels to captcha","Add levels to captcha","Add traffic configuration","Add traffic configuration","","","average traffic of user’s website","average traffic of user’s website","","","trafic that bought the user’s website down; optional","trafic that bought the user’s website down; optional","check if captcha exists","check if captcha exists","clone DB","clone DB","times at which the configuration were fetched","times at which the configuration were fetched","Database assigned ID","Database assigned ID","times at which the PoW token was verified","times at which the PoW token was verified","database specific error-type create connection pool","database specific error-type create connection pool","create new captcha","create new captcha","create new notification","create new notification","Delete captcha","Delete captcha","Delete all levels of a captcha","Delete all levels of a captcha","Delete traffic configuration","Delete traffic configuration","delete a user","delete a user","description of the captcha","description of the captcha","description of the captcha","description of the captcha","useful imports for supporting a new database","","","cool down duration","cool down duration","cool down duration","cool down duration","Optionally, email of new use","Optionally, email of new use","check if email exists","check if email exists","represents all the ways a trait can fail using this crate","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig confirms","featch PoWConfig solves","featch PoWConfig solves","","","","Returns the argument unchanged.","","","","notification sender","notification sender","get all unread notifications","get all unread notifications","Get all captchas belonging to user","Get all captchas belonging to user","Get captcha config","Get captcha config","Get captcha’s cooldown period","Get captcha’s cooldown period","Get captcha levels","Get captcha levels","database specific error-type get connection from …","database specific error-type get connection from …","get user email","get user email","get a user’s password","get a user’s password","get a user’s secret","get a user’s secret","get a user’s secret from a captcha key","get a user’s secret from a captcha key","Get traffic configuration","Get traffic configuration","hashed password of new use","hashed password of new use","hashed password","hashed password","heading of the notification","heading of the notification","heading of the notification","heading of the notification","db assigned ID of the notification","db assigned ID of the notification","Calls U::from(self).","","secret key of the captcha","secret key of the captcha","secret key of the captcha","secret key of the captcha","mark a notification read","mark a notification read","message of the notification","message of the notification","mesage of the notification","mesage of the notification","database specific error-type run migrations","database specific error-type run migrations","receiver name of the notification","receiver name of the notification","new email address of the user","new email address of the user","meta operations like migration and connecting to a database","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","the peak traffic that the user’s website can handle","ping DB","ping DB","useful imports for users working with a supported database","when notification was received","when notification was received","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","register a new user","register a new user","secret of new user","secret of new user","user’s secret","user’s secret","times at which the PoW was solved","times at which the PoW was solved","","Test utilities","Test utilities","who is the notification addressed to?","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update captcha metadata; doesn’t change captcha key","update a user’s email","update a user’s email","update user’s password","update user’s password","update a user’s secret","update a user’s secret","update username","update username","username of new user","username of new user","username of the user","username of the user","username","username","check if username exists","check if username exists","","","","","","","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Account not found","Convenience type alias for grouping driver-specific errors","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha key is taken","Captcha not found","Captcha not found","Error data structure grouping various error subtypes","Error data structure grouping various error subtypes","errors that are specific to a database implementation","errors that are specific to a database implementation","Generic result data structure","Generic result data structure","Email is taken","Email is taken","Notification not found","Notification not found","Secret is taken","Secret is taken","Traffic pattern not found","Traffic pattern not found","Username is taken","Username is taken","","","database connection type","database connection type","Create databse connection","Create databse connection","Database operations trait(migrations, pool creation and …","Database operations trait(migrations, pool creation and …","Get database connection","Get database connection","database migrations","database migrations","database specific pool-type","database specific pool-type","database specific error-type create connection pool","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type get connection from …","database specific error-type run migrations","database specific error-type run migrations","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","test all database functions","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","trafic that bought the user’s website down; optional","check if captcha exists","","","","","","","","","","","","clone DB","","","","","","","","","","","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","","","","","","","","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","","","","","","","","","","useful imports for supporting a new database","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","","","","","","","","","","","represents all the ways a trait can fail using this crate","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","","","","","","","","","","","new email address of the user","meta operations like migration and connecting to a database","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","","","","","","","","","","","times at which the PoW was solved","","Test utilities","who is the notification addressed to?","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","","","","","","","","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","","average traffic of user’s website","trafic that bought the user’s website down; optional","check if captcha exists","clone DB","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","new email address of the user","the peak traffic that the user’s website can handle","ping DB","useful imports for users working with a supported database","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","times at which the PoW was solved","who is the notification addressed to?","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","Account not found","Data required to add notification","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","Trait to clone MCDatabase","database connection type","Create databse connection","data requried to create new captcha","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Database operations trait(migrations, pool creation and …","Generic result data structure","email as login","Email is taken","Get database connection","Level struct that describes threshold-difficulty factor …","types of credentials used as identifiers during login","mCaptcha’s database requirements. To implement support …","database migrations","type encapsulating username and hashed password of a user","Represents notification","Notification not found","database specific pool-type","Data required to register a new user","datastructure representing a user’s secret","Secret is taken","Captcha statistics with time recorded in UNIX epoch formats","User’s traffic pattern; used in generating a captcha …","Traffic pattern not found","data required to update them email of a user","username as login","Username is taken","Add levels to captcha","Add traffic configuration","average traffic of user’s website","","","trafic that bought the user’s website down; optional","check if captcha exists","","clone DB","","times at which the configuration were fetched","Database assigned ID","times at which the PoW token was verified","database specific error-type create connection pool","create new captcha","create new notification","Delete captcha","Delete all levels of a captcha","Delete traffic configuration","delete a user","description of the captcha","description of the captcha","","","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","featch PoWConfig fetches","featch PoWConfig confirms","featch PoWConfig solves","","Returns the argument unchanged.","notification sender","get all unread notifications","Get all captchas belonging to user","Get captcha config","Get captcha’s cooldown period","Get captcha levels","database specific error-type get connection from …","get user email","get a user’s password","get a user’s secret","get a user’s secret from a captcha key","Get traffic configuration","hashed password of new use","hashed password","heading of the notification","heading of the notification","db assigned ID of the notification","Calls U::from(self).","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","mesage of the notification","database specific error-type run migrations","receiver name of the notification","","new email address of the user","the peak traffic that the user’s website can handle","ping DB","when notification was received","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig solves","register a new user","secret of new user","user’s secret","","times at which the PoW was solved","who is the notification addressed to?","","","","","update captcha key; doesn’t change metadata","update captcha metadata; doesn’t change captcha key","update a user’s email","update user’s password","update a user’s secret","update username","username of new user","username of the user","username","check if username exists","","","","","","Account not found","Convenience type alias for grouping driver-specific errors","Captcha key is taken","Captcha not found","Error data structure grouping various error subtypes","errors that are specific to a database implementation","Generic result data structure","Email is taken","Notification not found","Secret is taken","Traffic pattern not found","Username is taken","","database connection type","Create databse connection","Database operations trait(migrations, pool creation and …","Get database connection","database migrations","database specific pool-type","database specific error-type create connection pool","database specific error-type get connection from …","database specific error-type run migrations","test all database functions"],"i":[1,0,0,0,2,0,2,0,3,3,1,2,4,3,5,1,2,4,3,5,3,3,5,3,3,5,2,3,3,5,3,3,3,3,0,4,3,5,0,3,3,3,5,1,2,4,3,5,3,3,3,3,3,3,3,3,3,3,5,5,1,2,4,3,5,3,5,3,5,5,3,3,4,0,5,3,3,3,3,3,5,1,2,4,3,5,1,2,4,3,5,1,2,4,3,5,3,3,3,3,3,3,4,3,1,2,4,3,5,6,7,8,8,0,0,0,0,0,0,8,8,8,8,0,0,9,9,9,9,10,10,0,0,0,0,0,0,8,8,0,0,0,0,0,9,9,11,11,8,8,0,0,0,9,0,0,0,0,0,0,0,0,9,0,0,0,0,8,8,12,12,9,9,9,0,0,9,0,0,8,8,0,0,9,0,0,8,8,9,0,0,11,11,8,8,9,13,13,13,13,9,0,14,14,9,9,14,14,13,13,15,15,16,16,17,17,16,16,12,12,13,13,13,13,13,13,13,13,13,13,13,13,18,18,17,17,0,19,19,18,18,17,17,20,20,13,13,0,0,13,13,13,13,13,13,9,9,9,9,9,9,9,21,21,13,13,13,13,13,13,13,13,13,13,10,10,13,13,13,13,13,13,13,13,13,13,20,20,22,22,23,23,21,21,23,23,9,9,18,18,17,17,13,13,23,23,21,21,24,24,23,23,25,25,0,0,14,14,13,13,0,23,23,13,13,13,13,13,13,13,13,20,20,26,26,16,16,9,0,0,21,21,9,9,9,9,13,13,13,13,13,13,13,13,13,13,13,13,20,20,25,25,22,22,13,13,19,19,9,27,27,28,29,30,31,32,33,34,35,36,37,36,37,38,39,39,40,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,8,0,0,8,8,8,8,0,0,8,8,0,0,8,8,8,8,8,8,8,8,8,8,27,27,10,10,0,0,0,0,0,0,0,0,12,12,12,12,10,10,24,24,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,0,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,0,0,0,0,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,14,13,20,25,11,22,16,23,21,14,18,17,26,15,20,25,11,22,16,23,21,14,18,17,26,16,17,16,12,13,13,16,23,21,14,18,17,26,13,13,13,13,18,17,20,25,11,22,16,23,21,14,18,17,26,0,19,18,17,20,13,20,25,11,22,16,23,21,14,18,17,26,0,13,13,13,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,23,21,14,18,17,26,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,8,20,25,11,22,16,23,21,14,18,17,26,18,17,13,23,21,24,23,20,25,11,22,16,23,21,14,18,17,26,25,0,14,13,23,13,13,13,13,20,26,20,25,11,22,16,23,21,14,18,17,26,16,8,0,21,20,25,11,22,16,23,21,14,18,17,26,8,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,8,20,25,11,22,16,23,21,14,18,17,26,13,13,13,13,13,13,20,25,22,13,19,8,20,25,11,22,16,23,21,14,18,17,26,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,0,14,14,13,15,16,17,16,12,13,13,13,13,13,13,18,17,19,18,17,20,13,13,13,13,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,18,17,13,23,21,24,23,25,14,13,0,23,13,13,13,13,20,26,16,21,13,13,13,13,13,13,20,25,22,13,19,27,39,40,8,0,0,0,8,8,0,10,0,0,0,8,0,0,11,8,0,0,0,0,0,0,0,8,12,0,0,8,0,0,8,0,11,8,13,13,14,19,19,14,13,19,15,19,16,17,16,12,13,13,13,13,13,13,18,17,19,19,18,17,20,13,19,13,13,13,19,19,21,13,13,13,13,13,10,13,13,13,13,13,20,22,23,21,23,19,18,17,13,23,21,24,23,19,25,14,13,23,13,13,13,13,20,26,19,16,21,19,19,19,19,13,13,13,13,13,13,20,25,22,13,19,19,27,39,40,8,0,8,8,0,8,0,8,8,8,8,8,27,10,0,0,0,0,12,12,10,24,0],"f":[null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["database",3]],[[["",0]],["innernotification",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8]]]]]],[[],["innernotification",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["innernotification",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,[[]],[[]],[[]],[[]],[[]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["innernotification",3]],["bool",0]],[[["",0]],["pin",3,[["box",3,[["future",8]]]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["option",4,[["databaseerror",8]]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[],["error",4]],[[]],[[["migrateerror",4]],["error",4]],[[["invaliddnsnameerror",3]],["error",4]],[[["error",3]],["error",4]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,[[]],[[],["option",4,[["box",3,[["databaseerror",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0]],["option",4,[["error",8]]]],null,null,null,null,[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]],[[["error",4]],["dberror",4]],[[["error",4],["dberror",4]],["dberror",4]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["register",3]],[[["",0]],["updateemail",3]],[[["",0]],["login",4]],[[["",0]],["namehash",3]],[[["",0]],["statsunixtimestamp",3]],[[["",0]],["notification",3]],[[["",0]],["addnotification",3]],[[["",0]],["trafficpattern",3]],[[["",0]],["createcaptcha",3]],[[["",0]],["captcha",3]],[[["",0]],["secret",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[],["statsunixtimestamp",3]],[[],["notification",3]],[[],["addnotification",3]],[[],["trafficpattern",3]],[[],["createcaptcha",3]],[[],["captcha",3]],[[],["secret",3]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["register",3]]]],[[],["result",4,[["updateemail",3]]]],[[],["result",4,[["login",4]]]],[[],["result",4,[["namehash",3]]]],[[],["result",4,[["statsunixtimestamp",3]]]],[[],["result",4,[["notification",3]]]],[[],["result",4,[["addnotification",3]]]],[[],["result",4,[["trafficpattern",3]]]],[[],["result",4,[["createcaptcha",3]]]],[[],["result",4,[["captcha",3]]]],[[],["result",4,[["secret",3]]]],null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["innernotification",3]]],[[]],[[]],[[]],[[]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["register",3]],["bool",0]],[[["",0],["updateemail",3]],["bool",0]],[[["",0],["login",4]],["bool",0]],[[["",0],["namehash",3]],["bool",0]],[[["",0],["statsunixtimestamp",3]],["bool",0]],[[["",0],["notification",3]],["bool",0]],[[["",0],["addnotification",3]],["bool",0]],[[["",0],["trafficpattern",3]],["bool",0]],[[["",0],["createcaptcha",3]],["bool",0]],[[["",0],["captcha",3]],["bool",0]],[[["",0],["secret",3]],["bool",0]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],null,[[["",0]],["option",4,[["error",8]]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0],["trafficpattern",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["level",3]],[[["",0]],["box",3,[["mcdatabase",8],["global",3]]]],[[["",0],["",0]]],null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["addnotification",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[],["result",4,[["level",3]]]],null,null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["level",3]],["bool",0]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["formatter",3]],["result",4,[["error",3]]]],[[]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["option",4,[["str",0]]],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["login",4]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,null,null,[[]],null,null,[[["",0],["str",0],["i32",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["level",3]],["bool",0]],null,null,[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,[[["",0]],["result",4]],null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0],["str",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["createcaptcha",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["updateemail",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["namehash",3]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["str",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,null,null,[[["",0],["str",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0]],["pin",3,[["box",3,[["future",8],["global",3]]]]]],[[["",0],["register",3],["createcaptcha",3],["trafficpattern",3],["addnotification",3]]]],"p":[[3,"Conn"],[4,"ConnectionOptions"],[3,"Database"],[3,"Fresh"],[3,"InnerNotification"],[13,"Fresh"],[13,"Existing"],[4,"DBError"],[4,"Error"],[8,"GetConnection"],[4,"Login"],[8,"Connect"],[8,"MCDatabase"],[3,"TrafficPattern"],[8,"CloneSPDatabase"],[3,"StatsUnixTimestamp"],[3,"Captcha"],[3,"CreateCaptcha"],[3,"Level"],[3,"Register"],[3,"AddNotification"],[3,"NameHash"],[3,"Notification"],[8,"Migrate"],[3,"UpdateEmail"],[3,"Secret"],[13,"DBError"],[13,"Configuration"],[13,"Database"],[13,"Io"],[13,"Tls"],[13,"Protocol"],[13,"ColumnNotFound"],[13,"Decode"],[13,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"],[13,"Username"],[13,"Email"]]},\ +"mcaptcha":{"doc":"","t":[6,6,3,17,17,3,3,17,3,3,3,3,17,3,3,3,3,3,3,3,17,17,17,17,3,3,3,3,17,3,3,17,17,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,0,12,0,0,12,12,0,11,11,11,11,11,11,11,11,0,0,0,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,12,5,0,12,0,12,0,12,12,12,0,0,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,2,3,0,0,11,11,11,11,5,11,0,0,0,0,12,0,5,11,11,11,11,3,3,2,11,11,11,11,11,11,11,11,0,11,11,0,12,11,11,11,11,11,11,2,0,0,0,11,11,5,11,11,11,11,11,11,11,11,0,12,11,11,11,11,3,11,11,11,0,5,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,12,12,12,11,11,5,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,3,11,11,12,12,11,12,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,3,11,11,11,11,5,11,11,11,11,11,11,3,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,5,3,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,0,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,12,12,11,12,11,11,11,11,3,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,12,5,12,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,0,0,0,5,0,5,0,0,3,3,11,11,11,11,11,11,11,11,3,12,11,11,12,11,11,11,11,11,11,11,12,12,12,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,3,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,12,5,11,11,11,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,3,11,11,12,11,11,11,11,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,3,11,11,12,12,12,11,12,11,11,12,11,11,11,12,12,11,3,11,11,11,11,11,11,11,11,11,11,3,11,11,12,11,0,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,12,12,11,11,0,11,11,11,11,11,11,11,11,11,11,3,3,11,11,11,5,3,3,4,3,3,4,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,0,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,12,12,3,11,11,12,11,12,11,11,11,11,11,11,0,0,0,0,5,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,12,11,11,3,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,12,11,11,11,11,11,2,0,0,5,0,0,3,11,11,11,11,11,11,11,11,11,11,3,5,11,11,12,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,14,12,11,11,11,11,12,11,12,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,3,11,11,11,17,3,12,12,11,11,12,11,11,11,12,11,12,12,11,11,11,11,3,13,6,13,4,11,11,11,11,11,12,12,12,14,14,11,11,11,11,11,11,11,12,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,12,12,17,3,17,17,17,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,6,0,0,5,5,17,17,3,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,17,17,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,5,3,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,12,11,11,12,11,11,11,11,0,3,17,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,12,13,13,13,13,13,13,3,13,3,13,13,13,13,4,6,13,13,13,13,4,13,6,3,13,13,13,13,13,13,13,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,17,0,0,5,0,0,5,0,0,0,0,5,0,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,12,11,11,11,11,11,17,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,12,11,17,3,3,17,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11,11,11,11,0,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,12,11,11,11,11,11,12,11,3,17,11,11,11,11,11,11,11,11,11,11,11,0,3,11,11,11,0,5,0,0,12,11,11,11,11,11,11,11,11,11,3,3,17,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,12,11,3,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,12,12,12,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,0,12,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,12,11,11,11,11,3,11,11,12,11,11,12,11,11,11,11,11,12,11,0,0,0,0,0,5,0,3,3,3,3,17,12,12,3,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,3,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,3,3,17,3,11,11,11,11,11,11,11,11,11,11,11,11,12,3,12,11,11,11,11,11,11,11,11,12,12,12,12,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,17,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,12,12,11,11,12,12,12,11,11,11,11,11,11,11,12,11,11,11,11,12,11,3,17,11,11,11,11,11,11,12,11,11,11,11,12,12,12,11,11,11,11,12,11,11,11,11,11,11,11,3,11,11,17,3,12,12,11,11,12,12,11,11,11,12,11,11,12,12,12,12,12,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,3,4,3,3,13,13,3,3,3,3,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,12,11,11,11,11,11,11,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,11,12,5,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,11,11,11,11,11,11,11,11,2,0,5,0,3,11,11,12,11,11,11,11,11,11,11,11,3,3,0,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,3,3,3,6,3,3,3,3,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,3,3,8,11,11,11,11,11,11,11,11,11,11,11,11,10,12,12,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,10,11,11,10,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,17,17,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,5,3,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,11,11,12,11],"n":["AppData","ArcData","BAR_CHART","CACHE_AGE","COMPILED_DATE","CREDIT_CARD","CSS","DOCS","DOCS_ICON","Data","FILES","GITHUB","GIT_COMMIT_HASH","HELP_CIRCLE","HOME","JS","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","MOBILE_CSS","PAGES","PKG_DESCRIPTION","PKG_HOMEPAGE","PKG_NAME","SETTINGS","SETTINGS_ICON","SOURCE_FILES_OF_INSTANCE","Settings","V1_API_ROUTES","VERIFICATIN_WIDGET_CSS","VERIFICATIN_WIDGET_JS","VERSION","WIDGET_ROUTES","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","allow_demo","allow_registration","api","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","captcha","captcha","commercial","creds","data","database","date","db","db","debug","demo","deref","deref","deref","deref","deref","deref","deref","deref","docs","email","errors","from","from","from","from","from","from","from","from","get_identity_service","get_json_err","into","into","into","into","into","into","into","into","mailer","main","pages","redis","routes","server","settings","settings","smtp","source_code","static_assets","stats","stats","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","widget","v1","ROUTES","RedirectQuery","account","auth","borrow","borrow_mut","deserialize","from","get_middleware","into","mcaptcha","meta","notifications","pow","redirect_to","routes","services","try_from","try_into","type_id","vzip","AccountCheckPayload","AccountCheckResp","auth","borrow","borrow","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","delete","deserialize","deserialize","email","exists","fmt","fmt","from","from","into","into","mcaptcha","password","routes","secret","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","username","val","vzip","vzip","borrow","borrow_mut","delete_account","from","into","register","runners","services","try_from","try_into","type_id","vzip","delete_user","Email","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","email","email_exists","fmt","from","from","from","into","into","into","register","register","serialize","services","set_email","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","ChangePasswordReqest","UpdatePassword","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","confirm_new_password","confirm_new_password","deserialize","fmt","from","from","from","from","into","into","into","new_password","new_password","password","register","serialize","services","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_password_runner","update_user_password","vzip","vzip","vzip","Account","borrow","borrow_mut","delete","email_exists","from","get_secret","into","new","try_from","try_into","type_id","update_email","update_password","update_secret","update_username","username_exists","vzip","borrow","borrow","borrow_mut","borrow_mut","from","from","get_secret","into","into","register","register","services","try_from","try_from","try_into","try_into","type_id","type_id","update_user_secret","vzip","vzip","Username","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","from","into","into","into","register","register","runners","serialize","services","set_username","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","username_exists","vzip","vzip","vzip","username_exists","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","into","into","into","login","register","register","register","register","routes","runners","services","signout","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","into","login","logout","new","register","try_from","try_into","type_id","vzip","Login","Password","Register","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","confirm_password","deserialize","deserialize","deserialize","email","fmt","fmt","fmt","from","from","from","into","into","into","login","login_runner","password","password","password","register_runner","serialize","serialize","serialize","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","username","vzip","vzip","vzip","create","delete","easy","get","get_random","routes","services","stats","update","CreateCaptcha","MCaptchaDetails","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","create","description","deserialize","deserialize","duration","fmt","from","from","from","into","into","into","key","levels","name","register","runner","serialize","serialize","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","create","DeleteCaptcha","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","delete","deserialize","fmt","from","from","into","into","key","password","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","TrafficPatternRequest","UpdateTrafficPattern","avg_traffic","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","calculate","clone","clone","clone_into","clone_into","create","default","description","deserialize","deserialize","fmt","fmt","from","from","from","from","into","into","into","into","key","pattern","peak_sustainable_traffic","register","register","routes","serialize","serialize","services","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update","vzip","vzip","vzip","vzip","Easy","borrow","borrow_mut","create","from","into","new","try_from","try_into","type_id","update","vzip","I32Levels","Levels","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","difficulty_factor","fmt","fmt","from","from","from","get_captcha","into","into","into","levels","register","serialize","serialize","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","visitor_threshold","vzip","vzip","vzip","Captcha","borrow","borrow_mut","create","delete","easy","from","get","into","new","stats","try_from","try_into","type_id","update","update_key","vzip","StatsPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get","into","into","key","register","routes","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Stats","borrow","borrow_mut","from","get","into","new","try_from","try_into","type_id","vzip","UpdateCaptcha","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","description","deserialize","duration","from","from","from","into","into","into","key","levels","register","register","runner","serialize","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","update_captcha","update_key","vzip","vzip","vzip","update_captcha","BuildDetails","BuildDetailsBuilder","BuildDetailsBuilderError","Health","HealthBuilder","HealthBuilderError","UninitializedField","UninitializedField","ValidationError","ValidationError","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","build","build","build_details","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","create_empty","create_empty","db","db","db","default","default","deserialize","deserialize","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","git_commit_hash","git_commit_hash","git_commit_hash","health","into","into","into","into","into","into","into","into","is_redis","redis","redis","redis","register","register","routes","serialize","serialize","services","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","version","version","version","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","0","0","0","0","Meta","borrow","borrow_mut","build_details","from","health","into","new","try_from","try_into","type_id","vzip","add","get","mark_read","routes","services","AddNotificationRequest","add_notification","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","fmt","from","from","heading","into","into","message","ne","register","serialize","to","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","NotificationResp","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","default","deserialize","eq","from","from","from","from_notifications","get_notification","heading","id","into","into","message","name","ne","received","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","MarkReadReq","borrow","borrow","borrow_mut","borrow_mut","deserialize","from","from","id","into","into","mark_read","register","serialize","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Notifications","add","borrow","borrow_mut","from","get","into","mark_read","new","try_from","try_into","type_id","vzip","I32Levels","get_config","routes","services","verify_pow","verify_token","GetConfigPayload","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","get_config","init_mcaptcha","into","into","key","register","serialize","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","PoW","borrow","borrow_mut","from","get_config","get_config","into","new","rm_scope","scope","try_from","try_into","type_id","validate_captcha_token","validate_captcha_token","verify_pow","verify_pow","vzip","ValidationToken","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","deserialize","fmt","from","from","into","into","register","serialize","to_owned","token","try_from","try_from","try_into","try_into","type_id","type_id","verify_pow","vzip","vzip","CaptchaValidateResp","VerifyCaptchaResultPayload","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","deserialize","deserialize","fmt","fmt","from","from","from","into","into","into","key","register","secret","serialize","serialize","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","valid","validate_captcha_token","vzip","vzip","vzip","ROUTES","Routes","account","auth","borrow","borrow_mut","captcha","from","get_login_route","into","meta","new","notifications","pow","try_from","try_into","type_id","vzip","Data","Embedded","Mailer","Redis","SystemGroup","add_site","borrow","borrow","borrow_mut","borrow_mut","captcha","creds","db","enum_system_actor","enum_system_wrapper","from","from","get_creds","get_mailer","get_pow","into","into","mailer","new","new","new_system","remove","rename","settings","stats","try_from","try_from","try_into","try_into","type_id","type_id","validate_verification_tokens","verify_pow","vzip","vzip","0","0","DAY","Date","HOUR","MINUTE","WEEK","borrow","borrow_mut","clone","clone_into","date","fmt","format","from","into","new","print_date","time","to_owned","try_from","try_into","type_id","vzip","BoxDB","maria","pg","get_data","get_data","DEMO_PASSWORD","DEMO_USER","DemoUser","abort","borrow","borrow_mut","delete_demo_user","from","handle","into","register_demo_user","run","spawn","try_from","try_into","type_id","vzip","Asset","DOCS","OPEN_API_SPEC","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","dist","from","from","from","from","get","get","handle_embedded_file","index","into","into","into","into","iter","iter","register","register","register","routes","services","spec","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Docs","assets","borrow","borrow_mut","from","home","into","new","spec","try_from","try_into","type_id","vzip","verification","IndexPage","PAGE","borrow","borrow_mut","clone","clone_into","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","verification","verification_link","vzip","0","0","AccountNotFound","BlacklistError","CaptchaError","CaptchaNotFound","ClosedForRegistration","DBError","DBErrorWrapper","EmailTaken","ErrorToResponse","InternalServerError","InternalServerError","NotAUrl","NotAnEmail","PageError","PageResult","PasswordTooLong","PasswordTooShort","PasswordsDontMatch","ProfainityError","ServiceError","ServiceError","ServiceResult","SmtpErrorWrapper","TokenNotFound","TrafficPatternNotFound","UnableToSendEmail","UsernameCaseMappedError","UsernameNotFound","UsernameTaken","WrongPassword","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deserialize","eq","eq","eq","eq","error","error_response","error_response","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","ne","ne","serialize","source","source","source","source","status_code","status_code","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","0","0","0","0","NAME","auth","errors","get_middleware","panel","routes","services","sitemap","login","register","routes","services","sudo","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","login","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX","IndexPage","PAGE","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","from","from","from","into","into","into","join","register","render_once","render_once_to","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Auth","borrow","borrow_mut","from","get_login_route","get_sitemap","into","join","login","new","try_from","try_into","type_id","vzip","PAGE","SudoPage","borrow","borrow_mut","clone","clone_into","data","from","into","new","render_once","render_once_to","to_owned","try_from","try_into","type_id","url","vzip","ERROR_ROUTE","ErrorPage","INTERNAL_SERVER_ERROR_BODY","PAGE","UNKNOWN_ERROR_BODY","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","deref","error","from","from","from","from","into","into","into","into","message","new","register","render_once","render_once_to","routes","services","title","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","Errors","borrow","borrow_mut","from","internal_server_error","into","new","try_from","try_into","type_id","unknown_error","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","new","notifications","panel","register","render_once","render_once_to","routes","services","settings","sitekey","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","IndexPage","Notification","PAGE","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","heading","id","into","into","into","message","n","name","new","notifications","print_date","received","register","render_once","render_once_to","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Panel","borrow","borrow_mut","from","get_sitemap","home","into","new","notifications","settings","sitekey","try_from","try_into","type_id","vzip","IndexPage","PAGE","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","delete_account","email","from","from","from","from","into","into","into","into","register","register","register","render_once","render_once_to","routes","secret","services","settings","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","update_secret","username","vzip","vzip","vzip","vzip","Settings","borrow","borrow_mut","delete_account","from","get_sitemap","home","into","new","try_from","try_into","type_id","update_secret","vzip","add","delete","edit","list","routes","services","view","ADVANCE_INDEX","AdvanceIndexPage","EASY_INDEX","EasyIndexPage","PAGE","__private_field","__private_field","advance","avg_traffic","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic","clone","clone","clone_into","clone_into","default","default","deref","deref","easy","form_description","form_description","form_duration","form_title","form_title","from","from","from","from","from","from","into","into","into","into","into","into","levels","peak_sustainable_traffic","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","borrow","borrow_mut","delete_sitekey","from","into","register","try_from","try_into","type_id","vzip","AdvanceEditPage","EasyEditPage","PAGE","advance","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","duration","easy","form_title","from","from","from","from","into","into","into","into","key","key","levels","name","new","new","pattern","register","register","render_once","render_once","render_once_to","render_once_to","to_owned","to_owned","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","from","from","into","into","list_sitekeys","new","register","render_once","render_once_to","sitekeys","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","Sitekey","add_advance","add_easy","borrow","borrow_mut","delete","edit_advance","edit_easy","from","get_delete","get_edit_advance","get_edit_easy","get_sitemap","get_view","into","list","new","try_from","try_into","type_id","view","vzip","IndexPage","PAGE","borrow","borrow","borrow_mut","borrow_mut","clone","clone_into","duration","from","from","into","into","key","levels","name","new","register","render_once","render_once_to","stats","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","view_sitekey","vzip","vzip","ROUTES","Routes","about","auth","borrow","borrow_mut","donate","errors","from","get_login_route","get_sitemap","home","into","new","panel","privacy","security","sitemap","thanks","try_from","try_into","type_id","vzip","INDEX","IndexPage","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","default","deref","domain","from","from","from","into","into","into","register","render_once","render_once_to","sitemap","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","urls","vzip","vzip","vzip","services","Captcha","DBType","Database","DefaultDifficultyStrategy","Maria","Postgres","Redis","Server","Settings","Smtp","allow_demo","allow_registration","avg_traffic_difficulty","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","broke_my_site_traffic_difficulty","captcha","check_url","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","commercial","cookie_secret","database","database_type","debug","default_difficulty_strategy","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","domain","duration","enable_stats","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from_url","gc","get_ip","into","into","into","into","into","into","into","into","ip","new","password","peak_sustainable_traffic_difficulty","pool","pool","port","port","proxy_has_tls","redis","reply","salt","serialize","server","set_database_url","smtp","source_code","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","url","url","url","url_prefix","username","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","FileMap","filemap","services","static_files","FileMap","borrow","borrow_mut","files","from","get","into","new","try_from","try_into","type_id","vzip","Asset","Favicons","assets","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","favicons","from","from","from","from","get","get","get","get","handle_assets","handle_favicons","into","into","into","into","iter","iter","iter","iter","register","register","static_files","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","BAR_CHART","CREDIT_CARD","DOCS_ICON","GITHUB","HELP_CIRCLE","HOME","Img","KEY","MCAPTCHA_TRANS_ICON","MESSAGE","SETTINGS_ICON","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","__private_field","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","deref","deref","deref","deref","deref","deref","deref","deref","deref","deref","from","from","from","from","from","from","from","from","from","from","into","into","into","into","into","into","into","into","into","into","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","CaptchaStats","CloneStats","Dummy","Real","Stats","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","ne","record_confirm","record_confirm","record_confirm","record_fetch","record_fetch","record_fetch","record_solve","record_solve","record_solve","serialize","solves","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","INDEX_PAGE","IndexPage","PAGE","WIDGET_ROUTES","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","deref","from","from","from","into","into","into","new","register","render_once","render_once_to","routes","services","show_widget","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","Widget","borrow","borrow_mut","from","into","new","try_from","try_into","type_id","verification_widget","vzip"],"q":["mcaptcha","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api","mcaptcha::api::v1","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::delete","","","","","","","","","","","","mcaptcha::api::v1::account::delete::runners","mcaptcha::api::v1::account::email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::password","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::secret","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::account::username::runners","mcaptcha::api::v1::auth","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::auth::routes","","","","","","","","","","","","","","mcaptcha::api::v1::auth::runners","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha","","","","","","","","","mcaptcha::api::v1::mcaptcha::create","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::create::runner","mcaptcha::api::v1::mcaptcha::delete","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::easy::routes","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::routes","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::stats::routes","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::mcaptcha::update::runner","mcaptcha::api::v1::meta","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::meta::BuildDetailsBuilderError","","mcaptcha::api::v1::meta::HealthBuilderError","","mcaptcha::api::v1::meta::routes","","","","","","","","","","","","mcaptcha::api::v1::notifications","","","","","mcaptcha::api::v1::notifications::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::get","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::mark_read","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::notifications::routes","","","","","","","","","","","","","mcaptcha::api::v1::pow","","","","","","mcaptcha::api::v1::pow::get_config","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::routes","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_pow","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::pow::verify_token","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::api::v1::routes","","","","","","","","","","","","","","","","","","mcaptcha::data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::data::SystemGroup","","mcaptcha::date","","","","","","","","","","","","","","","","","","","","","","mcaptcha::db","","","mcaptcha::db::maria","mcaptcha::db::pg","mcaptcha::demo","","","","","","","","","","","","","","","","","mcaptcha::docs","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::docs::routes","","","","","","","","","","","","","mcaptcha::email","mcaptcha::email::verification","","","","","","","","","","","","","","","","","","mcaptcha::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::errors::PageError","mcaptcha::errors::ServiceError","","","mcaptcha::pages","","","","","","","","mcaptcha::pages::auth","","","","","mcaptcha::pages::auth::login","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::register","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::auth::routes","","","","","","","","","","","","","","mcaptcha::pages::auth::sudo","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::errors::routes","","","","","","","","","","","","mcaptcha::pages::panel","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::notifications","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::routes","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::settings::routes","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey","","","","","","","mcaptcha::pages::panel::sitekey::add","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::delete","","","","","","","","","","mcaptcha::pages::panel::sitekey::edit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::list","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::routes","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::panel::sitekey::view","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::routes","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::pages::sitemap","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::routes","mcaptcha::settings","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets","","","","mcaptcha::static_assets::filemap","","","","","","","","","","","","mcaptcha::static_assets::static_files","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::static_assets::static_files::assets","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::stats","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mcaptcha::widget::routes","","","","","","","","","",""],"d":["","","","","","","","","","App data","","","","","","","","","","","","","","","","","points to source files matching build commit","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","mCaptcha system: Redis cache, etc.","","","credential management configuration","App data: redis cache, database connections, etc.","","","","database ops defined by db crates","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","email client","","","","","","","app settings","","","","","stats recorder","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","User facing CAPTCHA widget","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","update email","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","update username","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","returns Ok(()) when everything checks out and the user is …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","User’s traffic pattern; used in generating a captcha …","","average traffic of user’s website","","","","","","","","","trafic that bought the user’s website down; optional","","","","","","","","Captcha description","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","the peak traffic that the user’s website can handle","","","","","","","","","","","","","","","","","","","","","","","","","","","","","easy is using defaults","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Builder for BuildDetails.","Error type for BuildDetailsBuilder","Health check return datatype","Builder for Health.","Error type for HealthBuilder","Uninitialized field","Uninitialized field","Custom validation error","Custom validation error","","","","","","","","","","","","","","","","","Builds a new BuildDetails.","Builds a new Health.","emmits build details of the bninary","","","","","","","","","Create an empty builder, with all fields set to None or …","Create an empty builder, with all fields set to None or …","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","checks all components of the system","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","route handler that adds a notification message","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","route handler that gets all unread notifications","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","route handler that marks a notification read","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","PoW Verification module","PoW success token module","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","get PoW configuration for an mcaptcha key","Call this when MCaptcha is not in master.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","remove scope for $name route","","Calls U::from(self).","","","","","","","remove scope for $name route","","remove scope for $name route","","","validation token that clients receive as proof for …","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","route handler that verifies PoW and issues a solution token","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","route hander that validates a PoW solution token","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","App data","","Mailer data type AsyncSmtpTransport","","Represents mCaptcha cache and master system. When Redis is …","","","","","","mCaptcha system: Redis cache, etc.","credential management configuration","database ops defined by db crates","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","Calls U::from(self).","Calls U::from(self).","email client","","create new instance of app data","","","","app settings","stats recorder","","","","","","","","","","","","","","","","","","","","","","print date","","","Returns the argument unchanged.","Calls U::from(self).","","print relative time from date","","","","","","","","","","","","Demo password","Demo username","","","","","","Returns the argument unchanged.","","Calls U::from(self).","register demo user runner","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","Email operations: verification, notification, etc","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","when the value passed contains blacklisted words see …","","captcha not found","","","","email is already taken","","","","","","","","","","","when the value passed contains profainity","","","","","token not found","Traffic pattern not found","Unable to send email","when the value passed contains characters not present in …","","when the a username is already taken","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","notifications","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","render a list of all sitekeys that a user has","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","route handler that renders individual views for sitekeys","","","","","","","","","","","Returns the argument unchanged.","","","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Get an embedded file and its metadata.","","","Get an embedded file and its metadata.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Iterates over the file paths in the folder.","","","Iterates over the file paths in the folder.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Trait to clone MCDatabase","","","","","","","","","","","","","","","","clone DB","","","","","","","","","","fetch stats","fetch stats","fetch stats","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig confirms","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig fetches","record PoWConfig solves","record PoWConfig solves","record PoWConfig solves","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","widget services","render a client side widget for CAPTCHA verification","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,19,0,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,20,19,19,20,0,19,0,0,20,19,0,11,12,13,14,15,16,17,18,0,0,0,11,12,13,14,15,16,17,18,0,0,11,12,13,14,15,16,17,18,20,0,0,19,0,19,0,20,19,19,0,0,20,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,11,12,13,14,15,16,17,18,0,0,0,0,0,0,21,21,21,21,0,21,0,0,0,0,21,0,0,21,21,21,21,0,0,0,22,23,22,23,22,23,22,23,0,22,23,0,23,22,23,22,23,22,23,0,0,0,0,22,23,0,22,23,22,23,22,23,22,23,0,22,22,23,24,24,0,24,24,24,0,0,24,24,24,24,0,0,25,26,27,25,26,27,25,25,25,25,0,25,25,26,27,25,26,27,26,27,25,0,0,25,25,26,27,25,26,27,25,26,27,25,26,27,0,0,28,29,30,28,29,30,29,29,28,29,29,29,28,28,29,30,28,29,30,28,29,29,30,29,0,29,28,29,30,28,29,30,28,29,30,0,0,28,29,30,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,33,32,33,32,33,0,32,33,32,33,0,32,33,32,33,32,33,0,32,33,0,34,35,36,34,35,36,35,35,35,35,34,35,36,34,35,36,34,36,0,35,0,0,35,34,35,36,34,35,36,34,35,36,35,0,34,35,36,0,37,38,39,37,38,39,37,38,39,37,38,39,0,0,37,38,39,0,0,0,0,37,38,39,37,38,39,37,38,39,37,38,39,0,40,40,40,40,40,40,40,40,40,40,40,40,40,0,0,0,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,41,41,42,43,41,42,43,41,42,43,42,0,41,42,43,0,41,42,43,41,42,43,41,42,43,41,42,43,41,42,43,41,41,42,43,0,0,0,0,0,0,0,0,0,0,0,44,45,46,44,45,46,45,45,0,44,44,45,44,45,44,45,46,44,45,46,45,44,45,46,0,44,45,45,44,45,46,44,45,46,44,45,46,44,45,46,0,0,47,48,47,48,47,47,0,47,47,47,48,47,48,47,47,48,47,47,47,48,47,48,47,48,47,48,0,0,49,49,50,51,52,49,50,51,52,49,0,49,51,49,51,0,49,49,49,51,49,51,49,50,51,52,49,50,51,52,51,51,49,50,52,0,49,51,0,49,51,49,50,51,52,49,50,51,52,49,50,51,52,0,49,50,51,52,0,53,53,53,53,53,53,53,53,53,53,53,0,0,54,55,56,54,55,56,55,56,55,56,55,56,56,55,56,54,55,56,0,54,55,56,55,54,55,56,55,56,54,55,56,54,55,56,54,55,56,56,54,55,56,0,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,57,0,58,59,58,59,58,58,58,58,58,59,0,58,59,58,59,0,58,58,58,59,58,59,58,59,58,59,0,60,60,60,60,60,60,60,60,60,60,0,61,62,63,61,62,63,62,62,62,61,62,63,61,62,63,62,62,61,63,0,62,61,62,63,61,62,63,61,62,63,0,0,61,62,63,0,0,0,0,0,0,0,64,65,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,70,0,66,67,69,70,66,67,69,70,67,70,70,69,70,67,70,66,69,66,64,64,69,65,65,66,67,64,64,64,68,69,70,65,65,65,71,67,66,67,0,66,67,64,68,69,70,65,71,69,70,69,70,68,71,0,66,69,0,66,67,69,70,64,65,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,66,67,64,68,69,70,65,71,67,66,67,66,67,64,68,69,70,65,71,72,73,74,75,0,76,76,76,76,76,76,76,76,76,76,76,0,0,0,0,0,0,0,77,78,77,78,77,77,77,77,77,77,77,78,77,77,78,77,77,78,77,77,77,77,78,77,78,77,78,77,78,0,79,80,79,80,79,79,79,79,79,79,79,80,79,0,79,79,79,80,79,79,79,79,80,79,79,79,80,79,80,79,80,79,80,0,81,82,81,82,81,81,82,81,81,82,0,82,81,81,82,81,82,81,82,81,82,0,83,83,83,83,83,83,83,83,83,83,83,83,0,0,0,0,0,0,0,84,85,84,85,84,84,84,84,84,85,0,0,84,85,84,85,84,84,84,85,84,85,84,85,84,85,0,86,86,86,86,86,86,86,0,86,86,86,86,86,86,86,86,86,0,87,88,87,88,87,87,87,87,87,88,87,88,88,87,87,87,87,88,87,88,87,88,0,87,88,0,0,89,90,91,89,90,91,89,90,89,90,89,90,89,90,89,90,91,89,90,91,90,91,90,89,90,89,90,90,89,90,91,89,90,91,89,90,91,89,0,89,90,91,0,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0,93,0,93,0,93,93,20,93,20,20,20,20,0,0,93,20,20,20,93,93,20,20,93,20,93,93,93,20,20,93,20,93,20,93,20,93,93,93,20,94,95,0,0,0,0,0,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,96,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,98,99,100,101,98,99,100,101,0,98,99,100,101,98,98,0,0,98,99,100,101,98,98,99,100,101,0,0,0,98,99,100,101,98,99,100,101,98,99,100,101,98,99,100,101,0,102,102,102,102,102,102,102,102,102,102,102,102,0,0,0,103,103,103,103,103,103,103,103,103,103,103,103,103,0,103,103,104,105,106,106,106,106,106,106,0,106,0,106,107,106,106,0,0,106,106,106,106,0,107,0,0,106,106,106,106,106,106,106,104,105,106,108,107,104,105,106,108,107,108,104,105,106,107,108,106,107,104,104,105,105,106,106,107,107,104,105,106,106,106,106,106,106,106,106,106,108,107,107,107,104,105,106,108,107,106,107,108,104,105,106,107,106,107,104,105,106,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,104,105,106,108,107,109,110,111,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,113,114,113,115,114,113,115,114,114,114,113,114,113,115,114,113,115,0,115,114,114,114,114,113,115,114,113,115,114,113,115,114,113,115,0,0,0,116,117,116,118,117,116,118,117,117,117,116,117,116,118,117,116,118,0,118,117,117,117,117,116,118,117,116,118,117,116,118,117,116,118,0,119,119,119,119,119,119,119,119,119,119,119,119,119,0,0,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,120,0,0,0,0,0,121,122,123,121,122,124,123,121,122,124,123,123,121,122,0,123,121,122,124,123,121,122,124,123,123,124,123,123,0,0,123,123,123,121,122,124,123,121,122,124,123,121,122,124,123,121,122,124,0,125,125,125,125,125,125,125,125,125,125,125,0,0,126,127,126,127,126,126,126,127,126,127,126,0,0,127,126,126,0,0,0,0,126,126,126,127,126,127,126,127,126,127,0,0,0,128,129,130,128,129,130,128,128,129,130,128,128,128,129,130,128,129,128,129,0,128,128,130,129,129,128,129,130,128,129,130,128,129,130,128,129,130,0,131,131,131,131,131,131,131,131,131,131,131,131,131,131,0,0,132,133,134,135,132,133,134,135,132,132,0,132,132,133,134,135,132,133,134,135,133,134,135,132,132,0,132,0,0,132,132,133,134,135,132,133,134,135,132,133,134,135,0,132,132,133,134,135,0,136,136,136,136,136,136,136,136,136,136,136,136,136,0,0,0,0,0,0,0,0,0,0,0,0,137,138,0,139,137,138,140,141,139,142,137,138,140,141,139,142,139,140,139,140,139,140,139,137,138,0,140,139,140,140,139,137,138,140,141,139,142,137,138,140,141,139,142,140,139,141,142,140,139,140,139,140,139,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,137,138,140,141,139,142,143,143,0,143,143,143,143,143,143,143,0,0,0,0,144,145,146,147,144,145,146,147,144,146,144,146,144,0,146,144,145,146,147,144,145,146,147,144,146,144,144,144,146,146,145,147,144,146,144,146,144,146,144,145,146,147,144,145,146,147,144,145,146,147,144,145,146,147,0,0,148,149,148,149,148,148,148,149,148,149,0,148,149,148,148,148,148,148,149,148,149,148,149,148,149,0,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,150,0,0,151,152,151,152,151,151,151,151,152,151,152,151,151,151,151,152,151,151,151,151,151,152,151,152,151,152,0,151,152,0,0,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,0,0,154,155,154,156,155,154,156,155,155,155,154,155,155,154,156,155,154,156,156,155,155,0,155,155,154,156,155,154,156,155,154,156,155,155,154,156,0,0,0,0,0,157,157,0,0,0,0,19,19,158,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,158,19,0,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,19,159,19,162,19,160,159,160,158,161,157,162,163,19,159,158,160,157,159,160,158,161,157,157,162,163,19,159,160,158,161,157,162,163,19,161,157,160,159,159,160,158,161,157,162,163,19,159,19,161,158,162,163,159,161,159,19,161,160,157,19,0,19,19,159,160,158,161,157,162,163,19,157,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,159,160,158,161,157,162,163,19,161,162,163,159,161,159,160,158,161,157,162,163,19,0,0,0,0,0,164,164,164,164,164,164,164,164,164,164,164,0,0,0,165,166,167,168,165,166,167,168,0,165,166,167,168,165,165,167,167,0,0,165,166,167,168,165,165,167,167,166,168,0,165,166,167,168,165,166,167,168,165,166,167,168,165,166,167,168,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,1,2,3,4,5,6,7,8,9,10,0,0,0,0,0,169,170,171,169,170,171,169,170,171,169,170,171,172,169,169,169,170,171,169,169,170,171,173,170,171,169,170,171,169,170,171,169,170,171,169,173,170,171,173,170,171,173,170,171,169,169,169,170,171,169,170,171,169,170,171,169,170,171,169,170,171,0,0,0,0,174,175,174,176,175,174,176,175,175,174,175,174,176,175,174,176,175,176,175,175,0,0,0,175,175,174,176,175,174,176,175,174,176,175,174,176,0,177,177,177,177,177,177,177,177,177,177],"f":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["settings",3]],[[["",0]],["filemap",3]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["str",0]],[[["",0]],["string",3]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["settings",3]],["identityservice",3,[["cookieidentitypolicy",3]]]],[[],["jsonconfig",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",6]],null,null,null,null,null,null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[],["authentication",3,[["routes",3]]]],[[]],null,null,null,null,null,null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["accountcheckpayload",3]],[[["",0]],["accountcheckresp",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],null,[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],[[["str",0],["appdata",6]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["email",3]],[[["",0],["",0]]],[[],["result",4]],null,null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["changepasswordreqest",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["changepasswordreqest",3]]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["str",0],["updatepassword",3],["data",3]]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],null,[[]],[[],["account",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["serviceconfig",3]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["username",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["accountcheckpayload",3],["appdata",6]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,null,[[],["auth",3]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["register",3]],[[["",0]],["login",3]],[[["",0]],["password",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["login",3],["appdata",6]]],null,null,null,[[["register",3],["appdata",6]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,null,null,null,[[["usize",0]],["string",3]],null,[[["serviceconfig",3]]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["mcaptchadetails",3]],[[["",0],["",0]]],null,null,[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[["createcaptcha",3],["appdata",6],["str",0]]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["deletecaptcha",3]],[[["",0],["",0]]],null,[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["trafficpattern",3],["defaultdifficultystrategy",3]],["result",4,[["vec",3,[["level",3]]],["serviceerror",4]]]],[[["",0]],["trafficpatternrequest",3]],[[["",0]],["updatetrafficpattern",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,[[],["trafficpatternrequest",3]],null,[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["levels",3]],[[["",0]],["i32levels",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],null,[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],null,[[]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["statspayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[],["result",4]],null,[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[["updatecaptcha",3],["appdata",6],["str",0]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["result",4,[["builddetails",3],["builddetailsbuildererror",4]]]],[[["",0]],["result",4,[["health",3],["healthbuildererror",4]]]],null,[[["",0]],["builddetails",3]],[[["",0]],["builddetailsbuilder",3]],[[["",0]],["health",3]],[[["",0]],["healthbuilder",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0],["bool",0]],["",0]],null,null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["string",3]]],[[["uninitializedfielderror",3]]],[[]],[[]],[[]],[[]],[[["uninitializedfielderror",3]]],[[]],[[["string",3]]],[[]],[[["",0],["str",0]],["",0]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["option",4]],["bool",0]],[[["",0],["option",4,[["bool",0]]]],["",0]],null,null,[[["appservice",3]]],[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["serviceconfig",3]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["str",0]],["",0]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["addnotificationrequest",3]],[[["",0],["",0]]],[[],["addnotificationrequest",3]],[[],["result",4]],[[["",0],["addnotificationrequest",3]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[]],[[]],null,[[["",0],["addnotificationrequest",3]],["bool",0]],[[["appservice",3]]],[[["",0]],["result",4]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["notificationresp",3]],[[["",0],["",0]]],[[],["notificationresp",3]],[[],["result",4]],[[["",0],["notificationresp",3]],["bool",0]],[[["notification",3]]],[[]],[[]],[[["vec",3,[["notification",3]]]],["vec",3]],null,null,null,[[]],[[]],null,null,[[["",0],["notificationresp",3]],["bool",0]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[]],[[]],null,[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],null,[[],["notifications",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["serviceconfig",3]]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["getconfigpayload",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],null,[[["appdata",6],["str",0]]],[[]],[[]],null,[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0]],["str",0]],null,[[]],[[]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["str",0]],null,[[["",0]],["str",0]],null,[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["validationtoken",3]],[[["",0],["",0]]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["",0]],["result",4]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchavalidateresp",3]],[[["",0]],["verifycaptcharesultpayload",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[],["result",4]],[[],["result",4]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],null,[[["",0]],["result",4]],[[["",0]],["result",4]],[[["",0]]],[[["",0]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[],["routes",3]],null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,null,[[["",0],["addsite",3]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,null,null,[[]],[[]],[[],["config",3]],[[["settings",3]],["option",4,[["asyncsmtptransport",3,[["tokio1executor",3]]]]]],[[["",0],["string",3]]],[[]],[[]],null,[[["settings",3]]],[[["settings",3]]],[[["settings",3],["addr",3,[["mastertrait",8]]],["addr",3,[["save",8]]]],["system",3,[["save",8],["mastertrait",8]]]],[[["",0],["removecaptcha",3]]],[[["",0],["rename",3]]],null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0],["verifycaptcharesult",3]]],[[["",0],["work",3]]],[[]],[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["date",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0],["formatter",3]],["result",6]],[[["offsetdatetime",3]],["string",3]],[[]],[[]],[[["i64",0]]],[[["",0]],["string",3]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["option",4,[["settings",3]]]]],[[["option",4,[["settings",3]]]]],null,null,null,[[["",0]]],[[["",0]],["",0]],[[["",0]],["",0]],[[["appdata",6]]],[[]],null,[[]],[[["appdata",6]]],[[["appdata",6],["duration",3]]],[[["appdata",6],["duration",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],null,[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],null,[[["serviceconfig",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[["str",0]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["data",3],["str",0],["str",0]]],null,[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[],["result",4]],[[["",0],["",0]],["bool",0]],[[["",0],["",0]],["bool",0]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],null,[[["",0]],["httpresponse",3]],[[["",0]],["httpresponse",3]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[["smtperror",3]]],[[["mailboxerror",4]]],[[["credserror",4]],["serviceerror",4]],[[["dberror",4]],["serviceerror",4]],[[["validationerrors",3]],["serviceerror",4]],[[]],[[["parseerror",4]],["serviceerror",4]],[[["recverror",3]]],[[["captchaerror",4]],["serviceerror",4]],[[]],[[["dberror",4]]],[[]],[[["serviceerror",4]]],[[]],[[]],[[]],[[]],[[]],[[["",0],["serviceerror",4]],["bool",0]],[[["",0],["pageerror",4]],["bool",0]],[[["",0]],["result",4]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["option",4,[["error",8]]]],[[["",0]],["statuscode",3]],[[["",0]],["statuscode",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,[[],["authentication",3,[["routes",3]]]],null,null,[[["serviceconfig",3]]],null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],[[]],null,null,[[],["auth",3]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["sudopage",3]],[[["",0],["",0]]],null,[[]],[[]],[[["str",0],["option",4,[["vec",3]]]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["errorpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["str",0],["str",0]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],[[["vec",3,[["captcha",3]]]]],null,null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,null,null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["notification",3]]],[[]],[[]],[[]],null,null,[[]],[[]],[[]],null,null,null,[[["vec",3,[["notification",3]]]]],null,[[["",0]],["string",3]],null,[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],null,[[]],[[]],null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,[[]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],null,[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,null,null,null,[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[["",0]],["advanceindexpage",3]],[[["",0]],["easyindexpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[]],[[]],[[["",0]],["string",3]],[[["",0]],["string",3]],null,null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[["appservice",3]]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["advanceeditpage",3]],[[["",0]],["easyeditpage",3]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,[[["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["string",3],["trafficpatternrequest",3]]],null,[[["appservice",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["buffer",3]],["result",4,[["rendererror",4]]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[]],[[]],[[]],null,[[["vec",3,[["captcha",3]]]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,null,[[]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[["",0],["str",0]],["string",3]],[[]],[[["",0],["str",0]],["string",3]],[[]],null,[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],null,[[]],[[]],[[]],[[]],null,null,null,[[["captchastats",3],["captcha",3],["vec",3,[["level",3]]],["string",3]]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[]],[[["",0],["option",4,[["str",0]]]],["string",3]],[[]],null,[[]],[[],["routes",3]],null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[]],[[["",0]],["string",3]],null,[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,[[]],[[]],[[]],[[["serviceconfig",3]]],null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,null,[[["config",3]]],[[["",0]],["server",3]],[[["",0]],["captcha",3]],[[["",0]],["defaultdifficultystrategy",3]],[[["",0]],["smtp",3]],[[["",0]],["dbtype",4]],[[["",0]],["database",3]],[[["",0]],["redis",3]],[[["",0]],["settings",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],null,null,null,null,null,null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],null,null,null,[[["",0],["dbtype",4]],["bool",0]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[["url",3]],["result",4,[["configerror",4]]]],null,[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,[[],["result",4,[["configerror",4]]]],null,null,null,null,null,null,null,null,null,null,[[["",0]],["result",4]],null,[[["config",3]]],null,null,[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]],["string",3]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],null,null,null,null,null,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,[[["serviceconfig",3]]],null,null,[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[["",0],["str",0]],["option",4,[["str",0]]]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[]],null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],null,[[]],[[]],[[]],[[]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["option",4,[["embeddedfile",3]]]],[[["str",0]],["httpresponse",3]],[[["str",0]],["httpresponse",3]],[[]],[[]],[[]],[[]],[[]],[[],["filenames",4]],[[],["filenames",4]],[[]],[[["appservice",3]]],[[["appservice",3]]],null,[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[["",0]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["captchastats",3]],[[["",0]],["real",3]],[[["",0]],["dummy",3]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0],["",0]]],[[["",0]],["box",3,[["stats",8]]]],null,null,[[],["captchastats",3]],[[],["real",3]],[[],["dummy",3]],[[],["result",4]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["real",3]],["bool",0]],[[["",0],["dummy",3]],["bool",0]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[["",0],["formatter",3]],["result",6]],[[]],[[]],[[]],[[]],[[]],[[]],[[["",0],["captchastats",3]],["bool",0]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0],["data",3],["str",0]],["pin",3,[["box",3,[["future",8]]]]]],[[["",0]],["result",4]],null,[[["",0]]],[[["",0]]],[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,null,null,null,null,[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["",0]],[[["",0]],["indexpage",3]],[[["",0],["",0]]],[[["",0]],["string",3]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[["appservice",3]]],[[],["renderresult",6]],[[["buffer",3]],["result",4,[["rendererror",4]]]],null,[[["serviceconfig",3]]],null,[[["",0]]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[["",0]],["typeid",3]],[[]],[[]],[[]],null,[[["",0]],["",0]],[[["",0]],["",0]],[[]],[[]],[[]],[[],["result",4]],[[],["result",4]],[[["",0]],["typeid",3]],null,[[]]],"p":[[3,"KEY"],[3,"GITHUB"],[3,"HOME"],[3,"SETTINGS_ICON"],[3,"CREDIT_CARD"],[3,"HELP_CIRCLE"],[3,"MESSAGE"],[3,"DOCS_ICON"],[3,"MCAPTCHA_TRANS_ICON"],[3,"BAR_CHART"],[3,"SETTINGS"],[3,"FILES"],[3,"JS"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"Settings"],[3,"Data"],[3,"RedirectQuery"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"delete_account"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"UpdatePassword"],[3,"ChangePasswordReqest"],[3,"update_user_password"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"username_exists"],[3,"Username"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[3,"Register"],[3,"Login"],[3,"Password"],[3,"CreateCaptcha"],[3,"MCaptchaDetails"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPatternRequest"],[3,"create"],[3,"UpdateTrafficPattern"],[3,"update"],[3,"Easy"],[3,"get_captcha"],[3,"Levels"],[3,"I32Levels"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"update_key"],[3,"UpdateCaptcha"],[3,"update_captcha"],[4,"BuildDetailsBuilderError"],[4,"HealthBuilderError"],[3,"BuildDetails"],[3,"BuildDetailsBuilder"],[3,"build_details"],[3,"Health"],[3,"HealthBuilder"],[3,"health"],[13,"UninitializedField"],[13,"ValidationError"],[13,"UninitializedField"],[13,"ValidationError"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"VerifyCaptchaResultPayload"],[3,"validate_captcha_token"],[3,"Routes"],[4,"SystemGroup"],[13,"Embedded"],[13,"Redis"],[3,"Date"],[3,"DemoUser"],[3,"Asset"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"ServiceError"],[4,"PageError"],[3,"ErrorToResponse"],[13,"ServiceError"],[13,"UnableToSendEmail"],[13,"CaptchaError"],[13,"DBError"],[3,"INDEX"],[3,"IndexPage"],[3,"login"],[3,"INDEX"],[3,"IndexPage"],[3,"join"],[3,"Auth"],[3,"SudoPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"ErrorPage"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"EasyIndexPage"],[3,"AdvanceIndexPage"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"advance"],[3,"EasyEditPage"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"view_sitekey"],[3,"Routes"],[3,"INDEX"],[3,"IndexPage"],[3,"sitemap"],[4,"DBType"],[3,"DefaultDifficultyStrategy"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[3,"Database"],[3,"Redis"],[3,"FileMap"],[3,"Asset"],[3,"static_files"],[3,"Favicons"],[3,"favicons"],[3,"CaptchaStats"],[3,"Real"],[3,"Dummy"],[8,"CloneStats"],[8,"Stats"],[3,"INDEX_PAGE"],[3,"IndexPage"],[3,"show_widget"],[3,"Widget"]]}\ }'); if (window.initSearch) {window.initSearch(searchIndex)}; \ No newline at end of file diff --git a/source-files.js b/source-files.js index 6f8adaf8..52bb1136 100644 --- a/source-files.js +++ b/source-files.js @@ -1,5 +1,6 @@ var sourcesIndex = {}; sourcesIndex["db_core"] = {"name":"","files":["errors.rs","lib.rs","ops.rs","tests.rs"]}; +sourcesIndex["db_sqlx_maria"] = {"name":"","files":["errors.rs","lib.rs"]}; sourcesIndex["db_sqlx_postgres"] = {"name":"","files":["errors.rs","lib.rs"]}; -sourcesIndex["mcaptcha"] = {"name":"","dirs":[{"name":"api","dirs":[{"name":"v1","dirs":[{"name":"account","files":["delete.rs","email.rs","mod.rs","password.rs","secret.rs","username.rs"]},{"name":"mcaptcha","files":["create.rs","delete.rs","easy.rs","get.rs","mod.rs","stats.rs","update.rs"]},{"name":"notifications","files":["add.rs","get.rs","mark_read.rs","mod.rs"]},{"name":"pow","files":["get_config.rs","mod.rs","verify_pow.rs","verify_token.rs"]}],"files":["auth.rs","meta.rs","mod.rs","routes.rs"]}],"files":["mod.rs"]},{"name":"email","files":["mod.rs","verification.rs"]},{"name":"pages","dirs":[{"name":"auth","files":["login.rs","mod.rs","register.rs","sudo.rs"]},{"name":"panel","dirs":[{"name":"sitekey","files":["add.rs","delete.rs","edit.rs","list.rs","mod.rs","view.rs"]}],"files":["mod.rs","notifications.rs","settings.rs"]}],"files":["errors.rs","mod.rs","routes.rs","sitemap.rs"]},{"name":"static_assets","files":["filemap.rs","mod.rs","static_files.rs"]},{"name":"widget","files":["mod.rs"]}],"files":["data.rs","date.rs","demo.rs","docs.rs","errors.rs","main.rs","routes.rs","settings.rs","stats.rs"]}; +sourcesIndex["mcaptcha"] = {"name":"","dirs":[{"name":"api","dirs":[{"name":"v1","dirs":[{"name":"account","files":["delete.rs","email.rs","mod.rs","password.rs","secret.rs","username.rs"]},{"name":"mcaptcha","files":["create.rs","delete.rs","easy.rs","get.rs","mod.rs","stats.rs","update.rs"]},{"name":"notifications","files":["add.rs","get.rs","mark_read.rs","mod.rs"]},{"name":"pow","files":["get_config.rs","mod.rs","verify_pow.rs","verify_token.rs"]}],"files":["auth.rs","meta.rs","mod.rs","routes.rs"]}],"files":["mod.rs"]},{"name":"email","files":["mod.rs","verification.rs"]},{"name":"pages","dirs":[{"name":"auth","files":["login.rs","mod.rs","register.rs","sudo.rs"]},{"name":"panel","dirs":[{"name":"sitekey","files":["add.rs","delete.rs","edit.rs","list.rs","mod.rs","view.rs"]}],"files":["mod.rs","notifications.rs","settings.rs"]}],"files":["errors.rs","mod.rs","routes.rs","sitemap.rs"]},{"name":"static_assets","files":["filemap.rs","mod.rs","static_files.rs"]},{"name":"widget","files":["mod.rs"]}],"files":["data.rs","date.rs","db.rs","demo.rs","docs.rs","errors.rs","main.rs","routes.rs","settings.rs","stats.rs"]}; createSourceSidebar(); diff --git a/src/db_core/tests.rs.html b/src/db_core/tests.rs.html index 82672074..7b9dffdc 100644 --- a/src/db_core/tests.rs.html +++ b/src/db_core/tests.rs.html @@ -291,6 +291,16 @@ 286 287 288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -321,6 +331,7 @@
     an: &AddNotification<'a>,
 ) {
     assert!(db.ping().await, "ping test");
+
     if db.username_exists(p.username).await.unwrap() {
         db.delete_user(p.username).await.unwrap();
         assert!(
@@ -328,14 +339,23 @@
             "user is deleted so username shouldn't exsit"
         );
     }
+
+    assert!(matches!(
+        db.get_secret(&p.username).await,
+        Err(DBError::AccountNotFound)
+    ));
+
     db.register(p).await.unwrap();
 
+    assert!(matches!(db.register(&p).await, Err(DBError::UsernameTaken)));
+
     // testing get secret
     let secret = db.get_secret(p.username).await.unwrap();
     assert_eq!(secret.secret, p.secret, "user secret matches");
 
     // testing update secret: setting secret = username
     db.update_secret(p.username, p.username).await.unwrap();
+
     let secret = db.get_secret(p.username).await.unwrap();
     assert_eq!(
         secret.secret, p.username,
diff --git a/src/db_sqlx_maria/errors.rs.html b/src/db_sqlx_maria/errors.rs.html
new file mode 100644
index 00000000..5f0b52e9
--- /dev/null
+++ b/src/db_sqlx_maria/errors.rs.html
@@ -0,0 +1,118 @@
+errors.rs - source
+    
+    
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+
/*
+ * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+
+//! Error-handling utilities
+use std::borrow::Cow;
+
+use db_core::dev::*;
+use sqlx::Error;
+
+/// map custom row not found error to DB error
+pub fn map_row_not_found_err(e: Error, row_not_found: DBError) -> DBError {
+    if let Error::RowNotFound = e {
+        row_not_found
+    } else {
+        map_register_err(e)
+    }
+}
+
+/// map postgres errors to [DBError](DBError) types
+pub fn map_register_err(e: Error) -> DBError {
+    if let Error::Database(err) = e {
+        if err.code() == Some(Cow::from("23000")) {
+            let msg = err.message();
+            if msg.contains("for key 'name'") {
+                DBError::UsernameTaken
+            } else if msg.contains("for key 'email'") {
+                DBError::EmailTaken
+            } else if msg.contains("for key 'secret'") {
+                DBError::SecretTaken
+            } else if msg.contains("for key 'captcha_key'") {
+                DBError::CaptchaKeyTaken
+            } else {
+                DBError::DBError(Box::new(Error::Database(err)))
+            }
+        } else {
+            DBError::DBError(Box::new(Error::Database(err)))
+        }
+    } else {
+        DBError::DBError(Box::new(e))
+    }
+}
+
+
+ \ No newline at end of file diff --git a/src/db_sqlx_maria/lib.rs.html b/src/db_sqlx_maria/lib.rs.html new file mode 100644 index 00000000..8437d690 --- /dev/null +++ b/src/db_sqlx_maria/lib.rs.html @@ -0,0 +1,1938 @@ +lib.rs - source + +
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500
+501
+502
+503
+504
+505
+506
+507
+508
+509
+510
+511
+512
+513
+514
+515
+516
+517
+518
+519
+520
+521
+522
+523
+524
+525
+526
+527
+528
+529
+530
+531
+532
+533
+534
+535
+536
+537
+538
+539
+540
+541
+542
+543
+544
+545
+546
+547
+548
+549
+550
+551
+552
+553
+554
+555
+556
+557
+558
+559
+560
+561
+562
+563
+564
+565
+566
+567
+568
+569
+570
+571
+572
+573
+574
+575
+576
+577
+578
+579
+580
+581
+582
+583
+584
+585
+586
+587
+588
+589
+590
+591
+592
+593
+594
+595
+596
+597
+598
+599
+600
+601
+602
+603
+604
+605
+606
+607
+608
+609
+610
+611
+612
+613
+614
+615
+616
+617
+618
+619
+620
+621
+622
+623
+624
+625
+626
+627
+628
+629
+630
+631
+632
+633
+634
+635
+636
+637
+638
+639
+640
+641
+642
+643
+644
+645
+646
+647
+648
+649
+650
+651
+652
+653
+654
+655
+656
+657
+658
+659
+660
+661
+662
+663
+664
+665
+666
+667
+668
+669
+670
+671
+672
+673
+674
+675
+676
+677
+678
+679
+680
+681
+682
+683
+684
+685
+686
+687
+688
+689
+690
+691
+692
+693
+694
+695
+696
+697
+698
+699
+700
+701
+702
+703
+704
+705
+706
+707
+708
+709
+710
+711
+712
+713
+714
+715
+716
+717
+718
+719
+720
+721
+722
+723
+724
+725
+726
+727
+728
+729
+730
+731
+732
+733
+734
+735
+736
+737
+738
+739
+740
+741
+742
+743
+744
+745
+746
+747
+748
+749
+750
+751
+752
+753
+754
+755
+756
+757
+758
+759
+760
+761
+762
+763
+764
+765
+766
+767
+768
+769
+770
+771
+772
+773
+774
+775
+776
+777
+778
+779
+780
+781
+782
+783
+784
+785
+786
+787
+788
+789
+790
+791
+792
+793
+794
+795
+796
+797
+798
+799
+800
+801
+802
+803
+804
+805
+806
+807
+808
+809
+810
+811
+812
+813
+814
+815
+816
+817
+818
+819
+820
+821
+822
+823
+824
+825
+826
+827
+828
+829
+830
+831
+832
+833
+834
+835
+836
+837
+838
+839
+840
+841
+842
+843
+844
+845
+846
+847
+848
+849
+850
+851
+852
+853
+854
+855
+856
+857
+858
+859
+860
+861
+862
+863
+864
+865
+866
+867
+868
+869
+870
+871
+872
+873
+874
+875
+876
+877
+878
+879
+880
+881
+882
+883
+884
+885
+886
+887
+888
+889
+890
+891
+892
+893
+894
+895
+896
+897
+898
+899
+900
+901
+902
+903
+904
+905
+906
+907
+908
+909
+910
+911
+912
+913
+914
+915
+916
+917
+918
+919
+920
+921
+922
+923
+924
+925
+926
+927
+928
+929
+930
+931
+932
+933
+934
+935
+936
+937
+938
+939
+940
+941
+942
+943
+944
+945
+946
+947
+948
+949
+950
+951
+952
+953
+954
+955
+956
+957
+958
+959
+960
+961
+962
+963
+964
+965
+
/*
+ * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+use std::str::FromStr;
+
+use db_core::dev::*;
+
+use sqlx::mysql::MySqlPoolOptions;
+use sqlx::types::time::OffsetDateTime;
+use sqlx::ConnectOptions;
+use sqlx::MySqlPool;
+
+pub mod errors;
+#[cfg(test)]
+pub mod tests;
+
+#[derive(Clone)]
+pub struct Database {
+    pub pool: MySqlPool,
+}
+
+/// Use an existing database pool
+pub struct Conn(pub MySqlPool);
+
+/// Connect to databse
+pub enum ConnectionOptions {
+    /// fresh connection
+    Fresh(Fresh),
+    /// existing connection
+    Existing(Conn),
+}
+
+pub struct Fresh {
+    pub pool_options: MySqlPoolOptions,
+    pub disable_logging: bool,
+    pub url: String,
+}
+
+pub mod dev {
+    pub use super::errors::*;
+    pub use super::Database;
+    pub use db_core::dev::*;
+    pub use prelude::*;
+    pub use sqlx::Error;
+}
+
+pub mod prelude {
+    pub use super::*;
+    pub use db_core::prelude::*;
+}
+
+#[async_trait]
+impl Connect for ConnectionOptions {
+    type Pool = Database;
+    async fn connect(self) -> DBResult<Self::Pool> {
+        let pool = match self {
+            Self::Fresh(fresh) => {
+                let mut connect_options =
+                    sqlx::mysql::MySqlConnectOptions::from_str(&fresh.url).unwrap();
+                if fresh.disable_logging {
+                    connect_options.disable_statement_logging();
+                }
+                sqlx::mysql::MySqlConnectOptions::from_str(&fresh.url)
+                    .unwrap()
+                    .disable_statement_logging();
+                fresh
+                    .pool_options
+                    .connect_with(connect_options)
+                    .await
+                    .map_err(|e| DBError::DBError(Box::new(e)))?
+            }
+
+            Self::Existing(conn) => conn.0,
+        };
+        Ok(Database { pool })
+    }
+}
+
+use dev::*;
+
+#[async_trait]
+impl Migrate for Database {
+    async fn migrate(&self) -> DBResult<()> {
+        sqlx::migrate!("./migrations/")
+            .run(&self.pool)
+            .await
+            .map_err(|e| DBError::DBError(Box::new(e)))?;
+        Ok(())
+    }
+}
+
+#[async_trait]
+impl MCDatabase for Database {
+    /// ping DB
+    async fn ping(&self) -> bool {
+        use sqlx::Connection;
+
+        if let Ok(mut con) = self.pool.acquire().await {
+            con.ping().await.is_ok()
+        } else {
+            false
+        }
+    }
+
+    /// register a new user
+    async fn register(&self, p: &Register) -> DBResult<()> {
+        let res = if let Some(email) = &p.email {
+            sqlx::query!(
+                "insert into mcaptcha_users 
+        (name , password, email, secret) values (?, ?, ?, ?)",
+                &p.username,
+                &p.hash,
+                &email,
+                &p.secret,
+            )
+            .execute(&self.pool)
+            .await
+        } else {
+            sqlx::query!(
+                "INSERT INTO mcaptcha_users 
+        (name , password,  secret) VALUES (?, ?, ?)",
+                &p.username,
+                &p.hash,
+                &p.secret,
+            )
+            .execute(&self.pool)
+            .await
+        };
+        res.map_err(map_register_err)?;
+        Ok(())
+    }
+
+    /// delete a user
+    async fn delete_user(&self, username: &str) -> DBResult<()> {
+        sqlx::query!("DELETE FROM mcaptcha_users WHERE name = (?)", username)
+            .execute(&self.pool)
+            .await
+            .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+        Ok(())
+    }
+
+    /// check if username exists
+    async fn username_exists(&self, username: &str) -> DBResult<bool> {
+        match sqlx::query!("SELECT name from mcaptcha_users WHERE name = ?", username,)
+            .fetch_one(&self.pool)
+            .await
+        {
+            Ok(_) => Ok(true),
+            Err(sqlx::Error::RowNotFound) => Ok(false),
+            Err(e) => Err(map_register_err(e)),
+        }
+    }
+
+    /// get user email
+    async fn get_email(&self, username: &str) -> DBResult<Option<String>> {
+        struct Email {
+            email: Option<String>,
+        }
+
+        let res = sqlx::query_as!(
+            Email,
+            "SELECT email FROM mcaptcha_users WHERE name = ?",
+            username
+        )
+        .fetch_one(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+        Ok(res.email)
+    }
+
+    /// check if email exists
+    async fn email_exists(&self, email: &str) -> DBResult<bool> {
+        match sqlx::query!("SELECT name from mcaptcha_users WHERE email = ?", email)
+            .fetch_one(&self.pool)
+            .await
+        {
+            Ok(_) => Ok(true),
+            Err(sqlx::Error::RowNotFound) => Ok(false),
+            Err(e) => Err(map_register_err(e)),
+        }
+    }
+
+    /// update a user's email
+    async fn update_email(&self, p: &UpdateEmail) -> DBResult<()> {
+        sqlx::query!(
+            "UPDATE mcaptcha_users set email = ?
+            WHERE name = ?",
+            &p.new_email,
+            &p.username,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        Ok(())
+    }
+
+    /// get a user's password
+    async fn get_password(&self, l: &Login) -> DBResult<NameHash> {
+        struct Password {
+            name: String,
+            password: String,
+        }
+
+        let rec = match l {
+            Login::Username(u) => sqlx::query_as!(
+                Password,
+                r#"SELECT name, password  FROM mcaptcha_users WHERE name = ?"#,
+                u,
+            )
+            .fetch_one(&self.pool)
+            .await
+            .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?,
+
+            Login::Email(e) => sqlx::query_as!(
+                Password,
+                r#"SELECT name, password  FROM mcaptcha_users WHERE email = ?"#,
+                e,
+            )
+            .fetch_one(&self.pool)
+            .await
+            .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?,
+        };
+
+        let res = NameHash {
+            hash: rec.password,
+            username: rec.name,
+        };
+
+        Ok(res)
+    }
+
+    /// update user's password
+    async fn update_password(&self, p: &NameHash) -> DBResult<()> {
+        sqlx::query!(
+            "UPDATE mcaptcha_users set password = ?
+            WHERE name = ?",
+            &p.hash,
+            &p.username,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        Ok(())
+    }
+
+    /// update username
+    async fn update_username(&self, current: &str, new: &str) -> DBResult<()> {
+        sqlx::query!(
+            "UPDATE mcaptcha_users set name = ?
+            WHERE name = ?",
+            new,
+            current,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        Ok(())
+    }
+
+    /// get a user's secret
+    async fn get_secret(&self, username: &str) -> DBResult<Secret> {
+        let secret = sqlx::query_as!(
+            Secret,
+            r#"SELECT secret  FROM mcaptcha_users WHERE name = ?"#,
+            username,
+        )
+        .fetch_one(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        Ok(secret)
+    }
+
+    /// get a user's secret from a captcha key
+    async fn get_secret_from_captcha(&self, key: &str) -> DBResult<Secret> {
+        let secret = sqlx::query_as!(
+            Secret,
+            r#"SELECT secret  FROM mcaptcha_users WHERE ID = (
+                    SELECT user_id FROM mcaptcha_config WHERE captcha_key = ?
+                    )"#,
+            key,
+        )
+        .fetch_one(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        Ok(secret)
+    }
+
+    /// update a user's secret
+    async fn update_secret(&self, username: &str, secret: &str) -> DBResult<()> {
+        sqlx::query!(
+            "UPDATE mcaptcha_users set secret = ?
+        WHERE name = ?",
+            &secret,
+            &username,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        Ok(())
+    }
+
+    /// create new captcha
+    async fn create_captcha(&self, username: &str, p: &CreateCaptcha) -> DBResult<()> {
+        sqlx::query!(
+            "INSERT INTO mcaptcha_config
+        (`captcha_key`, `user_id`, `duration`, `name`)
+        VALUES (?, (SELECT ID FROM mcaptcha_users WHERE name = ?), ?, ?)",
+            p.key,
+            username,
+            p.duration as i32,
+            p.description,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        Ok(())
+    }
+
+    /// Get captcha config
+    async fn get_captcha_config(&self, username: &str, key: &str) -> DBResult<Captcha> {
+        let captcha = sqlx::query_as!(
+            InternaleCaptchaConfig,
+            "SELECT `config_id`, `duration`, `name`, `captcha_key` from mcaptcha_config WHERE
+                        `captcha_key` = ? AND
+                        user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?) ",
+            &key,
+            &username,
+        )
+        .fetch_one(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(captcha.into())
+    }
+
+    /// Get all captchas belonging to user
+    async fn get_all_user_captchas(&self, username: &str) -> DBResult<Vec<Captcha>> {
+        let mut res = sqlx::query_as!(
+            InternaleCaptchaConfig,
+            "SELECT captcha_key, name, config_id, duration FROM mcaptcha_config WHERE
+            user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?) ",
+            &username,
+        )
+        .fetch_all(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        let mut captchas = Vec::with_capacity(res.len());
+
+        res.drain(0..).for_each(|r| captchas.push(r.into()));
+
+        Ok(captchas)
+    }
+
+    /// update captcha metadata; doesn't change captcha key
+    async fn update_captcha_metadata(
+        &self,
+        username: &str,
+        p: &CreateCaptcha,
+    ) -> DBResult<()> {
+        sqlx::query!(
+            "UPDATE mcaptcha_config SET name = ?, duration = ?
+            WHERE user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)
+            AND captcha_key = ?",
+            p.description,
+            p.duration,
+            username,
+            p.key,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(())
+    }
+
+    /// update captcha key; doesn't change metadata
+    async fn update_captcha_key(
+        &self,
+        username: &str,
+        old_key: &str,
+        new_key: &str,
+    ) -> DBResult<()> {
+        sqlx::query!(
+            "UPDATE mcaptcha_config SET captcha_key = ? 
+        WHERE captcha_key = ? AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
+            new_key,
+            old_key,
+            username,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(())
+    }
+
+    /// Add levels to captcha
+    async fn add_captcha_levels(
+        &self,
+        username: &str,
+        captcha_key: &str,
+        levels: &[Level],
+    ) -> DBResult<()> {
+        use futures::future::try_join_all;
+        let mut futs = Vec::with_capacity(levels.len());
+
+        for level in levels.iter() {
+            let difficulty_factor = level.difficulty_factor as i32;
+            let visitor_threshold = level.visitor_threshold as i32;
+            let fut = sqlx::query!(
+                "INSERT INTO mcaptcha_levels (
+            difficulty_factor, 
+            visitor_threshold,
+            config_id) VALUES  (
+            ?, ?, (
+                SELECT config_id FROM mcaptcha_config WHERE
+                captcha_key = (?) AND user_id = (
+                SELECT ID FROM mcaptcha_users WHERE name = ?
+                    )));",
+                difficulty_factor,
+                visitor_threshold,
+                &captcha_key,
+                username,
+            )
+            .execute(&self.pool);
+            futs.push(fut);
+        }
+
+        try_join_all(futs)
+            .await
+            .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(())
+    }
+
+    /// check if captcha exists
+    async fn captcha_exists(
+        &self,
+        username: Option<&str>,
+        captcha_key: &str,
+    ) -> DBResult<bool> {
+        //        let mut exists = false;
+
+        #[allow(dead_code)]
+        struct ConfigId {
+            config_id: i32,
+        }
+        let res = match username {
+            Some(username) => {
+                sqlx::query_as!(
+                    ConfigId,
+                    "SELECT config_id FROM mcaptcha_config
+                        WHERE
+                            captcha_key = ? 
+                        AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
+                    captcha_key,
+                    username
+                )
+                .fetch_one(&self.pool)
+                .await
+                //                if let Some(x) = x.exists {
+                //                    exists = x;
+                //                };
+            }
+
+            None => {
+                sqlx::query_as!(
+                    ConfigId,
+                    "SELECT config_id from mcaptcha_config WHERE captcha_key = ?",
+                    &captcha_key,
+                )
+                .fetch_one(&self.pool)
+                .await
+            } //if let Some(x) = x.exists {
+              //    exists = x;
+              //};
+        };
+        match res {
+            Ok(_) => Ok(true),
+            Err(sqlx::Error::RowNotFound) => Ok(false),
+            Err(e) => Err(map_register_err(e)),
+        }
+    }
+
+    /// Delete all levels of a captcha
+    async fn delete_captcha_levels(
+        &self,
+        username: &str,
+        captcha_key: &str,
+    ) -> DBResult<()> {
+        sqlx::query!(
+            "DELETE FROM mcaptcha_levels 
+        WHERE config_id = (
+            SELECT config_id FROM mcaptcha_config where captcha_key= (?) 
+            AND user_id = (
+            SELECT ID from mcaptcha_users WHERE name = ?
+            )
+            )",
+            captcha_key,
+            username
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(())
+    }
+
+    /// Delete captcha
+    async fn delete_captcha(&self, username: &str, captcha_key: &str) -> DBResult<()> {
+        sqlx::query!(
+            "DELETE FROM mcaptcha_config where captcha_key= (?)
+                AND
+            user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)",
+            captcha_key,
+            username,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(())
+    }
+
+    /// Get captcha levels
+    async fn get_captcha_levels(
+        &self,
+        username: Option<&str>,
+        captcha_key: &str,
+    ) -> DBResult<Vec<Level>> {
+        struct I32Levels {
+            difficulty_factor: i32,
+            visitor_threshold: i32,
+        }
+        let levels = match username {
+            None => sqlx::query_as!(
+                I32Levels,
+                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
+            config_id = (
+                SELECT config_id FROM mcaptcha_config where captcha_key= (?)
+                ) ORDER BY difficulty_factor ASC;",
+                captcha_key,
+            )
+            .fetch_all(&self.pool)
+            .await
+            .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?,
+
+            Some(username) => sqlx::query_as!(
+                I32Levels,
+                "SELECT difficulty_factor, visitor_threshold FROM mcaptcha_levels  WHERE
+            config_id = (
+                SELECT config_id FROM mcaptcha_config where captcha_key= (?)
+                AND user_id = (SELECT ID from mcaptcha_users WHERE name = ?)
+                )
+            ORDER BY difficulty_factor ASC;",
+                captcha_key,
+                username
+            )
+            .fetch_all(&self.pool)
+            .await
+            .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?,
+        };
+
+        let mut new_levels = Vec::with_capacity(levels.len());
+        for l in levels.iter() {
+            new_levels.push(Level {
+                difficulty_factor: l.difficulty_factor as u32,
+                visitor_threshold: l.visitor_threshold as u32,
+            });
+        }
+        Ok(new_levels)
+    }
+
+    /// Get captcha's cooldown period
+    async fn get_captcha_cooldown(&self, captcha_key: &str) -> DBResult<i32> {
+        struct DurationResp {
+            duration: i32,
+        }
+
+        let resp = sqlx::query_as!(
+            DurationResp,
+            "SELECT duration FROM mcaptcha_config  
+            where captcha_key= ?",
+            captcha_key,
+        )
+        .fetch_one(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(resp.duration)
+    }
+    /// Add traffic configuration
+    async fn add_traffic_pattern(
+        &self,
+        username: &str,
+        captcha_key: &str,
+        pattern: &TrafficPattern,
+    ) -> DBResult<()> {
+        sqlx::query!(
+            "INSERT INTO mcaptcha_sitekey_user_provided_avg_traffic (
+            config_id,
+            avg_traffic,
+            peak_sustainable_traffic,
+            broke_my_site_traffic
+            ) VALUES ( 
+             (SELECT config_id FROM mcaptcha_config where captcha_key= (?)
+             AND user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)
+            ), ?, ?, ?)",
+            //payload.avg_traffic,
+            captcha_key,
+            username,
+            pattern.avg_traffic as i32,
+            pattern.peak_sustainable_traffic as i32,
+            pattern.broke_my_site_traffic.as_ref().map(|v| *v as i32),
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+        Ok(())
+    }
+
+    /// Get traffic configuration
+    async fn get_traffic_pattern(
+        &self,
+        username: &str,
+        captcha_key: &str,
+    ) -> DBResult<TrafficPattern> {
+        struct Traffic {
+            peak_sustainable_traffic: i32,
+            avg_traffic: i32,
+            broke_my_site_traffic: Option<i32>,
+        }
+        let res = sqlx::query_as!(
+            Traffic,
+            "SELECT 
+          avg_traffic, 
+          peak_sustainable_traffic, 
+          broke_my_site_traffic 
+        FROM 
+          mcaptcha_sitekey_user_provided_avg_traffic 
+        WHERE 
+          config_id = (
+            SELECT 
+              config_id 
+            FROM 
+              mcaptcha_config 
+            WHERE 
+              captcha_key = ? 
+              AND user_id = (
+                SELECT 
+                  id 
+                FROM 
+                  mcaptcha_users 
+                WHERE 
+                  NAME = ?
+              )
+          )
+        ",
+            captcha_key,
+            username
+        )
+        .fetch_one(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::TrafficPatternNotFound))?;
+        Ok(TrafficPattern {
+            broke_my_site_traffic: res.broke_my_site_traffic.as_ref().map(|v| *v as u32),
+            avg_traffic: res.avg_traffic as u32,
+            peak_sustainable_traffic: res.peak_sustainable_traffic as u32,
+        })
+    }
+
+    /// Delete traffic configuration
+    async fn delete_traffic_pattern(
+        &self,
+        username: &str,
+        captcha_key: &str,
+    ) -> DBResult<()> {
+        sqlx::query!(
+            "DELETE FROM mcaptcha_sitekey_user_provided_avg_traffic
+        WHERE config_id = (
+            SELECT config_id 
+            FROM 
+                mcaptcha_config 
+            WHERE
+                captcha_key = ?
+            AND 
+                user_id = (SELECT ID FROM mcaptcha_users WHERE name = ?)
+            );",
+            captcha_key,
+            username,
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::TrafficPatternNotFound))?;
+        Ok(())
+    }
+
+    /// create new notification
+    async fn create_notification(&self, p: &AddNotification) -> DBResult<()> {
+        let now = now_unix_time_stamp();
+        sqlx::query!(
+            "INSERT INTO mcaptcha_notifications (
+              heading, message, tx, rx, received)
+              VALUES  (
+              ?, ?,
+                  (SELECT ID FROM mcaptcha_users WHERE name = ?),
+                  (SELECT ID FROM mcaptcha_users WHERE name = ?),
+                  ?
+                      );",
+            p.heading,
+            p.message,
+            p.from,
+            p.to,
+            now
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(map_register_err)?;
+
+        Ok(())
+    }
+
+    /// get all unread notifications
+    async fn get_all_unread_notifications(
+        &self,
+        username: &str,
+    ) -> DBResult<Vec<Notification>> {
+        let mut inner_notifications = sqlx::query_file_as!(
+            InnerNotification,
+            "./src/get_all_unread_notifications.sql",
+            &username
+        )
+        .fetch_all(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::AccountNotFound))?;
+
+        let mut notifications = Vec::with_capacity(inner_notifications.len());
+
+        inner_notifications
+            .drain(0..)
+            .for_each(|n| notifications.push(n.into()));
+
+        Ok(notifications)
+    }
+
+    /// mark a notification read
+    async fn mark_notification_read(&self, username: &str, id: i32) -> DBResult<()> {
+        sqlx::query_file_as!(
+            Notification,
+            "./src/mark_notification_read.sql",
+            id,
+            &username
+        )
+        .execute(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::NotificationNotFound))?;
+
+        Ok(())
+    }
+
+    /// record PoWConfig fetches
+    async fn record_fetch(&self, key: &str) -> DBResult<()> {
+        let now = now_unix_time_stamp();
+        let _ = sqlx::query!(
+        "INSERT INTO mcaptcha_pow_fetched_stats 
+        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
+        key,
+        &now,
+    )
+    .execute(&self.pool)
+    .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+        Ok(())
+    }
+
+    /// record PoWConfig solves
+    async fn record_solve(&self, key: &str) -> DBResult<()> {
+        let now = OffsetDateTime::now_utc();
+        let _ = sqlx::query!(
+        "INSERT INTO mcaptcha_pow_solved_stats 
+        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
+        key,
+        &now,
+    )
+    .execute(&self.pool)
+    .await
+    .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+        Ok(())
+    }
+
+    /// record PoWConfig confirms
+    async fn record_confirm(&self, key: &str) -> DBResult<()> {
+        let now = now_unix_time_stamp();
+        let _ = sqlx::query!(
+        "INSERT INTO mcaptcha_pow_confirmed_stats 
+        (config_id, time) VALUES ((SELECT config_id FROM mcaptcha_config where captcha_key= ?), ?)",
+        key,
+        &now
+    )
+    .execute(&self.pool)
+    .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+        Ok(())
+    }
+
+    /// featch PoWConfig fetches
+    async fn fetch_config_fetched(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
+        let records = sqlx::query_as!(
+            Date,
+            "SELECT time FROM mcaptcha_pow_fetched_stats
+            WHERE 
+                config_id = (
+                    SELECT 
+                        config_id FROM mcaptcha_config 
+                    WHERE 
+                        captcha_key = ?
+                    AND
+                        user_id = (
+                        SELECT 
+                            ID FROM mcaptcha_users WHERE name = ?))
+                ORDER BY time DESC",
+            &key,
+            &user,
+        )
+        .fetch_all(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(Date::dates_to_unix(records))
+    }
+
+    /// featch PoWConfig solves
+    async fn fetch_solve(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
+        let records = sqlx::query_as!(
+            Date,
+            "SELECT time FROM mcaptcha_pow_solved_stats 
+            WHERE config_id = (
+                SELECT config_id FROM mcaptcha_config 
+                WHERE 
+                    captcha_key = ?
+                AND
+                     user_id = (
+                        SELECT 
+                            ID FROM mcaptcha_users WHERE name = ?)) 
+                ORDER BY time DESC",
+            &key,
+            &user
+        )
+        .fetch_all(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(Date::dates_to_unix(records))
+    }
+
+    /// featch PoWConfig confirms
+    async fn fetch_confirm(&self, user: &str, key: &str) -> DBResult<Vec<i64>> {
+        let records = sqlx::query_as!(
+            Date,
+            "SELECT time FROM mcaptcha_pow_confirmed_stats 
+            WHERE 
+                config_id = (
+                    SELECT config_id FROM mcaptcha_config 
+                WHERE 
+                    captcha_key = ?
+                AND
+                     user_id = (
+                        SELECT 
+                            ID FROM mcaptcha_users WHERE name = ?))
+                ORDER BY time DESC",
+            &key,
+            &user
+        )
+        .fetch_all(&self.pool)
+        .await
+        .map_err(|e| map_row_not_found_err(e, DBError::CaptchaNotFound))?;
+
+        Ok(Date::dates_to_unix(records))
+    }
+}
+
+#[derive(Clone)]
+struct Date {
+    time: OffsetDateTime,
+}
+
+impl Date {
+    fn dates_to_unix(mut d: Vec<Self>) -> Vec<i64> {
+        let mut dates = Vec::with_capacity(d.len());
+        d.drain(0..)
+            .for_each(|x| dates.push(x.time.unix_timestamp()));
+        dates
+    }
+}
+
+fn now_unix_time_stamp() -> OffsetDateTime {
+    OffsetDateTime::now_utc()
+}
+
+#[derive(Debug, Clone, PartialEq)]
+/// Represents notification
+pub struct InnerNotification {
+    /// receiver name  of the notification
+    pub name: String,
+    /// heading of the notification
+    pub heading: String,
+    /// message of the notification
+    pub message: String,
+    /// when notification was received
+    pub received: OffsetDateTime,
+    /// db assigned ID of the notification
+    pub id: i32,
+}
+
+impl From<InnerNotification> for Notification {
+    fn from(n: InnerNotification) -> Self {
+        Notification {
+            name: Some(n.name),
+            heading: Some(n.heading),
+            message: Some(n.message),
+            received: Some(n.received.unix_timestamp()),
+            id: Some(n.id),
+        }
+    }
+}
+
+#[derive(Clone)]
+struct InternaleCaptchaConfig {
+    config_id: i32,
+    duration: i32,
+    name: String,
+    captcha_key: String,
+}
+
+impl From<InternaleCaptchaConfig> for Captcha {
+    fn from(i: InternaleCaptchaConfig) -> Self {
+        Self {
+            config_id: i.config_id,
+            duration: i.duration,
+            description: i.name,
+            key: i.captcha_key,
+        }
+    }
+}
+
+
+ \ No newline at end of file diff --git a/src/mcaptcha/api/v1/account/password.rs.html b/src/mcaptcha/api/v1/account/password.rs.html index 83262a00..0c7cf006 100644 --- a/src/mcaptcha/api/v1/account/password.rs.html +++ b/src/mcaptcha/api/v1/account/password.rs.html @@ -195,6 +195,16 @@ 190 191 192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -303,12 +313,22 @@
     use crate::tests::*;
 
     #[actix_rt::test]
-    pub async fn update_password_works() {
+    async fn update_password_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        update_password_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn update_password_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        update_password_works(data).await;
+    }
+
+    pub async fn update_password_works(data: ArcData) {
         const NAME: &str = "updatepassuser";
         const PASSWORD: &str = "longpassword2";
         const EMAIL: &str = "updatepassuser@a.com";
 
-        let data = get_data().await;
         let data = &data;
 
         delete_user(data, NAME).await;
diff --git a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html
index aec901ff..c579be8a 100644
--- a/src/mcaptcha/api/v1/mcaptcha/easy.rs.html
+++ b/src/mcaptcha/api/v1/mcaptcha/easy.rs.html
@@ -391,6 +391,16 @@
 386
 387
 388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -656,11 +666,21 @@
     }
 
     #[actix_rt::test]
-    pub async fn easy_works() {
+    async fn easy_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        easy_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn easy_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        easy_works(data).await;
+    }
+
+    pub async fn easy_works(data: ArcData) {
         const NAME: &str = "defaultuserconfgworks";
         const PASSWORD: &str = "longpassworddomain";
         const EMAIL: &str = "defaultuserconfgworks@a.com";
-        let data = crate::tests::get_data().await;
         let data = &data;
 
         delete_user(data, NAME).await;
diff --git a/src/mcaptcha/api/v1/mcaptcha/update.rs.html b/src/mcaptcha/api/v1/mcaptcha/update.rs.html
index ac52d000..656a5ad8 100644
--- a/src/mcaptcha/api/v1/mcaptcha/update.rs.html
+++ b/src/mcaptcha/api/v1/mcaptcha/update.rs.html
@@ -210,6 +210,16 @@
 205
 206
 207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -367,11 +377,21 @@
     use crate::*;
 
     #[actix_rt::test]
-    async fn update_and_get_mcaptcha_works() {
+    async fn update_and_get_mcaptcha_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        update_and_get_mcaptcha_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn update_and_get_mcaptcha_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        update_and_get_mcaptcha_works(data).await;
+    }
+
+    async fn update_and_get_mcaptcha_works(data: ArcData) {
         const NAME: &str = "updateusermcaptcha";
         const PASSWORD: &str = "longpassworddomain";
         const EMAIL: &str = "testupdateusermcaptcha@a.com";
-        let data = get_data().await;
         let data = &data;
         delete_user(data, NAME).await;
 
diff --git a/src/mcaptcha/api/v1/meta.rs.html b/src/mcaptcha/api/v1/meta.rs.html
index fce7dd33..6da62395 100644
--- a/src/mcaptcha/api/v1/meta.rs.html
+++ b/src/mcaptcha/api/v1/meta.rs.html
@@ -146,6 +146,16 @@
 141
 142
 143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -269,9 +279,19 @@
     }
 
     #[actix_rt::test]
-    pub async fn health_works() {
+    async fn health_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        health_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn health_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        health_works(data).await;
+    }
+
+    pub async fn health_works(data: ArcData) {
         println!("{}", V1_API_ROUTES.meta.health);
-        let data = crate::tests::get_data().await;
         let data = &data;
         let app = get_app!(data).await;
 
diff --git a/src/mcaptcha/api/v1/notifications/add.rs.html b/src/mcaptcha/api/v1/notifications/add.rs.html
index e61bce08..30864e96 100644
--- a/src/mcaptcha/api/v1/notifications/add.rs.html
+++ b/src/mcaptcha/api/v1/notifications/add.rs.html
@@ -106,6 +106,16 @@
 101
 102
 103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -174,14 +184,24 @@
     use crate::*;
 
     #[actix_rt::test]
-    pub async fn notification_works() {
+    async fn notification_works_pg() {
+        let data = pg::get_data().await;
+        notification_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn notification_works_maria() {
+        let data = maria::get_data().await;
+        notification_works(data).await;
+    }
+
+    pub async fn notification_works(data: ArcData) {
         const NAME1: &str = "notifuser1";
         const NAME2: &str = "notiuser2";
         const PASSWORD: &str = "longpassworddomain";
         const EMAIL1: &str = "testnotification1@a.com";
         const EMAIL2: &str = "testnotification2@a.com";
 
-        let data = get_data().await;
         let data = &data;
 
         delete_user(data, NAME1).await;
diff --git a/src/mcaptcha/api/v1/notifications/get.rs.html b/src/mcaptcha/api/v1/notifications/get.rs.html
index ec233b7a..b9db4452 100644
--- a/src/mcaptcha/api/v1/notifications/get.rs.html
+++ b/src/mcaptcha/api/v1/notifications/get.rs.html
@@ -147,6 +147,16 @@
 142
 143
 144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -235,7 +245,18 @@
     use crate::*;
 
     #[actix_rt::test]
-    pub async fn notification_get_works() {
+    async fn notification_get_works_pg() {
+        let data = pg::get_data().await;
+        notification_get_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn notification_get_works_maria() {
+        let data = maria::get_data().await;
+        notification_get_works(data).await;
+    }
+
+    pub async fn notification_get_works(data: ArcData) {
         const NAME1: &str = "notifuser12";
         const NAME2: &str = "notiuser22";
         const PASSWORD: &str = "longpassworddomain";
@@ -244,7 +265,6 @@
         const HEADING: &str = "testing notifications get";
         const MESSAGE: &str = "testing notifications get message";
 
-        let data = get_data().await;
         let data = &data;
 
         delete_user(data, NAME1).await;
diff --git a/src/mcaptcha/api/v1/notifications/mark_read.rs.html b/src/mcaptcha/api/v1/notifications/mark_read.rs.html
index 53d8323d..45efc8e2 100644
--- a/src/mcaptcha/api/v1/notifications/mark_read.rs.html
+++ b/src/mcaptcha/api/v1/notifications/mark_read.rs.html
@@ -145,6 +145,16 @@
 140
 141
 142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -207,7 +217,18 @@
     use crate::*;
 
     #[actix_rt::test]
-    pub async fn notification_mark_read_works() {
+    async fn notification_mark_read_works_pg() {
+        let data = pg::get_data().await;
+        notification_mark_read_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn notification_mark_read_works_maria() {
+        let data = maria::get_data().await;
+        notification_mark_read_works(data).await;
+    }
+
+    pub async fn notification_mark_read_works(data: ArcData) {
         const NAME1: &str = "notifuser122";
         const NAME2: &str = "notiuser222";
         const PASSWORD: &str = "longpassworddomain";
@@ -215,7 +236,6 @@
         const EMAIL2: &str = "testnotification222@a.com";
         const HEADING: &str = "testing notifications get";
         const MESSAGE: &str = "testing notifications get message";
-        let data = get_data().await;
         let data = &data;
 
         delete_user(data, NAME1).await;
diff --git a/src/mcaptcha/api/v1/pow/get_config.rs.html b/src/mcaptcha/api/v1/pow/get_config.rs.html
index e5480f31..2678bbaa 100644
--- a/src/mcaptcha/api/v1/pow/get_config.rs.html
+++ b/src/mcaptcha/api/v1/pow/get_config.rs.html
@@ -284,6 +284,28 @@
 279
 280
 281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -433,7 +455,18 @@
     use libmcaptcha::pow::PoWConfig;
 
     #[actix_rt::test]
-    pub async fn get_pow_config_works() {
+    async fn get_pow_config_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        get_pow_config_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn get_pow_config_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        get_pow_config_works(data).await;
+    }
+
+    pub async fn get_pow_config_works(data: ArcData) {
         use super::*;
         use crate::tests::*;
         use crate::*;
@@ -443,7 +476,6 @@
         const PASSWORD: &str = "testingpas";
         const EMAIL: &str = "randomuser@a.com";
 
-        let data = get_data().await;
         let data = &data;
 
         delete_user(data, NAME).await;
@@ -472,7 +504,20 @@
     }
 
     #[actix_rt::test]
-    pub async fn pow_difficulty_factor_increases_on_visitor_count_increase() {
+    async fn pow_difficulty_factor_increases_on_visitor_count_increase_pg() {
+        let data = crate::tests::pg::get_data().await;
+        pow_difficulty_factor_increases_on_visitor_count_increase(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn pow_difficulty_factor_increases_on_visitor_count_increase_maria() {
+        let data = crate::tests::maria::get_data().await;
+        pow_difficulty_factor_increases_on_visitor_count_increase(data).await;
+    }
+
+    pub async fn pow_difficulty_factor_increases_on_visitor_count_increase(
+        data: ArcData,
+    ) {
         use super::*;
         use crate::tests::*;
         use crate::*;
@@ -500,7 +545,6 @@
             visitor_threshold: 30,
         };
 
-        let data = get_data().await;
         let data = &data;
         let levels = [L1, L2, L3];
 
diff --git a/src/mcaptcha/api/v1/pow/verify_pow.rs.html b/src/mcaptcha/api/v1/pow/verify_pow.rs.html
index beb2a936..9397ce49 100644
--- a/src/mcaptcha/api/v1/pow/verify_pow.rs.html
+++ b/src/mcaptcha/api/v1/pow/verify_pow.rs.html
@@ -136,6 +136,16 @@
 131
 132
 133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -197,11 +207,21 @@
     use crate::*;
 
     #[actix_rt::test]
-    pub async fn verify_pow_works() {
+    async fn verify_pow_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        verify_pow_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn verify_pow_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        verify_pow_works(data).await;
+    }
+
+    pub async fn verify_pow_works(data: ArcData) {
         const NAME: &str = "powverifyusr";
         const PASSWORD: &str = "testingpas";
         const EMAIL: &str = "verifyuser@a.com";
-        let data = get_data().await;
         let data = &data;
 
         delete_user(data, NAME).await;
diff --git a/src/mcaptcha/api/v1/pow/verify_token.rs.html b/src/mcaptcha/api/v1/pow/verify_token.rs.html
index 378c3550..922755db 100644
--- a/src/mcaptcha/api/v1/pow/verify_token.rs.html
+++ b/src/mcaptcha/api/v1/pow/verify_token.rs.html
@@ -201,6 +201,16 @@
 196
 197
 198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -283,7 +293,18 @@
     use crate::*;
 
     #[actix_rt::test]
-    pub async fn validate_captcha_token_works() {
+    async fn validate_captcha_token_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        validate_captcha_token_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn validate_captcha_token_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        validate_captcha_token_works(data).await;
+    }
+
+    pub async fn validate_captcha_token_works(data: ArcData) {
         const NAME: &str = "enterprisetken";
         const PASSWORD: &str = "testingpas";
         const EMAIL: &str = "verifyuser@enter.com";
@@ -292,7 +313,6 @@
         const VERIFY_TOKEN_URL: &str = "/api/v1/pow/siteverify";
         //        const UPDATE_URL: &str = "/api/v1/mcaptcha/domain/token/duration/update";
 
-        let data = get_data().await;
         let data = &data;
         delete_user(data, NAME).await;
 
diff --git a/src/mcaptcha/data.rs.html b/src/mcaptcha/data.rs.html
index 829a83b8..8f852907 100644
--- a/src/mcaptcha/data.rs.html
+++ b/src/mcaptcha/data.rs.html
@@ -241,15 +241,6 @@
 236
 237
 238
-239
-240
-241
-242
-243
-244
-245
-246
-247
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -271,8 +262,6 @@
 
 use actix::prelude::*;
 use argon2_creds::{Config, ConfigBuilder, PasswordPolicy};
-use db_core::prelude::*;
-use db_sqlx_postgres::{ConnectionOptions, Fresh};
 use lettre::transport::smtp::authentication::Mechanism;
 use lettre::{
     transport::smtp::authentication::Credentials, AsyncSmtpTransport, Tokio1Executor,
@@ -292,10 +281,8 @@
     pow::Work,
     system::{System, SystemBuilder},
 };
-use sqlx::postgres::PgPoolOptions;
-
-use db_core::MCDatabase;
 
+use crate::db::{self, BoxDB};
 use crate::errors::ServiceResult;
 use crate::settings::Settings;
 use crate::stats::{Dummy, Real, Stats};
@@ -401,7 +388,7 @@
 /// App data
 pub struct Data {
     /// database ops defined by db crates
-    pub db: Box<dyn MCDatabase>,
+    pub db: BoxDB,
     /// credential management configuration
     pub creds: Config,
     /// mCaptcha system: Redis cache, etc.
@@ -437,15 +424,10 @@
             log::info!("Initialized credential manager");
         });
 
-        let pool = s.database.pool;
-        let pool_options = PgPoolOptions::new().max_connections(pool);
-        let connection_options = ConnectionOptions::Fresh(Fresh {
-            pool_options,
-            url: s.database.url.clone(),
-            disable_logging: !s.debug,
-        });
-        let db = connection_options.connect().await.unwrap();
-        db.migrate().await.unwrap();
+        let db = match s.database.database_type {
+            crate::settings::DBType::Maria => db::maria::get_data(Some(s.clone())).await,
+            crate::settings::DBType::Postgres => db::pg::get_data(Some(s.clone())).await,
+        };
 
         let stats: Box<dyn Stats> = if s.captcha.enable_stats {
             Box::new(Real::default())
@@ -455,7 +437,7 @@
 
         let data = Data {
             creds,
-            db: Box::new(db),
+            db,
             captcha: SystemGroup::new(s).await,
             mailer: Self::get_mailer(s),
             settings: s.clone(),
diff --git a/src/mcaptcha/db.rs.html b/src/mcaptcha/db.rs.html
new file mode 100644
index 00000000..21e989f8
--- /dev/null
+++ b/src/mcaptcha/db.rs.html
@@ -0,0 +1,128 @@
+db.rs - source
+    
+    
1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+
/*
+ * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program.  If not, see <https://www.gnu.org/licenses/>.
+ */
+use crate::settings::Settings;
+use db_core::prelude::*;
+
+pub type BoxDB = Box<dyn MCDatabase>;
+
+pub mod pg {
+    use super::*;
+    use db_sqlx_postgres::{ConnectionOptions, Fresh};
+    use sqlx::postgres::PgPoolOptions;
+
+    pub async fn get_data(settings: Option<Settings>) -> BoxDB {
+        let settings = settings.unwrap_or_else(|| Settings::new().unwrap());
+        let pool = settings.database.pool;
+        let pool_options = PgPoolOptions::new().max_connections(pool);
+        let connection_options = ConnectionOptions::Fresh(Fresh {
+            pool_options,
+            url: settings.database.url.clone(),
+            disable_logging: !settings.debug,
+        });
+        let db = connection_options.connect().await.unwrap();
+        db.migrate().await.unwrap();
+        Box::new(db)
+    }
+}
+
+pub mod maria {
+    use super::*;
+    use db_sqlx_maria::{ConnectionOptions, Fresh};
+    use sqlx::mysql::MySqlPoolOptions;
+
+    pub async fn get_data(settings: Option<Settings>) -> BoxDB {
+        let settings = settings.unwrap_or_else(|| Settings::new().unwrap());
+        let pool = settings.database.pool;
+        let pool_options = MySqlPoolOptions::new().max_connections(pool);
+        let connection_options = ConnectionOptions::Fresh(Fresh {
+            pool_options,
+            url: settings.database.url.clone(),
+            disable_logging: !settings.debug,
+        });
+        let db = connection_options.connect().await.unwrap();
+        db.migrate().await.unwrap();
+        Box::new(db)
+    }
+}
+
+
+ \ No newline at end of file diff --git a/src/mcaptcha/demo.rs.html b/src/mcaptcha/demo.rs.html index 7753baca..e6999958 100644 --- a/src/mcaptcha/demo.rs.html +++ b/src/mcaptcha/demo.rs.html @@ -171,6 +171,16 @@ 166 167 168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -287,8 +297,18 @@
     const DURATION: u64 = 5;
 
     #[actix_rt::test]
-    async fn demo_account_works() {
-        let data_inner = get_data().await;
+    async fn demo_account_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        demo_account_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn demo_account_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        demo_account_works(data).await;
+    }
+
+    async fn demo_account_works(data_inner: ArcData) {
         let data_inner = &data_inner;
         let data = AppData::new(data_inner.clone());
         crate::tests::delete_user(data_inner, DEMO_USER).await;
diff --git a/src/mcaptcha/email/verification.rs.html b/src/mcaptcha/email/verification.rs.html
index d7bc0a9a..06a8e54a 100644
--- a/src/mcaptcha/email/verification.rs.html
+++ b/src/mcaptcha/email/verification.rs.html
@@ -133,6 +133,16 @@
 128
 129
 130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -236,10 +246,20 @@ project website: {}",
     use awc::Client;
 
     #[actix_rt::test]
-    async fn email_verification_works() {
+    async fn email_verification_works_pg() {
+        let data = crate::tests::pg::get_data().await;
+        email_verification_works(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn email_verification_works_maria() {
+        let data = crate::tests::maria::get_data().await;
+        email_verification_works(data).await;
+    }
+
+    async fn email_verification_works(data: crate::ArcData) {
         const TO_ADDR: &str = "Hello <realaravinth@localhost>";
         const VERIFICATION_LINK: &str = "https://localhost";
-        let data = crate::tests::get_data().await;
         let settings = &data.settings;
         verification(&data, TO_ADDR, VERIFICATION_LINK)
             .await
diff --git a/src/mcaptcha/main.rs.html b/src/mcaptcha/main.rs.html
index 3500eb92..88d67b0d 100644
--- a/src/mcaptcha/main.rs.html
+++ b/src/mcaptcha/main.rs.html
@@ -195,6 +195,7 @@
 190
 191
 192
+193
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -225,6 +226,7 @@
 mod api;
 mod data;
 mod date;
+mod db;
 mod demo;
 mod docs;
 mod email;
diff --git a/src/mcaptcha/pages/mod.rs.html b/src/mcaptcha/pages/mod.rs.html
index 53b26824..934fc48f 100644
--- a/src/mcaptcha/pages/mod.rs.html
+++ b/src/mcaptcha/pages/mod.rs.html
@@ -117,6 +117,16 @@
 112
 113
 114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -166,12 +176,22 @@
     use crate::*;
 
     #[actix_rt::test]
-    async fn protected_pages_templates_work() {
+    async fn protected_pages_templates_work_pg_test() {
+        let data = pg::get_data().await;
+        protected_pages_templates_work(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn protected_pages_templates_work_maria_test() {
+        let data = maria::get_data().await;
+        protected_pages_templates_work(data).await;
+    }
+
+    async fn protected_pages_templates_work(data: ArcData) {
         const NAME: &str = "templateuser";
         const PASSWORD: &str = "longpassword";
         const EMAIL: &str = "templateuser@a.com";
 
-        let data = get_data().await;
         let data = &data;
         delete_user(data, NAME).await;
 
diff --git a/src/mcaptcha/pages/panel/sitekey/edit.rs.html b/src/mcaptcha/pages/panel/sitekey/edit.rs.html
index 7bd2cf71..490dfe37 100644
--- a/src/mcaptcha/pages/panel/sitekey/edit.rs.html
+++ b/src/mcaptcha/pages/panel/sitekey/edit.rs.html
@@ -200,6 +200,16 @@
 195
 196
 197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -345,11 +355,21 @@
     use crate::*;
 
     #[actix_rt::test]
-    async fn edit_sitekey_work() {
+    async fn edit_sitekey_work_pg_test() {
+        let data = pg::get_data().await;
+        edit_sitekey_work(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn edit_sitekey_work_maria_test() {
+        let data = maria::get_data().await;
+        edit_sitekey_work(data).await;
+    }
+
+    async fn edit_sitekey_work(data: ArcData) {
         const NAME: &str = "editsitekeyuser";
         const PASSWORD: &str = "longpassworddomain";
         const EMAIL: &str = "editsitekeyuser@a.com";
-        let data = get_data().await;
         let data = &data;
         delete_user(data, NAME).await;
 
diff --git a/src/mcaptcha/pages/panel/sitekey/list.rs.html b/src/mcaptcha/pages/panel/sitekey/list.rs.html
index 50fb573c..b47ab525 100644
--- a/src/mcaptcha/pages/panel/sitekey/list.rs.html
+++ b/src/mcaptcha/pages/panel/sitekey/list.rs.html
@@ -108,6 +108,16 @@
 103
 104
 105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -172,12 +182,22 @@
     use crate::*;
 
     #[actix_rt::test]
-    async fn list_sitekeys_work() {
+    async fn list_sitekeys_work_pg() {
+        let data = pg::get_data().await;
+        list_sitekeys_work(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn protected_routes_work_maria() {
+        let data = maria::get_data().await;
+        list_sitekeys_work(data).await;
+    }
+
+    async fn list_sitekeys_work(data: ArcData) {
         const NAME: &str = "listsitekeyuser";
         const PASSWORD: &str = "longpassworddomain";
         const EMAIL: &str = "listsitekeyuser@a.com";
 
-        let data = get_data().await;
         let data = &data;
         delete_user(data, NAME).await;
 
diff --git a/src/mcaptcha/pages/panel/sitekey/view.rs.html b/src/mcaptcha/pages/panel/sitekey/view.rs.html
index 6ffa46f3..2f4ab5d5 100644
--- a/src/mcaptcha/pages/panel/sitekey/view.rs.html
+++ b/src/mcaptcha/pages/panel/sitekey/view.rs.html
@@ -133,6 +133,16 @@
 128
 129
 130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -224,12 +234,22 @@
     use crate::*;
 
     #[actix_rt::test]
-    async fn view_sitekey_work() {
+    async fn view_sitekey_work_pg_test() {
+        let data = pg::get_data().await;
+        view_sitekey_work(data).await;
+    }
+
+    #[actix_rt::test]
+    async fn view_sitekey_work_maria_test() {
+        let data = maria::get_data().await;
+        view_sitekey_work(data).await;
+    }
+
+    async fn view_sitekey_work(data: ArcData) {
         const NAME: &str = "viewsitekeyuser";
         const PASSWORD: &str = "longpassworddomain";
         const EMAIL: &str = "viewsitekeyuser@a.com";
 
-        let data = get_data().await;
         let data = &data;
         delete_user(data, NAME).await;
 
diff --git a/src/mcaptcha/settings.rs.html b/src/mcaptcha/settings.rs.html
index b8975cdc..6d8c076b 100644
--- a/src/mcaptcha/settings.rs.html
+++ b/src/mcaptcha/settings.rs.html
@@ -245,6 +245,12 @@
 240
 241
 242
+243
+244
+245
+246
+247
+248
 
/*
  * Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
  *
@@ -265,8 +271,9 @@
 use std::path::Path;
 
 use config::{Config, ConfigError, Environment, File};
+use derive_more::Display;
 use log::{debug, warn};
-use serde::Deserialize;
+use serde::{Deserialize, Serialize};
 use url::Url;
 
 #[derive(Debug, Clone, Deserialize)]
@@ -312,28 +319,47 @@
     }
 }
 
-#[derive(Debug, Clone, Deserialize)]
-struct DatabaseBuilder {
-    pub port: u32,
-    pub hostname: String,
-    pub username: String,
-    pub password: String,
-    pub name: String,
+//#[derive(Debug, Clone, Deserialize)]
+//struct DatabaseBuilder {
+//    pub port: u32,
+//    pub hostname: String,
+//    pub username: String,
+//    pub password: String,
+//    pub name: String,
+//}
+
+//impl DatabaseBuilder {
+//    #[cfg(not(tarpaulin_include))]
+//    fn extract_database_url(url: &Url) -> Self {
+//        debug!("Databse name: {}", url.path());
+//        let mut path = url.path().split('/');
+//        path.next();
+//        let name = path.next().expect("no database name").to_string();
+//        DatabaseBuilder {
+//            port: url.port().expect("Enter database port").into(),
+//            hostname: url.host().expect("Enter database host").to_string(),
+//            username: url.username().into(),
+//            password: url.password().expect("Enter database password").into(),
+//            name,
+//        }
+//    }
+//}
+
+#[derive(Deserialize, Serialize, Display, PartialEq, Clone, Debug)]
+#[serde(rename_all = "lowercase")]
+pub enum DBType {
+    #[display(fmt = "postgres")]
+    Postgres,
+    #[display(fmt = "maria")]
+    Maria,
 }
 
-impl DatabaseBuilder {
-    #[cfg(not(tarpaulin_include))]
-    fn extract_database_url(url: &Url) -> Self {
-        debug!("Databse name: {}", url.path());
-        let mut path = url.path().split('/');
-        path.next();
-        let name = path.next().expect("no database name").to_string();
-        DatabaseBuilder {
-            port: url.port().expect("Enter database port").into(),
-            hostname: url.host().expect("Enter database host").to_string(),
-            username: url.username().into(),
-            password: url.password().expect("Enter database password").into(),
-            name,
+impl DBType {
+    fn from_url(url: &Url) -> Result<Self, ConfigError> {
+        match url.scheme() {
+            "mysql" => Ok(Self::Maria),
+            "postgres" => Ok(Self::Postgres),
+            _ => Err(ConfigError::Message("Unknown database type".into())),
         }
     }
 }
@@ -342,6 +368,7 @@
 pub struct Database {
     pub url: String,
     pub pool: u32,
+    pub database_type: DBType,
 }
 
 #[derive(Debug, Clone, Deserialize)]
@@ -400,14 +427,13 @@
         match env::var("DATABASE_URL") {
             Ok(val) => {
                 let url = Url::parse(&val).expect("couldn't parse Database URL");
-                let database_conf = DatabaseBuilder::extract_database_url(&url);
-                set_from_database_url(&mut s, &database_conf);
+                s.set("database.url", url.to_string()).unwrap();
+            }
+            Err(e) => {
+                set_database_url(&mut s);
             }
-            Err(e) => warn!("couldn't interpret DATABASE_URL: {}", e),
         }
 
-        set_database_url(&mut s);
-
         // setting default values
         #[cfg(test)]
         s.set("database.pool", 2.to_string())
@@ -429,20 +455,6 @@
     Url::parse(&url).expect("Please enter a URL for source_code in settings");
 }
 
-#[cfg(not(tarpaulin_include))]
-fn set_from_database_url(s: &mut Config, database_conf: &DatabaseBuilder) {
-    s.set("database.username", database_conf.username.clone())
-        .expect("Couldn't set database username");
-    s.set("database.password", database_conf.password.clone())
-        .expect("Couldn't access database password");
-    s.set("database.hostname", database_conf.hostname.clone())
-        .expect("Couldn't access database hostname");
-    s.set("database.port", database_conf.port as i64)
-        .expect("Couldn't access database port");
-    s.set("database.name", database_conf.name.clone())
-        .expect("Couldn't access database name");
-}
-
 #[cfg(not(tarpaulin_include))]
 fn set_database_url(s: &mut Config) {
     s.set(