From 37473c0e1e7ed041622bbada93e88469a3ad5c0d Mon Sep 17 00:00:00 2001 From: realaravinth Date: Wed, 18 Oct 2023 12:23:23 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20=20@=20697c6?= =?UTF-8?q?124c1f1fe7b4d7679bee1eb67532abbdb1f=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mcaptcha/all.html | 2 +- .../constant.DEPRECATED_ENV_VARS.html | 1 + mcaptcha/settings/index.html | 2 +- mcaptcha/settings/sidebar-items.js | 2 +- mcaptcha/settings/struct.Settings.html | 2 +- mcaptcha/struct.SETTINGS.html | 2 +- mcaptcha/struct.Settings.html | 2 +- search-index.js | 2 +- src/mcaptcha/settings.rs.html | 322 +++++++++++++++++- 9 files changed, 329 insertions(+), 8 deletions(-) create mode 100644 mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html diff --git a/mcaptcha/all.html b/mcaptcha/all.html index 14ebe530..01010350 100644 --- a/mcaptcha/all.html +++ b/mcaptcha/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Definitions

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Type Definitions

Constants

\ No newline at end of file diff --git a/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html b/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html new file mode 100644 index 00000000..d3eaaa77 --- /dev/null +++ b/mcaptcha/settings/constant.DEPRECATED_ENV_VARS.html @@ -0,0 +1 @@ +DEPRECATED_ENV_VARS in mcaptcha::settings - Rust
const DEPRECATED_ENV_VARS: [(&str, &str); 23];
\ No newline at end of file diff --git a/mcaptcha/settings/index.html b/mcaptcha/settings/index.html index 72620a15..96895bb0 100644 --- a/mcaptcha/settings/index.html +++ b/mcaptcha/settings/index.html @@ -1 +1 @@ -mcaptcha::settings - Rust
\ No newline at end of file +mcaptcha::settings - Rust
\ No newline at end of file diff --git a/mcaptcha/settings/sidebar-items.js b/mcaptcha/settings/sidebar-items.js index 660098a3..530f12a6 100644 --- a/mcaptcha/settings/sidebar-items.js +++ b/mcaptcha/settings/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":["ENV_VAR_CONFIG"],"enum":["DBType"],"struct":["Captcha","Database","DefaultDifficultyStrategy","Redis","Server","Settings","Smtp"]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":["DEPRECATED_ENV_VARS","ENV_VAR_CONFIG"],"enum":["DBType"],"struct":["Captcha","Database","DefaultDifficultyStrategy","Redis","Server","Settings","Smtp"]}; \ No newline at end of file diff --git a/mcaptcha/settings/struct.Settings.html b/mcaptcha/settings/struct.Settings.html index 122c1134..e786305e 100644 --- a/mcaptcha/settings/struct.Settings.html +++ b/mcaptcha/settings/struct.Settings.html @@ -9,7 +9,7 @@ pub server: Server, pub captcha: Captcha, pub smtp: Option<Smtp>, -}

Fields§

§debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

Implementations§

source§

impl Settings

source

pub fn new() -> Result<Self, ConfigError>

source

fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

source

fn set_database_type(&mut self)

source

fn check_url(&self)

Trait Implementations§

source§

impl Clone for Settings

source§

fn clone(&self) -> Settings

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Settings

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Settings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +}

Fields§

§debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

Implementations§

source§

impl Settings

source

pub fn new() -> Result<Self, ConfigError>

source

fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

source

fn set_database_type(&mut self)

source

fn check_url(&self)

Trait Implementations§

source§

impl Clone for Settings

source§

fn clone(&self) -> Settings

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Settings

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Settings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq<Settings> for Settings

source§

fn eq(&self, other: &Settings) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Settings

source§

impl StructuralEq for Settings

source§

impl StructuralPartialEq for Settings

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/mcaptcha/struct.SETTINGS.html b/mcaptcha/struct.SETTINGS.html index 003ea980..f62912fd 100644 --- a/mcaptcha/struct.SETTINGS.html +++ b/mcaptcha/struct.SETTINGS.html @@ -1,6 +1,6 @@ SETTINGS in mcaptcha - Rust

Struct mcaptcha::SETTINGS

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

Fields§

§__private_field: ()

Methods from Deref<Target = Settings>§

source

fn check_url(&self)

Trait Implementations§

source§

impl Deref for SETTINGS

§

type Target = Settings

The resulting type after dereferencing.
source§

fn deref(&self) -> &Settings

Dereferences the value.
source§

impl LazyStatic for SETTINGS

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere +}

Fields§

§__private_field: ()

Methods from Deref<Target = Settings>§

source

fn check_url(&self)

Trait Implementations§

source§

impl Deref for SETTINGS

§

type Target = Settings

The resulting type after dereferencing.
source§

fn deref(&self) -> &Settings

Dereferences the value.
source§

impl LazyStatic for SETTINGS

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

diff --git a/mcaptcha/struct.Settings.html b/mcaptcha/struct.Settings.html index 4e7686ee..b7a531f2 100644 --- a/mcaptcha/struct.Settings.html +++ b/mcaptcha/struct.Settings.html @@ -9,7 +9,7 @@ pub server: Server, pub captcha: Captcha, pub smtp: Option<Smtp>, -}

Fields§

§debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

Implementations§

source§

impl Settings

source

pub fn new() -> Result<Self, ConfigError>

source

fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

source

fn set_database_type(&mut self)

source

fn check_url(&self)

Trait Implementations§

source§

impl Clone for Settings

source§

fn clone(&self) -> Settings

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Settings

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Settings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where +}

Fields§

§debug: bool§commercial: bool§source_code: String§allow_registration: bool§allow_demo: bool§database: Database§redis: Option<Redis>§server: Server§captcha: Captcha§smtp: Option<Smtp>

Implementations§

source§

impl Settings

source

pub fn new() -> Result<Self, ConfigError>

source

fn env_override(s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState>

source

fn set_database_type(&mut self)

source

fn check_url(&self)

Trait Implementations§

source§

impl Clone for Settings

source§

fn clone(&self) -> Settings

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Settings

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'de> Deserialize<'de> for Settings

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq<Settings> for Settings

source§

fn eq(&self, other: &Settings) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Settings

source§

impl StructuralEq for Settings

source§

impl StructuralPartialEq for Settings

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere diff --git a/search-index.js b/search-index.js index 6d7a8f7a..2b2eb406 100644 --- a/search-index.js +++ b/search-index.js @@ -2,7 +2,7 @@ var searchIndex = JSON.parse('{\ "db_core":{"doc":"mCaptcha database operations","t":"DDIDDNCDEIDDDDDDDDNKKKLKKKKKMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLMMMKKLLLLLLLLLKKKKMMLLLLLLLLLLLLLLAMMMMMMKLLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLMMKMMMMAMKAMKKKKMMLLLLLLLLLLLLLLMAMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKMMMKMLLLLLLLLLLLLLLMMXNGNNENGNNNNNLLLLLLLLLLLLQIIIIQKKKF","n":["AddNotification","Captcha","CloneSPDatabase","CreateCaptcha","CreatePerformanceAnalytics","Email","GetConnection","Level","Login","MCDatabase","NameHash","Notification","PerformanceAnalytics","Register","Secret","StatsUnixTimestamp","TrafficPattern","UpdateEmail","Username","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","avg_traffic","borrow","borrow","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","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","clone","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","clone_into","clone_into","config_fetches","config_id","confirms","create_captcha","create_notification","default","default","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","deserialize","deserialize","dev","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","eq","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","fmt","fmt","from","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_email","get_password","get_secret","get_secret_from_captcha","get_traffic_pattern","hash","hash","heading","heading","id","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","name","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","serialize","serialize","solves","tests","time","time","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","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_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","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","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","vzip","vzip","worker_type","worker_type","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","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","database_works"],"q":[[0,"db_core"],[327,"db_core::dev"],[328,"db_core::errors"],[352,"db_core::ops"],[361,"db_core::tests"]],"d":["Data required to add notification","Data representing a captcha","Trait to clone MCDatabase","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic 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","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","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","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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.","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","log ID","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).","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","message 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","time taken to generate proof","time taken to generate proof","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","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","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 database 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,0,13,0,0,0,0,0,0,0,0,0,0,0,0,13,22,22,22,22,22,22,22,22,22,7,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,7,22,11,12,13,14,8,2,15,16,17,18,7,19,20,21,35,11,12,13,14,8,2,15,16,17,18,7,19,20,21,16,20,16,22,22,8,15,16,17,18,7,19,20,21,22,22,22,22,19,20,11,12,13,14,8,2,15,16,17,18,7,19,20,21,0,8,2,15,19,20,11,22,11,12,13,14,8,2,15,16,17,18,7,19,20,21,0,22,22,22,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,18,22,22,22,22,22,22,22,22,22,22,11,14,17,18,15,17,11,12,13,14,8,2,15,16,17,18,7,19,20,21,19,20,22,17,18,17,12,0,7,22,0,17,22,22,22,22,11,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,16,0,8,15,18,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,11,12,13,14,8,2,15,16,17,18,7,19,20,21,22,22,22,22,22,22,11,12,14,22,2,11,12,13,14,8,2,15,16,17,18,7,19,20,21,8,15,0,32,0,32,32,0,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,36,0,0,0,0,37,37,36,38,0],"f":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[1,1,[3,[2]]],[[6,[[5,[4]]]]]],[[1,1,7],[[6,[[5,[4]]]]]],[[1,8],[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[[1,9,9],[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[10,[1]],1],[[6,[[5,[4]]]]]],[11,11],[12,12],[13,13],[14,14],[8,8],[2,2],[15,15],[16,16],[17,17],[18,18],[7,7],[19,19],[20,20],[21,21],[[],[[5,[22]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[1,19],[[6,[[5,[4]]]]]],[18,[[6,[[5,[4]]]]]],[[],8],[[],15],[[],16],[[],17],[[],18],[[],7],[[],19],[[],20],[[],21],[[1,1],[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],0,0,[23,[[24,[11]]]],[23,[[24,[12]]]],[23,[[24,[13]]]],[23,[[24,[14]]]],[23,[[24,[8]]]],[23,[[24,[2]]]],[23,[[24,[15]]]],[23,[[24,[16]]]],[23,[[24,[17]]]],[23,[[24,[18]]]],[23,[[24,[7]]]],[23,[[24,[19]]]],[23,[[24,[20]]]],[23,[[24,[21]]]],0,0,0,0,0,0,0,[1,[[6,[[5,[4]]]]]],[[11,11],25],[[12,12],25],[[13,13],25],[[14,14],25],[[8,8],25],[[2,2],25],[[15,15],25],[[16,16],25],[[17,17],25],[[18,18],25],[[7,7],25],[[19,19],25],[[20,20],25],[[21,21],25],0,[[1,1],[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],[[11,26],27],[[12,26],27],[[13,26],27],[[14,26],27],[[8,26],27],[[2,26],[[24,[28]]]],[[15,26],27],[[16,26],27],[[17,26],27],[[18,26],27],[[7,26],27],[[19,26],27],[[20,26],27],[[21,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[[[10,[1]],1],[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[13,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[1,29],[[6,[[5,[4]]]]]],0,0,0,0,0,0,[[],[[6,[[5,[4]]]]]],0,0,[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[1,[[6,[[5,[4]]]]]],[11,[[6,[[5,[4]]]]]],0,0,[[11,30],24],[[12,30],24],[[13,30],24],[[14,30],24],[[8,30],24],[[2,30],24],[[15,30],24],[[16,30],24],[[17,30],24],[[18,30],24],[[7,30],24],[[19,30],24],[[20,30],24],[[21,30],24],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[],31],[[1,1,1],[[6,[[5,[4]]]]]],[[1,19],[[6,[[5,[4]]]]]],[12,[[6,[[5,[4]]]]]],[14,[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],[[1,1],[[6,[[5,[4]]]]]],0,0,0,[1,[[6,[[5,[4]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[32,26],27],[[32,26],27],[[]],[[]],[32,[[10,[33]]]],[[],34],[[],24],[[],24],[[],31],[[]],0,0,0,0,0,0,[[],[[6,[[5,[4]]]]]],[[],[[6,[[5,[4]]]]]],[[],[[6,[[5,[4]]]]]],[[22,11,19,[3,[2]],7,18]]],"c":[],"p":[[15,"str"],[3,"Level"],[15,"slice"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"TrafficPattern"],[3,"CreatePerformanceAnalytics"],[15,"usize"],[4,"Option"],[3,"Register"],[3,"UpdateEmail"],[4,"Login"],[3,"NameHash"],[3,"PerformanceAnalytics"],[3,"StatsUnixTimestamp"],[3,"Notification"],[3,"AddNotification"],[3,"CreateCaptcha"],[3,"Captcha"],[3,"Secret"],[8,"MCDatabase"],[8,"Deserializer"],[4,"Result"],[15,"bool"],[3,"Formatter"],[6,"Result"],[3,"Error"],[15,"i32"],[8,"Serializer"],[3,"TypeId"],[4,"DBError"],[8,"Error"],[3,"String"],[8,"CloneSPDatabase"],[8,"GetConnection"],[8,"Connect"],[8,"Migrate"]]},\ "db_sqlx_maria":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNNNEINDEIINDDNDQNNNDNDNDNDNNDNNNKKKLKKKKKLXMLLMKKMMMKKKKKKKMMAMMMMMMKAKKKLLLLLLMKKKKKKKKKKKMMMMMMLLMMKMMKMMAMKAMKKKKMMMLAMMMLLLLKKKKKKMMMKMLMMMMMMMNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLKLLLLLLLLLLLLLMMMKKKLLLLLLLLLKKKKMMLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLMLAMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKMMMKMLLLLLLLLLLLLLLMMNGNNENGNNNNNQIIIIQKKKNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKMLLMKLKLMMMKKKKKKKMMLMMMMMMKLKKKLLMKKKKKKKKKKKMMMMMMLMMKMMKMMMKMKKKKMMLMMMMLLLLKKKKKKMMMKMLMMFNGNNENGNNNNNQIIIIQKKKNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKMMKKMMMKKKKKKKMMAMMMMMMKKKKMKKKKKKKKKKKMMMMMMMMKMMKMMMKMKKKKMMMMMMKKKKKKMMMKMMMNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKXMMKKMMMKKKKKKKMMMMMMMMKKKKMKKKKKKKKKKKMMMMMMMMKMMKMMMKMKKKKMMMMMMKKKKKKMMMKMMMFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","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","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","Email","EmailTaken","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow_mut","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","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","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","id","into","into_database_error","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","source","tests","time","time","to","to_string","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","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow","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","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","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","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","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","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","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","fmt","fmt","fmt","from","from","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","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","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","serialize","solves","source","tests","time","time","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","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_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","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","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","vzip","vzip","worker_type","worker_type","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","difficulty_factor","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","id","into","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","serialize","solves","time","time","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","worker_type","worker_type","database_works","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","difficulty_factor","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","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","time","time","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","difficulty_factor","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","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","time","time","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_maria"],[112,"db_sqlx_maria::dev"],[276,"db_sqlx_maria::dev::Error"],[281,"db_sqlx_maria::dev::dev"],[626,"db_sqlx_maria::dev::dev::errors"],[638,"db_sqlx_maria::dev::dev::ops"],[647,"db_sqlx_maria::dev::dev::prelude"],[785,"db_sqlx_maria::dev::dev::tests"],[786,"db_sqlx_maria::dev::errors"],[798,"db_sqlx_maria::dev::ops"],[807,"db_sqlx_maria::dev::prelude"],[931,"db_sqlx_maria::dev::prelude::dev"],[1055,"db_sqlx_maria::dev::tests"],[1056,"db_sqlx_maria::errors"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","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","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","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","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","","Error returned from the database.","Error occurred while decoding a value.","email as login","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","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","Proof-of-Work CAPTCHA performance analytics","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","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","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 …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","traffic 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","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","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","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","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","message 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","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","time taken to generate proof","time taken to generate proof","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","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic 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","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","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","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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.","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","log ID","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).","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","message 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","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","time taken to generate proof","time taken to generate proof","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","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","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 database 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","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","","","traffic 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","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","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","message 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","time taken to generate proof","time taken to generate proof","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","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","test all database functions","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 database 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","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic 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","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message 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","time taken to generate proof","time taken to generate proof","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","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","traffic 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","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message 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","time taken to generate proof","time taken to generate proof","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","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,43,15,44,1,12,43,15,44,1,12,1,1,12,1,1,12,15,1,1,1,1,1,1,0,44,1,12,0,1,1,1,12,43,15,44,1,12,1,1,1,1,1,1,1,1,1,1,12,12,43,15,44,1,12,1,12,1,12,1,1,44,0,12,1,1,1,1,1,12,43,15,44,1,12,43,15,44,1,12,43,15,44,1,12,1,1,1,1,1,1,44,1,43,15,44,1,12,41,0,28,0,0,41,41,0,28,28,28,28,45,0,0,0,0,41,0,0,0,28,28,21,41,0,0,28,0,0,0,0,28,0,0,41,0,46,28,28,28,0,28,0,41,0,28,0,41,28,0,21,41,28,13,13,13,13,13,13,13,13,13,28,0,8,28,28,8,13,47,36,38,36,46,13,13,13,13,13,13,16,38,0,9,3,35,16,38,23,13,0,13,13,13,28,28,28,28,28,28,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,28,28,16,38,13,37,17,48,37,26,0,8,13,0,37,13,13,13,13,23,39,36,28,0,9,35,17,28,28,28,28,13,13,13,13,13,13,23,26,27,13,3,28,9,35,49,50,49,50,51,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,0,8,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,17,8,16,38,39,8,13,23,26,21,27,9,35,36,37,17,8,16,38,39,47,23,26,21,27,9,35,36,37,17,8,16,38,39,36,38,36,46,13,13,9,35,36,37,17,8,16,38,39,13,13,13,13,16,38,23,26,21,27,9,35,36,37,17,8,16,38,39,9,3,35,16,38,23,13,23,26,21,27,9,35,36,37,17,8,16,38,39,0,13,13,13,41,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,37,17,8,16,38,39,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,41,23,26,21,27,9,35,36,37,17,8,16,38,39,16,38,13,37,17,48,37,26,0,8,13,0,37,13,13,13,13,23,39,23,26,21,27,9,35,36,37,17,8,16,38,39,36,41,0,9,35,17,23,26,21,27,9,35,36,37,17,8,16,38,39,41,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,17,8,16,38,39,13,13,13,13,13,13,23,26,27,13,3,41,23,26,21,27,9,35,36,37,17,8,16,38,39,9,35,41,0,41,41,0,41,0,41,41,41,41,41,45,0,0,0,0,46,46,45,48,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,8,3,3,8,13,3,47,3,36,38,36,46,13,13,13,13,13,13,16,38,3,9,3,35,16,38,23,13,3,13,13,13,3,3,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,3,16,38,13,37,17,48,37,26,8,13,37,13,13,13,13,23,39,3,36,9,35,17,3,3,3,3,13,13,13,13,13,13,23,26,27,13,3,3,9,35,0,41,0,41,41,0,41,0,41,41,41,41,41,45,0,0,0,0,46,46,45,48,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,8,8,13,47,36,38,36,46,13,13,13,13,13,13,16,38,0,9,3,35,16,38,23,13,13,13,13,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,16,38,13,37,17,48,37,26,8,13,37,13,13,13,13,23,39,36,9,35,17,13,13,13,13,13,13,23,26,27,13,3,9,35,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,0,8,8,13,47,36,38,36,46,13,13,13,13,13,13,16,38,9,3,35,16,38,23,13,13,13,13,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,16,38,13,37,17,48,37,26,8,13,37,13,13,13,13,23,39,36,9,35,17,13,13,13,13,13,13,23,26,27,13,3,9,35,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[[],[[6,[13,14]]]],[[]],[[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[[]],[[]],[[]],[[]],[[]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[1,2,22],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,23],[[7,[[6,[5]]]]]],[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[],25],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,26],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[[]],[[]],[[]],[[]],[[]],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,0,0,0,0,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[28,[[11,[29]]]],0,0,[[]],[[]],0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[6,[13,14]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],0,[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[28,19],[[24,[30]]]],[[28,19],[[24,[30]]]],[[]],[29,28],[31,28],[32,28],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[]],[28,[[11,[[6,[29,14]]]]]],0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,0,[[],[[7,[[6,[5,14]]]]]],0,0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,0,[28,[[11,[33]]]],0,0,0,0,[[],34],[[],24],[[],24],[[],25],[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[23,23],[26,26],[21,21],[27,27],[9,9],[35,35],[36,36],[37,37],[17,17],[8,8],[16,16],[38,38],[39,39],[[],[[6,[13,14]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[],9],[[],35],[[],36],[[],37],[[],17],[[],8],[[],16],[[],38],[[],39],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[40,[[24,[23]]]],[40,[[24,[26]]]],[40,[[24,[21]]]],[40,[[24,[27]]]],[40,[[24,[9]]]],[40,[[24,[35]]]],[40,[[24,[36]]]],[40,[[24,[37]]]],[40,[[24,[17]]]],[40,[[24,[8]]]],[40,[[24,[16]]]],[40,[[24,[38]]]],[40,[[24,[39]]]],0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[23,23],18],[[26,26],18],[[21,21],18],[[27,27],18],[[9,9],18],[[35,35],18],[[36,36],18],[[37,37],18],[[17,17],18],[[8,8],18],[[16,16],18],[[38,38],18],[[39,39],18],0,[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[41,19],[[24,[30]]]],[[41,19],[[24,[30]]]],[[23,19],[[24,[30]]]],[[26,19],[[24,[30]]]],[[21,19],[[24,[30]]]],[[27,19],[[24,[30]]]],[[9,19],[[24,[30]]]],[[35,19],[[24,[30]]]],[[36,19],[[24,[30]]]],[[37,19],[[24,[30]]]],[[17,19],[[24,[30]]]],[[8,19],[[24,[30]]]],[[16,19],[[24,[30]]]],[[38,19],[[24,[30]]]],[[39,19],[[24,[30]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[12,37],[[]],[[]],[[]],[[]],[[]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,0,[[],[[7,[[6,[5,14]]]]]],0,0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,[[23,42],24],[[26,42],24],[[21,42],24],[[27,42],24],[[9,42],24],[[35,42],24],[[36,42],24],[[37,42],24],[[17,42],24],[[8,42],24],[[16,42],24],[[38,42],24],[[39,42],24],0,[41,[[11,[33]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],34],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,[[]],[[]],0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[3,3],[[],[[6,[13,14]]]],[[]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[40,[[24,[3]]]],0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[3,3],18],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[3,19],[[24,[30]]]],[[]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[]],0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,[[3,42],24],0,0,0,0,[[]],[[],24],[[],24],[[],25],[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],0,[[]],0,0,[[13,23,16,[4,[3]],8,17],5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[6,[13,14]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[6,[13,14]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],0,0,0,[[13,23,16,[4,[3]],8,17],5],[28,41],[[28,41],41]],"c":[],"p":[[3,"Database"],[15,"str"],[3,"Level"],[15,"slice"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"TrafficPattern"],[3,"CreatePerformanceAnalytics"],[15,"usize"],[4,"Option"],[3,"InnerNotification"],[8,"MCDatabase"],[3,"Global"],[4,"ConnectionOptions"],[3,"CreateCaptcha"],[3,"AddNotification"],[15,"bool"],[3,"Formatter"],[6,"Result"],[4,"Login"],[15,"i32"],[3,"Register"],[4,"Result"],[3,"TypeId"],[3,"UpdateEmail"],[3,"NameHash"],[4,"Error"],[8,"DatabaseError"],[3,"Error"],[4,"MigrateError"],[3,"Error"],[8,"Error"],[3,"String"],[3,"PerformanceAnalytics"],[3,"StatsUnixTimestamp"],[3,"Notification"],[3,"Captcha"],[3,"Secret"],[8,"Deserializer"],[4,"DBError"],[8,"Serializer"],[3,"Conn"],[3,"Fresh"],[8,"GetConnection"],[8,"Connect"],[8,"CloneSPDatabase"],[8,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"]]},\ "db_sqlx_postgres":{"doc":"","t":"DEDNDNDLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAMLLALLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLMMAMLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLNDNGDNNINNNNQIDDENIGCNNNNEINDEIINDDNDQNNNDNDNDNDNNDNNNKKKLKKKKKLXMLLMKKMMMKKKKKKKMMAMMMMMMKAKKKLLLLLLMKKKKKKKKKKKMMMMMMLLMMKMMKMMAMKAMKKKKMMMLAMMMLLLLKKKKKKMMMKMLMMMMMMMNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKXMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKLLLLLLLLLLLLLKLLLLLLLLLLLLLMMMKKKLLLLLLLLLKKKKMMLLLLLLLLLLLLLMMMMMMKLLLLLLLLLLLLLAKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMKKKKKKKKKKKMMMMMMLLLLLLLLLLLLLLMMKMMKMMAMKAMKKKKMMLLLLLLLLLLLLLMLAMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKMMMKMLLLLLLLLLLLLLLMMNGNNENGNNNNNQIIIIQKKKNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKMLLMKLKLMMMKKKKKKKMMLMMMMMMKLKKKLLMKKKKKKKKKKKMMMMMMLMMKMMKMMMKMKKKKMMLMMMMLLLLKKKKKKMMMKMLMMFNGNNENGNNNNNQIIIIQKKKNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKMMKKMMMKKKKKKKMMAMMMMMMKKKKMKKKKKKKKKKKMMMMMMMMKMMKMMMKMKKKKMMMMMMKKKKKKMMMKMMMNDGDNNIQIDDENIGNNIDEIIDDNDQDDNDDNDNNKKKLKKKKKXMMKKMMMKKKKKKKMMMMMMMMKKKKMKKKKKKKKKKKMMMMMMMMKMMKMMMKMKKKKMMMMMMKKKKKKMMMKMMMFFF","n":["Conn","ConnectionOptions","Database","Existing","Fresh","Fresh","InnerNotification","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","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","AccountNotFound","AddNotification","AnyDriverError","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","ColumnDecode","ColumnIndexOutOfBounds","ColumnNotFound","Configuration","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Database","Database","Decode","Email","EmailTaken","Error","GetConnection","Io","Level","Login","MCDatabase","Migrate","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","PoolClosed","PoolTimedOut","Protocol","Register","RowNotFound","Secret","SecretTaken","StatsUnixTimestamp","Tls","TrafficPattern","TrafficPatternNotFound","TypeNotFound","UpdateEmail","Username","UsernameTaken","WorkerCrashed","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","as_database_error","async_trait","avg_traffic","borrow","borrow_mut","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","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","errors","fetch_config_fetched","fetch_confirm","fetch_solve","fmt","fmt","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","id","into","into_database_error","key","key","mark_notification_read","message","message","migrate","name","new_email","ops","peak_sustainable_traffic","ping","prelude","received","record_confirm","record_fetch","record_solve","register","secret","secret","solves","source","tests","time","time","to","to_string","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","worker_type","worker_type","index","index","len","source","type_name","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","async_trait","avg_traffic","borrow","borrow","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","borrow_mut","borrow_mut","broke_my_site_traffic","captcha_exists","clone","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","clone_into","config_fetches","config_id","confirms","connect","create_captcha","create_notification","default","default","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","deserialize","difficulty_factor","difficulty_factor","difficulty_factor","duration","duration","email","email_exists","eq","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","fmt","fmt","fmt","from","from","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","id","into","into","into","into","into","into","into","into","into","into","into","into","into","into","key","key","mark_notification_read","message","message","migrate","name","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","serialize","solves","source","tests","time","time","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","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_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","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","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","vzip","vzip","worker_type","worker_type","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","difficulty_factor","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","id","into","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","serialize","solves","time","time","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","worker_type","worker_type","database_works","AccountNotFound","BoxDynError","CaptchaKeyTaken","CaptchaNotFound","DBError","DBError","DBResult","EmailTaken","NotificationNotFound","SecretTaken","TrafficPatternNotFound","UsernameTaken","Conn","Connect","DBOps","GetConnection","Migrate","Pool","connect","get_conn","migrate","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","difficulty_factor","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","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","time","time","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","AccountNotFound","AddNotification","BoxDynError","Captcha","CaptchaKeyTaken","CaptchaNotFound","CloneSPDatabase","Conn","Connect","CreateCaptcha","CreatePerformanceAnalytics","DBError","DBError","DBOps","DBResult","Email","EmailTaken","GetConnection","Level","Login","MCDatabase","Migrate","NameHash","Notification","NotificationNotFound","PerformanceAnalytics","Pool","Register","Secret","SecretTaken","StatsUnixTimestamp","TrafficPattern","TrafficPatternNotFound","UpdateEmail","Username","UsernameTaken","add_captcha_levels","add_traffic_pattern","analysis_save","analytics_captcha_is_published","analytics_create_psuedo_id_if_not_exists","analytics_delete_all_records_for_campaign","analytics_fetch","analytics_get_capmaign_id_from_psuedo_id","analytics_get_psuedo_id_from_capmaign_id","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","difficulty_factor","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","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","time","time","to","update_captcha_key","update_captcha_metadata","update_email","update_password","update_secret","update_username","username","username","username","username_exists","visitor_threshold","worker_type","worker_type","database_works","map_register_err","map_row_not_found_err"],"q":[[0,"db_sqlx_postgres"],[113,"db_sqlx_postgres::dev"],[277,"db_sqlx_postgres::dev::Error"],[282,"db_sqlx_postgres::dev::dev"],[627,"db_sqlx_postgres::dev::dev::errors"],[639,"db_sqlx_postgres::dev::dev::ops"],[648,"db_sqlx_postgres::dev::dev::prelude"],[786,"db_sqlx_postgres::dev::dev::tests"],[787,"db_sqlx_postgres::dev::errors"],[799,"db_sqlx_postgres::dev::ops"],[808,"db_sqlx_postgres::dev::prelude"],[932,"db_sqlx_postgres::dev::prelude::dev"],[1056,"db_sqlx_postgres::dev::tests"],[1057,"db_sqlx_postgres::errors"]],"d":["Use an existing database pool","Connect to database","","existing connection","","fresh connection","Represents notification","Add levels to captcha","Add traffic configuration","record PoW timing","Create psuedo ID against campaign ID to publish analytics","","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","","","","","","","","","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","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","Data required to add notification","Error occurred within the Any driver mapping to/from the …","Convenience type alias for grouping driver-specific errors","Data representing a captcha","Captcha key is taken","Captcha not found","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","Create database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","","Error returned from the database.","Error occurred while decoding a value.","email as login","Email is taken","Represents all the ways a method can fail within SQLx.","Get database connection","Error communicating with the database backend.","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","Proof-of-Work CAPTCHA performance analytics","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","No rows returned by a query that expected to return at …","datastructure representing a user’s secret","Secret is taken","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 …","Traffic pattern not found","Type in query doesn’t exist. Likely due to typo or …","data required to update them email of a user","username as login","Username is taken","A background worker has crashed.","Add levels to captcha","Add traffic configuration","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","","average traffic of user’s website","","","traffic 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","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","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","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","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","message 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","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","time taken to generate proof","time taken to generate proof","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","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","","","","","","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","","","","","","","","","","","","","","","","","","","","","","","","","","","","","traffic 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","","","","","","","","","","","","","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","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","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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.","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","log ID","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).","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","message 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","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","time taken to generate proof","time taken to generate proof","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","","","","","","","","","","","","","","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","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 database 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","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","","","traffic 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","","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","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","message 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","time taken to generate proof","time taken to generate proof","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","","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","test all database functions","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 database 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","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","average traffic of user’s website","traffic 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","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message 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","time taken to generate proof","time taken to generate proof","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","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","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 database connection","data required to create new captcha","Log Proof-of-Work CAPTCHA performance analytics","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","Proof-of-Work CAPTCHA performance analytics","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","record PoW timing","Get publishing status of pow analytics for captcha ID/ …","Create psuedo ID against campaign ID to publish analytics","Delete all records for campaign","fetch PoW analytics","Get campaign ID from psuedo ID","Get psuedo ID from campaign ID","","average traffic of user’s website","traffic 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","difficulty factor for which the proof was generated","","difficulty factor for which the proof was generated","cool down duration","cool down duration","Optionally, email of new use","check if email exists","fetch PoWConfig fetches","fetch PoWConfig confirms","fetch 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","log ID","db assigned ID of the notification","secret key of the captcha","secret key of the captcha","mark a notification read","message of the notification","message 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","time taken to generate proof","time taken to generate proof","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","","worker/client type: wasm, javascript, python, etc.","worker/client type: wasm, javascript, python, etc.","test all database functions","map postgres errors to DBError types","map custom row not found error to DB error"],"i":[0,0,0,15,0,15,0,1,1,1,1,1,1,1,1,43,15,44,1,12,43,15,44,1,12,1,1,12,1,1,12,15,1,1,12,1,1,1,1,0,44,1,12,0,1,1,1,12,43,15,44,1,12,1,1,1,1,1,1,1,1,1,1,12,12,43,15,44,1,12,1,12,1,12,1,1,44,0,12,1,1,1,1,1,12,43,15,44,1,12,43,15,44,1,12,43,15,44,1,12,1,1,1,1,1,1,44,1,43,15,44,1,12,41,0,28,0,0,41,41,0,28,28,28,28,45,0,0,0,0,41,0,0,0,28,28,21,41,0,0,28,0,0,0,0,28,0,0,41,0,46,28,28,28,0,28,0,41,0,28,0,41,28,0,21,41,28,13,13,13,13,13,13,13,13,13,28,0,8,28,28,8,13,47,36,38,36,46,13,13,13,13,13,13,16,38,0,9,3,35,16,38,23,13,0,13,13,13,28,28,28,28,28,28,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,28,28,16,38,13,37,17,48,37,26,0,8,13,0,37,13,13,13,13,23,39,36,28,0,9,35,17,28,28,28,28,13,13,13,13,13,13,23,26,27,13,3,28,9,35,49,50,49,50,51,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,0,8,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,17,8,16,38,39,8,13,23,26,21,27,9,35,36,37,17,8,16,38,39,47,23,26,21,27,9,35,36,37,17,8,16,38,39,36,38,36,46,13,13,9,35,36,37,17,8,16,38,39,13,13,13,13,16,38,23,26,21,27,9,35,36,37,17,8,16,38,39,9,3,35,16,38,23,13,23,26,21,27,9,35,36,37,17,8,16,38,39,0,13,13,13,41,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,37,17,8,16,38,39,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,41,23,26,21,27,9,35,36,37,17,8,16,38,39,16,38,13,37,17,48,37,26,0,8,13,0,37,13,13,13,13,23,39,23,26,21,27,9,35,36,37,17,8,16,38,39,36,41,0,9,35,17,23,26,21,27,9,35,36,37,17,8,16,38,39,41,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,17,8,16,38,39,41,23,26,21,27,9,35,36,37,17,8,16,38,39,13,13,13,13,13,13,23,26,27,13,3,41,23,26,21,27,9,35,36,37,17,8,16,38,39,9,35,41,0,41,41,0,41,0,41,41,41,41,41,45,0,0,0,0,46,46,45,48,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,8,3,3,8,13,3,47,3,36,38,36,46,13,13,13,13,13,13,16,38,3,9,3,35,16,38,23,13,3,13,13,13,3,3,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,3,16,38,13,37,17,48,37,26,8,13,37,13,13,13,13,23,39,3,36,9,35,17,3,3,3,3,13,13,13,13,13,13,23,26,27,13,3,3,9,35,0,41,0,41,41,0,41,0,41,41,41,41,41,45,0,0,0,0,46,46,45,48,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,8,8,13,47,36,38,36,46,13,13,13,13,13,13,16,38,0,9,3,35,16,38,23,13,13,13,13,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,16,38,13,37,17,48,37,26,8,13,37,13,13,13,13,23,39,36,9,35,17,13,13,13,13,13,13,23,26,27,13,3,9,35,41,0,0,0,41,41,0,45,0,0,0,0,41,0,0,21,41,0,0,0,0,0,0,0,41,0,46,0,0,41,0,0,41,0,21,41,13,13,13,13,13,13,13,13,13,0,8,8,13,47,36,38,36,46,13,13,13,13,13,13,16,38,9,3,35,16,38,23,13,13,13,13,17,13,13,13,13,13,45,13,13,13,13,13,23,27,37,17,35,37,16,38,13,37,17,48,37,26,8,13,37,13,13,13,13,23,39,36,9,35,17,13,13,13,13,13,13,23,26,27,13,3,9,35,0,0,0],"f":[0,0,0,0,0,0,0,[[1,2,2,[4,[3]]],[[7,[[6,[5]]]]]],[[1,2,2,8],[[7,[[6,[5]]]]]],[[1,2,9],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,10,10],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[1,1],[12,12],[[],[[6,[13,14]]]],[[]],[[]],[15,[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,17],[[7,[[6,[5]]]]]],[[],12],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],0,0,[[1,2],[[7,[[6,[5]]]]]],[[12,12],18],0,[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[12,19],20],[[]],[[]],[[]],[[]],[[]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,[11,[2]],2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,21],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[1,2,22],[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,[1,[[7,[[6,[5]]]]]],0,0,0,0,[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,2],[[7,[[6,[5]]]]]],[[1,23],[[7,[[6,[5]]]]]],[[]],[[]],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[],25],[[1,2,2,2],[[7,[[6,[5]]]]]],[[1,2,16],[[7,[[6,[5]]]]]],[[1,26],[[7,[[6,[5]]]]]],[[1,27],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],[[1,2,2],[[7,[[6,[5]]]]]],0,[[1,2],[[7,[[6,[5]]]]]],[[]],[[]],[[]],[[]],[[]],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,0,0,0,0,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[28,[[11,[29]]]],0,0,[[]],[[]],0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[6,[13,14]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],0,[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[28,19],[[24,[30]]]],[[28,19],[[24,[30]]]],[[]],[31,28],[29,28],[32,28],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[]],[28,[[11,[[6,[29,14]]]]]],0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,0,[[],[[7,[[6,[5,14]]]]]],0,0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,0,[28,[[11,[33]]]],0,0,0,0,[[],34],[[],24],[[],24],[[],25],[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[23,23],[26,26],[21,21],[27,27],[9,9],[35,35],[36,36],[37,37],[17,17],[8,8],[16,16],[38,38],[39,39],[[],[[6,[13,14]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[],9],[[],35],[[],36],[[],37],[[],17],[[],8],[[],16],[[],38],[[],39],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[40,[[24,[23]]]],[40,[[24,[26]]]],[40,[[24,[21]]]],[40,[[24,[27]]]],[40,[[24,[9]]]],[40,[[24,[35]]]],[40,[[24,[36]]]],[40,[[24,[37]]]],[40,[[24,[17]]]],[40,[[24,[8]]]],[40,[[24,[16]]]],[40,[[24,[38]]]],[40,[[24,[39]]]],0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[23,23],18],[[26,26],18],[[21,21],18],[[27,27],18],[[9,9],18],[[35,35],18],[[36,36],18],[[37,37],18],[[17,17],18],[[8,8],18],[[16,16],18],[[38,38],18],[[39,39],18],0,[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[41,19],[[24,[30]]]],[[41,19],[[24,[30]]]],[[23,19],[[24,[30]]]],[[26,19],[[24,[30]]]],[[21,19],[[24,[30]]]],[[27,19],[[24,[30]]]],[[9,19],[[24,[30]]]],[[35,19],[[24,[30]]]],[[36,19],[[24,[30]]]],[[37,19],[[24,[30]]]],[[17,19],[[24,[30]]]],[[8,19],[[24,[30]]]],[[16,19],[[24,[30]]]],[[38,19],[[24,[30]]]],[[39,19],[[24,[30]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[12,37],[[]],[[]],[[]],[[]],[[]],[[]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,0,[[],[[7,[[6,[5,14]]]]]],0,0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,[[23,42],24],[[26,42],24],[[21,42],24],[[27,42],24],[[9,42],24],[[35,42],24],[[36,42],24],[[37,42],24],[[17,42],24],[[8,42],24],[[16,42],24],[[38,42],24],[[39,42],24],0,[41,[[11,[33]]]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],34],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],24],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[],25],[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,[[]],[[]],0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[3,3],[[],[[6,[13,14]]]],[[]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[40,[[24,[3]]]],0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[3,3],18],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[3,19],[[24,[30]]]],[[]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[]],0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,[[3,42],24],0,0,0,0,[[]],[[],24],[[],24],[[],25],[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],0,[[]],0,0,[[13,23,16,[4,[3]],8,17],5],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[6,[13,14]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],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,[[2,2,[4,[3]]],[[7,[[6,[5,14]]]]]],[[2,2,8],[[7,[[6,[5,14]]]]]],[[2,9],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,10,10],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[6,[13,14]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[17,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[[11,[2]],2],[[7,[[6,[5,14]]]]]],[[],[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[21,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,0,0,[[2,22],[[7,[[6,[5,14]]]]]],0,0,[[],[[7,[[6,[5,14]]]]]],0,0,0,[[],[[7,[[6,[5,14]]]]]],0,[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[2,[[7,[[6,[5,14]]]]]],[23,[[7,[[6,[5,14]]]]]],0,0,0,0,0,0,[[2,2,2],[[7,[[6,[5,14]]]]]],[[2,16],[[7,[[6,[5,14]]]]]],[26,[[7,[[6,[5,14]]]]]],[27,[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],[[2,2],[[7,[[6,[5,14]]]]]],0,0,0,[2,[[7,[[6,[5,14]]]]]],0,0,0,[[13,23,16,[4,[3]],8,17],5],[28,41],[[28,41],41]],"c":[],"p":[[3,"Database"],[15,"str"],[3,"Level"],[15,"slice"],[8,"Future"],[3,"Box"],[3,"Pin"],[3,"TrafficPattern"],[3,"CreatePerformanceAnalytics"],[15,"usize"],[4,"Option"],[3,"InnerNotification"],[8,"MCDatabase"],[3,"Global"],[4,"ConnectionOptions"],[3,"CreateCaptcha"],[3,"AddNotification"],[15,"bool"],[3,"Formatter"],[6,"Result"],[4,"Login"],[15,"i32"],[3,"Register"],[4,"Result"],[3,"TypeId"],[3,"UpdateEmail"],[3,"NameHash"],[4,"Error"],[8,"DatabaseError"],[3,"Error"],[3,"Error"],[4,"MigrateError"],[8,"Error"],[3,"String"],[3,"PerformanceAnalytics"],[3,"StatsUnixTimestamp"],[3,"Notification"],[3,"Captcha"],[3,"Secret"],[8,"Deserializer"],[4,"DBError"],[8,"Serializer"],[3,"Conn"],[3,"Fresh"],[8,"GetConnection"],[8,"Connect"],[8,"CloneSPDatabase"],[8,"Migrate"],[13,"ColumnIndexOutOfBounds"],[13,"ColumnDecode"],[13,"TypeNotFound"]]},\ -"mcaptcha":{"doc":"","t":"GGDRRDDRDDDDRDDDDDDDRRRRDDDDRDDRRMMMMMMMMMMMMMMMMMMMMALLLLLLLLLLLLLLLLMMMMAMAAMMALLLLLLLLAAALLLLLLLLFFLLLLLLLLMFAMAMAMMMAAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAACDAALLLLFLAAAAMAFLLLLDDCLLLLLLLLALLAMLLLLLLCAAALLFLLLLLLLLAMLLLLDLLLAFLLLLFDLLLLLLLLLMDLLLLLLLLLLFDLLLLLLLLLLLLLDDLLLLLLLLMMLLLLLLLLLMMMLLFLLLLLLLLLLFDLLLDLLMMLMLLLLLMMMMMLLLLLLLDLLLLFLLLLLLDLLDLLLLLLLLLLLLLLLLLLALFDLLLLLLLLLLMDLLLFLLLLLLLLLLLLDDLLLAAFDLLLLLLLLLLLLDLLLLLMMLMLLLLDDDLLLLLLLLLLLLMLLLMLLLLLLLLLMFMMMFLLLLLLLLLLLLLLLMLLLAAAAFAFAADDLLLLLLLLDMLLMLLLLLLLMMMMLALLLLLLLLLLLLLLLFDLLLLLLDLLLLLLMMLLLLLLLLLLLDDMLLLLLLLLMFLLLLDLMLLLLLLLLLLLLMMMMLLALLFLLLLLLLLLLLLLLDLLLLDLLMLLLLLLMLDDLLLLLLLLLLLLMLLLLLDLLLMLLLLLLLLLLLLLLMLLLDLLMMMLMLLMLLLMMLDLLLLLLLLLLDLLMLALLLLLLLLLLDLLLMLLLLLLDLLLLLLMLMLLLLLLMMMLLALLLLLLLLLLDDLLLFDDEDDENNNNLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLMMLLALLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLDLLMLMLLLLLLAAAAFDDLLLLLLLLLLLLMLLMLLMLLLLLLLLLDLLLLLLLLLLLLLDMMLLMMMLLLLLLLLLLLDLLLLLLLMLLDLLLLLLLLLLDMLLLMLMLLLLLCAAFAADLLLLLLLLLLDFLLMLLLLLLLLLLLDLLLLMLLOMLLLLMLMLDDLLLLLLLLLLLLLLLLLLLLMMLMLLMMLLMLLLLLLLLLDLLLMDDLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLLLLLLLMDLLLRDMMLLMLLLMLMMLLLLDNGNELLLLLMMMOOLLLLLLLMLLLLLMMLLLLLLLLLLRDRRRLLLLLLLLLLLMLLLLLGAAFFRRDLLLLLMLLLLLLLLDRRLLLLLLLLDLLLLLLFDLLLLLLLLLAFDLLLLLLLLLLLLLLLLDMLLLMLLMLLLLADRLLLLLLLLLLLLLFMLNNNNNNDNDNNNNEGNNNNENGDNNNNNNNLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRAAFAAFAAAAFADDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDLLLLLLMMLLLLLRDLLLLMLLLLLLLLLMLRDDRDMMLLLLLLLLLLLLDLLLLLLLLMLLLLAFMLLLLLLLLLLLLLLLLLDLLLMLLLLLMLDRLLLLLLLLLLLADLLLAFAAMLLLLLLLLLDDRLLLLLLLLLLMMLLLMMMLDLMLLLLLLLLLLLLLLLDLLLLMLLMMMLLLLDRLLLLLLLLLLDMLLLLLLLLLLLLLAMFDLLLLLLLLLLLLLDMLLLLDLLMLLMLLLLLMLAAAAAFADDDDRMMDMLLLLLLLLLLLLMLLLLLLLLDMMMMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLDDRDLLLLLLLLLLLLMDMLLLLLLLLMMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLDRLLLLLLLLLLDLLLLMLLLLLLLLLDMMLLMMMLLLLLLLMLLLLMLDRLLLLLLMLLLLMMMLMLLLMLLLLLLLDLLRDMMLLMMLLLMLLMMMMMLLLLDDMLLLLLLLLLLMLLLLLLLLLDLLLLLLLLLLMLLLFDEDDRNNDDDDMMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLMLMMMMMMMMMMMMLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLCAFADLLMLLLLLLLLDDALLLLLLLLDLLLLLLLLFFLLLLLLLLLLDLLLLLLLLLLLLLLLLDDDDDDGDDDDMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDIDDILLLLLLLLLLLLKLLMMLLLLLLLKLLLLLLLLLLLKLLKLLKLLLMLLLLLLLLLLLLLLLDDRRMLLLLLLLLLLLLLLLLLLLAFDLLLLLLLLLLLLLDLLLLLLLLML","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","publish_benchmarks","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","publish_benchmarks","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","publish_benchmarks","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","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","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","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","ApiWork","ValidationToken","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","nonce","register","result","serialize","serialize","string","time","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_pow","vzip","vzip","vzip","worker_type","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","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","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","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","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","publish_benchmarks","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","publish_benchmarks","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","ENV_VAR_CONFIG","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","env_override","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","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","queue_length","redis","reply","runners","salt","serialize","server","set_database_type","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","clone_stats","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","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":[[0,"mcaptcha"],[156,"mcaptcha::api"],[157,"mcaptcha::api::v1"],[178,"mcaptcha::api::v1::account"],[219,"mcaptcha::api::v1::account::delete"],[231,"mcaptcha::api::v1::account::delete::runners"],[232,"mcaptcha::api::v1::account::email"],[269,"mcaptcha::api::v1::account::password"],[311,"mcaptcha::api::v1::account::routes"],[329,"mcaptcha::api::v1::account::secret"],[350,"mcaptcha::api::v1::account::username"],[388,"mcaptcha::api::v1::account::username::runners"],[389,"mcaptcha::api::v1::auth"],[422,"mcaptcha::api::v1::auth::routes"],[436,"mcaptcha::api::v1::auth::runners"],[490,"mcaptcha::api::v1::mcaptcha"],[499,"mcaptcha::api::v1::mcaptcha::create"],[542,"mcaptcha::api::v1::mcaptcha::create::runner"],[543,"mcaptcha::api::v1::mcaptcha::delete"],[570,"mcaptcha::api::v1::mcaptcha::easy"],[631,"mcaptcha::api::v1::mcaptcha::easy::routes"],[643,"mcaptcha::api::v1::mcaptcha::get"],[686,"mcaptcha::api::v1::mcaptcha::routes"],[703,"mcaptcha::api::v1::mcaptcha::stats"],[730,"mcaptcha::api::v1::mcaptcha::stats::routes"],[741,"mcaptcha::api::v1::mcaptcha::update"],[778,"mcaptcha::api::v1::mcaptcha::update::runner"],[779,"mcaptcha::api::v1::meta"],[906,"mcaptcha::api::v1::meta::routes"],[918,"mcaptcha::api::v1::notifications"],[923,"mcaptcha::api::v1::notifications::add"],[953,"mcaptcha::api::v1::notifications::get"],[986,"mcaptcha::api::v1::notifications::mark_read"],[1008,"mcaptcha::api::v1::notifications::routes"],[1021,"mcaptcha::api::v1::pow"],[1027,"mcaptcha::api::v1::pow::get_config"],[1054,"mcaptcha::api::v1::pow::routes"],[1072,"mcaptcha::api::v1::pow::verify_pow"],[1119,"mcaptcha::api::v1::pow::verify_token"],[1163,"mcaptcha::api::v1::routes"],[1181,"mcaptcha::data"],[1221,"mcaptcha::date"],[1243,"mcaptcha::db"],[1246,"mcaptcha::db::maria"],[1247,"mcaptcha::db::pg"],[1248,"mcaptcha::demo"],[1265,"mcaptcha::docs"],[1313,"mcaptcha::docs::routes"],[1326,"mcaptcha::email"],[1327,"mcaptcha::email::verification"],[1345,"mcaptcha::errors"],[1452,"mcaptcha::pages"],[1460,"mcaptcha::pages::auth"],[1465,"mcaptcha::pages::auth::login"],[1502,"mcaptcha::pages::auth::register"],[1539,"mcaptcha::pages::auth::routes"],[1553,"mcaptcha::pages::auth::sudo"],[1571,"mcaptcha::pages::errors"],[1624,"mcaptcha::pages::errors::routes"],[1636,"mcaptcha::pages::panel"],[1668,"mcaptcha::pages::panel::notifications"],[1708,"mcaptcha::pages::panel::routes"],[1723,"mcaptcha::pages::panel::settings"],[1773,"mcaptcha::pages::panel::settings::routes"],[1787,"mcaptcha::pages::panel::sitekey"],[1794,"mcaptcha::pages::panel::sitekey::add"],[1876,"mcaptcha::pages::panel::sitekey::delete"],[1886,"mcaptcha::pages::panel::sitekey::edit"],[1945,"mcaptcha::pages::panel::sitekey::list"],[1972,"mcaptcha::pages::panel::sitekey::routes"],[1994,"mcaptcha::pages::panel::sitekey::view"],[2026,"mcaptcha::pages::routes"],[2049,"mcaptcha::pages::sitemap"],[2087,"mcaptcha::routes"],[2088,"mcaptcha::settings"],[2289,"mcaptcha::static_assets"],[2293,"mcaptcha::static_assets::filemap"],[2305,"mcaptcha::static_assets::static_files"],[2354,"mcaptcha::static_assets::static_files::assets"],[2465,"mcaptcha::stats"],[2532,"mcaptcha::widget"],[2572,"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","","","","","","","","","traffic 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","publish benchmarks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","emits 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.","Returns the argument unchanged.","Calls U::from(self).","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 handler 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,219,220,221,222,223,224,225,226,227,228,1,3,5,7,8,9,10,11,2,2,0,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,39,2,2,39,0,2,0,0,39,2,0,1,3,5,7,8,9,10,11,0,0,0,1,3,5,7,8,9,10,11,0,0,1,3,5,7,8,9,10,11,39,0,0,2,0,2,0,39,2,2,0,0,39,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,0,0,0,0,0,0,20,20,20,20,0,20,0,0,0,0,20,0,0,20,20,20,20,0,0,0,24,25,24,25,24,25,24,25,0,24,25,0,25,24,25,24,25,24,25,0,0,0,0,24,25,0,24,25,24,25,24,25,24,25,0,24,24,25,29,29,0,29,29,29,0,0,29,29,29,29,0,0,33,34,35,33,34,35,33,33,33,33,0,33,33,34,35,33,34,35,34,35,33,0,0,33,33,34,35,33,34,35,33,34,35,33,34,35,0,0,37,36,38,37,36,38,36,36,37,36,36,36,37,37,36,38,37,36,38,37,36,36,38,36,0,36,37,36,38,37,36,38,37,36,38,0,0,37,36,38,0,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,42,41,42,41,42,0,41,42,41,42,0,41,42,41,42,41,42,0,41,42,0,44,43,45,44,43,45,43,43,43,43,44,43,45,44,43,45,44,45,0,43,0,0,43,44,43,45,44,43,45,44,43,45,43,0,44,43,45,0,46,47,48,46,47,48,46,47,48,46,47,48,0,0,46,47,48,0,0,0,0,46,47,48,46,47,48,46,47,48,46,47,48,0,49,49,49,49,49,49,49,49,49,49,49,49,49,0,0,0,51,52,53,51,52,53,51,52,53,51,52,53,51,51,52,53,51,51,52,53,51,52,53,51,52,53,52,0,51,52,53,0,51,52,53,51,52,53,51,52,53,51,52,53,51,52,53,51,51,52,53,0,0,0,0,0,0,0,0,0,0,0,56,55,57,56,55,57,55,55,0,56,56,55,56,55,56,55,57,56,55,57,55,56,55,56,57,0,56,55,55,56,55,57,56,55,57,56,55,57,56,55,57,0,0,58,59,58,59,58,58,0,58,58,58,59,58,59,58,58,59,58,58,58,59,58,59,58,59,58,59,0,0,64,64,66,65,67,64,66,65,67,64,0,64,65,64,65,0,64,64,64,65,64,65,64,66,65,67,64,66,65,67,65,65,64,64,66,67,0,64,65,0,64,65,64,66,65,67,64,66,65,67,64,66,65,67,0,64,66,65,67,0,68,68,68,68,68,68,68,68,68,68,68,0,0,71,69,70,71,69,70,69,70,69,70,69,70,70,69,70,71,69,70,0,71,69,70,69,71,69,70,69,70,71,69,70,71,69,70,71,69,70,70,71,69,70,0,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,0,73,74,73,74,73,73,73,73,73,74,0,73,74,73,74,0,73,73,73,74,73,74,73,74,73,74,0,75,75,75,75,75,75,75,75,75,75,0,77,76,78,77,76,78,76,76,76,77,76,78,77,76,78,76,76,76,77,78,0,76,77,76,78,77,76,78,77,76,78,0,0,77,76,78,0,0,0,0,0,0,0,81,84,81,84,80,79,81,87,83,82,84,88,80,79,81,87,83,82,84,88,79,82,0,80,79,83,82,80,79,83,82,79,82,82,83,82,79,82,80,83,80,81,81,83,84,84,80,79,81,81,81,87,83,82,84,84,84,88,79,80,79,0,80,79,81,87,83,82,84,88,83,82,83,82,87,88,0,80,83,0,80,79,83,82,81,84,80,79,81,87,83,82,84,88,80,79,81,87,83,82,84,88,80,79,81,87,83,82,84,88,79,80,79,80,79,81,87,83,82,84,88,0,89,89,89,89,89,89,89,89,89,89,89,0,0,0,0,0,0,0,90,91,90,91,90,90,90,90,90,90,90,91,90,90,91,90,91,90,90,90,90,91,90,91,90,91,90,91,0,92,94,92,94,92,92,92,92,92,92,92,94,92,0,92,92,92,94,92,92,92,94,92,92,92,94,92,94,92,94,92,94,0,95,96,95,96,95,95,96,95,95,96,0,96,95,95,96,95,96,95,96,95,96,0,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,0,0,0,0,98,99,98,99,98,98,98,98,98,99,0,0,98,99,98,99,98,98,98,99,98,99,98,99,98,99,0,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,100,100,0,0,101,102,103,101,102,103,101,102,101,102,101,102,101,102,101,102,103,101,102,103,102,102,103,102,101,102,102,102,101,102,101,101,102,103,101,102,103,101,102,103,0,101,102,103,102,0,0,104,105,106,104,105,106,104,105,104,105,104,105,104,105,104,105,106,104,105,106,105,106,105,104,105,104,105,105,104,105,106,104,105,106,104,105,106,104,0,104,105,106,0,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,107,0,107,0,107,107,39,107,39,39,39,39,0,0,107,39,39,39,107,107,39,39,107,39,107,107,107,39,39,107,39,107,39,107,39,107,107,107,39,0,0,0,0,0,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,0,0,0,0,0,0,0,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,0,0,239,135,136,137,239,135,136,137,0,239,135,136,137,239,239,0,0,239,135,136,137,239,239,135,136,137,0,0,0,239,135,136,137,239,135,136,137,239,135,136,137,239,135,136,137,0,138,138,138,138,138,138,138,138,138,138,138,138,0,0,0,139,139,139,139,139,139,139,139,139,139,139,139,139,0,139,139,32,32,32,32,32,32,0,32,0,32,146,32,32,0,0,32,32,32,32,0,146,0,0,32,32,32,32,32,32,32,144,145,32,143,146,144,145,32,143,146,143,144,145,32,146,143,32,146,144,144,145,145,32,32,146,146,144,145,32,32,32,32,32,32,32,32,32,143,146,146,146,144,145,32,143,146,143,144,145,32,146,32,146,144,145,32,146,144,145,32,143,146,144,145,32,143,146,144,145,32,143,146,144,145,32,143,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,158,159,160,158,159,160,158,158,158,159,158,159,160,158,159,160,0,160,158,158,158,158,159,160,158,159,160,158,159,160,158,159,160,0,0,0,162,161,162,163,161,162,163,161,161,161,162,161,162,163,161,162,163,0,163,161,161,161,161,162,163,161,162,163,161,162,163,161,162,163,0,164,164,164,164,164,164,164,164,164,164,164,164,164,0,0,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,0,0,0,0,0,171,172,170,171,172,173,170,171,172,173,170,170,171,172,0,170,171,172,173,170,171,172,173,170,170,173,170,170,0,0,170,170,170,171,172,173,170,171,172,173,170,171,172,173,170,171,172,173,0,174,174,174,174,174,174,174,174,174,174,174,0,0,175,177,175,177,175,175,175,177,175,177,175,0,0,177,175,175,0,0,0,0,175,175,175,177,175,177,175,177,175,177,0,0,0,178,179,180,178,179,180,178,178,179,180,178,178,178,179,180,178,179,178,179,0,178,178,180,179,179,178,179,180,178,179,180,178,179,180,178,179,180,0,181,181,181,181,181,181,181,181,181,181,181,181,181,181,0,0,182,183,184,185,182,183,184,185,182,182,0,182,182,183,184,185,182,183,184,185,183,184,185,182,182,0,182,0,0,182,182,183,184,185,182,183,184,185,182,183,184,185,0,182,182,183,184,185,0,186,186,186,186,186,186,186,186,186,186,186,186,186,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,188,189,190,187,191,188,192,189,190,187,191,188,192,188,187,188,187,188,187,188,189,190,0,187,188,187,187,188,189,190,187,191,188,192,189,190,187,191,188,192,187,188,191,192,187,188,187,188,187,188,189,190,187,191,188,192,189,190,187,191,188,192,189,190,187,191,188,192,189,190,187,191,188,192,193,193,0,193,193,193,193,193,193,193,0,0,0,0,194,196,195,197,194,196,195,197,194,195,194,195,194,0,195,194,196,195,197,194,196,195,197,194,195,194,194,194,195,195,194,196,197,194,195,194,195,194,195,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,0,0,198,199,198,199,198,198,198,199,198,199,0,198,199,198,198,198,198,198,199,198,199,198,199,198,199,0,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,0,0,201,203,201,203,201,201,201,201,203,201,203,201,201,201,201,201,203,201,201,201,201,201,203,201,203,201,203,0,201,203,0,0,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,0,0,205,204,205,206,204,205,206,204,204,204,205,204,204,205,206,204,205,206,206,204,204,0,204,204,205,206,204,205,206,204,205,206,204,204,205,206,0,0,0,0,0,0,210,210,0,0,0,0,2,2,61,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,61,2,2,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,2,207,2,211,2,208,207,208,61,209,210,211,212,2,207,61,208,2,207,208,61,209,210,211,212,2,207,207,207,207,208,208,208,208,61,61,61,61,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,2,2,2,2,207,208,61,209,210,210,211,212,2,207,208,61,209,210,211,212,2,209,210,208,207,207,208,61,209,210,211,212,2,207,2,209,61,211,212,207,209,207,208,2,209,208,208,210,2,2,2,2,207,208,61,209,210,211,212,2,210,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,209,211,212,207,209,207,208,61,209,210,211,212,2,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,240,217,241,218,240,217,241,218,0,240,217,241,218,240,240,241,241,0,0,240,217,241,218,240,240,241,241,217,218,0,240,217,241,218,240,217,241,218,240,217,241,218,240,217,241,218,0,0,0,0,0,0,0,0,0,0,0,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,0,0,0,0,0,202,229,230,202,229,230,202,229,230,202,229,230,242,229,230,202,202,202,229,230,202,202,229,230,231,229,230,202,229,230,202,229,230,202,229,230,231,229,230,231,229,230,231,229,230,202,202,202,229,230,202,229,230,202,229,230,202,229,230,202,229,230,0,0,0,0,236,235,236,237,235,236,237,235,235,236,235,236,237,235,236,237,235,237,235,235,0,0,0,235,235,236,237,235,236,237,235,236,237,235,236,237,0,238,238,238,238,238,238,238,238,238,238],"f":[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,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,6],[7,6],[8,6],[9,6],[10,6],[11,12],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[2,[[14,[13]]]],[[],15],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],16],0,0,0,0,0,0,0,0,0,0,0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[19,[[17,[20]]]],[[]],[[],[[22,[21]]]],[[]],0,0,0,0,0,0,[23],[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[24,24],[25,25],[[]],[[]],0,[19,[[17,[24]]]],[19,[[17,[25]]]],0,0,[[24,26],27],[[25,26],27],[[]],[[]],[[]],[[]],0,0,0,0,[[24,28],17],[[25,28],17],[23],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,0,[[]],[[]],[[]],[[]],0,[[]],[[]],[[29,30]],0,[23],[[],17],[[],17],[[],18],[[]],[[6,31],[[17,[32]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[33,33],[[]],[19,[[17,[33]]]],0,0,[[33,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[34,30]],[[35,30]],[[33,28],17],[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[36,36],[[]],0,0,[19,[[17,[36]]]],[[36,26],27],[[]],[36,37],[[]],[[]],[[]],[[]],[[]],0,0,0,[[38,30]],[[36,28],17],[23],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[6,37,39],[[17,[32]]]],0,[[]],[[]],[[]],0,[[]],[[]],0,0,[[]],0,[[]],[[],40],[[],17],[[],17],[[],18],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[41,30]],[[42,30]],[23],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[[]],[19,[[17,[43]]]],[[43,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[44,30]],[[45,30]],0,[[43,28],17],[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],[[24,31],[[17,[25,32]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[46,30]],[[47,30]],[[48,30]],0,0,[23],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[49,[50,[6]]],12],[[]],0,0,[[],49],0,[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[51,51],[52,52],[53,53],[[]],[[]],[[]],0,[19,[[17,[51]]]],[19,[[17,[52]]]],[19,[[17,[53]]]],0,[[51,26],27],[[52,26],27],[[53,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,[[52,31],[[17,[12,32]]]],0,0,0,[[51,31],[[17,[32]]]],[[51,28],17],[[52,28],17],[[53,28],17],[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],0,0,0,0,[54,12],0,[23],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[55,55],[[]],0,0,[19,[[17,[56]]]],[19,[[17,[55]]]],0,[[55,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[57,30]],0,[[56,28],17],[[55,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[56,31,6],[[17,[55,32]]]],0,[[]],[[]],[[]],[[]],[58,58],[[]],0,[19,[[17,[58]]]],[[58,26],27],[[]],[[]],[[]],[[]],0,0,[[59,30]],[[58,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[60,61],[[17,[[63,[62]],32]]]],[64,64],[65,65],[[]],[[]],0,[[],64],0,[19,[[17,[64]]]],[19,[[17,[65]]]],[[64,26],27],[[65,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[66,30]],[[67,30]],0,[[64,28],17],[[65,28],17],[23],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[]],[[]],[[],68],[[],17],[[],17],[[],18],0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[69,69],[70,70],[[]],[[]],[19,[[17,[69]]]],[19,[[17,[70]]]],0,[[69,26],27],[[70,26],27],[[]],[[]],[[]],0,[[]],[[]],[[]],0,[[71,30]],[[69,28],17],[[70,28],17],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],0,[[]],[[]],0,0,0,[[]],0,[[]],[[],72],0,[[],17],[[],17],[[],18],0,0,[[]],0,[[]],[[]],[[]],[[]],[73,73],[[]],[19,[[17,[73]]]],[[73,26],27],[[]],[[]],0,[[]],[[]],0,[[74,30]],0,[[73,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],0,[[]],[[],75],[[],17],[[],17],[[],18],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,[19,[[17,[76]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[77,30]],[[78,30]],0,[[76,28],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],[[76,31,6],[[17,[32]]]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[79,[[17,[80,81]]]],[82,[[17,[83,84]]]],0,[80,80],[79,79],[83,83],[82,82],[[]],[[]],[[]],[[]],[[],79],[[],82],[[82,85],82],0,0,[[],79],[[],82],[19,[[17,[80]]]],[19,[[17,[83]]]],[[80,26],27],[[81,26],27],[[81,26],27],[[83,26],27],[[84,26],27],[[84,26],27],[[]],[[]],[[]],[86,81],[12,81],[[]],[[]],[[]],[12,84],[[]],[86,84],[[]],[[79,6],79],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[50,[85]]],85],[[82,[50,[85]]],82],0,0,[[87,30]],[[88,30]],0,[[80,28],17],[[83,28],17],[23],[[]],[[]],[[]],[[]],[[],12],[[],12],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[79,6],79],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[]],0,[[]],[[],89],[[],17],[[],17],[[],18],[[]],0,0,0,0,[23],0,0,[[]],[[]],[[]],[[]],[90,90],[[]],[[],90],[19,[[17,[90]]]],[[90,90],85],[[90,26],27],[[]],[[]],0,[[]],[[]],0,[[91,30]],[[90,28],17],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],[[]],[92,92],[[]],[[],92],[19,[[17,[92]]]],[[92,92],85],[[]],[93,92],[[]],[[[63,[93]]],[[63,[92]]]],0,0,0,[[]],[[]],0,0,0,[[94,30]],[[92,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],[[]],[19,[[17,[95]]]],[[]],[[]],0,[[]],[[]],0,[[96,30]],[[95,28],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,[[]],[[]],[[]],0,[[]],0,[[],97],[[],17],[[],17],[[],18],[[]],0,0,0,[23],0,0,0,[[]],[[]],[[]],[[]],[98,98],[[]],[19,[[17,[98]]]],[[98,26],27],[[]],[[]],0,[[31,6],[[17,[32]]]],[[]],[[]],0,[[99,30]],[[98,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],[100,6],0,[[]],[[],100],0,0,[[],17],[[],17],[[],18],[100,6],0,[100,6],0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[101,101],[102,102],[[]],[[]],[19,[[17,[101]]]],[19,[[17,[102]]]],[[101,26],27],[[102,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[103,30]],0,[[101,28],17],[[102,28],17],0,0,[[]],[[]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[104,104],[105,105],[[]],[[]],[19,[[17,[104]]]],[19,[[17,[105]]]],[[104,26],27],[[105,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,[[106,30]],0,[[104,28],17],[[105,28],17],[[]],[[]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],0,0,0,0,[[]],[[]],0,[[]],[[21,[50,[6]]],12],[[]],0,[[],21],0,0,[[],17],[[],17],[[],18],[[]],0,0,0,0,0,[[107,108],[[17,[32]]]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[],109],[2,[[50,[[111,[110]]]]]],[[107,12],[[113,[[50,[112]]]]]],[[]],[[]],0,[2,107],[2,[[114,[39]]]],[[2,[116,[115]],[116,[117]]],[[118,[117,115]]]],[[107,119],[[17,[32]]]],[[107,120],[[17,[32]]]],0,0,[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[107,121],[[113,[85]]]],[[107,122,12],113],[[]],[[]],0,0,0,0,0,[[]],[[]],[123,123],[[]],[123,12],[[123,26],27],[124,12],[[]],[[]],[125,123],[123,12],0,[[]],[[],17],[[],17],[[],18],[[]],0,0,0,[[[50,[2]]],[[127,[126]]]],[[[50,[2]]],[[127,[126]]]],0,0,0,[128],[[]],[[]],[31,[[17,[32]]]],[[]],0,[[]],[31,[[17,[32]]]],[[31,129],[[17,[130,32]]]],[[31,129],[[17,[128,32]]]],[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,132],0,[[]],[[]],[[]],[[]],[[],133],[[],134],[[135,30]],[[136,30]],[[137,30]],0,[23],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],0,[[]],[[],138],0,[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[139,139],[[]],[[]],[[]],[6,139],[139,140],[[139,141],[[17,[142]]]],[[]],[[],17],[[],17],[[],18],[[39,6,6],[[17,[32]]]],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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19,[[17,[143]]]],[[144,144],85],[[145,145],85],[[32,32],85],[[146,146],85],0,[32,132],[146,132],[[144,26],27],[[144,26],27],[[145,26],27],[[145,26],27],[[32,26],27],[[32,26],27],[[146,26],27],[[146,26],27],[[]],[[]],[147,32],[148,32],[149,32],[150,32],[151,32],[152,32],[153,32],[154,32],[[]],[[]],[149,146],[32,146],[[]],[[]],[[]],[[]],[[]],[[]],[[143,28],17],[144,[[50,[155]]]],[145,[[50,[155]]]],[32,[[50,[155]]]],[146,[[50,[155]]]],[32,156],[146,156],[[],12],[[],12],[[],12],[[],12],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],0,0,0,[[],[[22,[157]]]],0,0,[23],0,0,0,0,[23],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[158,158],[[]],[[],158],[159,12],[[]],[[]],[[]],[[]],[[]],[[]],0,[[160,30]],[158,140],[[158,141],[[17,[142]]]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[161,161],[[]],[[],161],[162,12],[[]],[[]],[[]],[[]],[[]],[[]],0,[[163,30]],[161,140],[[161,141],[[17,[142]]]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[164,[50,[6]]],12],[[],[[165,[6]]]],[[]],0,0,[[],164],[[],17],[[],17],[[],18],[[]],0,0,[[]],[[]],[[[169,[[0,[166,167,168]],[0,[166,167,168]]]]],[[169,[[0,[166,167,168]],[0,[166,167,168]]]]]],[[]],0,[[]],[[]],[[6,[50,[63]]],[[169,[[0,[166,167]],[0,[166,167]]]]]],[[[169,[[0,[166,167]],[0,[166,167]]]]],140],[[[169,[[0,[166,167]],[0,[166,167]]]],141],[[17,[142]]]],[[]],[[],17],[[],17],[[],18],0,[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[170,170],[[]],[171,12],[172,12],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[6,6],170],[[173,30]],[170,140],[[170,141],[[17,[142]]]],0,[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],0,[[]],[[],174],[[],17],[[],17],[[],18],0,[[]],0,0,[[]],[[]],[[]],[[]],[175,175],[[]],[[]],[[]],[[]],[[]],[[[63,[176]]],175],0,0,[[177,30]],[175,140],[[175,141],[[17,[142]]]],0,[23],0,0,0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[93,178],[[]],[[]],0,0,[[]],[[]],[[]],0,0,0,[[[63,[178]]],179],0,[178,12],0,[[180,30]],[179,140],[[179,141],[[17,[142]]]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],[[165,[6]]]],0,[[]],[[],181],0,0,0,[[],17],[[],17],[[],18],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[182,182],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[183,30]],[[184,30]],[[185,30]],[182,140],[[182,141],[[17,[142]]]],0,0,[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[]],[[],[[165,[6]]]],0,[[]],[[],186],[[],17],[[],17],[[],18],0,[[]],0,0,0,0,0,[23],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[187,187],[188,188],[[]],[[]],[[],187],[[],188],[189,12],[190,12],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[191,30]],[[192,30]],[187,140],[188,140],[[187,141],[[17,[142]]]],[[188,141],[[17,[142]]]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[193,30]],[[],17],[[],17],[[],18],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[194,194],[195,195],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[176,[63,[62]],12,85],194],[[12,64],195],0,0,[[196,30]],[[197,30]],[194,140],[195,140],[[194,141],[[17,[142]]]],[[195,141],[[17,[142]]]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[198,198],[[]],[[]],[[]],[[]],[[]],0,[[[63,[176]]],198],[[199,30]],[198,140],[[198,141],[[17,[142]]]],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[200,6],12],[[200,6],12],[[200,6],12],[[],[[165,[6]]]],[[200,6],12],[[]],0,[[],200],[[],17],[[],17],[[],18],0,[[]],0,0,[[]],[[]],[[]],[[]],[201,201],[[]],0,[[]],[[]],[[]],[[]],0,0,0,[[202,176,[63,[62]],12,85],201],0,[[203,30]],[201,140],[[201,141],[[17,[142]]]],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,[[]],[[]],0,0,0,0,[[]],[[]],0,0,[[]],[[157,[50,[6]]],12],[[],[[165,[6]]]],0,[[]],[[],157],0,0,0,0,0,[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[204,204],[[]],[[],204],[205,12],0,[[]],[[]],[[]],[[]],[[]],[[]],[[206,30]],[204,140],[[204,141],[[17,[142]]]],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],[23],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[2],[207,207],[208,208],[61,61],[209,209],[210,210],[211,211],[212,212],[2,2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[19,[[17,[207]]]],[19,[[17,[208]]]],[19,[[17,[61]]]],[19,[[17,[209]]]],[19,[[17,[210]]]],[19,[[17,[211]]]],[19,[[17,[212]]]],[19,[[17,[2]]]],0,0,0,[[[214,[213]]],[[214,[213]]]],[[207,207],85],[[208,208],85],[[61,61],85],[[209,209],85],[[210,210],85],[[211,211],85],[[212,212],85],[[2,2],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[207,26],27],[[208,26],27],[[61,26],27],[[209,26],27],[[210,26],27],[[210,26],27],[[211,26],27],[[212,26],27],[[2,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[215,[[17,[210,216]]]],0,[207,12],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],[[17,[2,216]]]],0,0,0,0,0,0,0,0,0,0,0,0,[[210,28],17],0,[2],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],12],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[23],0,0,[[]],[[]],0,[[]],[[4,6],[[50,[6]]]],[[]],[[],4],[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,132],[6,132],[[]],[[]],[[]],[[]],[[],134],[[],133],[[],134],[[],133],[[217,30]],[[218,30]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[202,202],[229,229],[230,230],[[]],[[]],[[]],[[],[[127,[231]]]],[[],[[127,[231,232]]]],[[],[[127,[231,232]]]],0,0,[[],202],[[],229],[[],230],[19,[[17,[202]]]],[[202,202],85],[[229,229],85],[[230,230],85],[[39,6,6],[[234,[[127,[233]]]]]],[[229,39,6,6],[[234,[[127,[233]]]]]],[[230,39,6,6],[[234,[[127,[233]]]]]],[[202,26],27],[[229,26],27],[[230,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[39,6],[[234,[[127,[233]]]]]],[[229,39,6],[[234,[[127,[233]]]]]],[[230,39,6],[[234,[[127,[233]]]]]],[[39,6],[[234,[[127,[233]]]]]],[[229,39,6],[[234,[[127,[233]]]]]],[[230,39,6],[[234,[[127,[233]]]]]],[[39,6],[[234,[[127,[233]]]]]],[[229,39,6],[[234,[[127,[233]]]]]],[[230,39,6],[[234,[[127,[233]]]]]],[[202,28],17],0,[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[235,235],[[]],[236,12],[[]],[[]],[[]],[[]],[[]],[[]],[[],235],[[237,30]],[235,140],[[235,141],[[17,[142]]]],0,[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],238],[[],17],[[],17],[[],18],0,[[]]],"c":[],"p":[[3,"SETTINGS"],[3,"Settings"],[3,"FILES"],[3,"FileMap"],[3,"JS"],[15,"str"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"String"],[3,"CookieIdentityPolicy"],[3,"IdentityService"],[3,"JsonConfig"],[6,"Result"],[4,"Result"],[3,"TypeId"],[8,"Deserializer"],[3,"RedirectQuery"],[3,"Routes"],[3,"Authentication"],[3,"ServiceConfig"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"Formatter"],[6,"Result"],[8,"Serializer"],[3,"delete_account"],[3,"AppService"],[6,"AppData"],[4,"ServiceError"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"ChangePasswordReqest"],[3,"UpdatePassword"],[3,"update_user_password"],[3,"Data"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"Username"],[3,"username_exists"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[4,"Option"],[3,"Register"],[3,"Login"],[3,"Password"],[15,"usize"],[3,"MCaptchaDetails"],[3,"CreateCaptcha"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPattern"],[3,"DefaultDifficultyStrategy"],[3,"Level"],[3,"Vec"],[3,"TrafficPatternRequest"],[3,"UpdateTrafficPattern"],[3,"create"],[3,"update"],[3,"Easy"],[3,"Levels"],[3,"I32Levels"],[3,"get_captcha"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"UpdateCaptcha"],[3,"update_key"],[3,"update_captcha"],[3,"BuildDetailsBuilder"],[3,"BuildDetails"],[4,"BuildDetailsBuilderError"],[3,"HealthBuilder"],[3,"Health"],[4,"HealthBuilderError"],[15,"bool"],[3,"UninitializedFieldError"],[3,"build_details"],[3,"health"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"Notification"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"ApiWork"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"VerifyCaptchaResultPayload"],[3,"validate_captcha_token"],[4,"SystemGroup"],[3,"AddSite"],[3,"Config"],[3,"Tokio1Executor"],[3,"AsyncSmtpTransport"],[3,"PoWConfig"],[6,"CaptchaResult"],[3,"Arc"],[8,"Master"],[3,"Addr"],[8,"Save"],[3,"System"],[3,"RemoveCaptcha"],[3,"Rename"],[3,"VerifyCaptchaResult"],[3,"Work"],[3,"Date"],[3,"OffsetDateTime"],[15,"i64"],[8,"MCDatabase"],[3,"Box"],[3,"DemoUser"],[3,"Duration"],[3,"JoinHandle"],[3,"EmbeddedFile"],[3,"HttpResponse"],[8,"Iterator"],[4,"Filenames"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[6,"RenderResult"],[3,"Buffer"],[4,"RenderError"],[3,"ErrorToResponse"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"PageError"],[3,"Error"],[3,"ValidationErrors"],[4,"DBError"],[4,"ParseError"],[4,"MailboxError"],[3,"RecvError"],[4,"CaptchaError"],[4,"CredsError"],[8,"Error"],[3,"StatusCode"],[3,"Routes"],[3,"IndexPage"],[3,"INDEX"],[3,"login"],[3,"IndexPage"],[3,"INDEX"],[3,"join"],[3,"Auth"],[15,"array"],[8,"Display"],[8,"Render"],[8,"Clone"],[3,"SudoPage"],[3,"ErrorPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"Captcha"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"AdvanceIndexPage"],[3,"EasyIndexPage"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"EasyEditPage"],[3,"advance"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"CaptchaStats"],[3,"view_sitekey"],[3,"IndexPage"],[3,"INDEX"],[3,"sitemap"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[4,"DBType"],[3,"Database"],[3,"Redis"],[3,"DefaultState"],[3,"ConfigBuilder"],[3,"Url"],[4,"ConfigError"],[3,"static_files"],[3,"favicons"],[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,"Real"],[3,"Dummy"],[8,"Stats"],[3,"Global"],[8,"Future"],[3,"Pin"],[3,"IndexPage"],[3,"INDEX_PAGE"],[3,"show_widget"],[3,"Widget"],[3,"Asset"],[3,"Asset"],[3,"Favicons"],[8,"CloneStats"]]}\ +"mcaptcha":{"doc":"","t":"GGDRRDDRDDDDRDDDDDDDRRRRDDDDRDDRRMMMMMMMMMMMMMMMMMMMMALLLLLLLLLLLLLLLLMMMMAMAAMMALLLLLLLLAAALLLLLLLLFFLLLLLLLLMFAMAMAMMMAAMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLAACDAALLLLFLAAAAMAFLLLLDDCLLLLLLLLALLAMLLLLLLCAAALLFLLLLLLLLAMLLLLDLLLAFLLLLFDLLLLLLLLLMDLLLLLLLLLLFDLLLLLLLLLLLLLDDLLLLLLLLMMLLLLLLLLLMMMLLFLLLLLLLLLLFDLLLDLLMMLMLLLLLMMMMMLLLLLLLDLLLLFLLLLLLDLLDLLLLLLLLLLLLLLLLLLALFDLLLLLLLLLLMDLLLFLLLLLLLLLLLLDDLLLAAFDLLLLLLLLLLLLDLLLLLMMLMLLLLDDDLLLLLLLLLLLLMLLLMLLLLLLLLLMFMMMFLLLLLLLLLLLLLLLMLLLAAAAFAFAADDLLLLLLLLDMLLMLLLLLLLMMMMLALLLLLLLLLLLLLLLFDLLLLLLDLLLLLLMMLLLLLLLLLLLDDMLLLLLLLLMFLLLLDLMLLLLLLLLLLLLMMMMLLALLFLLLLLLLLLLLLLLDLLLLDLLMLLLLLLMLDDLLLLLLLLLLLLMLLLLLDLLLMLLLLLLLLLLLLLLMLLLDLLMMMLMLLMLLLMMLDLLLLLLLLLLDLLMLALLLLLLLLLLDLLLMLLLLLLDLLLLLLMLMLLLLLLMMMLLALLLLLLLLLLDDLLLFDDEDDENNNNLLLLLLLLLLLLLLLLLLDLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLMMDLLLLLLLLLLMMLLALLFLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLDLLMLMLLLLLLAAAAFDDLLLLLLLLLLLLMLLMLLMLLLLLLLLLDLLLLLLLLLLLLLDMMLLMMMLLLLLLLLLLLDLLLLLLLMLLDLLLLLLLLLLDMLLLMLMLLLLLCAAFAADLLLLLLLLLLDFLLMLLLLLLLLLLLDLLLLMLLOMLLLLMLMLDDLLLLLLLLLLLLLLLLLLLLMMLMLLMMLLMLLLLLLLLLDLLLMDDLLLLLLLLLLLLLLLLLLLLMLMLLLLMLLLLLLLLLMDLLLRDMMLLMLLLMLMMLLLLDNGNELLLLLMMMOOLLLLLLLMLLLLLMMLLLLLLLLLLRDRRRLLLLLLLLLLLMLLLLLGAAFFRRDLLLLLMLLLLLLLLDRRLLLLLLLLDLLLLLLFDLLLLLLLLLAFDLLLLLLLLLLLLLLLLDMLLLMLLMLLLLADRLLLLLLLLLLLLLFMLNNNNNNDNDNNNNEGNNNNENGDNNNNNNNLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLRAAFAAFAAAAFADDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDDRMLLLLLLLLLLLLLLLLDLLLLLLLLLLLLLLLLDLLLLLLMMLLLLLRDLLLLMLLLLLLLLLMLRDDRDMMLLLLLLLLLLLLDLLLLLLLLMLLLLAFMLLLLLLLLLLLLLLLLLDLLLMLLLLLMLDRLLLLLLLLLLLADLLLAFAAMLLLLLLLLLDDRLLLLLLLLLLMMLLLMMMLDLMLLLLLLLLLLLLLLLDLLLLMLLMMMLLLLDRLLLLLLLLLLDMLLLLLLLLLLLLLAMFDLLLLLLLLLLLLLDMLLLLDLLMLLMLLLLLMLAAAAAFADDDDRMMDMLLLLLLLLLLLLMLLLLLLLLDMMMMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDLLLLLLLDDRDLLLLLLLLLLLLMDMLLLLLLLLMMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLDRLLLLLLLLLLDLLLLMLLLLLLLLLDMMLLMMMLLLLLLLMLLLLMLDRLLLLLLMLLLLMMMLMLLLMLLLLLLLDLLRDMMLLMMLLLMLLMMMMMLLLLDDMLLLLLLLLLLMLLLLLLLLLDLLLLLLLLLLMLLLFDERDDRNNDDDDMMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLLMLMMMMMMMMMMMMLMLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMLLLLLLLLCAFADLLMLLLLLLLLDDALLLLLLLLDLLLLLLLLFFLLLLLLLLLLDLLLLLLLLLLLLLLLLDDDDDDGDDDDMMMMMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLDIDDILLLLLLLLLLLLKLLMMLLLLLLLKLLLLLLLLLLLKLLKLLKLLLMLLLLLLLLLLLLLLLDDRRMLLLLLLLLLLLLLLLLLLLAFDLLLLLLLLLLLLLDLLLLLLLLML","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","publish_benchmarks","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","publish_benchmarks","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","publish_benchmarks","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","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","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","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","ApiWork","ValidationToken","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","nonce","register","result","serialize","serialize","string","time","to_owned","to_owned","token","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","verify_pow","vzip","vzip","vzip","worker_type","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","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","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","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","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","publish_benchmarks","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","publish_benchmarks","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","DEPRECATED_ENV_VARS","Database","DefaultDifficultyStrategy","ENV_VAR_CONFIG","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","env_override","eq","eq","eq","eq","eq","eq","eq","eq","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","equivalent","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","queue_length","redis","reply","runners","salt","serialize","server","set_database_type","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","clone_stats","clone_stats","config_fetches","confirms","default","default","default","deserialize","eq","eq","eq","fetch","fetch","fetch","fmt","fmt","fmt","from","from","from","into","into","into","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":[[0,"mcaptcha"],[156,"mcaptcha::api"],[157,"mcaptcha::api::v1"],[178,"mcaptcha::api::v1::account"],[219,"mcaptcha::api::v1::account::delete"],[231,"mcaptcha::api::v1::account::delete::runners"],[232,"mcaptcha::api::v1::account::email"],[269,"mcaptcha::api::v1::account::password"],[311,"mcaptcha::api::v1::account::routes"],[329,"mcaptcha::api::v1::account::secret"],[350,"mcaptcha::api::v1::account::username"],[388,"mcaptcha::api::v1::account::username::runners"],[389,"mcaptcha::api::v1::auth"],[422,"mcaptcha::api::v1::auth::routes"],[436,"mcaptcha::api::v1::auth::runners"],[490,"mcaptcha::api::v1::mcaptcha"],[499,"mcaptcha::api::v1::mcaptcha::create"],[542,"mcaptcha::api::v1::mcaptcha::create::runner"],[543,"mcaptcha::api::v1::mcaptcha::delete"],[570,"mcaptcha::api::v1::mcaptcha::easy"],[631,"mcaptcha::api::v1::mcaptcha::easy::routes"],[643,"mcaptcha::api::v1::mcaptcha::get"],[686,"mcaptcha::api::v1::mcaptcha::routes"],[703,"mcaptcha::api::v1::mcaptcha::stats"],[730,"mcaptcha::api::v1::mcaptcha::stats::routes"],[741,"mcaptcha::api::v1::mcaptcha::update"],[778,"mcaptcha::api::v1::mcaptcha::update::runner"],[779,"mcaptcha::api::v1::meta"],[906,"mcaptcha::api::v1::meta::routes"],[918,"mcaptcha::api::v1::notifications"],[923,"mcaptcha::api::v1::notifications::add"],[953,"mcaptcha::api::v1::notifications::get"],[986,"mcaptcha::api::v1::notifications::mark_read"],[1008,"mcaptcha::api::v1::notifications::routes"],[1021,"mcaptcha::api::v1::pow"],[1027,"mcaptcha::api::v1::pow::get_config"],[1054,"mcaptcha::api::v1::pow::routes"],[1072,"mcaptcha::api::v1::pow::verify_pow"],[1119,"mcaptcha::api::v1::pow::verify_token"],[1163,"mcaptcha::api::v1::routes"],[1181,"mcaptcha::data"],[1221,"mcaptcha::date"],[1243,"mcaptcha::db"],[1246,"mcaptcha::db::maria"],[1247,"mcaptcha::db::pg"],[1248,"mcaptcha::demo"],[1265,"mcaptcha::docs"],[1313,"mcaptcha::docs::routes"],[1326,"mcaptcha::email"],[1327,"mcaptcha::email::verification"],[1345,"mcaptcha::errors"],[1452,"mcaptcha::pages"],[1460,"mcaptcha::pages::auth"],[1465,"mcaptcha::pages::auth::login"],[1502,"mcaptcha::pages::auth::register"],[1539,"mcaptcha::pages::auth::routes"],[1553,"mcaptcha::pages::auth::sudo"],[1571,"mcaptcha::pages::errors"],[1624,"mcaptcha::pages::errors::routes"],[1636,"mcaptcha::pages::panel"],[1668,"mcaptcha::pages::panel::notifications"],[1708,"mcaptcha::pages::panel::routes"],[1723,"mcaptcha::pages::panel::settings"],[1773,"mcaptcha::pages::panel::settings::routes"],[1787,"mcaptcha::pages::panel::sitekey"],[1794,"mcaptcha::pages::panel::sitekey::add"],[1876,"mcaptcha::pages::panel::sitekey::delete"],[1886,"mcaptcha::pages::panel::sitekey::edit"],[1945,"mcaptcha::pages::panel::sitekey::list"],[1972,"mcaptcha::pages::panel::sitekey::routes"],[1994,"mcaptcha::pages::panel::sitekey::view"],[2026,"mcaptcha::pages::routes"],[2049,"mcaptcha::pages::sitemap"],[2087,"mcaptcha::routes"],[2088,"mcaptcha::settings"],[2290,"mcaptcha::static_assets"],[2294,"mcaptcha::static_assets::filemap"],[2306,"mcaptcha::static_assets::static_files"],[2355,"mcaptcha::static_assets::static_files::assets"],[2466,"mcaptcha::stats"],[2533,"mcaptcha::widget"],[2573,"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","","","","","","","","","traffic 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","publish benchmarks","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","emits 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.","Returns the argument unchanged.","Calls U::from(self).","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 handler 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,219,220,221,222,223,224,225,226,227,228,1,3,5,7,8,9,10,11,2,2,0,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,39,2,2,39,0,2,0,0,39,2,0,1,3,5,7,8,9,10,11,0,0,0,1,3,5,7,8,9,10,11,0,0,1,3,5,7,8,9,10,11,39,0,0,2,0,2,0,39,2,2,0,0,39,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,1,3,5,7,8,9,10,11,0,0,0,0,0,0,20,20,20,20,0,20,0,0,0,0,20,0,0,20,20,20,20,0,0,0,24,25,24,25,24,25,24,25,0,24,25,0,25,24,25,24,25,24,25,0,0,0,0,24,25,0,24,25,24,25,24,25,24,25,0,24,24,25,29,29,0,29,29,29,0,0,29,29,29,29,0,0,33,34,35,33,34,35,33,33,33,33,0,33,33,34,35,33,34,35,34,35,33,0,0,33,33,34,35,33,34,35,33,34,35,33,34,35,0,0,37,36,38,37,36,38,36,36,37,36,36,36,37,37,36,38,37,36,38,37,36,36,38,36,0,36,37,36,38,37,36,38,37,36,38,0,0,37,36,38,0,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,41,42,41,42,41,42,0,41,42,41,42,0,41,42,41,42,41,42,0,41,42,0,44,43,45,44,43,45,43,43,43,43,44,43,45,44,43,45,44,45,0,43,0,0,43,44,43,45,44,43,45,44,43,45,43,0,44,43,45,0,46,47,48,46,47,48,46,47,48,46,47,48,0,0,46,47,48,0,0,0,0,46,47,48,46,47,48,46,47,48,46,47,48,0,49,49,49,49,49,49,49,49,49,49,49,49,49,0,0,0,51,52,53,51,52,53,51,52,53,51,52,53,51,51,52,53,51,51,52,53,51,52,53,51,52,53,52,0,51,52,53,0,51,52,53,51,52,53,51,52,53,51,52,53,51,52,53,51,51,52,53,0,0,0,0,0,0,0,0,0,0,0,56,55,57,56,55,57,55,55,0,56,56,55,56,55,56,55,57,56,55,57,55,56,55,56,57,0,56,55,55,56,55,57,56,55,57,56,55,57,56,55,57,0,0,58,59,58,59,58,58,0,58,58,58,59,58,59,58,58,59,58,58,58,59,58,59,58,59,58,59,0,0,64,64,66,65,67,64,66,65,67,64,0,64,65,64,65,0,64,64,64,65,64,65,64,66,65,67,64,66,65,67,65,65,64,64,66,67,0,64,65,0,64,65,64,66,65,67,64,66,65,67,64,66,65,67,0,64,66,65,67,0,68,68,68,68,68,68,68,68,68,68,68,0,0,71,69,70,71,69,70,69,70,69,70,69,70,70,69,70,71,69,70,0,71,69,70,69,71,69,70,69,70,71,69,70,71,69,70,71,69,70,70,71,69,70,0,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,0,73,74,73,74,73,73,73,73,73,74,0,73,74,73,74,0,73,73,73,74,73,74,73,74,73,74,0,75,75,75,75,75,75,75,75,75,75,0,77,76,78,77,76,78,76,76,76,77,76,78,77,76,78,76,76,76,77,78,0,76,77,76,78,77,76,78,77,76,78,0,0,77,76,78,0,0,0,0,0,0,0,81,84,81,84,80,79,81,87,83,82,84,88,80,79,81,87,83,82,84,88,79,82,0,80,79,83,82,80,79,83,82,79,82,82,83,82,79,82,80,83,80,81,81,83,84,84,80,79,81,81,81,87,83,82,84,84,84,88,79,80,79,0,80,79,81,87,83,82,84,88,83,82,83,82,87,88,0,80,83,0,80,79,83,82,81,84,80,79,81,87,83,82,84,88,80,79,81,87,83,82,84,88,80,79,81,87,83,82,84,88,79,80,79,80,79,81,87,83,82,84,88,0,89,89,89,89,89,89,89,89,89,89,89,0,0,0,0,0,0,0,90,91,90,91,90,90,90,90,90,90,90,91,90,90,91,90,91,90,90,90,90,91,90,91,90,91,90,91,0,92,94,92,94,92,92,92,92,92,92,92,94,92,0,92,92,92,94,92,92,92,94,92,92,92,94,92,94,92,94,92,94,0,95,96,95,96,95,95,96,95,95,96,0,96,95,95,96,95,96,95,96,95,96,0,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,0,0,0,0,98,99,98,99,98,98,98,98,98,99,0,0,98,99,98,99,98,98,98,99,98,99,98,99,98,99,0,100,100,100,100,100,100,100,0,100,100,100,100,100,100,100,100,100,0,0,101,102,103,101,102,103,101,102,101,102,101,102,101,102,101,102,103,101,102,103,102,102,103,102,101,102,102,102,101,102,101,101,102,103,101,102,103,101,102,103,0,101,102,103,102,0,0,104,105,106,104,105,106,104,105,104,105,104,105,104,105,104,105,106,104,105,106,105,106,105,104,105,104,105,105,104,105,106,104,105,106,104,105,106,104,0,104,105,106,0,0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,0,107,0,107,0,107,107,39,107,39,39,39,39,0,0,107,39,39,39,107,107,39,39,107,39,107,107,107,39,39,107,39,107,39,107,39,107,107,107,39,0,0,0,0,0,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,123,0,0,0,0,0,0,0,0,128,128,128,128,128,128,128,128,128,128,128,128,128,128,0,0,0,239,135,136,137,239,135,136,137,0,239,135,136,137,239,239,0,0,239,135,136,137,239,239,135,136,137,0,0,0,239,135,136,137,239,135,136,137,239,135,136,137,239,135,136,137,0,138,138,138,138,138,138,138,138,138,138,138,138,0,0,0,139,139,139,139,139,139,139,139,139,139,139,139,139,0,139,139,32,32,32,32,32,32,0,32,0,32,146,32,32,0,0,32,32,32,32,0,146,0,0,32,32,32,32,32,32,32,144,145,32,143,146,144,145,32,143,146,143,144,145,32,146,143,32,146,144,144,145,145,32,32,146,146,144,145,32,32,32,32,32,32,32,32,32,143,146,146,146,144,145,32,143,146,143,144,145,32,146,32,146,144,145,32,146,144,145,32,143,146,144,145,32,143,146,144,145,32,143,146,144,145,32,143,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,158,159,160,158,159,160,158,158,158,159,158,159,160,158,159,160,0,160,158,158,158,158,159,160,158,159,160,158,159,160,158,159,160,0,0,0,162,161,162,163,161,162,163,161,161,161,162,161,162,163,161,162,163,0,163,161,161,161,161,162,163,161,162,163,161,162,163,161,162,163,0,164,164,164,164,164,164,164,164,164,164,164,164,164,0,0,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,169,0,0,0,0,0,171,172,170,171,172,173,170,171,172,173,170,170,171,172,0,170,171,172,173,170,171,172,173,170,170,173,170,170,0,0,170,170,170,171,172,173,170,171,172,173,170,171,172,173,170,171,172,173,0,174,174,174,174,174,174,174,174,174,174,174,0,0,175,177,175,177,175,175,175,177,175,177,175,0,0,177,175,175,0,0,0,0,175,175,175,177,175,177,175,177,175,177,0,0,0,178,179,180,178,179,180,178,178,179,180,178,178,178,179,180,178,179,178,179,0,178,178,180,179,179,178,179,180,178,179,180,178,179,180,178,179,180,0,181,181,181,181,181,181,181,181,181,181,181,181,181,181,0,0,182,183,184,185,182,183,184,185,182,182,0,182,182,183,184,185,182,183,184,185,183,184,185,182,182,0,182,0,0,182,182,183,184,185,182,183,184,185,182,183,184,185,0,182,182,183,184,185,0,186,186,186,186,186,186,186,186,186,186,186,186,186,0,0,0,0,0,0,0,0,0,0,0,0,189,190,0,188,189,190,187,191,188,192,189,190,187,191,188,192,188,187,188,187,188,187,188,189,190,0,187,188,187,187,188,189,190,187,191,188,192,189,190,187,191,188,192,187,188,191,192,187,188,187,188,187,188,189,190,187,191,188,192,189,190,187,191,188,192,189,190,187,191,188,192,189,190,187,191,188,192,193,193,0,193,193,193,193,193,193,193,0,0,0,0,194,196,195,197,194,196,195,197,194,195,194,195,194,0,195,194,196,195,197,194,196,195,197,194,195,194,194,194,195,195,194,196,197,194,195,194,195,194,195,194,196,195,197,194,196,195,197,194,196,195,197,194,196,195,197,0,0,198,199,198,199,198,198,198,199,198,199,0,198,199,198,198,198,198,198,199,198,199,198,199,198,199,0,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,200,0,0,201,203,201,203,201,201,201,201,203,201,203,201,201,201,201,201,203,201,201,201,201,201,203,201,203,201,203,0,201,203,0,0,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,157,0,0,205,204,205,206,204,205,206,204,204,204,205,204,204,205,206,204,205,206,206,204,204,0,204,204,205,206,204,205,206,204,205,206,204,204,205,206,0,0,0,0,0,0,0,210,210,0,0,0,0,2,2,61,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,61,2,2,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,2,207,2,211,2,208,207,208,61,209,210,211,212,2,207,61,208,2,207,208,61,209,210,211,212,2,207,207,207,207,208,208,208,208,61,61,61,61,209,209,209,209,210,210,210,210,211,211,211,211,212,212,212,212,2,2,2,2,207,208,61,209,210,210,211,212,2,207,208,61,209,210,211,212,2,209,210,208,207,207,208,61,209,210,211,212,2,207,2,209,61,211,212,207,209,207,208,2,209,208,208,210,2,2,2,2,207,208,61,209,210,211,212,2,210,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,207,208,61,209,210,211,212,2,209,211,212,207,209,207,208,61,209,210,211,212,2,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,0,0,0,240,217,241,218,240,217,241,218,0,240,217,241,218,240,240,241,241,0,0,240,217,241,218,240,240,241,241,217,218,0,240,217,241,218,240,217,241,218,240,217,241,218,240,217,241,218,0,0,0,0,0,0,0,0,0,0,0,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,219,220,221,222,223,224,225,226,227,228,0,0,0,0,0,202,229,230,202,229,230,202,229,230,202,229,230,242,229,230,202,202,202,229,230,202,202,229,230,231,229,230,202,229,230,202,229,230,202,229,230,231,229,230,231,229,230,231,229,230,202,202,202,229,230,202,229,230,202,229,230,202,229,230,202,229,230,0,0,0,0,236,235,236,237,235,236,237,235,235,236,235,236,237,235,236,237,235,237,235,235,0,0,0,235,235,236,237,235,236,237,235,236,237,235,236,237,0,238,238,238,238,238,238,238,238,238,238],"f":[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,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[1,2],[3,4],[5,6],[7,6],[8,6],[9,6],[10,6],[11,12],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[2,[[14,[13]]]],[[],15],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],16],0,0,0,0,0,0,0,0,0,0,0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[19,[[17,[20]]]],[[]],[[],[[22,[21]]]],[[]],0,0,0,0,0,0,[23],[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[24,24],[25,25],[[]],[[]],0,[19,[[17,[24]]]],[19,[[17,[25]]]],0,0,[[24,26],27],[[25,26],27],[[]],[[]],[[]],[[]],0,0,0,0,[[24,28],17],[[25,28],17],[23],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,0,[[]],[[]],[[]],[[]],0,[[]],[[]],[[29,30]],0,[23],[[],17],[[],17],[[],18],[[]],[[6,31],[[17,[32]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[33,33],[[]],[19,[[17,[33]]]],0,0,[[33,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[34,30]],[[35,30]],[[33,28],17],[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[36,36],[[]],0,0,[19,[[17,[36]]]],[[36,26],27],[36,37],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[38,30]],[[36,28],17],[23],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[6,37,39],[[17,[32]]]],0,[[]],[[]],[[]],0,[[]],[[]],0,0,[[]],0,[[]],[[],40],[[],17],[[],17],[[],18],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[41,30]],[[42,30]],[23],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[43,43],[[]],[19,[[17,[43]]]],[[43,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[44,30]],[[45,30]],0,[[43,28],17],[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],[[24,31],[[17,[25,32]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[46,30]],[[47,30]],[[48,30]],0,0,[23],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[49,[50,[6]]],12],[[]],0,0,[[],49],0,[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[51,51],[52,52],[53,53],[[]],[[]],[[]],0,[19,[[17,[51]]]],[19,[[17,[52]]]],[19,[[17,[53]]]],0,[[51,26],27],[[52,26],27],[[53,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,[[52,31],[[17,[12,32]]]],0,0,0,[[51,31],[[17,[32]]]],[[51,28],17],[[52,28],17],[[53,28],17],[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],0,0,0,0,[54,12],0,[23],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[55,55],[[]],0,0,[19,[[17,[56]]]],[19,[[17,[55]]]],0,[[55,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[57,30]],0,[[56,28],17],[[55,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[56,31,6],[[17,[55,32]]]],0,[[]],[[]],[[]],[[]],[58,58],[[]],0,[19,[[17,[58]]]],[[58,26],27],[[]],[[]],[[]],[[]],0,0,[[59,30]],[[58,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[60,61],[[17,[[63,[62]],32]]]],[64,64],[65,65],[[]],[[]],0,[[],64],0,[19,[[17,[64]]]],[19,[[17,[65]]]],[[64,26],27],[[65,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[66,30]],[[67,30]],0,[[64,28],17],[[65,28],17],[23],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[]],[[]],[[],68],[[],17],[[],17],[[],18],0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[69,69],[70,70],[[]],[[]],[19,[[17,[69]]]],[19,[[17,[70]]]],0,[[69,26],27],[[70,26],27],[[]],[[]],[[]],0,[[]],[[]],[[]],0,[[71,30]],[[69,28],17],[[70,28],17],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],0,[[]],[[]],0,0,0,[[]],0,[[]],[[],72],0,[[],17],[[],17],[[],18],0,0,[[]],0,[[]],[[]],[[]],[[]],[73,73],[[]],[19,[[17,[73]]]],[[73,26],27],[[]],[[]],0,[[]],[[]],0,[[74,30]],0,[[73,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],0,[[]],[[],75],[[],17],[[],17],[[],18],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,[19,[[17,[76]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[77,30]],[[78,30]],0,[[76,28],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],[[76,31,6],[[17,[32]]]],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[79,[[17,[80,81]]]],[82,[[17,[83,84]]]],0,[80,80],[79,79],[83,83],[82,82],[[]],[[]],[[]],[[]],[[],79],[[],82],[[82,85],82],0,0,[[],79],[[],82],[19,[[17,[80]]]],[19,[[17,[83]]]],[[80,26],27],[[81,26],27],[[81,26],27],[[83,26],27],[[84,26],27],[[84,26],27],[[]],[[]],[[]],[86,81],[12,81],[[]],[[]],[[]],[12,84],[86,84],[[]],[[]],[[79,6],79],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[[50,[85]]],85],[[82,[50,[85]]],82],0,0,[[87,30]],[[88,30]],0,[[80,28],17],[[83,28],17],[23],[[]],[[]],[[]],[[]],[[],12],[[],12],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[79,6],79],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[]],0,[[]],[[],89],[[],17],[[],17],[[],18],[[]],0,0,0,0,[23],0,0,[[]],[[]],[[]],[[]],[90,90],[[]],[[],90],[19,[[17,[90]]]],[[90,90],85],[[90,26],27],[[]],[[]],0,[[]],[[]],0,[[91,30]],[[90,28],17],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],[[]],[92,92],[[]],[[],92],[19,[[17,[92]]]],[[92,92],85],[93,92],[[]],[[]],[[[63,[93]]],[[63,[92]]]],0,0,0,[[]],[[]],0,0,0,[[94,30]],[[92,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],[[]],[19,[[17,[95]]]],[[]],[[]],0,[[]],[[]],0,[[96,30]],[[95,28],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,[[]],[[]],[[]],0,[[]],0,[[],97],[[],17],[[],17],[[],18],[[]],0,0,0,[23],0,0,0,[[]],[[]],[[]],[[]],[98,98],[[]],[19,[[17,[98]]]],[[98,26],27],[[]],[[]],0,[[31,6],[[17,[32]]]],[[]],[[]],0,[[99,30]],[[98,28],17],[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,[[]],[[]],[[]],[100,6],0,[[]],[[],100],0,0,[[],17],[[],17],[[],18],[100,6],0,[100,6],0,[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[101,101],[102,102],[[]],[[]],[19,[[17,[101]]]],[19,[[17,[102]]]],[[101,26],27],[[102,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[103,30]],0,[[101,28],17],[[102,28],17],0,0,[[]],[[]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[104,104],[105,105],[[]],[[]],[19,[[17,[104]]]],[19,[[17,[105]]]],[[104,26],27],[[105,26],27],[[]],[[]],[[]],[[]],[[]],[[]],0,[[106,30]],0,[[104,28],17],[[105,28],17],[[]],[[]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],0,0,0,0,[[]],[[]],0,[[]],[[21,[50,[6]]],12],[[]],0,[[],21],0,0,[[],17],[[],17],[[],18],[[]],0,0,0,0,0,[[107,108],[[17,[32]]]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[],109],[2,[[50,[[111,[110]]]]]],[[107,12],[[113,[[50,[112]]]]]],[[]],[[]],0,[2,107],[2,[[114,[39]]]],[[2,[116,[115]],[116,[117]]],[[118,[117,115]]]],[[107,119],[[17,[32]]]],[[107,120],[[17,[32]]]],0,0,[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[107,121],[[113,[85]]]],[[107,122,12],113],[[]],[[]],0,0,0,0,0,[[]],[[]],[123,123],[[]],[123,12],[[123,26],27],[124,12],[[]],[[]],[125,123],[123,12],0,[[]],[[],17],[[],17],[[],18],[[]],0,0,0,[[[50,[2]]],[[127,[126]]]],[[[50,[2]]],[[127,[126]]]],0,0,0,[128],[[]],[[]],[31,[[17,[32]]]],[[]],0,[[]],[31,[[17,[32]]]],[[31,129],[[17,[130,32]]]],[[31,129],[[17,[128,32]]]],[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,132],0,[[]],[[]],[[]],[[]],[[],133],[[],134],[[135,30]],[[136,30]],[[137,30]],0,[23],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],0,[[]],[[],138],0,[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[139,139],[[]],[[]],[[]],[6,139],[139,140],[[139,141],[[17,[142]]]],[[]],[[],17],[[],17],[[],18],[[39,6,6],[[17,[32]]]],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,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[19,[[17,[143]]]],[[144,144],85],[[145,145],85],[[32,32],85],[[146,146],85],0,[32,132],[146,132],[[144,26],27],[[144,26],27],[[145,26],27],[[145,26],27],[[32,26],27],[[32,26],27],[[146,26],27],[[146,26],27],[[]],[[]],[147,32],[148,32],[149,32],[150,32],[151,32],[[]],[152,32],[153,32],[154,32],[[]],[32,146],[[]],[148,146],[[]],[[]],[[]],[[]],[[]],[[143,28],17],[144,[[50,[155]]]],[145,[[50,[155]]]],[32,[[50,[155]]]],[146,[[50,[155]]]],[32,156],[146,156],[[],12],[[],12],[[],12],[[],12],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],0,0,0,[[],[[22,[157]]]],0,0,[23],0,0,0,0,[23],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[158,158],[[]],[[],158],[159,12],[[]],[[]],[[]],[[]],[[]],[[]],0,[[160,30]],[158,140],[[158,141],[[17,[142]]]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[161,161],[[]],[[],161],[162,12],[[]],[[]],[[]],[[]],[[]],[[]],0,[[163,30]],[161,140],[[161,141],[[17,[142]]]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[164,[50,[6]]],12],[[],[[165,[6]]]],[[]],0,0,[[],164],[[],17],[[],17],[[],18],[[]],0,0,[[]],[[]],[[[169,[[0,[166,167,168]],[0,[166,167,168]]]]],[[169,[[0,[166,167,168]],[0,[166,167,168]]]]]],[[]],0,[[]],[[]],[[6,[50,[63]]],[[169,[[0,[166,167]],[0,[166,167]]]]]],[[[169,[[0,[166,167]],[0,[166,167]]]]],140],[[[169,[[0,[166,167]],[0,[166,167]]]],141],[[17,[142]]]],[[]],[[],17],[[],17],[[],18],0,[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[170,170],[[]],[171,12],[172,12],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[6,6],170],[[173,30]],[170,140],[[170,141],[[17,[142]]]],0,[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],0,[[]],[[],174],[[],17],[[],17],[[],18],0,[[]],0,0,[[]],[[]],[[]],[[]],[175,175],[[]],[[]],[[]],[[]],[[]],[[[63,[176]]],175],0,0,[[177,30]],[175,140],[[175,141],[[17,[142]]]],0,[23],0,0,0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[93,178],[[]],[[]],[[]],0,0,[[]],[[]],[[]],0,0,0,[[[63,[178]]],179],0,[178,12],0,[[180,30]],[179,140],[[179,141],[[17,[142]]]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],[[165,[6]]]],0,[[]],[[],181],0,0,0,[[],17],[[],17],[[],18],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[182,182],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[183,30]],[[184,30]],[[185,30]],[182,140],[[182,141],[[17,[142]]]],0,0,[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],0,0,[[]],[[]],[[]],[[]],0,[[]],[[]],0,[[]],[[],[[165,[6]]]],0,[[]],[[],186],[[],17],[[],17],[[],18],0,[[]],0,0,0,0,0,[23],0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[187,187],[188,188],[[]],[[]],[[],187],[[],188],[189,12],[190,12],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[191,30]],[[192,30]],[187,140],[188,140],[[187,141],[[17,[142]]]],[[188,141],[[17,[142]]]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[193,30]],[[],17],[[],17],[[],18],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[194,194],[195,195],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[176,[63,[62]],12,85],194],[[12,64],195],0,0,[[196,30]],[[197,30]],[194,140],[195,140],[[194,141],[[17,[142]]]],[[195,141],[[17,[142]]]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[198,198],[[]],[[]],[[]],[[]],[[]],0,[[[63,[176]]],198],[[199,30]],[198,140],[[198,141],[[17,[142]]]],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[]],[[]],0,0,0,[[]],[[]],0,0,0,[[]],[[200,6],12],[[200,6],12],[[200,6],12],[[],[[165,[6]]]],[[200,6],12],[[]],0,[[],200],[[],17],[[],17],[[],18],0,[[]],0,0,[[]],[[]],[[]],[[]],[201,201],[[]],0,[[]],[[]],[[]],[[]],0,0,0,[[202,176,[63,[62]],12,85],201],0,[[203,30]],[201,140],[[201,141],[[17,[142]]]],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],0,[[]],[[]],0,0,0,0,[[]],[[]],0,0,[[]],[[157,[50,[6]]],12],[[],[[165,[6]]]],0,[[]],[[],157],0,0,0,0,0,[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[204,204],[[]],[[],204],[205,12],0,[[]],[[]],[[]],[[]],[[]],[[]],[[206,30]],[204,140],[[204,141],[[17,[142]]]],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],0,[[]],[[]],[[]],[23],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[2],[207,207],[208,208],[61,61],[209,209],[210,210],[211,211],[212,212],[2,2],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[19,[[17,[207]]]],[19,[[17,[208]]]],[19,[[17,[61]]]],[19,[[17,[209]]]],[19,[[17,[210]]]],[19,[[17,[211]]]],[19,[[17,[212]]]],[19,[[17,[2]]]],0,0,0,[[[214,[213]]],[[214,[213]]]],[[207,207],85],[[208,208],85],[[61,61],85],[[209,209],85],[[210,210],85],[[211,211],85],[[212,212],85],[[2,2],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[],85],[[207,26],27],[[208,26],27],[[61,26],27],[[209,26],27],[[210,26],27],[[210,26],27],[[211,26],27],[[212,26],27],[[2,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[215,[[17,[210,216]]]],0,[207,12],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],[[17,[2,216]]]],0,0,0,0,0,0,0,0,0,0,0,0,[[210,28],17],0,[2],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],12],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[23],0,0,[[]],[[]],0,[[]],[[4,6],[[50,[6]]]],[[]],[[],4],[[],17],[[],17],[[],18],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,[[50,[131]]]],[6,132],[6,132],[[]],[[]],[[]],[[]],[[],134],[[],133],[[],133],[[],134],[[217,30]],[[218,30]],0,[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[219],[220],[221],[222],[223],[224],[225],[226],[227],[228],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[],18],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[202,202],[229,229],[230,230],[[]],[[]],[[]],[[],[[127,[231]]]],[[],[[127,[231,232]]]],[[],[[127,[231,232]]]],0,0,[[],202],[[],229],[[],230],[19,[[17,[202]]]],[[202,202],85],[[229,229],85],[[230,230],85],[[39,6,6],[[234,[[127,[233]]]]]],[[229,39,6,6],[[234,[[127,[233]]]]]],[[230,39,6,6],[[234,[[127,[233]]]]]],[[202,26],27],[[229,26],27],[[230,26],27],[[]],[[]],[[]],[[]],[[]],[[]],[[39,6],[[234,[[127,[233]]]]]],[[229,39,6],[[234,[[127,[233]]]]]],[[230,39,6],[[234,[[127,[233]]]]]],[[39,6],[[234,[[127,[233]]]]]],[[229,39,6],[[234,[[127,[233]]]]]],[[230,39,6],[[234,[[127,[233]]]]]],[[39,6],[[234,[[127,[233]]]]]],[[229,39,6],[[234,[[127,[233]]]]]],[[230,39,6],[[234,[[127,[233]]]]]],[[202,28],17],0,[[]],[[]],[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[235,235],[[]],[236,12],[[]],[[]],[[]],[[]],[[]],[[]],[[],235],[[237,30]],[235,140],[[235,141],[[17,[142]]]],0,[23],0,[[]],[[],17],[[],17],[[],17],[[],17],[[],17],[[],17],[[],18],[[],18],[[],18],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],238],[[],17],[[],17],[[],18],0,[[]]],"c":[],"p":[[3,"SETTINGS"],[3,"Settings"],[3,"FILES"],[3,"FileMap"],[3,"JS"],[15,"str"],[3,"CSS"],[3,"MOBILE_CSS"],[3,"VERIFICATIN_WIDGET_JS"],[3,"VERIFICATIN_WIDGET_CSS"],[3,"SOURCE_FILES_OF_INSTANCE"],[3,"String"],[3,"CookieIdentityPolicy"],[3,"IdentityService"],[3,"JsonConfig"],[6,"Result"],[4,"Result"],[3,"TypeId"],[8,"Deserializer"],[3,"RedirectQuery"],[3,"Routes"],[3,"Authentication"],[3,"ServiceConfig"],[3,"AccountCheckPayload"],[3,"AccountCheckResp"],[3,"Formatter"],[6,"Result"],[8,"Serializer"],[3,"delete_account"],[3,"AppService"],[6,"AppData"],[4,"ServiceError"],[3,"Email"],[3,"email_exists"],[3,"set_email"],[3,"ChangePasswordReqest"],[3,"UpdatePassword"],[3,"update_user_password"],[3,"Data"],[3,"Account"],[3,"get_secret"],[3,"update_user_secret"],[3,"Username"],[3,"username_exists"],[3,"set_username"],[3,"register"],[3,"login"],[3,"signout"],[3,"Auth"],[4,"Option"],[3,"Register"],[3,"Login"],[3,"Password"],[15,"usize"],[3,"MCaptchaDetails"],[3,"CreateCaptcha"],[3,"create"],[3,"DeleteCaptcha"],[3,"delete"],[3,"TrafficPattern"],[3,"DefaultDifficultyStrategy"],[3,"Level"],[3,"Vec"],[3,"TrafficPatternRequest"],[3,"UpdateTrafficPattern"],[3,"create"],[3,"update"],[3,"Easy"],[3,"Levels"],[3,"I32Levels"],[3,"get_captcha"],[3,"Captcha"],[3,"StatsPayload"],[3,"get"],[3,"Stats"],[3,"UpdateCaptcha"],[3,"update_key"],[3,"update_captcha"],[3,"BuildDetailsBuilder"],[3,"BuildDetails"],[4,"BuildDetailsBuilderError"],[3,"HealthBuilder"],[3,"Health"],[4,"HealthBuilderError"],[15,"bool"],[3,"UninitializedFieldError"],[3,"build_details"],[3,"health"],[3,"Meta"],[3,"AddNotificationRequest"],[3,"add_notification"],[3,"NotificationResp"],[3,"Notification"],[3,"get_notification"],[3,"MarkReadReq"],[3,"mark_read"],[3,"Notifications"],[3,"GetConfigPayload"],[3,"get_config"],[3,"PoW"],[3,"ValidationToken"],[3,"ApiWork"],[3,"verify_pow"],[3,"CaptchaValidateResp"],[3,"VerifyCaptchaResultPayload"],[3,"validate_captcha_token"],[4,"SystemGroup"],[3,"AddSite"],[3,"Config"],[3,"Tokio1Executor"],[3,"AsyncSmtpTransport"],[3,"PoWConfig"],[6,"CaptchaResult"],[3,"Arc"],[8,"Master"],[3,"Addr"],[8,"Save"],[3,"System"],[3,"RemoveCaptcha"],[3,"Rename"],[3,"VerifyCaptchaResult"],[3,"Work"],[3,"Date"],[3,"OffsetDateTime"],[15,"i64"],[8,"MCDatabase"],[3,"Box"],[3,"DemoUser"],[3,"Duration"],[3,"JoinHandle"],[3,"EmbeddedFile"],[3,"HttpResponse"],[8,"Iterator"],[4,"Filenames"],[3,"dist"],[3,"spec"],[3,"index"],[3,"Docs"],[3,"IndexPage"],[6,"RenderResult"],[3,"Buffer"],[4,"RenderError"],[3,"ErrorToResponse"],[3,"SmtpErrorWrapper"],[3,"DBErrorWrapper"],[4,"PageError"],[3,"Error"],[4,"DBError"],[4,"CredsError"],[3,"ValidationErrors"],[3,"RecvError"],[4,"CaptchaError"],[4,"ParseError"],[4,"MailboxError"],[8,"Error"],[3,"StatusCode"],[3,"Routes"],[3,"IndexPage"],[3,"INDEX"],[3,"login"],[3,"IndexPage"],[3,"INDEX"],[3,"join"],[3,"Auth"],[15,"array"],[8,"Display"],[8,"Render"],[8,"Clone"],[3,"SudoPage"],[3,"ErrorPage"],[3,"INTERNAL_SERVER_ERROR_BODY"],[3,"UNKNOWN_ERROR_BODY"],[3,"error"],[3,"Errors"],[3,"IndexPage"],[3,"Captcha"],[3,"panel"],[3,"Notification"],[3,"IndexPage"],[3,"notifications"],[3,"Panel"],[3,"IndexPage"],[3,"settings"],[3,"delete_account"],[3,"update_secret"],[3,"Settings"],[3,"AdvanceIndexPage"],[3,"EasyIndexPage"],[3,"ADVANCE_INDEX"],[3,"EASY_INDEX"],[3,"advance"],[3,"easy"],[3,"delete_sitekey"],[3,"AdvanceEditPage"],[3,"EasyEditPage"],[3,"advance"],[3,"easy"],[3,"IndexPage"],[3,"list_sitekeys"],[3,"Sitekey"],[3,"IndexPage"],[3,"CaptchaStats"],[3,"view_sitekey"],[3,"IndexPage"],[3,"INDEX"],[3,"sitemap"],[3,"Server"],[3,"Captcha"],[3,"Smtp"],[4,"DBType"],[3,"Database"],[3,"Redis"],[3,"DefaultState"],[3,"ConfigBuilder"],[3,"Url"],[4,"ConfigError"],[3,"static_files"],[3,"favicons"],[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,"Real"],[3,"Dummy"],[8,"Stats"],[3,"Global"],[8,"Future"],[3,"Pin"],[3,"IndexPage"],[3,"INDEX_PAGE"],[3,"show_widget"],[3,"Widget"],[3,"Asset"],[3,"Asset"],[3,"Favicons"],[8,"CloneStats"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/src/mcaptcha/settings.rs.html b/src/mcaptcha/settings.rs.html index 81f11a87..8e90aee3 100644 --- a/src/mcaptcha/settings.rs.html +++ b/src/mcaptcha/settings.rs.html @@ -404,6 +404,166 @@ 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

// Copyright (C) 2022  Aravinth Manivannan <realaravinth@batsense.net>
 // SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
 //
@@ -562,6 +722,33 @@
 
 ];
 
+
+const DEPRECATED_ENV_VARS: [(&str, &str); 23] = [
+    ("debug","MCAPTCHA_DEBUG"),
+    ("commercial","MCAPTCHA_COMMERCIAL"),
+    ("source_code", "MCAPTCHA_SOURCE_CODE"),
+    ("allow_registration", "MCAPTCHA_ALLOW_REGISTRATION"),
+    ("allow_demo", "MCAPTCHA_ALLOW_DEMO"),
+    ("redis.pool", "MCAPTCHA_REDIS_POOL"),
+    ("redis.url", "MCAPTCHA_REDIS_URL"),
+    ("server.port", "MCAPTCHA_SERVER_PORT"),
+    ("server.ip", "MCAPTCHA_SERVER_IP"),
+    ("server.domain", "MCAPTCHA_SERVER_DOMAIN"),
+    ("server.cookie_secret", "MCAPTCHA_SERVER_COOKIE_SECRET"),
+    ("server.proxy_has_tls", "MCAPTCHA_SERVER_PROXY_HAS_TLS"),
+    ("captcha.salt", "MCAPTCHA_CAPTCHA_SALT"),
+    ("captcha.gc", "MCAPTCHA_CAPTCHA_GC"),
+    ("captcha.default_difficulty_strategy.avg_traffic_difficulty", "MCAPTCHA_CAPTCHA_AVG_TRAFFIC_DIFFICULTY"),
+    ("captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty", "MCAPTCHA_CAPTCHA_PEAK_TRAFFIC_DIFFICULTY"),
+    ("captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty", "MCAPTCHA_CAPTCHA_BROKE_MY_SITE_TRAFFIC"),
+    ("smtp.from", "MCAPTCHA_SMTP_FROM"),
+    ("smtp.reply", "MCAPTCHA_SMTP_REPLY_TO"),
+    ("smtp.url", "MCAPTCHA_SMTP_URL"),
+    ("smtp.username", "MCAPTCHA_SMTP_USERNAME"),
+    ("smtp.password", "MCAPTCHA_SMTP_PASSWORD"),
+    ("smtp.port", "MCAPTCHA_SMTP_PORT"),
+];
+
 #[cfg(not(tarpaulin_include))]
 impl Settings {
     pub fn new() -> Result<Self, ConfigError> {
@@ -616,6 +803,17 @@
     }
 
     fn env_override(mut s: ConfigBuilder<DefaultState>) -> ConfigBuilder<DefaultState> {
+
+        for (parameter, env_var_name) in DEPRECATED_ENV_VARS.iter() {
+            if let Ok(val) = env::var(env_var_name) {
+                log::warn!(
+                    "Found {env_var_name}. {env_var_name} will be deprecated soon. Please see https://github.com/mCaptcha/mCaptcha/blob/master/docs/CONFIGURATION.md for latest environment variable names"
+                );
+                s = s.set_override(parameter, val).unwrap();
+            }
+        }
+
+
         for (parameter, env_var_name) in ENV_VAR_CONFIG.iter() {
             if let Ok(val) = env::var(env_var_name) {
                 log::debug!(
@@ -645,8 +843,10 @@
 
     use super::*;
 
+
+
     #[test]
-    fn env_override_works() {
+    fn deprecated_env_override_works() {
         use crate::tests::get_settings;
         let init_settings = get_settings();
         // so that it can be tested outside the macro (helper) too
@@ -655,6 +855,126 @@
         macro_rules! helper {
 
 
+            ($env:expr, $val:expr, $val_typed:expr, $($param:ident).+) => {
+                println!("Setting env var {} to {} for test", $env, $val);
+                env::set_var($env, $val);
+                new_settings = get_settings();
+                assert_eq!(new_settings.$($param).+, $val_typed);
+                assert_ne!(new_settings.$($param).+, init_settings.$($param).+);
+                env::remove_var($env);
+            };
+
+
+            ($env:expr, $val:expr, $($param:ident).+) => {
+                helper!($env, $val.to_string(), $val, $($param).+);
+            };
+        }
+
+        /* top level */
+        helper!("MCAPTCHA_DEBUG", !init_settings.debug, debug);
+        helper!("MCAPTCHA_COMMERCIAL", !init_settings.commercial, commercial);
+        helper!("MCAPTCHA_ALLOW_REGISTRATION", !init_settings.allow_registration, allow_registration);
+        helper!("MCAPTCHA_ALLOW_DEMO", !init_settings.allow_demo, allow_demo);
+
+        /* database_type */
+
+        /* redis.url */
+        let env = "MCAPTCHA_REDIS_URL";
+        let val = "redis://redis.example.org";
+        println!("Setting env var {} to {} for test", env, val);
+        env::set_var(env, val);
+        new_settings = get_settings();
+        assert_eq!(new_settings.redis.as_ref().unwrap().url, val);
+        assert_ne!(
+            new_settings.redis.as_ref().unwrap().url,
+            init_settings.redis.as_ref().unwrap().url
+        );
+        env::remove_var(env);
+
+        /* redis.pool */
+        let env = "MCAPTCHA_REDIS_POOL";
+        let val = 999;
+        println!("Setting env var {} to {} for test", env, val);
+        env::set_var(env, val.to_string());
+        new_settings = get_settings();
+        assert_eq!(new_settings.redis.as_ref().unwrap().pool, val);
+        assert_ne!(
+            new_settings.redis.as_ref().unwrap().pool,
+            init_settings.redis.as_ref().unwrap().pool
+        );
+        env::remove_var(env);
+
+        helper!("PORT", 0, server.port);
+        helper!("MCAPTCHA_SERVER_DOMAIN", "example.org", server.domain);
+        helper!(
+            "MCAPTCHA_SERVER_COOKIE_SECRET",
+            "dafasdfsdf",
+            server.cookie_secret
+        );
+        helper!("MCAPTCHA_SERVER_IP", "9.9.9.9", server.ip);
+        helper!("MCAPTCHA_SERVER_PROXY_HAS_TLS", true, server.proxy_has_tls);
+
+        /* captcha */
+
+        helper!("MCAPTCHA_CAPTCHA_SALT", "foobarasdfasdf", captcha.salt);
+        helper!("MCAPTCHA_CAPTCHA_GC", 500, captcha.gc);
+        helper!(
+            "MCAPTCHA_captcha_RUNNERS",
+            "500",
+            Some(500),
+            captcha.runners
+        );
+
+        helper!(
+            "MCAPTCHA_CAPTCHA_AVG_TRAFFIC_DIFFICULTY",
+            999,
+            captcha.default_difficulty_strategy.avg_traffic_difficulty
+        );
+        helper!("MCAPTCHA_CAPTCHA_PEAK_TRAFFIC_DIFFICULTY", 999 , captcha.default_difficulty_strategy.peak_sustainable_traffic_difficulty);
+        helper!("MCAPTCHA_CAPTCHA_BROKE_MY_SITE_TRAFFIC", 999 , captcha.default_difficulty_strategy.broke_my_site_traffic_difficulty);
+
+        /* SMTP */
+
+        let vals = [
+            "MCAPTCHA_SMTP_FROM",
+            "MCAPTCHA_SMTP_REPLY_TO",
+            "MCAPTCHA_SMTP_URL",
+            "MCAPTCHA_SMTP_USERNAME",
+            "MCAPTCHA_SMTP_PASSWORD",
+            "MCAPTCHA_SMTP_PORT",
+        ];
+        for env in vals.iter() {
+            println!("Setting env var {} to {} for test", env, env);
+            env::set_var(env, env);
+        }
+
+        let port = 9999;
+        env::set_var("MCAPTCHA_SMTP_PORT", port.to_string());
+
+        new_settings = get_settings();
+        let smtp_new = new_settings.smtp.as_ref().unwrap();
+        let smtp_old = init_settings.smtp.as_ref().unwrap();
+        assert_eq!(smtp_new.from, "MCAPTCHA_SMTP_FROM");
+        assert_eq!(smtp_new.reply, "MCAPTCHA_SMTP_REPLY_TO");
+        assert_eq!(smtp_new.username, "MCAPTCHA_SMTP_USERNAME");
+        assert_eq!(smtp_new.password, "MCAPTCHA_SMTP_PASSWORD");
+        assert_eq!(smtp_new.port, port);
+        assert_ne!(smtp_new, smtp_old);
+
+        for env in vals.iter() {
+            env::remove_var(env);
+        }
+    }
+
+
+    #[test]
+    fn env_override_works() {
+        use crate::tests::get_settings;
+        let init_settings = get_settings();
+        // so that it can be tested outside the macro (helper) too
+        let mut new_settings;
+
+        macro_rules! helper {
 
 
             ($env:expr, $val:expr, $val_typed:expr, $($param:ident).+) => {