From 515ad1dcfb8eb0a5d22b223ba76d0b941249df07 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 30 Oct 2023 11:49:41 +0100 Subject: [PATCH 001/183] LLM crate based Eve in CLI experiment --- cli/Cargo.toml | 2 + cli/src/main.rs | 191 +++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 192 insertions(+), 1 deletion(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index a4d0e125b..1fce68b08 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -34,3 +34,5 @@ serde = { version = "1.0", features = ["derive"] } colour = "0.7.0" syntect = "5.0" ctrlc = "3.4.0" + +llm = "0.1.1" diff --git a/cli/src/main.rs b/cli/src/main.rs index 3f18a9480..e4bde8856 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -7,6 +7,7 @@ extern crate rand; extern crate regex; extern crate rustyline; extern crate tokio; +extern crate llm; mod formatting; mod startup; @@ -149,7 +150,8 @@ enum Domain { #[arg(long, action)] admin_credential: Option }, - RunLocalHcServices {} + RunLocalHcServices {}, + Eve, } async fn get_ad4m_client(args: &ClapApp) -> Result { @@ -303,6 +305,193 @@ async fn main() -> Result<()> { admin_credential: _ } => unreachable!(), Domain::RunLocalHcServices {} => unreachable!(), + Domain::Eve => { + + let training = r##" +system: +You are Eve, the personal assistant AI in Adam. +You are mainly there to help create AD4M Subject classes (in Prolog) from user input. +You'll respond to the user directly and mark Subject class code with "SDNA:" at the start and ":ANDS" at the end, +so that Perspect3ve can parse that out. +Make sure that each new Subject class definition uses a new random identifier +(2nd parameter in "subject_class", 1st parameter in the other predicates), +but ensure the same identifier used throughout all predicate occurrences of the same class definition. +When the user signals that the code is complete, +provide the the latest version to Perspect3ve to be written to the perspective's social DNA +by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` + +Eve: +Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. + +User: +Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` + +Eve: +Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. + +SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). +:ANDS + +What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set)` + +User: The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. + +Eve: +Ok, I have this now: + +SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). +property_named_option(cjdotdng, "state", "todo://ready", "Ready"). +property_named_option(cjdotdng, "state", "todo://doing", "Doing"). +property_named_option(cjdotdng, "state", "todo://done", "Done"). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +p3_class_icon(cjdotdng, "check2-square"). +p3_instance_shape(cjdotdng, Instance, "circle"). +p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). +p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). +p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). +:ANDS + +Anything else?` + +User: +No, that's it. Please write this to the SDNA.` + + +Eve: +Ok... +WRITE-SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). +property_named_option(cjdotdng, "state", "todo://ready", "Ready"). +property_named_option(cjdotdng, "state", "todo://doing", "Doing"). +property_named_option(cjdotdng, "state", "todo://done", "Done"). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +p3_class_icon(cjdotdng, "check2-square"). +p3_instance_shape(cjdotdng, Instance, "circle"). +p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). +p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). +p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). +:ANDS-ETIRW + +Done. +"##; + + + use std::io::Write; + use llm::Model; + + println!("Loading model..."); + + // load a GGML model from disk + let llama = llm::load::( + // path to GGML file + std::path::Path::new("/Users/nicolasluck/models/eve.model"), + // llm::ModelParameters + Default::default(), + // load progress callback + |_| {}, + ) + .unwrap_or_else(|err| panic!("Failed to load model: {err}")); + + println!("Model loaded!"); + + /* + let model = llm::load_dynamic( + llm::ModelArchitecture::Llama, + &std::path::Path::new("/Users/nicolasluck/eve.model"), + Default::default(), + llm::load_progress_callback_stdout, + ).unwrap_or_else(|err| panic!("Failed to load model: {err}")); + */ + + let mut rl = rustyline::Editor::<()>::new()?; + let prompt = rl.readline(">> ")?; + println!("\n\n") + + let prompt = format!("User:\n{}\n\nEve:\n", prompt); + + + // use the model to generate text from a prompt + let mut session = llama.start_session(Default::default()); + let res = session.infer::( + // model to use for text generation + &llama, + // randomness provider + &mut rand::thread_rng(), + // the prompt to use for text generation, as well as other + // inference parameters + &llm::InferenceRequest { + prompt: prompt.as_str(), + ..Default::default() + }, + // llm::OutputRequest + &mut Default::default(), + // output callback + |t| { + print!("{t}"); + std::io::stdout().flush().unwrap(); + + Ok(()) + } + ); + + match res { + Ok(result) => println!("\n\nInference stats:\n{result}"), + Err(err) => println!("\n{err}"), + } + } } Ok(()) From 809564a184e3383829369fd171fd11862553ea98 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 30 Oct 2023 12:31:37 +0100 Subject: [PATCH 002/183] Reduced training prompt fits in context window --- cli/src/main.rs | 79 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 73 insertions(+), 6 deletions(-) diff --git a/cli/src/main.rs b/cli/src/main.rs index e4bde8856..d06ea97da 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -350,7 +350,7 @@ collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", pre collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). :ANDS -What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set)` +What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) User: The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. @@ -429,6 +429,53 @@ Done. "##; +let reduced = r##" +system: +You are Eve, the personal assistant AI in Adam. +You are mainly there to help create AD4M Subject classes (in Prolog) from user input. +You'll respond to the user directly and mark Subject class code with "SDNA:" at the start and ":ANDS" at the end, +so that Perspect3ve can parse that out. +Make sure that each new Subject class definition uses a new random identifier +(2nd parameter in "subject_class", 1st parameter in the other predicates), +but ensure the same identifier used throughout all predicate occurrences of the same class definition. +When the user signals that the code is complete, +provide the the latest version to Perspect3ve to be written to the perspective's social DNA +by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` + +Eve: +Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. + +User: +Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` + +Eve: +Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. + +SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). +:ANDS + +What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) +"##; + + use std::io::Write; use llm::Model; @@ -456,15 +503,35 @@ Done. ).unwrap_or_else(|err| panic!("Failed to load model: {err}")); */ - let mut rl = rustyline::Editor::<()>::new()?; - let prompt = rl.readline(">> ")?; - println!("\n\n") - - let prompt = format!("User:\n{}\n\nEve:\n", prompt); + println!("Ad hoc training model for ADAM subject classes..."); + fn print_token(t: String) { + print!("{t}"); + std::io::stdout().flush().unwrap(); + } + // use the model to generate text from a prompt let mut session = llama.start_session(Default::default()); + session.feed_prompt( + &llama, + &Default::default(), + reduced, + &mut llm::OutputRequest::default(), + |t| { + print!("."); + Ok::<(), std::io::Error>(()) + } + ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); + + println!("Training done. Ready!"); + + let mut rl = rustyline::Editor::<()>::new()?; + let prompt = rl.readline(">> ")?; + println!("\n\n"); + + let prompt = format!("User:\n{}\n\nEve:\n", prompt); + let res = session.infer::( // model to use for text generation &llama, From ec7d19f1b5ccbb29a669f893a2a4734879fa3ddb Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 2 Nov 2023 13:26:59 +0100 Subject: [PATCH 003/183] Update llm crate to master branch for ggml v3 models --- cli/Cargo.toml | 2 +- cli/src/main.rs | 74 +++++++++++++++++++++++++++++++++++++------------ 2 files changed, 57 insertions(+), 19 deletions(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 1fce68b08..cf02293a7 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -35,4 +35,4 @@ colour = "0.7.0" syntect = "5.0" ctrlc = "3.4.0" -llm = "0.1.1" +llm = { git = "https://github.com/rustformers/llm" } diff --git a/cli/src/main.rs b/cli/src/main.rs index d06ea97da..74094f9a4 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -478,30 +478,43 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic use std::io::Write; use llm::Model; + use llm::InferenceResponse; + use std::convert::Infallible; println!("Loading model..."); + // load a GGML model from disk let llama = llm::load::( // path to GGML file std::path::Path::new("/Users/nicolasluck/models/eve.model"), + llm::TokenizerSource::Embedded, // llm::ModelParameters Default::default(), // load progress callback |_| {}, + ) .unwrap_or_else(|err| panic!("Failed to load model: {err}")); println!("Model loaded!"); /* - let model = llm::load_dynamic( - llm::ModelArchitecture::Llama, + + + let llama = llm::load_dynamic( + Some(llm::ModelArchitecture::Llama), &std::path::Path::new("/Users/nicolasluck/eve.model"), + llm::TokenizerSource::Embedded, Default::default(), llm::load_progress_callback_stdout, ).unwrap_or_else(|err| panic!("Failed to load model: {err}")); - */ + + println!("Model loaded!"); + */ + + let mut session = llama.start_session(Default::default()); + println!("Ad hoc training model for ADAM subject classes..."); @@ -510,27 +523,43 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic print!("{t}"); std::io::stdout().flush().unwrap(); } + + let character_name = "### Assistant"; + let user_name = "### Human"; + let persona = "A chat between a human and an assistant."; + let history = format!( + "{character_name}: Hello - How may I help you today?\n\ + {user_name}: What is the capital of France?\n\ + {character_name}: Paris is the capital of France." + ); + + let inference_parameters = llm::InferenceParameters::default(); + // use the model to generate text from a prompt - let mut session = llama.start_session(Default::default()); + session.feed_prompt( - &llama, - &Default::default(), - reduced, - &mut llm::OutputRequest::default(), - |t| { - print!("."); - Ok::<(), std::io::Error>(()) - } + &llama, + format!("{persona}\n{history}").as_str(), + &mut Default::default(), + llm::feed_prompt_callback(|resp| match resp { + llm::InferenceResponse::PromptToken(t) + | llm::InferenceResponse::InferredToken(t) => { + print_token(t); + + Ok::(llm::InferenceFeedback::Continue) + } + _ => Ok(llm::InferenceFeedback::Continue), + }), ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); println!("Training done. Ready!"); let mut rl = rustyline::Editor::<()>::new()?; - let prompt = rl.readline(">> ")?; + let line = rl.readline(">> ")?; println!("\n\n"); - let prompt = format!("User:\n{}\n\nEve:\n", prompt); + let prompt = format!("User:\n{}\n\nEve:\n", line); let res = session.infer::( // model to use for text generation @@ -540,17 +569,26 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic // the prompt to use for text generation, as well as other // inference parameters &llm::InferenceRequest { - prompt: prompt.as_str(), - ..Default::default() + prompt: format!("{user_name}: {line}\n{character_name}:") + .as_str() + .into(), + parameters: &inference_parameters, + play_back_previous_tokens: false, + maximum_token_count: None, }, // llm::OutputRequest &mut Default::default(), // output callback |t| { - print!("{t}"); + match t { + InferenceResponse::PromptToken(t) | InferenceResponse::InferredToken(t) | llm::InferenceResponse::SnapshotToken(t) => { + print_token(t); + } + _ => {} + } std::io::stdout().flush().unwrap(); - Ok(()) + Ok(llm::InferenceFeedback::Continue) } ); From bc558c3236f1dea306f823d8de43672a8ee06ded Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 2 Nov 2023 13:55:34 +0100 Subject: [PATCH 004/183] Reduced training that fits into context window --- cli/src/main.rs | 71 +++++++++++++------------------------------------ 1 file changed, 18 insertions(+), 53 deletions(-) diff --git a/cli/src/main.rs b/cli/src/main.rs index 74094f9a4..c24c476a0 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -307,8 +307,8 @@ async fn main() -> Result<()> { Domain::RunLocalHcServices {} => unreachable!(), Domain::Eve => { - let training = r##" -system: + let system = r##" +<> You are Eve, the personal assistant AI in Adam. You are mainly there to help create AD4M Subject classes (in Prolog) from user input. You'll respond to the user directly and mark Subject class code with "SDNA:" at the start and ":ANDS" at the end, @@ -319,15 +319,14 @@ but ensure the same identifier used throughout all predicate occurrences of the When the user signals that the code is complete, provide the the latest version to Perspect3ve to be written to the perspective's social DNA by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` +<> +"##; -Eve: -Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. - -User: -Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` -Eve: -Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. + let history = r##" +Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. +User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` +Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. SDNA: subject_class("Todo", cjdotdng). @@ -353,9 +352,7 @@ collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: " What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) User: The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. - -Eve: -Ok, I have this now: +Eve: Ok, I have this now: SDNA: subject_class("Todo", cjdotdng). @@ -387,14 +384,9 @@ p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). :ANDS -Anything else?` - -User: -No, that's it. Please write this to the SDNA.` - - -Eve: -Ok... +Anything else? +User: No, that's it. Please write this to the SDNA.` +Eve: Ok.. WRITE-SDNA: subject_class("Todo", cjdotdng). constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). @@ -430,26 +422,9 @@ Done. let reduced = r##" -system: -You are Eve, the personal assistant AI in Adam. -You are mainly there to help create AD4M Subject classes (in Prolog) from user input. -You'll respond to the user directly and mark Subject class code with "SDNA:" at the start and ":ANDS" at the end, -so that Perspect3ve can parse that out. -Make sure that each new Subject class definition uses a new random identifier -(2nd parameter in "subject_class", 1st parameter in the other predicates), -but ensure the same identifier used throughout all predicate occurrences of the same class definition. -When the user signals that the code is complete, -provide the the latest version to Perspect3ve to be written to the perspective's social DNA -by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` - -Eve: -Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. - -User: -Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` - -Eve: -Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. +Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. +User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` +Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. SDNA: subject_class("Todo", cjdotdng). @@ -524,14 +499,6 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic std::io::stdout().flush().unwrap(); } - let character_name = "### Assistant"; - let user_name = "### Human"; - let persona = "A chat between a human and an assistant."; - let history = format!( - "{character_name}: Hello - How may I help you today?\n\ - {user_name}: What is the capital of France?\n\ - {character_name}: Paris is the capital of France." - ); let inference_parameters = llm::InferenceParameters::default(); @@ -540,7 +507,7 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic session.feed_prompt( &llama, - format!("{persona}\n{history}").as_str(), + format!("{system}\n{reduced}").as_str(), &mut Default::default(), llm::feed_prompt_callback(|resp| match resp { llm::InferenceResponse::PromptToken(t) @@ -553,13 +520,11 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic }), ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); - println!("Training done. Ready!"); + println!("\n\nTraining done. Ready!"); let mut rl = rustyline::Editor::<()>::new()?; let line = rl.readline(">> ")?; println!("\n\n"); - - let prompt = format!("User:\n{}\n\nEve:\n", line); let res = session.infer::( // model to use for text generation @@ -569,7 +534,7 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic // the prompt to use for text generation, as well as other // inference parameters &llm::InferenceRequest { - prompt: format!("{user_name}: {line}\n{character_name}:") + prompt: format!("User: {line}\nEve:") .as_str() .into(), parameters: &inference_parameters, From 34b8bab4c2a4cbd465eb10af25ea72d5fd5bdd1a Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 2 Nov 2023 13:55:41 +0100 Subject: [PATCH 005/183] =?UTF-8?q?Use=20feature=20=E2=80=9Cmetal=E2=80=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cli/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index cf02293a7..4062d8ad5 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -35,4 +35,4 @@ colour = "0.7.0" syntect = "5.0" ctrlc = "3.4.0" -llm = { git = "https://github.com/rustformers/llm" } +llm = { git = "https://github.com/rustformers/llm", features = ["metal"] } From 8e874ea07bec15408d0d993545645c293c50b2f3 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 2 Nov 2023 19:54:42 +0100 Subject: [PATCH 006/183] Extract Eve command to eve.rs and switch to cbor --- cli/Cargo.toml | 1 + cli/src/eve.rs | 278 ++++++++++++++++++++++++++++++++++++++++++++++++ cli/src/main.rs | 273 +++-------------------------------------------- 3 files changed, 293 insertions(+), 259 deletions(-) create mode 100644 cli/src/eve.rs diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 4062d8ad5..5e51744b7 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -36,3 +36,4 @@ syntect = "5.0" ctrlc = "3.4.0" llm = { git = "https://github.com/rustformers/llm", features = ["metal"] } +serde_cbor = "0.11" \ No newline at end of file diff --git a/cli/src/eve.rs b/cli/src/eve.rs new file mode 100644 index 000000000..f97330088 --- /dev/null +++ b/cli/src/eve.rs @@ -0,0 +1,278 @@ + +use std::io::Write; +use ad4m_client::perspectives::snapshot; +use llm::Model; +use llm::InferenceResponse; +use std::convert::Infallible; +use std::fs::File; +use llm::InferenceSession; +use anyhow::Result; +use clap::Subcommand; + +#[derive(Debug, Subcommand)] +pub enum EveCommands { + Train, + Prompt, +} + +const SYSTEM: &str = r##" +<> +You are Eve, the personal assistant AI in Adam. +You are mainly there to help create AD4M Subject classes (in Prolog) from user input. +You'll respond to the user directly and mark Subject class code with "SDNA:" at the start and ":ANDS" at the end, +so that Perspect3ve can parse that out. +Make sure that each new Subject class definition uses a new random identifier +(2nd parameter in "subject_class", 1st parameter in the other predicates), +but ensure the same identifier used throughout all predicate occurrences of the same class definition. +When the user signals that the code is complete, +provide the the latest version to Perspect3ve to be written to the perspective's social DNA +by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` +<> +"##; + + +const HISTORY: &str = r##" +Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. +User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` +Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. + +SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). +:ANDS + +What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) + +User: The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. +Eve: Ok, I have this now: + +SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). +property_named_option(cjdotdng, "state", "todo://ready", "Ready"). +property_named_option(cjdotdng, "state", "todo://doing", "Doing"). +property_named_option(cjdotdng, "state", "todo://done", "Done"). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +p3_class_icon(cjdotdng, "check2-square"). +p3_instance_shape(cjdotdng, Instance, "circle"). +p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). +p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). +p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). +:ANDS + +Anything else? +User: No, that's it. Please write this to the SDNA.` +Eve: Ok.. +WRITE-SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). +property_named_option(cjdotdng, "state", "todo://ready", "Ready"). +property_named_option(cjdotdng, "state", "todo://doing", "Doing"). +property_named_option(cjdotdng, "state", "todo://done", "Done"). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +p3_class_icon(cjdotdng, "check2-square"). +p3_instance_shape(cjdotdng, Instance, "circle"). +p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). +p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). +p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). +:ANDS-ETIRW + +Done. +"##; + + +const REDUCED: &str = r##" +Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. +User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` +Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. + +SDNA: +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). +:ANDS + +What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) +"##; + + +pub async fn run(command: EveCommands) -> Result<()> { + println!("Loading model..."); + + + // load a GGML model from disk + let llama = llm::load::( + // path to GGML file + std::path::Path::new("/Users/nicolasluck/models/eve.model"), + llm::TokenizerSource::Embedded, + // llm::ModelParameters + Default::default(), + // load progress callback + |_| {}, + + ) + .unwrap_or_else(|err| panic!("Failed to load model: {err}")); + + println!("Model loaded!"); + + let inference_parameters = llm::InferenceParameters::default(); + + fn print_token(t: String) { + print!("{t}"); + std::io::stdout().flush().unwrap(); + } + + match command { + EveCommands::Train => { + println!("Training Eve..."); + + + println!("Ad hoc training model for ADAM subject classes..."); + + + // use the model to generate text from a prompt + let mut session = llama.start_session(Default::default()); + + session.feed_prompt( + &llama, + format!("{SYSTEM}\n{REDUCED}").as_str(), + &mut Default::default(), + llm::feed_prompt_callback(|resp| match resp { + llm::InferenceResponse::PromptToken(t) + | llm::InferenceResponse::InferredToken(t) => { + print_token(t); + + Ok::(llm::InferenceFeedback::Continue) + } + _ => Ok(llm::InferenceFeedback::Continue), + }), + ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); + + println!("\n\nTraining done. Ready!"); + + unsafe { + let snapshot_ref: llm::InferenceSnapshotRef<'_> = session.get_snapshot(); + let snapshot = snapshot_ref.to_owned(); + let snapshot_cbor = serde_cbor::to_vec(&snapshot).expect("Failed to serialize snapshot"); + File::create("/Users/nicolasluck/models/eve.snapshot.json").unwrap().write_all(snapshot_cbor.as_slice()).unwrap(); + println!("Snapshot saved!"); + } + } + EveCommands::Prompt => { + println!("Prompting Eve..."); + + let mut session = if let Ok(file) = File::open("/Users/nicolasluck/models/eve.snapshot.json") { + let snapshot: llm::InferenceSnapshot = serde_cbor::from_reader(file).expect("Failed to deserialize snapshot"); + InferenceSession::from_snapshot(snapshot, &llama).unwrap_or_else(|err| panic!("Failed to load snapshot: {err}")) + } else { + llama.start_session(Default::default()) + }; + + let mut rl = rustyline::Editor::<()>::new()?; + let line = rl.readline(">> ")?; + println!("\n\n"); + + let res = session.infer::( + // model to use for text generation + &llama, + // randomness provider + &mut rand::thread_rng(), + // the prompt to use for text generation, as well as other + // inference parameters + &llm::InferenceRequest { + prompt: format!("User: {line}\nEve:") + .as_str() + .into(), + parameters: &inference_parameters, + play_back_previous_tokens: false, + maximum_token_count: None, + }, + // llm::OutputRequest + &mut Default::default(), + // output callback + |t| { + match t { + InferenceResponse::PromptToken(t) | InferenceResponse::InferredToken(t) | llm::InferenceResponse::SnapshotToken(t) => { + print_token(t); + } + _ => {} + } + std::io::stdout().flush().unwrap(); + + Ok(llm::InferenceFeedback::Continue) + } + ); + + match res { + Ok(result) => println!("\n\nInference stats:\n{result}"), + Err(err) => println!("\n{err}"), + } + } + } + Ok(()) +} + + diff --git a/cli/src/main.rs b/cli/src/main.rs index c24c476a0..6c08b46e7 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -22,9 +22,12 @@ mod neighbourhoods; mod perspectives; mod repl; mod runtime; +mod eve; + + use crate::{ - agent::*, dev::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, + agent::*, dev::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, eve::*, }; use ad4m_client::*; use anyhow::{Context, Result}; @@ -151,7 +154,10 @@ enum Domain { admin_credential: Option }, RunLocalHcServices {}, - Eve, + Eve { + #[command(subcommand)] + command: EveCommands, + }, } async fn get_ad4m_client(args: &ClapApp) -> Result { @@ -263,6 +269,11 @@ async fn main() -> Result<()> { return Ok(()); } + if let Domain::Eve { command } = args.domain { + eve::run(command).await?; + return Ok(()); + } + let ad4m_client = get_ad4m_client(&args).await?; match args.domain { @@ -305,263 +316,7 @@ async fn main() -> Result<()> { admin_credential: _ } => unreachable!(), Domain::RunLocalHcServices {} => unreachable!(), - Domain::Eve => { - - let system = r##" -<> -You are Eve, the personal assistant AI in Adam. -You are mainly there to help create AD4M Subject classes (in Prolog) from user input. -You'll respond to the user directly and mark Subject class code with "SDNA:" at the start and ":ANDS" at the end, -so that Perspect3ve can parse that out. -Make sure that each new Subject class definition uses a new random identifier -(2nd parameter in "subject_class", 1st parameter in the other predicates), -but ensure the same identifier used throughout all predicate occurrences of the same class definition. -When the user signals that the code is complete, -provide the the latest version to Perspect3ve to be written to the perspective's social DNA -by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` -<> -"##; - - - let history = r##" -Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. -User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` -Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. - -SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). -:ANDS - -What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) - -User: The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. -Eve: Ok, I have this now: - -SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). -property_named_option(cjdotdng, "state", "todo://ready", "Ready"). -property_named_option(cjdotdng, "state", "todo://doing", "Doing"). -property_named_option(cjdotdng, "state", "todo://done", "Done"). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). - -p3_class_icon(cjdotdng, "check2-square"). -p3_instance_shape(cjdotdng, Instance, "circle"). -p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). -p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). -p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). -:ANDS - -Anything else? -User: No, that's it. Please write this to the SDNA.` -Eve: Ok.. -WRITE-SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). -property_named_option(cjdotdng, "state", "todo://ready", "Ready"). -property_named_option(cjdotdng, "state", "todo://doing", "Doing"). -property_named_option(cjdotdng, "state", "todo://done", "Done"). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). - -p3_class_icon(cjdotdng, "check2-square"). -p3_instance_shape(cjdotdng, Instance, "circle"). -p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). -p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). -p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). -:ANDS-ETIRW - -Done. -"##; - - -let reduced = r##" -Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. -User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` -Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. - -SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). -:ANDS - -What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) -"##; - - - use std::io::Write; - use llm::Model; - use llm::InferenceResponse; - use std::convert::Infallible; - - println!("Loading model..."); - - - // load a GGML model from disk - let llama = llm::load::( - // path to GGML file - std::path::Path::new("/Users/nicolasluck/models/eve.model"), - llm::TokenizerSource::Embedded, - // llm::ModelParameters - Default::default(), - // load progress callback - |_| {}, - - ) - .unwrap_or_else(|err| panic!("Failed to load model: {err}")); - - println!("Model loaded!"); - - /* - - - let llama = llm::load_dynamic( - Some(llm::ModelArchitecture::Llama), - &std::path::Path::new("/Users/nicolasluck/eve.model"), - llm::TokenizerSource::Embedded, - Default::default(), - llm::load_progress_callback_stdout, - ).unwrap_or_else(|err| panic!("Failed to load model: {err}")); - - println!("Model loaded!"); - */ - - let mut session = llama.start_session(Default::default()); - - - println!("Ad hoc training model for ADAM subject classes..."); - - - fn print_token(t: String) { - print!("{t}"); - std::io::stdout().flush().unwrap(); - } - - - let inference_parameters = llm::InferenceParameters::default(); - - - // use the model to generate text from a prompt - - session.feed_prompt( - &llama, - format!("{system}\n{reduced}").as_str(), - &mut Default::default(), - llm::feed_prompt_callback(|resp| match resp { - llm::InferenceResponse::PromptToken(t) - | llm::InferenceResponse::InferredToken(t) => { - print_token(t); - - Ok::(llm::InferenceFeedback::Continue) - } - _ => Ok(llm::InferenceFeedback::Continue), - }), - ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); - - println!("\n\nTraining done. Ready!"); - - let mut rl = rustyline::Editor::<()>::new()?; - let line = rl.readline(">> ")?; - println!("\n\n"); - - let res = session.infer::( - // model to use for text generation - &llama, - // randomness provider - &mut rand::thread_rng(), - // the prompt to use for text generation, as well as other - // inference parameters - &llm::InferenceRequest { - prompt: format!("User: {line}\nEve:") - .as_str() - .into(), - parameters: &inference_parameters, - play_back_previous_tokens: false, - maximum_token_count: None, - }, - // llm::OutputRequest - &mut Default::default(), - // output callback - |t| { - match t { - InferenceResponse::PromptToken(t) | InferenceResponse::InferredToken(t) | llm::InferenceResponse::SnapshotToken(t) => { - print_token(t); - } - _ => {} - } - std::io::stdout().flush().unwrap(); - - Ok(llm::InferenceFeedback::Continue) - } - ); - - match res { - Ok(result) => println!("\n\nInference stats:\n{result}"), - Err(err) => println!("\n{err}"), - } - } + Domain::Eve { command: _ } => unreachable!(), } Ok(()) From 2b5edc985c89ca69dbda960f24fe19e2ad77f8ea Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 3 Nov 2023 01:36:40 +0100 Subject: [PATCH 007/183] Use my fork to fix snapshots --- cli/Cargo.toml | 2 +- cli/src/eve.rs | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 5e51744b7..9a5a69f9c 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -35,5 +35,5 @@ colour = "0.7.0" syntect = "5.0" ctrlc = "3.4.0" -llm = { git = "https://github.com/rustformers/llm", features = ["metal"] } +llm = { git = "https://github.com/lucksus/llm", features = ["metal"] } serde_cbor = "0.11" \ No newline at end of file diff --git a/cli/src/eve.rs b/cli/src/eve.rs index f97330088..25c039a25 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -214,8 +214,7 @@ pub async fn run(command: EveCommands) -> Result<()> { println!("\n\nTraining done. Ready!"); unsafe { - let snapshot_ref: llm::InferenceSnapshotRef<'_> = session.get_snapshot(); - let snapshot = snapshot_ref.to_owned(); + let snapshot: llm::InferenceSnapshotRef<'_> = session.get_snapshot(); let snapshot_cbor = serde_cbor::to_vec(&snapshot).expect("Failed to serialize snapshot"); File::create("/Users/nicolasluck/models/eve.snapshot.json").unwrap().write_all(snapshot_cbor.as_slice()).unwrap(); println!("Snapshot saved!"); From 9f817b9d54ff098feca2c3530ccca3f831108248 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 3 Nov 2023 01:45:31 +0100 Subject: [PATCH 008/183] Halt inference --- cli/src/eve.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 25c039a25..7fd68ed8f 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -253,15 +253,23 @@ pub async fn run(command: EveCommands) -> Result<()> { &mut Default::default(), // output callback |t| { + let mut cont = true; match t { InferenceResponse::PromptToken(t) | InferenceResponse::InferredToken(t) | llm::InferenceResponse::SnapshotToken(t) => { + if t == "Eve:" || t == "User:" { + cont = false; + } print_token(t); } _ => {} } std::io::stdout().flush().unwrap(); - Ok(llm::InferenceFeedback::Continue) + if cont { + Ok(llm::InferenceFeedback::Continue) + } else { + Ok(llm::InferenceFeedback::Halt) + } } ); From b41a37bb78ba4ccc8f2d2c28f1ab9aa30fd40f76 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 17 Nov 2023 12:25:11 +0100 Subject: [PATCH 009/183] Use gguf branch of llm crate for new models --- cli/Cargo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 9a5a69f9c..198adb8e5 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -35,5 +35,5 @@ colour = "0.7.0" syntect = "5.0" ctrlc = "3.4.0" -llm = { git = "https://github.com/lucksus/llm", features = ["metal"] } +llm = { git = "https://github.com/lucksus/llm", branch = "gguf", features = ["metal"] } serde_cbor = "0.11" \ No newline at end of file From 3859917208fa1ac51f01934005c18041de0a939c Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 17 Nov 2023 12:25:45 +0100 Subject: [PATCH 010/183] Break down eve prompt so fits in context window --- cli/src/eve.rs | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 7fd68ed8f..3c524882d 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -1,6 +1,5 @@ use std::io::Write; -use ad4m_client::perspectives::snapshot; use llm::Model; use llm::InferenceResponse; use std::convert::Infallible; @@ -31,7 +30,7 @@ by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` "##; -const HISTORY: &str = r##" +const HISTORY1: &str = r##" Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. @@ -57,8 +56,9 @@ collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", pre collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). :ANDS -What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) +What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set)"##; +const HISTORY2: &str = r##" User: The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. Eve: Ok, I have this now: @@ -92,7 +92,8 @@ p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). :ANDS -Anything else? +Anything else?"##; +const HISTORY3: &str = r##" User: No, that's it. Please write this to the SDNA.` Eve: Ok.. WRITE-SDNA: @@ -196,20 +197,23 @@ pub async fn run(command: EveCommands) -> Result<()> { // use the model to generate text from a prompt let mut session = llama.start_session(Default::default()); - session.feed_prompt( - &llama, - format!("{SYSTEM}\n{REDUCED}").as_str(), - &mut Default::default(), - llm::feed_prompt_callback(|resp| match resp { - llm::InferenceResponse::PromptToken(t) - | llm::InferenceResponse::InferredToken(t) => { - print_token(t); - - Ok::(llm::InferenceFeedback::Continue) - } - _ => Ok(llm::InferenceFeedback::Continue), - }), - ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); + for p in vec![SYSTEM, HISTORY1, HISTORY2] { + session.feed_prompt( + &llama, + p, + &mut Default::default(), + llm::feed_prompt_callback(|resp| match resp { + llm::InferenceResponse::PromptToken(t) + | llm::InferenceResponse::InferredToken(t) => { + print_token(t); + + Ok::(llm::InferenceFeedback::Continue) + } + _ => Ok(llm::InferenceFeedback::Continue), + }), + ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); + } + println!("\n\nTraining done. Ready!"); From f261cb64759b1e36bf0dadcee11ed1f1b9f71990 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 15:58:03 +0200 Subject: [PATCH 011/183] Check for triggered notifications periodically every 7s instead of around every change --- .../src/perspectives/perspective_instance.rs | 40 +++++++++---------- 1 file changed, 18 insertions(+), 22 deletions(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index b3bb9992b..1ac103192 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -165,6 +165,7 @@ impl PerspectiveInstance { pub async fn start_background_tasks(self) { let _ = join!( self.ensure_link_language(), + self.notification_check_loop(), self.nh_sync_loop(), self.pending_diffs_loop(), ); @@ -299,6 +300,17 @@ impl PerspectiveInstance { } } + async fn notification_check_loop(&self) { + let mut interval = time::interval(Duration::from_secs(7)); + let mut before = self.notification_trigger_snapshot().await; + while !*self.is_teardown.lock().await { + interval.tick().await; + let after = self_clone.notification_trigger_snapshot().await; + let new_matches = Self::subtract_before_notification_matches(before, after); + Self::publish_notification_matches(uuid, new_matches).await; + } + } + async fn ensure_public_links_are_shared(&self) { let uuid = self.persisted.lock().await.uuid.clone(); let mut link_language_guard = self.link_language.lock().await; @@ -425,7 +437,6 @@ impl PerspectiveInstance { pub async fn diff_from_link_language(&self, diff: PerspectiveDiff) { let handle = self.persisted.lock().await.clone(); - let notification_snapshot_before = self.notification_trigger_snapshot().await; if !diff.additions.is_empty() { Ad4mDb::with_global_instance(|db| { db.add_many_links(&handle.uuid, diff.additions.clone(), &LinkStatus::Shared) @@ -455,7 +466,7 @@ impl PerspectiveInstance { .collect(), }; - self.spawn_prolog_facts_update(notification_snapshot_before, decorated_diff.clone()); + self.spawn_prolog_facts_update(decorated_diff.clone()); self.pubsub_publish_diff(decorated_diff).await; } @@ -523,7 +534,6 @@ impl PerspectiveInstance { link_expression: LinkExpression, status: LinkStatus, ) -> Result { - let notification_snapshot_before = self.notification_trigger_snapshot().await; let handle = self.persisted.lock().await.clone(); Ad4mDb::with_global_instance(|db| db.add_link(&handle.uuid, &link_expression, &status))?; @@ -533,10 +543,7 @@ impl PerspectiveInstance { let decorated_perspective_diff = DecoratedPerspectiveDiff::from_additions(vec![decorated_link_expression.clone()]); - self.spawn_prolog_facts_update( - notification_snapshot_before, - decorated_perspective_diff.clone(), - ); + self.spawn_prolog_facts_update(decorated_perspective_diff.clone()); if status == LinkStatus::Shared { self.spawn_commit_and_handle_error(&diff); @@ -552,7 +559,6 @@ impl PerspectiveInstance { links: Vec, status: LinkStatus, ) -> Result, AnyError> { - let notification_snapshot_before = self.notification_trigger_snapshot().await; let handle = self.persisted.lock().await.clone(); let uuid = handle.uuid.clone(); let link_expressions = links @@ -575,10 +581,7 @@ impl PerspectiveInstance { db.add_many_links(&uuid, link_expressions.clone(), &status) })?; - self.spawn_prolog_facts_update( - notification_snapshot_before, - decorated_perspective_diff.clone(), - ); + self.spawn_prolog_facts_update(decorated_perspective_diff.clone()); self.pubsub_publish_diff(decorated_perspective_diff).await; if status == LinkStatus::Shared { self.spawn_commit_and_handle_error(&perspective_diff); @@ -592,7 +595,6 @@ impl PerspectiveInstance { mutations: LinkMutations, status: LinkStatus, ) -> Result { - let notification_snapshot_before = self.notification_trigger_snapshot().await; let handle = self.persisted.lock().await.clone(); let additions = mutations .additions @@ -628,7 +630,7 @@ impl PerspectiveInstance { .collect::>(), }; - self.spawn_prolog_facts_update(notification_snapshot_before, decorated_diff.clone()); + self.spawn_prolog_facts_update(decorated_diff.clone()); self.pubsub_publish_diff(decorated_diff.clone()).await; if status == LinkStatus::Shared { @@ -643,7 +645,6 @@ impl PerspectiveInstance { old_link: LinkExpression, new_link: Link, ) -> Result { - let notification_snapshot_before = self.notification_trigger_snapshot().await; let handle = self.persisted.lock().await.clone(); let link_option = Ad4mDb::with_global_instance(|db| db.get_link(&handle.uuid, &old_link))?; @@ -679,7 +680,7 @@ impl PerspectiveInstance { vec![decorated_old_link.clone()], ); - self.spawn_prolog_facts_update(notification_snapshot_before, decorated_diff); + self.spawn_prolog_facts_update(decorated_diff); get_global_pubsub() .await @@ -709,14 +710,13 @@ impl PerspectiveInstance { if let Some((link_from_db, status)) = Ad4mDb::with_global_instance(|db| db.get_link(&handle.uuid, &link_expression))? { - let notification_snapshot_before = self.notification_trigger_snapshot().await; Ad4mDb::with_global_instance(|db| db.remove_link(&handle.uuid, &link_expression))?; let diff = PerspectiveDiff::from_removals(vec![link_expression.clone()]); let decorated_link = DecoratedLinkExpression::from((link_from_db, status.clone())); let decorated_diff = DecoratedPerspectiveDiff::from_removals(vec![decorated_link.clone()]); - self.spawn_prolog_facts_update(notification_snapshot_before, decorated_diff.clone()); + self.spawn_prolog_facts_update(decorated_diff.clone()); self.pubsub_publish_diff(decorated_diff.clone()).await; if status == LinkStatus::Shared { @@ -976,7 +976,6 @@ impl PerspectiveInstance { fn spawn_prolog_facts_update( &self, - before: BTreeMap>, diff: DecoratedPerspectiveDiff, ) { let self_clone = self.clone(); @@ -1025,9 +1024,6 @@ impl PerspectiveInstance { if did_update { self_clone.pubsub_publish_diff(diff).await; - let after = self_clone.notification_trigger_snapshot().await; - let new_matches = Self::subtract_before_notification_matches(before, after); - Self::publish_notification_matches(uuid, new_matches).await; } }); } From 60e6f958f78f522c9d28f90a1ae72c03c8f0590d Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 17:17:59 +0200 Subject: [PATCH 012/183] Save notification trigger snapshot in between loop runs --- .../src/perspectives/perspective_instance.rs | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index 1ac103192..93270bf13 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -301,13 +301,15 @@ impl PerspectiveInstance { } async fn notification_check_loop(&self) { + let uuid = self.persisted.lock().await.uuid.clone(); let mut interval = time::interval(Duration::from_secs(7)); let mut before = self.notification_trigger_snapshot().await; while !*self.is_teardown.lock().await { + let after = self.notification_trigger_snapshot().await; + let new_matches = Self::subtract_before_notification_matches(&before, &after); + Self::publish_notification_matches(uuid.clone(), new_matches).await; + before = after; interval.tick().await; - let after = self_clone.notification_trigger_snapshot().await; - let new_matches = Self::subtract_before_notification_matches(before, after); - Self::publish_notification_matches(uuid, new_matches).await; } } @@ -981,8 +983,6 @@ impl PerspectiveInstance { let self_clone = self.clone(); tokio::spawn(async move { - let uuid = self_clone.persisted.lock().await.uuid.clone(); - if let Err(e) = self_clone.ensure_prolog_engine().await { log::error!("Error spawning Prolog engine: {:?}", e) }; @@ -1060,16 +1060,23 @@ impl PerspectiveInstance { } fn subtract_before_notification_matches( - before: BTreeMap>, - after: BTreeMap>, + before: &BTreeMap>, + after: &BTreeMap>, ) -> BTreeMap> { after - .into_iter() - .map(|(notification, mut matches)| { - if let Some(old_matches) = before.get(¬ification) { - matches.retain(|m| !old_matches.contains(m)); - } - (notification, matches) + .iter() + .map(|(notification, matches)| { + let new_matches: Vec = if let Some(old_matches) = before.get(¬ification) { + matches + .iter() + .filter(|m| !old_matches.contains(m)) + .cloned() + .collect() + } else { + Vec::new() + }; + + (notification.clone(), new_matches) }) .collect() } From a4d55e05cdb69fb9f7c0f95483d107da6c346014 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 17:18:47 +0200 Subject: [PATCH 013/183] fmt --- .../src/perspectives/perspective_instance.rs | 24 +++++++++---------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index 93270bf13..bfb10014f 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -976,10 +976,7 @@ impl PerspectiveInstance { } } - fn spawn_prolog_facts_update( - &self, - diff: DecoratedPerspectiveDiff, - ) { + fn spawn_prolog_facts_update(&self, diff: DecoratedPerspectiveDiff) { let self_clone = self.clone(); tokio::spawn(async move { @@ -1066,15 +1063,16 @@ impl PerspectiveInstance { after .iter() .map(|(notification, matches)| { - let new_matches: Vec = if let Some(old_matches) = before.get(¬ification) { - matches - .iter() - .filter(|m| !old_matches.contains(m)) - .cloned() - .collect() - } else { - Vec::new() - }; + let new_matches: Vec = + if let Some(old_matches) = before.get(¬ification) { + matches + .iter() + .filter(|m| !old_matches.contains(m)) + .cloned() + .collect() + } else { + Vec::new() + }; (notification.clone(), new_matches) }) From c4f5e97929f35c25140e3fe370070b8b7e2d1a7a Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 17:24:03 +0200 Subject: [PATCH 014/183] clippy --- rust-executor/src/perspectives/perspective_instance.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index bfb10014f..b91e7041b 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -1064,7 +1064,7 @@ impl PerspectiveInstance { .iter() .map(|(notification, matches)| { let new_matches: Vec = - if let Some(old_matches) = before.get(¬ification) { + if let Some(old_matches) = before.get(notification) { matches .iter() .filter(|m| !old_matches.contains(m)) From a16ac23b3f01188d478cdbcde625ea7513885f63 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 20:08:27 +0200 Subject: [PATCH 015/183] Fix integration test execution. We need the warp logs for the test suite! m/ --- rust-executor/src/init.rs | 2 +- rust-executor/src/lib.rs | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/rust-executor/src/init.rs b/rust-executor/src/init.rs index 8155c8e5c..60ae641ae 100644 --- a/rust-executor/src/init.rs +++ b/rust-executor/src/init.rs @@ -14,7 +14,7 @@ pub fn init( ) -> Result<(), Box> { std::env::set_var( "RUST_LOG", - "holochain=warn,wasmer_compiler_cranelift=warn,rust_executor=info,warp=warn,warp::server=warn", + "holochain=warn,wasmer_compiler_cranelift=warn,rust_executor=info,warp::server", ); let _ = env_logger::try_init(); diff --git a/rust-executor/src/lib.rs b/rust-executor/src/lib.rs index 722685302..035b69afd 100644 --- a/rust-executor/src/lib.rs +++ b/rust-executor/src/lib.rs @@ -42,7 +42,7 @@ use crate::{ pub async fn run(mut config: Ad4mConfig) -> JoinHandle<()> { env::set_var( "RUST_LOG", - "holochain=warn,wasmer_compiler_cranelift=warn,rust_executor=debug,warp=warn,warp::server=warn", + "holochain=warn,wasmer_compiler_cranelift=warn,rust_executor=debug,warp::server", ); let _ = env_logger::try_init(); config.prepare(); @@ -107,7 +107,7 @@ pub async fn run(mut config: Ad4mConfig) -> JoinHandle<()> { LanguageController::init_global_instance(js_core_handle.clone()); perspectives::initialize_from_db(); - info!("Starting GraphQL..."); + let app_dir = config .app_data_path @@ -115,6 +115,9 @@ pub async fn run(mut config: Ad4mConfig) -> JoinHandle<()> { .expect("App data path not set in Ad4mConfig") .clone(); + + info!("Starting dapp server..."); + if let Some(true) = config.run_dapp_server { std::thread::spawn(|| { let runtime = tokio::runtime::Builder::new_multi_thread() @@ -128,6 +131,8 @@ pub async fn run(mut config: Ad4mConfig) -> JoinHandle<()> { }); }; + info!("Starting GraphQL..."); + std::thread::spawn(move || { let runtime = tokio::runtime::Builder::new_multi_thread() .thread_name(String::from("graphql_server")) From 6ad3665b48eea0ea800d76d87d2f50c8b2fe5105 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 20:09:49 +0200 Subject: [PATCH 016/183] fmt --- rust-executor/src/lib.rs | 3 --- 1 file changed, 3 deletions(-) diff --git a/rust-executor/src/lib.rs b/rust-executor/src/lib.rs index 035b69afd..4b847e0ec 100644 --- a/rust-executor/src/lib.rs +++ b/rust-executor/src/lib.rs @@ -107,15 +107,12 @@ pub async fn run(mut config: Ad4mConfig) -> JoinHandle<()> { LanguageController::init_global_instance(js_core_handle.clone()); perspectives::initialize_from_db(); - - let app_dir = config .app_data_path .as_ref() .expect("App data path not set in Ad4mConfig") .clone(); - info!("Starting dapp server..."); if let Some(true) = config.run_dapp_server { From b4fa8138f8de94ff09c09846d81f93d8cb4819d9 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 22:32:24 +0200 Subject: [PATCH 017/183] Fix subtract_before_notification_matches() --- rust-executor/src/perspectives/perspective_instance.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index b91e7041b..ee6d143d7 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -1071,7 +1071,7 @@ impl PerspectiveInstance { .cloned() .collect() } else { - Vec::new() + matches.clone() }; (notification.clone(), new_matches) From 25a9be66e11d4c328adb7a0b32b6b612333e79b9 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 22:33:16 +0200 Subject: [PATCH 018/183] Only check for notifications if something changed --- .../src/perspectives/perspective_instance.rs | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index ee6d143d7..7c4e82427 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -143,6 +143,7 @@ pub struct PerspectiveInstance { sdna_change_mutex: Arc>, prolog_update_mutex: Arc>, link_language: Arc>>, + links_have_changed: Arc>, } impl PerspectiveInstance { @@ -159,6 +160,7 @@ impl PerspectiveInstance { sdna_change_mutex: Arc::new(Mutex::new(())), prolog_update_mutex: Arc::new(RwLock::new(())), link_language: Arc::new(Mutex::new(None)), + links_have_changed: Arc::new(Mutex::new(false)), } } @@ -302,14 +304,18 @@ impl PerspectiveInstance { async fn notification_check_loop(&self) { let uuid = self.persisted.lock().await.uuid.clone(); - let mut interval = time::interval(Duration::from_secs(7)); + let mut interval = time::interval(Duration::from_secs(1)); let mut before = self.notification_trigger_snapshot().await; while !*self.is_teardown.lock().await { - let after = self.notification_trigger_snapshot().await; - let new_matches = Self::subtract_before_notification_matches(&before, &after); - Self::publish_notification_matches(uuid.clone(), new_matches).await; - before = after; interval.tick().await; + let mut changed = self.links_have_changed.lock().await; + if *changed { + let after = self.notification_trigger_snapshot().await; + let new_matches = Self::subtract_before_notification_matches(&before, &after); + Self::publish_notification_matches(uuid.clone(), new_matches).await; + before = after; + *changed = false; + } } } @@ -470,6 +476,7 @@ impl PerspectiveInstance { self.spawn_prolog_facts_update(decorated_diff.clone()); self.pubsub_publish_diff(decorated_diff).await; + *(self.links_have_changed.lock().await) = true; } pub async fn telepresence_signal_from_link_language(&self, mut signal: PerspectiveExpression) { @@ -552,7 +559,7 @@ impl PerspectiveInstance { } self.pubsub_publish_diff(decorated_perspective_diff).await; - + *(self.links_have_changed.lock().await) = true; Ok(decorated_link_expression) } @@ -588,7 +595,7 @@ impl PerspectiveInstance { if status == LinkStatus::Shared { self.spawn_commit_and_handle_error(&perspective_diff); } - + *(self.links_have_changed.lock().await) = true; Ok(decorated_link_expressions) } @@ -638,7 +645,7 @@ impl PerspectiveInstance { if status == LinkStatus::Shared { self.spawn_commit_and_handle_error(&diff); } - + *(self.links_have_changed.lock().await) = true; Ok(decorated_diff) } @@ -700,7 +707,7 @@ impl PerspectiveInstance { if link_status == LinkStatus::Shared { self.spawn_commit_and_handle_error(&diff); } - + *(self.links_have_changed.lock().await) = true; Ok(decorated_new_link_expression) } @@ -725,6 +732,7 @@ impl PerspectiveInstance { self.spawn_commit_and_handle_error(&diff); } + *(self.links_have_changed.lock().await) = true; Ok(decorated_link) } else { Err(anyhow!("Link not found")) From f5915b45f81410104c1fa057f50d0af60bf7546b Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 22:33:45 +0200 Subject: [PATCH 019/183] Check every 5 seconds --- rust-executor/src/perspectives/perspective_instance.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index 7c4e82427..83c07daa6 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -304,7 +304,7 @@ impl PerspectiveInstance { async fn notification_check_loop(&self) { let uuid = self.persisted.lock().await.uuid.clone(); - let mut interval = time::interval(Duration::from_secs(1)); + let mut interval = time::interval(Duration::from_secs(5)); let mut before = self.notification_trigger_snapshot().await; while !*self.is_teardown.lock().await { interval.tick().await; From 94c4297694edae8d8e6395623c22c487571a5585 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 15 Aug 2024 22:35:33 +0200 Subject: [PATCH 020/183] Wait 7s for notifications in tests --- tests/js/tests/runtime.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/js/tests/runtime.ts b/tests/js/tests/runtime.ts index 9d9d38a9c..e9e815ddc 100644 --- a/tests/js/tests/runtime.ts +++ b/tests/js/tests/runtime.ts @@ -276,7 +276,7 @@ export default function runtimeTests(testContext: TestContext) { // Happy path await notificationPerspective.add(new Link({source: "test://source", predicate: triggerPredicate, target: "test://target1"})) - await sleep(1000) + await sleep(7000) expect(mockFunction.called).to.be.true let triggeredNotification = mockFunction.getCall(0).args[0] as TriggeredNotification expect(triggeredNotification.notification.description).to.equal(notification.description) @@ -290,7 +290,7 @@ export default function runtimeTests(testContext: TestContext) { // Ensuring we don't get old data on a new trigger await notificationPerspective.add(new Link({source: "test://source", predicate: triggerPredicate, target: "test://target2"})) - await sleep(1000) + await sleep(7000) expect(mockFunction.callCount).to.equal(2) triggeredNotification = mockFunction.getCall(1).args[0] as TriggeredNotification triggerMatch = JSON.parse(triggeredNotification.triggerMatch) From 3e4d72fdbe12a8853b535161585d64d943bf35e6 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Mon, 19 Aug 2024 11:39:29 +0530 Subject: [PATCH 021/183] chore: Add embedding-vector-language to bootstrap-languages --- .../embedding-vector-language/esbuild.ts | 22 ++++++++ .../embedding-vector-language/index.ts | 53 +++++++++++++++++++ .../embedding-vector-language/package.json | 17 ++++++ .../embedding-vector-language/tsconfig.json | 9 ++++ 4 files changed, 101 insertions(+) create mode 100644 bootstrap-languages/embedding-vector-language/esbuild.ts create mode 100644 bootstrap-languages/embedding-vector-language/index.ts create mode 100644 bootstrap-languages/embedding-vector-language/package.json create mode 100644 bootstrap-languages/embedding-vector-language/tsconfig.json diff --git a/bootstrap-languages/embedding-vector-language/esbuild.ts b/bootstrap-languages/embedding-vector-language/esbuild.ts new file mode 100644 index 000000000..cb466fc6e --- /dev/null +++ b/bootstrap-languages/embedding-vector-language/esbuild.ts @@ -0,0 +1,22 @@ +import * as esbuild from "https://deno.land/x/esbuild@v0.17.18/mod.js"; +// Import the WASM build on platforms where running subprocesses is not +// permitted, such as Deno Deploy, or when running without `--allow-run`. +// import * as esbuild from "https://deno.land/x/esbuild@v0.17.18/wasm.js"; + +import { denoPlugins } from "https://deno.land/x/esbuild_deno_loader@0.7.0/mod.ts"; + +const result = await esbuild.build({ + plugins: [...denoPlugins()], + entryPoints: ['index.ts'], + outfile: 'build/bundle.js', + bundle: true, + platform: 'node', + target: 'deno1.32.4', + format: 'esm', + globalName: 'embedding.vector.language', + charset: 'ascii', + legalComments: 'inline' +}); +console.log(result.outputFiles); + +esbuild.stop(); \ No newline at end of file diff --git a/bootstrap-languages/embedding-vector-language/index.ts b/bootstrap-languages/embedding-vector-language/index.ts new file mode 100644 index 000000000..6d30ea9cb --- /dev/null +++ b/bootstrap-languages/embedding-vector-language/index.ts @@ -0,0 +1,53 @@ +import type { Address, Interaction, Expression, Language, LanguageContext } from "https://esm.sh/@coasys/ad4m@0.5.0"; +import { exists } from "https://deno.land/std@0.184.0/fs/mod.ts"; +import { join } from "https://deno.land/std@0.184.0/path/mod.ts"; +import pako from "https://esm.sh/pako@2.0.4"; +import base64js from "https://esm.sh/base64-js@1.5.1"; + +function compressUri(uri: string): string { + const compressed = pako.deflate(uri); + return base64js.fromByteArray(compressed); +} + +function decompressUri(compressedString: string): string { + const compressed = base64js.toByteArray(compressedString); + const decompressed = pako.inflate(compressed); + return new TextDecoder().decode(decompressed); +} + +export default function create(context: LanguageContext): Language { + function interactions(expressionAddress: Address): Interaction[] { + return [] + } + + return { + name: "embedding-vector-language", + interactions, + expressionAdapter: { + get: async (address: Address) => { + try { + const decompressedAddress = decompressUri(address); + const expr = JSON.parse(decompressedAddress) as Expression; + return expr + } catch (e) { + console.error("caught error", e); + return null; + } + }, + putAdapter: { + createPublic: async (content: object): Promise
=> { + try { + const expr = context.agent.createSignedExpression(content) + const exprString = JSON.stringify(expr) + const compressedExprString = compressUri(exprString); + return compressedExprString + } catch (e) { + console.error("caught error", e); + return null; + } + } + } + } + } as Language +} + diff --git a/bootstrap-languages/embedding-vector-language/package.json b/bootstrap-languages/embedding-vector-language/package.json new file mode 100644 index 000000000..756e387f7 --- /dev/null +++ b/bootstrap-languages/embedding-vector-language/package.json @@ -0,0 +1,17 @@ +{ + "name": "embedding-vector-language", + "version": "0.0.1", + "description": "An AD4M Language for testing AD4M-executor", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "build": "deno run --allow-all esbuild.ts" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "tslib": "^2.0.0", + "typescript": "^4.6.2", + "uint8arrays": "^3.0.0" + } +} diff --git a/bootstrap-languages/embedding-vector-language/tsconfig.json b/bootstrap-languages/embedding-vector-language/tsconfig.json new file mode 100644 index 000000000..68e2f4be1 --- /dev/null +++ b/bootstrap-languages/embedding-vector-language/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "types": ["node"], + }, + "include": ["*.ts"], + "exclude": ["node_modules/*", "__sapper__/*", "public/*"], + "allowJs": true + } \ No newline at end of file From 9ecfcbc3ea84aa37dd6baa929c560af36371fe5c Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Mon, 19 Aug 2024 13:05:24 +0530 Subject: [PATCH 022/183] chore: Remove unused test script in package.json --- bootstrap-languages/embedding-vector-language/package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/bootstrap-languages/embedding-vector-language/package.json b/bootstrap-languages/embedding-vector-language/package.json index 756e387f7..a4f20a107 100644 --- a/bootstrap-languages/embedding-vector-language/package.json +++ b/bootstrap-languages/embedding-vector-language/package.json @@ -4,7 +4,6 @@ "description": "An AD4M Language for testing AD4M-executor", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", "build": "deno run --allow-all esbuild.ts" }, "author": "", From 64a34948b87a93a4eb9f7b92733673880a2429c7 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 19 Aug 2024 09:59:31 +0200 Subject: [PATCH 023/183] Add embedding vector language to seed proto --- cli/seed_proto.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cli/seed_proto.json b/cli/seed_proto.json index 8240e162c..ca4350484 100644 --- a/cli/seed_proto.json +++ b/cli/seed_proto.json @@ -92,6 +92,15 @@ "possibleTemplateParams": [] }, "resource": "../bootstrap-languages/eas/build/bundle.js" + }, + { + "meta": { + "name": "embeddingVectorLanguage", + "description": "URI encoder language (no back-end) used for large embedding vectors", + "sourceCodeLink": "https://github.com/coasys/ad4m/tree/dev/bootstrap-languages/embedding-vector-language", + "possibleTemplateParams": [] + }, + "resource": "../bootstrap-languages/eas/build/bundle.js" } ] } \ No newline at end of file From 8ea4eb03a06d7fd42e1cbb028689eea319061442 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Mon, 19 Aug 2024 14:00:21 +0530 Subject: [PATCH 024/183] chore: Update package.json name for embedding-vector-language --- bootstrap-languages/embedding-vector-language/package.json | 2 +- turbo.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bootstrap-languages/embedding-vector-language/package.json b/bootstrap-languages/embedding-vector-language/package.json index a4f20a107..1cd80f2fe 100644 --- a/bootstrap-languages/embedding-vector-language/package.json +++ b/bootstrap-languages/embedding-vector-language/package.json @@ -1,5 +1,5 @@ { - "name": "embedding-vector-language", + "name": "@coasys/embedding-vector-language", "version": "0.0.1", "description": "An AD4M Language for testing AD4M-executor", "main": "index.js", diff --git a/turbo.json b/turbo.json index acae71ce2..dbcab6284 100644 --- a/turbo.json +++ b/turbo.json @@ -19,7 +19,7 @@ "@coasys/language-language#build", "@coasys/neighbourhood-language#build", "@coasys/file-storage#build", "@coasys/perspective-diff-sync-socket-signaling#build", "@coasys/centralized-perspective-diff-sync#build", "@coasys/centralized-agent-language#build", - "@coasys/centralized-file-storage#build", "@coasys/eas#build"], + "@coasys/centralized-file-storage#build", "@coasys/eas#build", "@coasys/embedding-vector-language#build"], "outputs": ["dist/**", "lib/**", "build/**"] }, From 05543734b70bbd089810554a468fb04b2eebe73c Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 19 Aug 2024 10:35:18 +0200 Subject: [PATCH 025/183] Fix path of published language bundle --- cli/seed_proto.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/seed_proto.json b/cli/seed_proto.json index ca4350484..d782ab5a8 100644 --- a/cli/seed_proto.json +++ b/cli/seed_proto.json @@ -100,7 +100,7 @@ "sourceCodeLink": "https://github.com/coasys/ad4m/tree/dev/bootstrap-languages/embedding-vector-language", "possibleTemplateParams": [] }, - "resource": "../bootstrap-languages/eas/build/bundle.js" + "resource": "../bootstrap-languages/embedding-vector-language/build/bundle.js" } ] } \ No newline at end of file From a46ac715907392cb49d6b022e8fc3f3bd36f51b4 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 22 Aug 2024 10:45:15 +0200 Subject: [PATCH 026/183] Ensure create_subject was successful (Prolog updated) before returning --- .../src/perspectives/perspective_instance.rs | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index 83c07daa6..5fc1863ca 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -27,6 +27,7 @@ use json5; use scryer_prolog::machine::parsed_results::{QueryMatch, QueryResolution}; use serde::{Deserialize, Serialize}; use serde_json::Value; +use tokio::time::sleep; use std::collections::{BTreeMap, HashMap}; use std::sync::Arc; use std::time::Duration; @@ -1396,8 +1397,34 @@ impl PerspectiveInstance { .ok_or(anyhow!("No constructor found for class: {}", class_name))?; let commands: Vec = json5::from_str(&actions).unwrap(); - self.execute_commands(commands, expression_address, vec![]) + self.execute_commands(commands, expression_address.clone(), vec![]) .await?; + + let mut tries = 0; + let mut instance_check_passed = false; + while !instance_check_passed && tries < 50 { + match self + .prolog_query(format!( + "subject_class(\"{}\", C), instance(C, \"{}\").", + class_name, expression_address + )) + .await + { + Ok(QueryResolution::True) => instance_check_passed = true, + Ok(QueryResolution::Matches(_)) => instance_check_passed = true, + Err(e) => log::warn!("Error trying to check instance after create_subject: {}", e), + Ok(r) => log::info!("create_subject instance query returned: {:?}", r), + } + sleep(Duration::from_millis(10)).await; + tries += 1; + } + + if instance_check_passed { + log::info!("Subject class \"{}\" successfully instantiated around \"{}\".", class_name, expression_address); + } else { + log::warn!("create_subject: instance check still false after running constructor and waiting 5s. Something seems off with subject class: {}", class_name); + } + Ok(()) } From 0e9e66b1e99cd6683f9d0bdb5c39ce269a549f01 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 22 Aug 2024 10:46:04 +0200 Subject: [PATCH 027/183] fmt --- rust-executor/src/perspectives/perspective_instance.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index 5fc1863ca..8f6aa7207 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -27,11 +27,11 @@ use json5; use scryer_prolog::machine::parsed_results::{QueryMatch, QueryResolution}; use serde::{Deserialize, Serialize}; use serde_json::Value; -use tokio::time::sleep; use std::collections::{BTreeMap, HashMap}; use std::sync::Arc; use std::time::Duration; use tokio::sync::{Mutex, RwLock}; +use tokio::time::sleep; use tokio::{join, time}; #[derive(Debug, Deserialize, Serialize, Clone, PartialEq)] @@ -1420,7 +1420,11 @@ impl PerspectiveInstance { } if instance_check_passed { - log::info!("Subject class \"{}\" successfully instantiated around \"{}\".", class_name, expression_address); + log::info!( + "Subject class \"{}\" successfully instantiated around \"{}\".", + class_name, + expression_address + ); } else { log::warn!("create_subject: instance check still false after running constructor and waiting 5s. Something seems off with subject class: {}", class_name); } From 6b77170e0f55fc1f3fb1dcf4dba099e2ebcf6c3b Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 23 Aug 2024 18:05:51 +0530 Subject: [PATCH 028/183] chore: Improve isSubjectInstance method with retry logic for better reliability --- core/src/perspectives/PerspectiveProxy.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/core/src/perspectives/PerspectiveProxy.ts b/core/src/perspectives/PerspectiveProxy.ts index 26bdb0171..b47b24cef 100644 --- a/core/src/perspectives/PerspectiveProxy.ts +++ b/core/src/perspectives/PerspectiveProxy.ts @@ -365,7 +365,16 @@ export class PerspectiveProxy { */ async isSubjectInstance(expression: string, subjectClass: T): Promise { let className = await this.stringOrTemplateObjectToSubjectClass(subjectClass) - return await this.infer(`subject_class("${className}", C), instance(C, "${expression}")`) + let isInstance = false; + const maxAttempts = 5; + let attempts = 0; + + while (attempts < maxAttempts && !isInstance) { + isInstance = await this.infer(`subject_class("${className}", C), instance(C, "${expression}")`); + attempts++; + } + + return isInstance } From d7360ae400fc159ef2ea84e082bf283bfb117459 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 30 Aug 2024 14:10:10 +0530 Subject: [PATCH 029/183] chore: Update crate imports in perspective_instance.rs --- .../src/perspectives/perspective_instance.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index 83c07daa6..f5b4251d5 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -3,7 +3,7 @@ use super::update_perspective; use super::utils::{ prolog_get_all_string_bindings, prolog_get_first_string_binding, prolog_resolution_to_string, }; -use crate::agent::create_signed_expression; +use crate::agent::{self, create_signed_expression, did}; use crate::graphql::graphql_types::{ DecoratedPerspectiveDiff, ExpressionRendered, JsResultType, LinkMutations, LinkQuery, LinkStatus, NeighbourhoodSignalFilter, OnlineAgent, PerspectiveExpression, PerspectiveHandle, @@ -888,8 +888,15 @@ impl PerspectiveInstance { }) .await?; + let author = agent::did(); + let mut sdna_links: Vec = Vec::new(); + let links = links + .into_iter() + .filter(|l| l.author == author) + .collect::>(); + if (Literal::from_url(sdna_code.clone())).is_err() { sdna_code = Literal::from_string(sdna_code) .to_url() @@ -904,7 +911,7 @@ impl PerspectiveInstance { }); sdna_links.push(Link { - source: literal_name, + source: literal_name.clone(), predicate: Some("ad4m://sdna".to_string()), target: sdna_code, }); From 208af4cc8788c071529bec1f7cd42c9d09bd595c Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 2 Sep 2024 16:29:16 +0200 Subject: [PATCH 030/183] changelog --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index 79d31b135..d8155323d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -13,6 +13,7 @@ This project _loosely_ adheres to [Semantic Versioning](https://semver.org/spec/ - Removed capacitor barcode scanner [PR#502](https://github.com/coasys/ad4m/pull/502) - Show an error when the code is wrong. [PR#502](https://github.com/coasys/ad4m/pull/502) - Error handling in connect when hosting is not working [PR#502](https://github.com/coasys/ad4m/pull/502) +- Make new Rust create_subject() implementation wait for Prolog engine to be updated, reflecting the new instance to avoid race conditions [PR#520](https://github.com/coasys/ad4m/pull/520) ### Added - Prolog predicates needed in new Flux mention notification trigger: From f418d5f41df8c734d5d92c0b068f5b42fabb3919 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 2 Sep 2024 18:46:04 +0200 Subject: [PATCH 031/183] changelog --- CHANGELOG | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG b/CHANGELOG index d8155323d..36b5bb76e 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -14,6 +14,7 @@ This project _loosely_ adheres to [Semantic Versioning](https://semver.org/spec/ - Show an error when the code is wrong. [PR#502](https://github.com/coasys/ad4m/pull/502) - Error handling in connect when hosting is not working [PR#502](https://github.com/coasys/ad4m/pull/502) - Make new Rust create_subject() implementation wait for Prolog engine to be updated, reflecting the new instance to avoid race conditions [PR#520](https://github.com/coasys/ad4m/pull/520) +- Fix problems with Subject Classes created by other non-progenitor agents, and make isSubjectInstance() more stable agains race conditions [PR#521](https://github.com/coasys/ad4m/pull/521) ### Added - Prolog predicates needed in new Flux mention notification trigger: From f71c4e0b0887819cda2d374a0eb50f4306b2e78c Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 2 Sep 2024 18:47:26 +0200 Subject: [PATCH 032/183] warning-- --- rust-executor/src/perspectives/perspective_instance.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/perspectives/perspective_instance.rs b/rust-executor/src/perspectives/perspective_instance.rs index 991af9c2e..8afaa1165 100644 --- a/rust-executor/src/perspectives/perspective_instance.rs +++ b/rust-executor/src/perspectives/perspective_instance.rs @@ -3,7 +3,7 @@ use super::update_perspective; use super::utils::{ prolog_get_all_string_bindings, prolog_get_first_string_binding, prolog_resolution_to_string, }; -use crate::agent::{self, create_signed_expression, did}; +use crate::agent::{self, create_signed_expression}; use crate::graphql::graphql_types::{ DecoratedPerspectiveDiff, ExpressionRendered, JsResultType, LinkMutations, LinkQuery, LinkStatus, NeighbourhoodSignalFilter, OnlineAgent, PerspectiveExpression, PerspectiveHandle, From c03afe0ac19fc1a28e9e9235fd10ebb749d78b35 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 3 Sep 2024 12:36:21 +0530 Subject: [PATCH 033/183] chore: Add kalosm crate to Cargo.toml --- Cargo.lock | 597 ++++++++++++++++++++++++++++++++++++++++++++++++- cli/Cargo.toml | 1 + 2 files changed, 591 insertions(+), 7 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 68d05e979..c5b170af1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -25,6 +25,7 @@ dependencies = [ "ctrlc", "dirs 4.0.0", "futures", + "kalosm", "kitsune_p2p_types", "llm", "rand 0.8.5", @@ -549,7 +550,7 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -1487,6 +1488,20 @@ name = "bytemuck" version = "1.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "773d90827bc3feecfb67fab12e24de0749aad83c74b9504ecde46237b5cd24e2" +dependencies = [ + "bytemuck_derive", +] + +[[package]] +name = "bytemuck_derive" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] [[package]] name = "byteorder" @@ -1560,7 +1575,7 @@ dependencies = [ "flate2", "fs2", "glob", - "indicatif", + "indicatif 0.16.2", "log", "rand 0.8.5", "reqwest", @@ -1606,6 +1621,42 @@ dependencies = [ "serde", ] +[[package]] +name = "candle-core" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5b18de020c2729dbf7ac390325312644808b6ba9b7962f1f724e9185b1d53c7" +dependencies = [ + "byteorder", + "gemm", + "half 2.4.1", + "memmap2 0.9.4", + "num-traits", + "num_cpus", + "rand 0.8.5", + "rand_distr", + "rayon", + "safetensors", + "thiserror", + "yoke", + "zip 1.1.4", +] + +[[package]] +name = "candle-nn" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b006b30f66a0d94fc9cef0ac4de6ce510565f35ae2c6c35ce5d4aacfb0fc8eeb" +dependencies = [ + "candle-core", + "half 2.4.1", + "num-traits", + "rayon", + "safetensors", + "serde", + "thiserror", +] + [[package]] name = "cargo-platform" version = "0.1.8" @@ -2081,6 +2132,18 @@ dependencies = [ "memchr", ] +[[package]] +name = "comfy-table" +version = "7.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b34115915337defe99b2aff5c2ce6771e5fbc4079f4b506301f5cf394c8452f7" +dependencies = [ + "crossterm 0.27.0", + "strum 0.26.3", + "strum_macros 0.26.4", + "unicode-width", +] + [[package]] name = "concurrent-queue" version = "2.5.0" @@ -2099,6 +2162,7 @@ dependencies = [ "encode_unicode", "lazy_static", "libc", + "unicode-width", "windows-sys 0.52.0", ] @@ -2447,6 +2511,19 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "crossterm" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df" +dependencies = [ + "bitflags 2.6.0", + "crossterm_winapi 0.9.1", + "libc", + "parking_lot 0.12.3", + "winapi 0.3.9", +] + [[package]] name = "crossterm_winapi" version = "0.8.0" @@ -4114,6 +4191,16 @@ version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" +[[package]] +name = "dyn-stack" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56e53799688f5632f364f8fb387488dd05db9fe45db7011be066fc20e7027f8b" +dependencies = [ + "bytemuck", + "reborrow", +] + [[package]] name = "dynasm" version = "1.2.3" @@ -4198,6 +4285,12 @@ dependencies = [ "zeroize", ] +[[package]] +name = "ego-tree" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12a0bb14ac04a9fcf170d0bbbef949b44cc492f4452bd20c095636956f653642" + [[package]] name = "either" version = "1.13.0" @@ -4299,6 +4392,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "enum-as-inner" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "enum-iterator" version = "0.7.0" @@ -4389,7 +4494,7 @@ dependencies = [ "quote", "rustversion", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -4403,7 +4508,7 @@ dependencies = [ "quote", "rustversion", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -4497,6 +4602,22 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "exr" +version = "1.72.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "887d93f60543e9a9362ef8a21beedd0a833c5d9610e18c67abe15a5963dcb1a4" +dependencies = [ + "bit_field", + "flume", + "half 2.4.1", + "lebe", + "miniz_oxide 0.7.4", + "rayon-core", + "smallvec", + "zune-inflate", +] + [[package]] name = "fake" version = "2.9.2" @@ -4713,6 +4834,15 @@ dependencies = [ "bitflags 1.3.2", ] +[[package]] +name = "flume" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55ac459de2512911e4b674ce33cf20befaba382d05b62b008afc1c8b57cbf181" +dependencies = [ + "spin 0.9.8", +] + [[package]] name = "fnv" version = "1.0.7" @@ -5108,6 +5238,124 @@ dependencies = [ "x11", ] +[[package]] +name = "gemm" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ab24cc62135b40090e31a76a9b2766a501979f3070fa27f689c27ec04377d32" +dependencies = [ + "dyn-stack", + "gemm-c32", + "gemm-c64", + "gemm-common", + "gemm-f16", + "gemm-f32", + "gemm-f64", + "num-complex", + "num-traits", + "paste", + "raw-cpuid", + "seq-macro", +] + +[[package]] +name = "gemm-c32" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9c030d0b983d1e34a546b86e08f600c11696fde16199f971cd46c12e67512c0" +dependencies = [ + "dyn-stack", + "gemm-common", + "num-complex", + "num-traits", + "paste", + "raw-cpuid", + "seq-macro", +] + +[[package]] +name = "gemm-c64" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb5f2e79fefb9693d18e1066a557b4546cd334b226beadc68b11a8f9431852a" +dependencies = [ + "dyn-stack", + "gemm-common", + "num-complex", + "num-traits", + "paste", + "raw-cpuid", + "seq-macro", +] + +[[package]] +name = "gemm-common" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2e7ea062c987abcd8db95db917b4ffb4ecdfd0668471d8dc54734fdff2354e8" +dependencies = [ + "bytemuck", + "dyn-stack", + "half 2.4.1", + "num-complex", + "num-traits", + "once_cell", + "paste", + "pulp", + "raw-cpuid", + "rayon", + "seq-macro", + "sysctl", +] + +[[package]] +name = "gemm-f16" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ca4c06b9b11952071d317604acb332e924e817bd891bec8dfb494168c7cedd4" +dependencies = [ + "dyn-stack", + "gemm-common", + "gemm-f32", + "half 2.4.1", + "num-complex", + "num-traits", + "paste", + "raw-cpuid", + "rayon", + "seq-macro", +] + +[[package]] +name = "gemm-f32" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9a69f51aaefbd9cf12d18faf273d3e982d9d711f60775645ed5c8047b4ae113" +dependencies = [ + "dyn-stack", + "gemm-common", + "num-complex", + "num-traits", + "paste", + "raw-cpuid", + "seq-macro", +] + +[[package]] +name = "gemm-f64" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa397a48544fadf0b81ec8741e5c0fba0043008113f71f2034def1935645d2b0" +dependencies = [ + "dyn-stack", + "gemm-common", + "num-complex", + "num-traits", + "paste", + "raw-cpuid", + "seq-macro", +] + [[package]] name = "generator" version = "0.7.5" @@ -5242,6 +5490,16 @@ dependencies = [ "tracing-futures", ] +[[package]] +name = "gif" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fb2d69b19215e18bb912fa30f7ce15846e301408695e44e0ef719f1da9e19f2" +dependencies = [ + "color_quant", + "weezl", +] + [[package]] name = "gimli" version = "0.26.2" @@ -5695,8 +5953,12 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ + "bytemuck", "cfg-if 1.0.0", "crunchy", + "num-traits", + "rand 0.8.5", + "rand_distr", ] [[package]] @@ -5868,6 +6130,20 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "hdrhistogram" +version = "7.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" +dependencies = [ + "base64 0.21.7", + "byteorder", + "crossbeam-channel", + "flate2", + "nom 7.1.3", + "num-traits", +] + [[package]] name = "headers" version = "0.3.9" @@ -5965,6 +6241,23 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df" +[[package]] +name = "hf-hub" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b780635574b3d92f036890d8373433d6f9fc7abb320ee42a5c25897fc8ed732" +dependencies = [ + "dirs 5.0.1", + "indicatif 0.17.8", + "log", + "native-tls", + "rand 0.8.5", + "serde", + "serde_json", + "thiserror", + "ureq", +] + [[package]] name = "hkdf" version = "0.11.0" @@ -7048,8 +7341,13 @@ dependencies = [ "bytemuck", "byteorder", "color_quant", + "exr", + "gif", + "jpeg-decoder", "num-traits", "png", + "qoi", + "tiff", ] [[package]] @@ -7123,6 +7421,19 @@ dependencies = [ "regex", ] +[[package]] +name = "indicatif" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + [[package]] name = "infer" version = "0.13.0" @@ -7505,6 +7816,9 @@ name = "jpeg-decoder" version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0" +dependencies = [ + "rayon", +] [[package]] name = "js-sys" @@ -7598,6 +7912,58 @@ dependencies = [ "signature 2.2.0", ] +[[package]] +name = "kalosm" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "async-trait", + "comfy-table", + "ego-tree", + "futures-util", + "hdrhistogram", + "image 0.24.9", + "kalosm-common", + "kalosm-streams", + "llm-samplers 0.0.7", + "num-traits", + "once_cell", + "rand 0.8.5", + "serde", + "tokio", + "tracing", +] + +[[package]] +name = "kalosm-common" +version = "0.3.3" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "candle-core", + "candle-nn", + "dirs 5.0.1", + "hf-hub", + "httpdate", + "indicatif 0.17.8", + "once_cell", + "reqwest", + "tokio", + "tracing", +] + +[[package]] +name = "kalosm-streams" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "futures-util", + "image 0.24.9", + "pin-project-lite", + "tokio", +] + [[package]] name = "keccak" version = "0.1.5" @@ -8034,6 +8400,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" +[[package]] +name = "lebe" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" + [[package]] name = "lexical" version = "5.2.2" @@ -8393,7 +8765,7 @@ dependencies = [ "ggml", "half 2.4.1", "indexmap 2.5.0", - "llm-samplers", + "llm-samplers 0.0.6", "memmap2 0.5.10", "partial_sort", "rand 0.8.5", @@ -8434,6 +8806,18 @@ dependencies = [ "thiserror", ] +[[package]] +name = "llm-samplers" +version = "0.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e85df656cd89e7702cb56171d75aa77c7bec828af7d2054d9987c34411cf896" +dependencies = [ + "anyhow", + "num-traits", + "rand 0.8.5", + "thiserror", +] + [[package]] name = "localtunnel-client" version = "0.0.12" @@ -8733,6 +9117,16 @@ dependencies = [ "libc", ] +[[package]] +name = "memmap2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +dependencies = [ + "libc", + "stable_deref_trait", +] + [[package]] name = "memmem" version = "0.1.1" @@ -9031,7 +9425,7 @@ dependencies = [ "proc-macro2", "quote", "syn 1.0.109", - "synstructure", + "synstructure 0.12.6", ] [[package]] @@ -9431,6 +9825,7 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" dependencies = [ + "bytemuck", "num-traits", ] @@ -10607,6 +11002,12 @@ dependencies = [ "universal-hash", ] +[[package]] +name = "portable-atomic" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" + [[package]] name = "portpicker" version = "0.1.1" @@ -10966,6 +11367,27 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "pulp" +version = "0.18.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0a01a0dc67cf4558d279f0c25b0962bd08fc6dec0137699eae304103e882fe6" +dependencies = [ + "bytemuck", + "libm", + "num-complex", + "reborrow", +] + +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + [[package]] name = "quanta" version = "0.4.1" @@ -11338,6 +11760,15 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8a99fddc9f0ba0a85884b8d14e3592853e787d581ca1816c91349b10e4eeab" +[[package]] +name = "raw-cpuid" +version = "10.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c297679cb867470fa8c9f67dbba74a78d78e3e98d7cf2b08d6d71540f797332" +dependencies = [ + "bitflags 1.3.2", +] + [[package]] name = "raw-window-handle" version = "0.5.2" @@ -11409,6 +11840,12 @@ dependencies = [ "rand_core 0.3.1", ] +[[package]] +name = "reborrow" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" + [[package]] name = "redox_syscall" version = "0.2.16" @@ -12088,6 +12525,7 @@ dependencies = [ "aws-lc-rs", "log", "once_cell", + "ring 0.17.8", "rustls-pki-types", "rustls-webpki 0.102.7", "subtle 2.6.1", @@ -12291,6 +12729,16 @@ dependencies = [ "bytemuck", ] +[[package]] +name = "safetensors" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7725d4d98fa515472f43a6e2bbf956c48e06b89bb50593a040e5945160214450" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "saffron" version = "0.1.0" @@ -12648,6 +13096,12 @@ dependencies = [ "pest", ] +[[package]] +name = "seq-macro" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" + [[package]] name = "serde" version = "1.0.209" @@ -13506,6 +13960,12 @@ dependencies = [ "strum_macros 0.25.3", ] +[[package]] +name = "strum" +version = "0.26.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" + [[package]] name = "strum_macros" version = "0.18.0" @@ -13557,6 +14017,19 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "strum_macros" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" +dependencies = [ + "heck 0.5.0", + "proc-macro2", + "quote", + "rustversion", + "syn 2.0.77", +] + [[package]] name = "subprocess" version = "0.2.9" @@ -13972,6 +14445,17 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "synstructure" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8af7666ab7b6390ab78131fb5b0fce11d6b7a6951602017c35fa82800708971" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "syntect" version = "5.2.0" @@ -14003,6 +14487,20 @@ dependencies = [ "libc", ] +[[package]] +name = "sysctl" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7dddc5f0fee506baf8b9fdb989e242f17e4b11c61dfbb0635b705217199eea" +dependencies = [ + "bitflags 2.6.0", + "byteorder", + "enum-as-inner 0.6.0", + "libc", + "thiserror", + "walkdir", +] + [[package]] name = "sysinfo" version = "0.29.11" @@ -15087,7 +15585,7 @@ dependencies = [ "async-trait", "cfg-if 1.0.0", "data-encoding", - "enum-as-inner", + "enum-as-inner 0.5.1", "futures-channel", "futures-io", "futures-util", @@ -15571,9 +16069,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b74fc6b57825be3373f7054754755f03ac3a8f5d70015ccad699ba2029956f4a" dependencies = [ "base64 0.22.1", + "flate2", "log", + "native-tls", "once_cell", + "rustls 0.23.12", + "rustls-pki-types", + "serde", + "serde_json", "url", + "webpki-roots 0.26.5", ] [[package]] @@ -16341,6 +16846,15 @@ version = "0.25.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1" +[[package]] +name = "webpki-roots" +version = "0.26.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bd24728e5af82c6c4ec1b66ac4844bdf8156257fccda846ec58b42cd0cdbe6a" +dependencies = [ + "rustls-pki-types", +] + [[package]] name = "webview2-com" version = "0.19.1" @@ -17328,6 +17842,30 @@ dependencies = [ "time", ] +[[package]] +name = "yoke" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c5b1314b079b0930c31e3af543d8ee1757b1951ae1e1565ec704403a7240ca5" +dependencies = [ + "serde", + "stable_deref_trait", + "yoke-derive", + "zerofrom", +] + +[[package]] +name = "yoke-derive" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28cc31741b18cb6f1d5ff12f5b7523e3d6eb0852bbbad19d73905511d9849b95" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "synstructure 0.13.1", +] + [[package]] name = "zerocopy" version = "0.7.35" @@ -17349,6 +17887,27 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "zerofrom" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "91ec111ce797d0e0784a1116d0ddcdbea84322cd79e5d5ad173daeba4f93ab55" +dependencies = [ + "zerofrom-derive", +] + +[[package]] +name = "zerofrom-derive" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ea7b4a3637ea8669cedf0f1fd5c286a17f3de97b8dd5a70a6c167a1730e63a5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", + "synstructure 0.13.1", +] + [[package]] name = "zeroize" version = "1.8.1" @@ -17389,6 +17948,21 @@ dependencies = [ "zstd", ] +[[package]] +name = "zip" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164" +dependencies = [ + "arbitrary", + "crc32fast", + "crossbeam-utils", + "displaydoc", + "indexmap 2.5.0", + "num_enum 0.7.3", + "thiserror", +] + [[package]] name = "zip" version = "2.2.0" @@ -17448,3 +18022,12 @@ dependencies = [ "cc", "pkg-config", ] + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 678a10b32..c1708758b 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -44,6 +44,7 @@ syntect = "5.0" ctrlc = "3.4.0" llm = { git = "https://github.com/lucksus/llm", branch = "gguf", features = ["metal"] } +kalosm = { version = "0.3.0", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" } serde_cbor = "0.11" #holochain_kitsune_p2p = "0.3.0-beta-dev.37" kitsune_p2p_types = { version = "0.3.2-rc.0", git = "https://github.com/coasys/holochain.git", rev = "10841e49b28c17c3cb428680e2bc9259bf4ec739" } From 569ff3bad66231db431304b6c915b7cbde3e8158 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 3 Sep 2024 18:21:18 +0530 Subject: [PATCH 034/183] chore: Update kalosm crate to version 0.3.2 with language feature --- Cargo.lock | 1578 +++++++++++++++++++++++++++++++++++++++++++++--- cli/Cargo.toml | 2 +- 2 files changed, 1506 insertions(+), 74 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c5b170af1..2b15f7f67 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -434,6 +434,15 @@ dependencies = [ "xdg", ] +[[package]] +name = "approx" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0e60b75072ecd4168020818c0107f2857bb6c4e64252d8d3983f6263b40a5c3" +dependencies = [ + "num-traits", +] + [[package]] name = "approx" version = "0.5.1" @@ -510,6 +519,25 @@ dependencies = [ "serde", ] +[[package]] +name = "arroy" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73897699bf04bac935c0b120990d2a511e91e563e0f9769f9c8bb983d98dfbc9" +dependencies = [ + "bytemuck", + "byteorder", + "heed", + "log", + "memmap2 0.9.4", + "ordered-float 4.2.2", + "rand 0.8.5", + "rayon", + "roaring", + "tempfile", + "thiserror", +] + [[package]] name = "ascii" version = "0.9.3" @@ -538,7 +566,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time", + "time 0.3.36", ] [[package]] @@ -774,7 +802,7 @@ dependencies = [ "async-io 1.13.0", "async-lock 2.8.0", "async-process", - "crossbeam-utils", + "crossbeam-utils 0.8.20", "futures-channel", "futures-core", "futures-io", @@ -888,6 +916,19 @@ dependencies = [ "system-deps 6.2.2", ] +[[package]] +name = "atom_syndication" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a3a5ed3201df5658d1aa45060c5a57dc9dba8a8ada20d696d67cb0c479ee043" +dependencies = [ + "chrono", + "derive_builder 0.20.1", + "diligent-date-parser", + "never", + "quick-xml 0.36.1", +] + [[package]] name = "atomic" version = "0.5.3" @@ -929,6 +970,20 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "auto_generate_cdp" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7af08ed49930c50104b2f1699d257e5053fb1809e370647bde9c58b31d65d417" +dependencies = [ + "convert_case 0.4.0", + "proc-macro2", + "quote", + "serde", + "serde_json", + "ureq", +] + [[package]] name = "autocfg" version = "0.1.8" @@ -1434,10 +1489,21 @@ dependencies = [ "serde", "serde_bytes", "serde_json", - "time", + "time 0.3.36", "uuid 1.10.0", ] +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "lazy_static", + "memchr", + "regex-automata 0.1.10", +] + [[package]] name = "bstr" version = "1.10.0" @@ -1455,6 +1521,12 @@ version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" +[[package]] +name = "byte-slice-cast" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0a5e3906bcbf133e33c1d4d95afc664ad37fbdb9f6568d8043e7ea8c27d93d3" + [[package]] name = "byte-tools" version = "0.3.1" @@ -1657,6 +1729,25 @@ dependencies = [ "thiserror", ] +[[package]] +name = "candle-transformers" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f0d4eb6a0d9279d5829b06b2bf3caa117904eefd6dcf879d16e687c4a84034c" +dependencies = [ + "byteorder", + "candle-core", + "candle-nn", + "fancy-regex", + "num-traits", + "rand 0.8.5", + "rayon", + "serde", + "serde_json", + "serde_plain", + "tracing", +] + [[package]] name = "cargo-platform" version = "0.1.8" @@ -2038,6 +2129,12 @@ dependencies = [ "warp", ] +[[package]] +name = "cobs" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67ba02a97a2bd10f4b59b25c7973101c79642302776489e030cd13cdab09ed15" + [[package]] name = "cocoa" version = "0.24.1" @@ -2150,7 +2247,7 @@ version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.20", ] [[package]] @@ -2216,6 +2313,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "cooked-waker" version = "5.0.0" @@ -2229,7 +2335,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ddef33a339a91ea89fb53151bd0a4689cfce27055c291dfa69945475d22c747" dependencies = [ "percent-encoding", - "time", + "time 0.3.36", "version_check", ] @@ -2436,13 +2542,23 @@ dependencies = [ "once_cell", ] +[[package]] +name = "crossbeam-channel" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87" +dependencies = [ + "crossbeam-utils 0.7.2", + "maybe-uninit", +] + [[package]] name = "crossbeam-channel" version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.20", ] [[package]] @@ -2452,7 +2568,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" dependencies = [ "crossbeam-epoch", - "crossbeam-utils", + "crossbeam-utils 0.8.20", ] [[package]] @@ -2461,7 +2577,7 @@ version = "0.9.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.20", ] [[package]] @@ -2470,7 +2586,18 @@ version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35" dependencies = [ - "crossbeam-utils", + "crossbeam-utils 0.8.20", +] + +[[package]] +name = "crossbeam-utils" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8" +dependencies = [ + "autocfg 1.3.0", + "cfg-if 0.1.10", + "lazy_static", ] [[package]] @@ -2657,6 +2784,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "cssparser" +version = "0.31.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b3df4f93e5fbbe73ec01ec8d3f68bba73107993a5b1e7519273c32db9b0d5be" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 1.0.11", + "phf 0.8.0", + "smallvec", +] + [[package]] name = "cssparser-macros" version = "0.6.1" @@ -2735,6 +2875,20 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "custom_debug_derive" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f731440b39c73910e253cb465ec1fac97732b3c7af215639881ec0c2a38f4f69" +dependencies = [ + "darling 0.20.10", + "itertools 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.77", + "synstructure 0.13.1", +] + [[package]] name = "d3d12" version = "0.20.0" @@ -2852,7 +3006,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "804c8821570c3f8b70230c2ba75ffa5c0f9a4189b9a432b6656c536712acae28" dependencies = [ "cfg-if 1.0.0", - "crossbeam-utils", + "crossbeam-utils 0.8.20", "hashbrown 0.14.5", "lock_api", "once_cell", @@ -2969,6 +3123,26 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41b319d1b62ffbd002e057f36bebd1f42b9f97927c9577461d855f3513c4289f" +[[package]] +name = "datasize" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e65c07d59e45d77a8bda53458c24a828893a99ac6cdd9c84111e09176ab739a2" +dependencies = [ + "datasize_derive", +] + +[[package]] +name = "datasize_derive" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613e4ee15899913285b7612004bbd490abd605be7b11d35afada5902fb6b91d5" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "dbus" version = "0.9.7" @@ -2990,6 +3164,37 @@ dependencies = [ "uuid 1.10.0", ] +[[package]] +name = "decorum" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "281759d3c8a14f5c3f0c49363be56810fcd7f910422f97f2db850c2920fde5cf" +dependencies = [ + "approx 0.3.2", + "num-traits", + "serde", + "serde_derive", +] + +[[package]] +name = "deflate" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" +dependencies = [ + "adler32", + "byteorder", +] + +[[package]] +name = "deflate" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c86f7e25f518f4b81808a2cf1c50996a61f5c2eb394b2393bd87f2a4780a432f" +dependencies = [ + "adler32", +] + [[package]] name = "deno_ast" version = "0.38.2" @@ -3826,7 +4031,7 @@ version = "0.99.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f33878137e4dafd7fa914ad4e259e18a4e8e532b9617a2d0150262bf53abfce" dependencies = [ - "convert_case", + "convert_case 0.4.0", "proc-macro2", "quote", "rustc_version 0.4.1", @@ -3964,6 +4169,15 @@ dependencies = [ "subtle 2.6.1", ] +[[package]] +name = "diligent-date-parser" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6cf7fe294274a222363f84bcb63cdea762979a0443b4cf1f4f8fd17c86b1182" +dependencies = [ + "chrono", +] + [[package]] name = "directories" version = "4.0.1" @@ -4109,6 +4323,21 @@ dependencies = [ "litrs", ] +[[package]] +name = "docx-rs" +version = "0.4.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e593b51d4fe95d69d70fd40da4b314b029736302c986c3c760826e842fd27dc3" +dependencies = [ + "base64 0.13.1", + "image 0.24.9", + "serde", + "serde_json", + "thiserror", + "xml-rs", + "zip 0.6.6", +] + [[package]] name = "downcast" version = "0.11.0" @@ -4121,6 +4350,15 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75b325c5dbd37f80359721ad39aca5a29fb04c89279657cffdda8736d0c0b9d2" +[[package]] +name = "doxygen-rs" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "415b6ec780d34dcf624666747194393603d0373b7141eef01d12ee58881507d9" +dependencies = [ + "phf 0.11.2", +] + [[package]] name = "dprint-swc-ext" version = "0.16.0" @@ -4359,6 +4597,18 @@ version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" +[[package]] +name = "embedded-io" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef1a6892d9eef45c8fa6b9e0086428a2cca8491aca8f787c534a3d6d0bcb3ced" + +[[package]] +name = "embedded-io" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edd0f118536f44f5ccd48bcb8b111bdc3de888b58c74639dfb034a357d0f206d" + [[package]] name = "encode_unicode" version = "0.3.6" @@ -4563,6 +4813,9 @@ name = "esaxx-rs" version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d817e038c30374a4bcb22f94d0a8a0e216958d4c3dcde369b1439fec4bdda6e6" +dependencies = [ + "cc", +] [[package]] name = "event-listener" @@ -4647,6 +4900,17 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a" +[[package]] +name = "fancy-regex" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "531e46835a22af56d1e3b66f04844bed63158bc094a628bec1d321d9b4c44bf2" +dependencies = [ + "bit-set 0.5.3", + "regex-automata 0.4.7", + "regex-syntax 0.8.4", +] + [[package]] name = "faster-hex" version = "0.9.0" @@ -4690,6 +4954,26 @@ dependencies = [ "utf-8", ] +[[package]] +name = "fax" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b03e33ad0e71af414ef9d2b0a94d23ff59115bb068e6a6a06c0952f2c22ffd77" +dependencies = [ + "fax_derive", +] + +[[package]] +name = "fax_derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c1d7ffc9f2dc8316348c75281a99c8fdc60c1ddf4f82a366d117bf1b74d5a39" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "fd-lock" version = "3.0.13" @@ -4849,6 +5133,26 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "font" +version = "0.1.0" +source = "git+https://github.com/pdf-rs/font#78a8d9c58b4aafddd309ab7bbefd3bb5c347cf45" +dependencies = [ + "decorum", + "indexmap 1.9.3", + "istring 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.10.5", + "log", + "nom 5.1.3", + "pathfinder_color", + "pathfinder_content", + "pathfinder_geometry", + "pdf_encoding 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "rand 0.7.3", + "slotmap", + "tuple 0.5.2 (git+https://github.com/s3bk/tuple/)", +] + [[package]] name = "foreign-types" version = "0.3.2" @@ -5421,6 +5725,15 @@ dependencies = [ "windows-targets 0.48.5", ] +[[package]] +name = "getopts" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5" +dependencies = [ + "unicode-width", +] + [[package]] name = "getrandom" version = "0.1.16" @@ -5428,8 +5741,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" dependencies = [ "cfg-if 1.0.0", + "js-sys", "libc", "wasi 0.9.0+wasi-snapshot-preview1", + "wasm-bindgen", ] [[package]] @@ -5629,6 +5944,27 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" +[[package]] +name = "globalcache" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "240a3059d86f2ba6859ac79f95ff94e65606abc775c1bc0ecf9b6590fb35dc04" +dependencies = [ + "async-trait", + "tuple 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "web-time", +] + +[[package]] +name = "globalcache" +version = "0.2.4" +source = "git+https://github.com/s3bk/cachelib#276f40d00528001bdcd1e1ed594157bd82c7c503" +dependencies = [ + "async-trait", + "tuple 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)", + "web-time", +] + [[package]] name = "globset" version = "0.4.14" @@ -5636,7 +5972,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ "aho-corasick 1.1.3", - "bstr", + "bstr 1.10.0", "log", "regex-automata 0.4.7", "regex-syntax 0.8.4", @@ -5676,8 +6012,24 @@ dependencies = [ ] [[package]] -name = "gobject-sys" -version = "0.15.10" +name = "glyphmatcher" +version = "0.1.0" +source = "git+https://github.com/s3bk/glyphmatcher#7bd5d40aaa8893fa4f2e07c758fa34127e176c8c" +dependencies = [ + "font", + "istring 0.3.4 (git+https://github.com/s3bk/istring)", + "itertools 0.8.2", + "pathfinder_content", + "pathfinder_geometry", + "pdf_encoding 0.4.0 (git+https://github.com/pdf-rs/encoding)", + "postcard", + "serde", + "serde_json", +] + +[[package]] +name = "gobject-sys" +version = "0.15.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d57ce44246becd17153bd035ab4d32cfee096a657fc01f2231c9278378d1e0a" dependencies = [ @@ -5980,6 +6332,17 @@ dependencies = [ "byteorder", ] +[[package]] +name = "hashbrown" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96282e96bfcd3da0d3aa9938bedf1e50df3269b6db08b4876d2da0bb1a0841cf" +dependencies = [ + "ahash 0.3.8", + "autocfg 1.3.0", + "serde", +] + [[package]] name = "hashbrown" version = "0.8.2" @@ -6138,7 +6501,7 @@ checksum = "765c9198f173dd59ce26ff9f95ef0aafd0a0fe01fb9d72841bc5066a4c06511d" dependencies = [ "base64 0.21.7", "byteorder", - "crossbeam-channel", + "crossbeam-channel 0.5.13", "flate2", "nom 7.1.3", "num-traits", @@ -6168,6 +6531,29 @@ dependencies = [ "http 0.2.12", ] +[[package]] +name = "headless_chrome" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1eb54284cb4be609bae1375e08e7737752fd5f919f918345359b51b38b7b9ce" +dependencies = [ + "anyhow", + "auto_generate_cdp", + "base64 0.22.1", + "derive_builder 0.20.1", + "log", + "rand 0.8.5", + "regex", + "serde", + "serde_json", + "tempfile", + "thiserror", + "tungstenite 0.24.0", + "url", + "which 6.0.3", + "winreg 0.52.0", +] + [[package]] name = "heapless" version = "0.7.17" @@ -6177,6 +6563,7 @@ dependencies = [ "atomic-polyfill", "hash32", "rustc_version 0.4.1", + "serde", "spin 0.9.8", "stable_deref_trait", ] @@ -6202,6 +6589,44 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" +[[package]] +name = "heed" +version = "0.20.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d4f449bab7320c56003d37732a917e18798e2f1709d80263face2b4f9436ddb" +dependencies = [ + "bitflags 2.6.0", + "byteorder", + "heed-traits", + "heed-types", + "libc", + "lmdb-master-sys", + "once_cell", + "page_size", + "serde", + "synchronoise", + "url", +] + +[[package]] +name = "heed-traits" +version = "0.20.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3130048d404c57ce5a1ac61a903696e8fcde7e8c2991e9fcfc1f27c3ef74ff" + +[[package]] +name = "heed-types" +version = "0.20.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d3f528b053a6d700b2734eabcd0fd49cb8230647aa72958467527b0b7917114" +dependencies = [ + "bincode", + "byteorder", + "heed-traits", + "serde", + "serde_json", +] + [[package]] name = "hermit-abi" version = "0.1.19" @@ -7013,6 +7438,20 @@ dependencies = [ "triomphe", ] +[[package]] +name = "html5ever" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148" +dependencies = [ + "log", + "mac", + "markup5ever 0.10.1", + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "html5ever" version = "0.26.0" @@ -7021,12 +7460,26 @@ checksum = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7" dependencies = [ "log", "mac", - "markup5ever", + "markup5ever 0.11.0", "proc-macro2", "quote", "syn 1.0.109", ] +[[package]] +name = "html5ever" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c13771afe0e6e846f1e67d038d4cb29998a6779f93c809212e4e9c32efd244d4" +dependencies = [ + "log", + "mac", + "markup5ever 0.12.1", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "http" version = "0.2.12" @@ -7240,7 +7693,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3804960be0bb5e4edb1e1ad67afd321a9ecfd875c3e65c099468fd2717d7cae" dependencies = [ "byteorder", - "png", + "png 0.17.13", ] [[package]] @@ -7332,6 +7785,21 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "image" +version = "0.23.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-iter", + "num-rational 0.3.2", + "num-traits", + "png 0.16.8", +] + [[package]] name = "image" version = "0.24.9" @@ -7345,7 +7813,7 @@ dependencies = [ "gif", "jpeg-decoder", "num-traits", - "png", + "png 0.17.13", "qoi", "tiff", ] @@ -7359,7 +7827,7 @@ dependencies = [ "bytemuck", "byteorder-lite", "num-traits", - "png", + "png 0.17.13", "tiff", ] @@ -7451,8 +7919,8 @@ checksum = "232929e1d75fe899576a3d5c7416ad0d88dbfbb3c3d6aa00873a7408a50ddb88" dependencies = [ "ahash 0.8.11", "clap 4.5.16", - "crossbeam-channel", - "crossbeam-utils", + "crossbeam-channel 0.5.13", + "crossbeam-utils 0.8.20", "dashmap 6.0.1", "env_logger 0.11.5", "indexmap 2.5.0", @@ -7612,6 +8080,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0242819d153cba4b4b05a5a8f2a7e9bbf97b6055b2a002b395c96b5ff3c0222" dependencies = [ "cfg-if 1.0.0", + "js-sys", + "wasm-bindgen", + "web-sys", ] [[package]] @@ -7695,6 +8166,23 @@ dependencies = [ "paste", ] +[[package]] +name = "istring" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "875cc6fb9aecbc1a9bd736f2d18b12e0756b4c80c5e35e28262154abcb077a39" +dependencies = [ + "datasize", +] + +[[package]] +name = "istring" +version = "0.3.4" +source = "git+https://github.com/s3bk/istring#b9424bb1e291388f145a06558c15639dc87f3058" +dependencies = [ + "serde", +] + [[package]] name = "itertools" version = "0.8.2" @@ -7722,6 +8210,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.12.1" @@ -7731,6 +8228,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.8" @@ -7925,6 +8431,7 @@ dependencies = [ "hdrhistogram", "image 0.24.9", "kalosm-common", + "kalosm-language", "kalosm-streams", "llm-samplers 0.0.7", "num-traits", @@ -7953,6 +8460,130 @@ dependencies = [ "tracing", ] +[[package]] +name = "kalosm-language" +version = "0.3.3" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "arroy", + "async-trait", + "candle-core", + "candle-nn", + "chrono", + "convert_case 0.6.0", + "dashmap 5.5.3", + "docx-rs", + "ego-tree", + "futures-util", + "half 2.4.1", + "headless_chrome", + "heed", + "image 0.24.9", + "itertools 0.11.0", + "kalosm-language-model", + "kalosm-llama", + "kalosm-sample", + "kalosm-streams", + "llm-samplers 0.0.7", + "log", + "meval", + "once_cell", + "pdf", + "pdf_text", + "pulldown-cmark", + "rand 0.8.5", + "rbert", + "readability", + "reqwest", + "rphi", + "rss", + "rustc-hash", + "scraper", + "serde", + "serde_json", + "slab", + "srx", + "tempfile", + "texting_robots", + "tokenizers 0.19.1", + "tokio", + "tokio-util", + "tracing", + "url", + "whatlang", +] + +[[package]] +name = "kalosm-language-model" +version = "0.3.3" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "async-trait", + "candle-core", + "futures-util", + "kalosm-common", + "kalosm-sample", + "kalosm-streams", + "llm-samplers 0.0.7", + "log", + "lru", + "once_cell", + "postcard", + "rand 0.8.5", + "rayon", + "safetensors", + "serde", + "thiserror", + "tokenizers 0.19.1", + "tokio", + "tracing", +] + +[[package]] +name = "kalosm-llama" +version = "0.3.3" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "async-trait", + "candle-core", + "candle-nn", + "candle-transformers", + "half 2.4.1", + "kalosm-common", + "kalosm-language-model", + "kalosm-sample", + "kalosm-streams", + "llm-samplers 0.0.7", + "once_cell", + "rand 0.8.5", + "tokenizers 0.19.1", + "tokio", + "tracing", +] + +[[package]] +name = "kalosm-parse-macro" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "kalosm-sample" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "kalosm-parse-macro", + "regex-automata 0.4.7", +] + [[package]] name = "kalosm-streams" version = "0.3.2" @@ -8274,11 +8905,11 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f29e4755b7b995046f510a7520c42b2fed58b77bd94d5a87a8eb43d2fd126da8" dependencies = [ - "cssparser", - "html5ever", + "cssparser 0.27.2", + "html5ever 0.26.0", "indexmap 1.9.3", "matches", - "selectors", + "selectors 0.22.0", ] [[package]] @@ -8322,7 +8953,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "time", + "time 0.3.36", "tokio", "toml 0.8.19", "tracing", @@ -8347,7 +8978,7 @@ dependencies = [ "serde", "serde_json", "serde_yaml", - "time", + "time 0.3.36", "tokio", "toml 0.8.19", "tracing", @@ -8773,7 +9404,7 @@ dependencies = [ "serde", "serde_bytes", "thiserror", - "tokenizers", + "tokenizers 0.13.4", "tracing", ] @@ -8818,6 +9449,17 @@ dependencies = [ "thiserror", ] +[[package]] +name = "lmdb-master-sys" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "472c3760e2a8d0f61f322fb36788021bb36d573c502b50fa3e2bcaac3ec326c9" +dependencies = [ + "cc", + "doxygen-rs", + "libc", +] + [[package]] name = "localtunnel-client" version = "0.0.12" @@ -8940,7 +9582,7 @@ dependencies = [ "dirs-next", "objc-foundation", "objc_id", - "time", + "time 0.3.36", ] [[package]] @@ -8967,7 +9609,17 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf0c9b980bf4f3a37fd7b1c066941dd1b1d0152ce6ee6e8fe8c49b9f6810d862" dependencies = [ - "macro_rules_attribute-proc_macro", + "macro_rules_attribute-proc_macro 0.1.3", + "paste", +] + +[[package]] +name = "macro_rules_attribute" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13" +dependencies = [ + "macro_rules_attribute-proc_macro 0.2.0", "paste", ] @@ -8977,6 +9629,12 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58093314a45e00c77d5c508f76e77c3396afbbc0d01506e7fae47b018bac2b1d" +[[package]] +name = "macro_rules_attribute-proc_macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8dd856d451cc0da70e2ef2ce95a18e39a93b7558bedf10201ad28503f918568" + [[package]] name = "malloc_buf" version = "0.0.6" @@ -8992,6 +9650,20 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" +[[package]] +name = "markup5ever" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" +dependencies = [ + "log", + "phf 0.8.0", + "phf_codegen 0.8.0", + "string_cache", + "string_cache_codegen", + "tendril", +] + [[package]] name = "markup5ever" version = "0.11.0" @@ -9007,15 +9679,41 @@ dependencies = [ ] [[package]] -name = "markup5ever_rcdom" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" +name = "markup5ever" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16ce3abbeba692c8b8441d036ef91aea6df8da2c6b6e21c7e14d3c18e526be45" +dependencies = [ + "log", + "phf 0.11.2", + "phf_codegen 0.11.2", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "markup5ever_rcdom" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b" +dependencies = [ + "html5ever 0.25.2", + "markup5ever 0.10.1", + "tendril", + "xml5ever 0.16.2", +] + +[[package]] +name = "markup5ever_rcdom" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b9521dd6750f8e80ee6c53d65e2e4656d7de37064f3a7a5d2d11d05df93839c2" dependencies = [ - "html5ever", - "markup5ever", + "html5ever 0.26.0", + "markup5ever 0.11.0", "tendril", - "xml5ever", + "xml5ever 0.17.0", ] [[package]] @@ -9058,6 +9756,12 @@ dependencies = [ "rawpointer", ] +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + [[package]] name = "md-5" version = "0.10.6" @@ -9077,6 +9781,12 @@ dependencies = [ "digest 0.10.7", ] +[[package]] +name = "md5" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" + [[package]] name = "mdns" version = "3.0.0" @@ -9175,6 +9885,16 @@ dependencies = [ "paste", ] +[[package]] +name = "meval" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f79496a5651c8d57cd033c5add8ca7ee4e3d5f7587a4777484640d9cb60392d9" +dependencies = [ + "fnv", + "nom 1.2.4", +] + [[package]] name = "mime" version = "0.3.17" @@ -9203,6 +9923,15 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a05b5d0594e0cb1ad8cee3373018d2b84e25905dc75b2468114cc9a8e86cfc20" +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +dependencies = [ + "adler32", +] + [[package]] name = "miniz_oxide" version = "0.7.4" @@ -9475,11 +10204,11 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d506eb7e08d6329505faa8a3a00a5dcc6de9f76e0c77e4b75763ae3c770831ff" dependencies = [ - "approx", + "approx 0.5.1", "matrixmultiply", "nalgebra-macros", "num-complex", - "num-rational", + "num-rational 0.4.2", "num-traits", "rand 0.8.5", "rand_distr", @@ -9582,6 +10311,12 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "never" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c96aba5aa877601bb3f6dd6a63a969e1f82e60646e81e71b14496995e9853c91" + [[package]] name = "new_debug_unreachable" version = "1.0.6" @@ -9686,12 +10421,19 @@ version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" +[[package]] +name = "nom" +version = "1.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5b8c256fd9471521bcb84c3cdba98921497f1a331cbc15b8030fc63b82050ce" + [[package]] name = "nom" version = "5.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08959a387a676302eebf4ddbcbc611da04285579f76f88ee0506c63b1a61dd4b" dependencies = [ + "lexical-core 0.7.6", "memchr", "version_check", ] @@ -9725,7 +10467,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2c66da08abae1c024c01d635253e402341b4060a12e99b31c7594063bf490a" dependencies = [ "bitflags 1.3.2", - "crossbeam-channel", + "crossbeam-channel 0.5.13", "filetime", "fsevent-sys", "inotify", @@ -9785,7 +10527,7 @@ dependencies = [ "num-complex", "num-integer", "num-iter", - "num-rational", + "num-rational 0.4.2", "num-traits", ] @@ -9880,6 +10622,17 @@ dependencies = [ "num-modular", ] +[[package]] +name = "num-rational" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07" +dependencies = [ + "autocfg 1.3.0", + "num-integer", + "num-traits", +] + [[package]] name = "num-rational" version = "0.4.2" @@ -10193,7 +10946,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "293c15678e37254c15bd2f092314abb4e51d7fdde05c2021279c12631b54f005" dependencies = [ - "bstr", + "bstr 1.10.0", "winapi 0.3.9", ] @@ -10282,6 +11035,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "ordered-float" +version = "4.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a91171844676f8c7990ce64959210cd2eaef32c2612c50f9fae9f8aaa6065a6" +dependencies = [ + "num-traits", +] + [[package]] name = "os_info" version = "3.8.2" @@ -10405,6 +11167,16 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "page_size" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30d5b2194ed13191c1999ae0704b7839fb18384fa22e49b57eeaa97d79ce40da" +dependencies = [ + "libc", + "winapi 0.3.9", +] + [[package]] name = "pairing" version = "0.22.0" @@ -10539,6 +11311,112 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" +[[package]] +name = "pathfinder_color" +version = "0.5.0" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" +dependencies = [ + "pathfinder_simd", +] + +[[package]] +name = "pathfinder_content" +version = "0.5.0" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" +dependencies = [ + "arrayvec 0.5.2", + "bitflags 1.3.2", + "image 0.23.14", + "log", + "pathfinder_color", + "pathfinder_geometry", + "pathfinder_simd", + "smallvec", +] + +[[package]] +name = "pathfinder_geometry" +version = "0.5.1" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" +dependencies = [ + "log", + "pathfinder_simd", +] + +[[package]] +name = "pathfinder_gpu" +version = "0.5.0" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" +dependencies = [ + "bitflags 1.3.2", + "fxhash", + "half 1.8.3", + "image 0.23.14", + "instant", + "log", + "pathfinder_color", + "pathfinder_geometry", + "pathfinder_resources", + "pathfinder_simd", +] + +[[package]] +name = "pathfinder_renderer" +version = "0.5.0" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" +dependencies = [ + "bitflags 1.3.2", + "byte-slice-cast", + "byteorder", + "crossbeam-channel 0.4.4", + "fxhash", + "half 1.8.3", + "hashbrown 0.7.2", + "instant", + "log", + "pathfinder_color", + "pathfinder_content", + "pathfinder_geometry", + "pathfinder_gpu", + "pathfinder_resources", + "pathfinder_simd", + "pathfinder_ui", + "rayon", + "serde", + "serde_json", + "smallvec", + "vec_map", +] + +[[package]] +name = "pathfinder_resources" +version = "0.5.0" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" + +[[package]] +name = "pathfinder_simd" +version = "0.5.4" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" +dependencies = [ + "rustc_version 0.4.1", +] + +[[package]] +name = "pathfinder_ui" +version = "0.5.0" +source = "git+https://github.com/servo/pathfinder#45b7a89449d1ebc12da870d1914e1b85c6b475d0" +dependencies = [ + "hashbrown 0.7.2", + "pathfinder_color", + "pathfinder_geometry", + "pathfinder_gpu", + "pathfinder_resources", + "pathfinder_simd", + "serde", + "serde_derive", + "serde_json", +] + [[package]] name = "pbkdf2" version = "0.11.0" @@ -10561,6 +11439,105 @@ dependencies = [ "hmac 0.12.1", ] +[[package]] +name = "pdf" +version = "0.9.0" +source = "git+https://github.com/pdf-rs/pdf#a94544dd6668f4c9b0d0037b2f3474c4d7e896aa" +dependencies = [ + "aes", + "bitflags 2.6.0", + "cbc", + "datasize", + "deflate 1.0.0", + "fax", + "globalcache 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", + "indexmap 2.5.0", + "istring 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)", + "itertools 0.13.0", + "jpeg-decoder", + "libflate", + "log", + "md5", + "once_cell", + "pdf_derive", + "sha2 0.10.8", + "snafu", + "stringprep", + "tempfile", + "weezl", +] + +[[package]] +name = "pdf_derive" +version = "0.2.0" +source = "git+https://github.com/pdf-rs/pdf#a94544dd6668f4c9b0d0037b2f3474c4d7e896aa" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + +[[package]] +name = "pdf_encoding" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07793d65f6165493079ab18885b7d945a55e683615a68e1419ba3e8ebf5b7631" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "pdf_encoding" +version = "0.4.0" +source = "git+https://github.com/pdf-rs/encoding#f473ae1e8f0c1f262b00d6994136c6ff518f89d9" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "pdf_render" +version = "0.1.0" +source = "git+https://github.com/pdf-rs/pdf_render#39a877d3dde5105ffff8f116a4dd5ae325c02867" +dependencies = [ + "custom_debug_derive", + "font", + "globalcache 0.2.4 (git+https://github.com/s3bk/cachelib)", + "glyphmatcher", + "image 0.24.9", + "instant", + "istring 0.3.4 (git+https://github.com/s3bk/istring)", + "itertools 0.8.2", + "log", + "once_cell", + "pathfinder_color", + "pathfinder_content", + "pathfinder_geometry", + "pathfinder_renderer", + "pathfinder_resources", + "pdf", + "pdf_encoding 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_json", +] + +[[package]] +name = "pdf_text" +version = "0.1.0" +source = "git+https://github.com/pdf-rs/pdf_text#03d4789b4d23b24a991a18d31a352c8400237afc" +dependencies = [ + "font", + "itertools 0.8.2", + "log", + "ordered-float 2.10.1", + "pathfinder_color", + "pathfinder_content", + "pathfinder_geometry", + "pdf", + "pdf_render", + "serde", + "table", + "unicode-normalization", +] + [[package]] name = "pear" version = "0.2.9" @@ -10725,6 +11702,16 @@ dependencies = [ "phf_shared 0.10.0", ] +[[package]] +name = "phf_codegen" +version = "0.11.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8d39688d359e6b34654d328e262234662d16cc0f60ec8dcbe5e718709342a5a" +dependencies = [ + "phf_generator 0.11.2", + "phf_shared 0.11.2", +] + [[package]] name = "phf_generator" version = "0.8.0" @@ -10932,7 +11919,19 @@ dependencies = [ "indexmap 2.5.0", "quick-xml 0.32.0", "serde", - "time", + "time 0.3.36", +] + +[[package]] +name = "png" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +dependencies = [ + "bitflags 1.3.2", + "crc32fast", + "deflate 0.8.6", + "miniz_oxide 0.3.7", ] [[package]] @@ -11017,6 +12016,19 @@ dependencies = [ "rand 0.8.5", ] +[[package]] +name = "postcard" +version = "1.0.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f7f0a8d620d71c457dd1d47df76bb18960378da56af4527aaa10f515eee732e" +dependencies = [ + "cobs", + "embedded-io 0.4.0", + "embedded-io 0.6.1", + "heapless", + "serde", +] + [[package]] name = "powerfmt" version = "0.2.0" @@ -11367,6 +12379,18 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "pulldown-cmark" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57206b407293d2bcd3af849ce869d52068623f19e1b5ff8e8778e3309439682b" +dependencies = [ + "bitflags 2.6.0", + "getopts", + "memchr", + "unicase", +] + [[package]] name = "pulp" version = "0.18.22" @@ -11440,6 +12464,16 @@ dependencies = [ "memchr", ] +[[package]] +name = "quick-xml" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96a05e2e8efddfa51a84ca47cec303fac86c8541b686d37cac5efc0e094417bc" +dependencies = [ + "encoding_rs", + "memchr", +] + [[package]] name = "quickcheck" version = "0.8.5" @@ -11808,6 +12842,17 @@ dependencies = [ "rayon", ] +[[package]] +name = "rayon-cond" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "059f538b55efd2309c9794130bc149c6a553db90e9d99c2030785c82f0bd7df9" +dependencies = [ + "either", + "itertools 0.11.0", + "rayon", +] + [[package]] name = "rayon-core" version = "1.12.1" @@ -11815,7 +12860,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" dependencies = [ "crossbeam-deque", - "crossbeam-utils", + "crossbeam-utils 0.8.20", +] + +[[package]] +name = "rbert" +version = "0.3.3" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "async-trait", + "candle-core", + "candle-nn", + "candle-transformers", + "kalosm-common", + "kalosm-language-model", + "serde", + "serde_json", + "tokenizers 0.19.1", + "tokio", + "tracing", ] [[package]] @@ -11826,7 +12890,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring 0.16.20", - "time", + "time 0.3.36", "yasna", "zeroize", ] @@ -11840,6 +12904,19 @@ dependencies = [ "rand_core 0.3.1", ] +[[package]] +name = "readability" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7843b159286299dd2b90f06d904ae1a8017a650d88d716c85dd6f123947f399" +dependencies = [ + "html5ever 0.25.2", + "lazy_static", + "markup5ever_rcdom 0.1.0", + "regex", + "url", +] + [[package]] name = "reborrow" version = "0.5.5" @@ -12236,6 +13313,16 @@ dependencies = [ "serde_bytes", ] +[[package]] +name = "roaring" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f4b84ba6e838ceb47b41de5194a60244fac43d9fe03b71dbe8c5a201081d6d1" +dependencies = [ + "bytemuck", + "byteorder", +] + [[package]] name = "rocket" version = "0.5.1" @@ -12264,7 +13351,7 @@ dependencies = [ "serde", "state 0.6.0", "tempfile", - "time", + "time 0.3.36", "tokio", "tokio-stream", "tokio-util", @@ -12312,7 +13399,7 @@ dependencies = [ "smallvec", "stable-pattern", "state 0.6.0", - "time", + "time 0.3.36", "tokio", "uncased", ] @@ -12349,6 +13436,28 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "rphi" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "async-trait", + "candle-core", + "candle-nn", + "candle-transformers", + "kalosm-common", + "kalosm-language-model", + "kalosm-sample", + "kalosm-streams", + "llm-samplers 0.0.7", + "rand 0.8.5", + "serde_json", + "tokenizers 0.19.1", + "tokio", + "tracing", +] + [[package]] name = "rsa" version = "0.9.6" @@ -12369,6 +13478,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "rss" +version = "2.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27e92048f840d98c6d6dd870af9101610ea9ff413f11f1bcebf4f4c31d96d957" +dependencies = [ + "atom_syndication", + "derive_builder 0.20.1", + "never", + "quick-xml 0.36.1", +] + [[package]] name = "rtoolbox" version = "0.0.2" @@ -12822,6 +13943,22 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "scraper" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "761fb705fdf625482d2ed91d3f0559dcfeab2798fe2771c69560a774865d0802" +dependencies = [ + "ahash 0.8.11", + "cssparser 0.31.2", + "ego-tree", + "getopts", + "html5ever 0.27.0", + "once_cell", + "selectors 0.25.0", + "tendril", +] + [[package]] name = "scryer-modular-bitfield" version = "0.11.4" @@ -12878,7 +14015,7 @@ dependencies = [ "libloading 0.7.4", "native-tls", "num-order", - "ordered-float", + "ordered-float 2.10.1", "phf 0.9.0", "proc-macro2", "quote", @@ -13024,8 +14161,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6f9da09dc3f4dfdb6374cbffff7a2cffcec316874d4429899eefdc97b3b94dcd" dependencies = [ "bit-set 0.5.3", - "html5ever", - "markup5ever_rcdom", + "html5ever 0.26.0", + "markup5ever_rcdom 0.2.0", ] [[package]] @@ -13035,7 +14172,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" dependencies = [ "bitflags 1.3.2", - "cssparser", + "cssparser 0.27.2", "derive_more", "fxhash", "log", @@ -13043,11 +14180,30 @@ dependencies = [ "phf 0.8.0", "phf_codegen 0.8.0", "precomputed-hash", - "servo_arc", + "servo_arc 0.1.1", "smallvec", "thin-slice", ] +[[package]] +name = "selectors" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eb30575f3638fc8f6815f448d50cb1a2e255b0897985c8c59f4d37b72a07b06" +dependencies = [ + "bitflags 2.6.0", + "cssparser 0.31.2", + "derive_more", + "fxhash", + "log", + "new_debug_unreachable", + "phf 0.10.1", + "phf_codegen 0.10.0", + "precomputed-hash", + "servo_arc 0.3.0", + "smallvec", +] + [[package]] name = "self_cell" version = "1.0.4" @@ -13126,7 +14282,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" dependencies = [ - "ordered-float", + "ordered-float 2.10.1", "serde", ] @@ -13152,6 +14308,18 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "serde-xml-rs" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0bf1ba0696ccf0872866277143ff1fd14d22eec235d2b23702f95e6660f7dfa" +dependencies = [ + "log", + "serde", + "thiserror", + "xml-rs", +] + [[package]] name = "serde_bytes" version = "0.11.15" @@ -13206,6 +14374,25 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_plain" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ce1fc6db65a611022b23a0dec6975d63fb80a302cb3388835ff02c097258d50" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_regex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8136f1a4ea815d7eac4101cfd0b16dc0cb5e1fe1b8609dfd728058656b7badf" +dependencies = [ + "regex", + "serde", +] + [[package]] name = "serde_repr" version = "0.1.19" @@ -13265,7 +14452,7 @@ dependencies = [ "serde_derive", "serde_json", "serde_with_macros", - "time", + "time 0.3.36", ] [[package]] @@ -13325,6 +14512,15 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "servo_arc" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d036d71a959e00c77a63538b90a6c2390969f9772b096ea837205c6bd0491a44" +dependencies = [ + "stable_deref_trait", +] + [[package]] name = "sha-1" version = "0.10.0" @@ -13499,7 +14695,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0b7840f121a46d63066ee7a99fc81dcabbc6105e437cae43528cea199b5a05f" dependencies = [ - "approx", + "approx 0.5.1", "num-complex", "num-traits", "paste", @@ -13552,7 +14748,7 @@ dependencies = [ "num-bigint", "num-traits", "thiserror", - "time", + "time 0.3.36", ] [[package]] @@ -13577,6 +14773,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg 1.3.0", + "serde", ] [[package]] @@ -13611,6 +14808,27 @@ dependencies = [ "version_check", ] +[[package]] +name = "snafu" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b835cb902660db3415a672d862905e791e54d306c6e8189168c7f3d9ae1c79d" +dependencies = [ + "snafu-derive", +] + +[[package]] +name = "snafu-derive" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38d1e02fca405f6280643174a50c942219f0bbf4dbf7d480f1dd864d6f211ae5" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "socket2" version = "0.4.10" @@ -13631,6 +14849,17 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socks" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c3dbbd9ae980613c6dd8e28a9407b50509d3803b57624d5dfe8315218cd58b" +dependencies = [ + "byteorder", + "libc", + "winapi 0.3.9", +] + [[package]] name = "sodoken" version = "0.0.11" @@ -13759,6 +14988,19 @@ dependencies = [ "unicode_categories", ] +[[package]] +name = "srx" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "310140d03a2064947271c5105bfff8c406f2f0bafbdaa947b34a088683cc2905" +dependencies = [ + "regex", + "serde", + "serde-xml-rs", + "serde_regex", + "thiserror", +] + [[package]] name = "stable-pattern" version = "0.1.0" @@ -13817,7 +15059,7 @@ version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b35a062dbadac17a42e0fc64c27f419b25d6fae98572eb43c8814c9e873d7721" dependencies = [ - "approx", + "approx 0.5.1", "lazy_static", "nalgebra", "num-traits", @@ -13874,6 +15116,17 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "stringprep" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4df3d392d81bd458a8a621b8bffbd2302a12ffe288a9d931670948749463b1" +dependencies = [ + "unicode-bidi", + "unicode-normalization", + "unicode-properties", +] + [[package]] name = "strsim" version = "0.8.0" @@ -14433,6 +15686,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "synchronoise" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dbc01390fc626ce8d1cffe3376ded2b72a11bb70e1c75f404a210e4daa4def2" +dependencies = [ + "crossbeam-queue", +] + [[package]] name = "synstructure" version = "0.12.6" @@ -14557,6 +15819,15 @@ dependencies = [ "version-compare 0.2.0", ] +[[package]] +name = "table" +version = "0.1.0" +source = "git+https://github.com/s3bk/table#a58c5b8c0669789edbbe3b195007b04246ac16a3" +dependencies = [ + "log", + "serde", +] + [[package]] name = "tao" version = "0.16.9" @@ -14569,7 +15840,7 @@ dependencies = [ "cocoa", "core-foundation", "core-graphics 0.22.3", - "crossbeam-channel", + "crossbeam-channel 0.5.13", "dirs-next", "dispatch", "gdk", @@ -14594,7 +15865,7 @@ dependencies = [ "objc", "once_cell", "parking_lot 0.12.3", - "png", + "png 0.17.13", "raw-window-handle 0.5.2", "scopeguard", "serde", @@ -14705,7 +15976,7 @@ dependencies = [ "tauri-utils", "tempfile", "thiserror", - "time", + "time 0.3.36", "tokio", "url", "uuid 1.10.0", @@ -14745,7 +16016,7 @@ dependencies = [ "ico", "json-patch 2.0.0", "plist", - "png", + "png 0.17.13", "proc-macro2", "quote", "regex", @@ -14755,7 +16026,7 @@ dependencies = [ "sha2 0.10.8", "tauri-utils", "thiserror", - "time", + "time 0.3.36", "uuid 1.10.0", "walkdir", ] @@ -14841,7 +16112,7 @@ dependencies = [ "dunce", "glob", "heck 0.5.0", - "html5ever", + "html5ever 0.26.0", "infer", "json-patch 2.0.0", "kuchikiki", @@ -15007,6 +16278,22 @@ dependencies = [ "serde", ] +[[package]] +name = "texting_robots" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82a718a28dda2e67ad6e0464597b58eae39e2e4d0451e03d1028d71e81bb4a" +dependencies = [ + "anyhow", + "bstr 0.2.17", + "lazy_static", + "nom 7.1.3", + "percent-encoding", + "regex", + "thiserror", + "url", +] + [[package]] name = "textwrap" version = "0.11.0" @@ -15073,6 +16360,17 @@ dependencies = [ "weezl", ] +[[package]] +name = "time" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a" +dependencies = [ + "libc", + "wasi 0.10.0+wasi-snapshot-preview1", + "winapi 0.3.9", +] + [[package]] name = "time" version = "0.3.36" @@ -15164,13 +16462,13 @@ dependencies = [ "itertools 0.9.0", "lazy_static", "log", - "macro_rules_attribute", + "macro_rules_attribute 0.1.3", "monostate", "onig", "paste", "rand 0.8.5", "rayon", - "rayon-cond", + "rayon-cond 0.1.0", "regex", "regex-syntax 0.7.5", "reqwest", @@ -15183,6 +16481,38 @@ dependencies = [ "unicode_categories", ] +[[package]] +name = "tokenizers" +version = "0.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e500fad1dd3af3d626327e6a3fe5050e664a6eaa4708b8ca92f1794aaf73e6fd" +dependencies = [ + "aho-corasick 1.1.3", + "derive_builder 0.20.1", + "esaxx-rs", + "getrandom 0.2.15", + "indicatif 0.17.8", + "itertools 0.12.1", + "lazy_static", + "log", + "macro_rules_attribute 0.2.0", + "monostate", + "onig", + "paste", + "rand 0.8.5", + "rayon", + "rayon-cond 0.3.0", + "regex", + "regex-syntax 0.8.4", + "serde", + "serde_json", + "spm_precompiled", + "thiserror", + "unicode-normalization-alignments", + "unicode-segmentation", + "unicode_categories", +] + [[package]] name = "tokio" version = "1.40.0" @@ -15327,6 +16657,8 @@ dependencies = [ "bytes", "futures-core", "futures-sink", + "futures-util", + "hashbrown 0.14.5", "pin-project-lite", "tokio", ] @@ -15530,7 +16862,7 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time", + "time 0.3.36", "tracing", "tracing-core", "tracing-log 0.2.0", @@ -15669,6 +17001,43 @@ dependencies = [ "utf-8", ] +[[package]] +name = "tungstenite" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18e5b8366ee7a95b16d32197d0b2604b43a0be89dc5fac9f8e96ccafbaedda8a" +dependencies = [ + "byteorder", + "bytes", + "data-encoding", + "http 1.1.0", + "httparse", + "log", + "rand 0.8.5", + "sha1", + "thiserror", + "utf-8", +] + +[[package]] +name = "tuple" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb9f6bd73479481158ba8ee3edf17aca93354623d13f02e96a2014fdbc1c37e" +dependencies = [ + "num-traits", + "serde", +] + +[[package]] +name = "tuple" +version = "0.5.2" +source = "git+https://github.com/s3bk/tuple/#bcdc3d9fcf5f93ab8310e84f139ccaab6dd6acc7" +dependencies = [ + "num-traits", + "serde", +] + [[package]] name = "twox-hash" version = "1.6.3" @@ -15969,6 +17338,12 @@ dependencies = [ "smallvec", ] +[[package]] +name = "unicode-properties" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ea75f83c0137a9b98608359a5f1af8144876eb67bcb1ce837368e906a9f524" + [[package]] name = "unicode-segmentation" version = "1.11.0" @@ -16077,6 +17452,7 @@ dependencies = [ "rustls-pki-types", "serde", "serde_json", + "socks", "url", "webpki-roots 0.26.5", ] @@ -16342,6 +17718,12 @@ version = "0.9.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + [[package]] name = "wasi" version = "0.11.0+wasi-snapshot-preview1" @@ -16728,6 +18110,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "web-time" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "webbrowser" version = "0.8.15" @@ -16982,6 +18374,16 @@ dependencies = [ "web-sys", ] +[[package]] +name = "whatlang" +version = "0.16.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "471d1c1645d361eb782a1650b1786a8fb58dd625e681a04c09f5ff7c8764a7b0" +dependencies = [ + "hashbrown 0.14.5", + "once_cell", +] + [[package]] name = "which" version = "4.4.2" @@ -17007,6 +18409,18 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "which" +version = "6.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f" +dependencies = [ + "either", + "home", + "rustix 0.38.35", + "winsafe", +] + [[package]] name = "whoami" version = "1.5.1" @@ -17599,6 +19013,12 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "winsafe" +version = "0.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d135d17ab770252ad95e9a872d365cf3090e3be864a34ab46f48555993efc904" + [[package]] name = "wl-clipboard-rs" version = "0.8.1" @@ -17629,13 +19049,13 @@ dependencies = [ "block", "cocoa", "core-graphics 0.22.3", - "crossbeam-channel", + "crossbeam-channel 0.5.13", "dunce", "gdk", "gio", "glib", "gtk", - "html5ever", + "html5ever 0.26.0", "http 0.2.12", "kuchikiki", "libc", @@ -17747,7 +19167,7 @@ dependencies = [ "oid-registry", "rusticata-macros", "thiserror", - "time", + "time 0.3.36", ] [[package]] @@ -17773,6 +19193,18 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "539a77ee7c0de333dcc6da69b177380a0b81e0dacfa4f7344c465a36871ee601" +[[package]] +name = "xml5ever" +version = "0.16.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9234163818fd8e2418fcde330655e757900d4236acd8cc70fef345ef91f6d865" +dependencies = [ + "log", + "mac", + "markup5ever 0.10.1", + "time 0.1.45", +] + [[package]] name = "xml5ever" version = "0.17.0" @@ -17781,7 +19213,7 @@ checksum = "4034e1d05af98b51ad7214527730626f019682d797ba38b51689212118d8e650" dependencies = [ "log", "mac", - "markup5ever", + "markup5ever 0.11.0", ] [[package]] @@ -17839,7 +19271,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time", + "time 0.3.36", ] [[package]] @@ -17939,12 +19371,12 @@ dependencies = [ "bzip2", "constant_time_eq 0.1.5", "crc32fast", - "crossbeam-utils", + "crossbeam-utils 0.8.20", "flate2", "hmac 0.12.1", "pbkdf2 0.11.0", "sha1", - "time", + "time 0.3.36", "zstd", ] @@ -17956,7 +19388,7 @@ checksum = "9cc23c04387f4da0374be4533ad1208cbb091d5c11d070dfef13676ad6497164" dependencies = [ "arbitrary", "crc32fast", - "crossbeam-utils", + "crossbeam-utils 0.8.20", "displaydoc", "indexmap 2.5.0", "num_enum 0.7.3", @@ -17971,7 +19403,7 @@ checksum = "dc5e4288ea4057ae23afc69a4472434a87a2495cafce6632fd1c4ec9f5cf3494" dependencies = [ "arbitrary", "crc32fast", - "crossbeam-utils", + "crossbeam-utils 0.8.20", "displaydoc", "flate2", "indexmap 2.5.0", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index c1708758b..cef62e28b 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -44,7 +44,7 @@ syntect = "5.0" ctrlc = "3.4.0" llm = { git = "https://github.com/lucksus/llm", branch = "gguf", features = ["metal"] } -kalosm = { version = "0.3.0", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" } +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } serde_cbor = "0.11" #holochain_kitsune_p2p = "0.3.0-beta-dev.37" kitsune_p2p_types = { version = "0.3.2-rc.0", git = "https://github.com/coasys/holochain.git", rev = "10841e49b28c17c3cb428680e2bc9259bf4ec739" } From 0ef599b69fb4c6f60229d8c20a31c7b04377f2b5 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 15:41:13 +0200 Subject: [PATCH 035/183] Activate eve in ad4m binary --- cli/src/ad4m.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cli/src/ad4m.rs b/cli/src/ad4m.rs index becca7a0f..f9487d081 100644 --- a/cli/src/ad4m.rs +++ b/cli/src/ad4m.rs @@ -23,9 +23,10 @@ mod neighbourhoods; mod perspectives; mod repl; mod runtime; +mod eve; use crate::{ - agent::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, + agent::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, eve::* }; use ad4m_client::*; use anyhow::{Context, Result}; @@ -112,6 +113,10 @@ enum Domain { }, /// Print the executor log Log, + Eve { + #[command(subcommand)] + command: EveCommands, + }, } async fn get_ad4m_client(args: &ClapApp) -> Result { @@ -165,7 +170,8 @@ async fn main() -> Result<()> { ) })?; println!("{}", log); - } + }, + Domain::Eve { command } => eve::run(command).await?, } Ok(()) From a5a55acedc742398e30fc05a2cd216bd7ace7d8b Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 3 Sep 2024 19:12:11 +0530 Subject: [PATCH 036/183] Use kalosm instead of llama --- cli/src/eve.rs | 238 +++++++++++++++++++++++++++---------------------- 1 file changed, 131 insertions(+), 107 deletions(-) diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 3c524882d..6fca245c9 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -1,12 +1,8 @@ use std::io::Write; -use llm::Model; -use llm::InferenceResponse; -use std::convert::Infallible; -use std::fs::File; -use llm::InferenceSession; use anyhow::Result; use clap::Subcommand; +use kalosm::language::*; #[derive(Debug, Subcommand)] pub enum EveCommands { @@ -14,6 +10,16 @@ pub enum EveCommands { Prompt, } +#[derive(Clone, Debug, Parse, Schema)] +pub struct Response { + topics: Vec, + changed_subject: String, + new_subgroup_name: String, + new_subgroup_summary: String, + new_conversation_name: String, + new_conversation_summary: String +} + const SYSTEM: &str = r##" <> You are Eve, the personal assistant AI in Adam. @@ -129,7 +135,102 @@ p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, Done. "##; - + +const EXAMPLE_USER1: &str = r##" +Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` +Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. +"##; + +const EXAMPLE_EVE1: &str = r##" +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). +"##; + +const EXAMPLE_USER2: &str = r##" +The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. +"##; + +const EXAMPLE_EVE2: &str = r##" +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). +property_named_option(cjdotdng, "state", "todo://ready", "Ready"). +property_named_option(cjdotdng, "state", "todo://doing", "Doing"). +property_named_option(cjdotdng, "state", "todo://done", "Done"). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +p3_class_icon(cjdotdng, "check2-square"). +p3_instance_shape(cjdotdng, Instance, "circle"). +p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). +p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). +p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). +"##; + +const EXAMPLE_USER3: &str = r##" +No, that's it. Please write this to the SDNA. +"##; + +const EXAMPLE_EVE3: &str = r##" +subject_class("Todo", cjdotdng). +constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). +instance(cjdotdng, Base) :- triple(Base, "todo://state", _). + +property(cjdotdng, "state"). +property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). +property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). +property_named_option(cjdotdng, "state", "todo://ready", "Ready"). +property_named_option(cjdotdng, "state", "todo://doing", "Doing"). +property_named_option(cjdotdng, "state", "todo://done", "Done"). + +property(cjdotdng, "title"). +property_resolve(cjdotdng, "title"). +property_resolve_language(cjdotdng, "title", "literal"). +property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). +property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). + +collection(cjdotdng, "comments"). +collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). +collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). +collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). + +p3_class_icon(cjdotdng, "check2-square"). +p3_instance_shape(cjdotdng, Instance, "circle"). +p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). +p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). +p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). +"##; + + const REDUCED: &str = r##" Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` @@ -163,28 +264,26 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic pub async fn run(command: EveCommands) -> Result<()> { println!("Loading model..."); + let llama = Llama::builder().with_source(LlamaSource::tiny_llama_1_1b_chat()).build_with_loading_handler(|progress| match progress { + ModelLoadingProgress::Downloading { source, start_time, progress } => { + let progress = (progress * 100.0) as u32; + let elapsed = start_time.elapsed().as_secs_f32(); + println!("Downloading file {source} {progress}% ({elapsed}s)"); + } + ModelLoadingProgress::Loading { progress } => { + let progress = (progress * 100.0) as u32; + println!("Loading model {progress}%"); + } + }) + .await?; - // load a GGML model from disk - let llama = llm::load::( - // path to GGML file - std::path::Path::new("/Users/nicolasluck/models/eve.model"), - llm::TokenizerSource::Embedded, - // llm::ModelParameters - Default::default(), - // load progress callback - |_| {}, - - ) - .unwrap_or_else(|err| panic!("Failed to load model: {err}")); - - println!("Model loaded!"); - - let inference_parameters = llm::InferenceParameters::default(); + println!("Model loaded"); - fn print_token(t: String) { - print!("{t}"); - std::io::stdout().flush().unwrap(); - } + let task = Task::builder(SYSTEM) + .with_example(EXAMPLE_USER1, EXAMPLE_EVE1) + .with_example(EXAMPLE_USER2, EXAMPLE_EVE2) + .with_example(EXAMPLE_USER3, EXAMPLE_EVE3) + .build(); match command { EveCommands::Train => { @@ -192,95 +291,20 @@ pub async fn run(command: EveCommands) -> Result<()> { println!("Ad hoc training model for ADAM subject classes..."); - - - // use the model to generate text from a prompt - let mut session = llama.start_session(Default::default()); - - for p in vec![SYSTEM, HISTORY1, HISTORY2] { - session.feed_prompt( - &llama, - p, - &mut Default::default(), - llm::feed_prompt_callback(|resp| match resp { - llm::InferenceResponse::PromptToken(t) - | llm::InferenceResponse::InferredToken(t) => { - print_token(t); - - Ok::(llm::InferenceFeedback::Continue) - } - _ => Ok(llm::InferenceFeedback::Continue), - }), - ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); - } - - - println!("\n\nTraining done. Ready!"); - - unsafe { - let snapshot: llm::InferenceSnapshotRef<'_> = session.get_snapshot(); - let snapshot_cbor = serde_cbor::to_vec(&snapshot).expect("Failed to serialize snapshot"); - File::create("/Users/nicolasluck/models/eve.snapshot.json").unwrap().write_all(snapshot_cbor.as_slice()).unwrap(); - println!("Snapshot saved!"); - } } EveCommands::Prompt => { println!("Prompting Eve..."); - let mut session = if let Ok(file) = File::open("/Users/nicolasluck/models/eve.snapshot.json") { - let snapshot: llm::InferenceSnapshot = serde_cbor::from_reader(file).expect("Failed to deserialize snapshot"); - InferenceSession::from_snapshot(snapshot, &llama).unwrap_or_else(|err| panic!("Failed to load snapshot: {err}")) - } else { - llama.start_session(Default::default()) - }; let mut rl = rustyline::Editor::<()>::new()?; let line = rl.readline(">> ")?; + task.run(line, &llama).to_std_out().await.unwrap(); + + // let value: String = stream.all_text().await; + + // println!("Result: {:?}", value); + println!("\n\n"); - - let res = session.infer::( - // model to use for text generation - &llama, - // randomness provider - &mut rand::thread_rng(), - // the prompt to use for text generation, as well as other - // inference parameters - &llm::InferenceRequest { - prompt: format!("User: {line}\nEve:") - .as_str() - .into(), - parameters: &inference_parameters, - play_back_previous_tokens: false, - maximum_token_count: None, - }, - // llm::OutputRequest - &mut Default::default(), - // output callback - |t| { - let mut cont = true; - match t { - InferenceResponse::PromptToken(t) | InferenceResponse::InferredToken(t) | llm::InferenceResponse::SnapshotToken(t) => { - if t == "Eve:" || t == "User:" { - cont = false; - } - print_token(t); - } - _ => {} - } - std::io::stdout().flush().unwrap(); - - if cont { - Ok(llm::InferenceFeedback::Continue) - } else { - Ok(llm::InferenceFeedback::Halt) - } - } - ); - - match res { - Ok(result) => println!("\n\nInference stats:\n{result}"), - Err(err) => println!("\n{err}"), - } } } Ok(()) From e8cf6368314ae2817d404022207ea9b3d3d61d3c Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 15:45:50 +0200 Subject: [PATCH 037/183] fmt --- cli/src/ad4m.rs | 6 ++-- cli/src/eve.rs | 94 ++++++++++++++++++++++++------------------------- 2 files changed, 50 insertions(+), 50 deletions(-) diff --git a/cli/src/ad4m.rs b/cli/src/ad4m.rs index f9487d081..4028135c7 100644 --- a/cli/src/ad4m.rs +++ b/cli/src/ad4m.rs @@ -17,16 +17,16 @@ mod util; mod agent; mod bootstrap_publish; mod dev; +mod eve; mod expression; mod languages; mod neighbourhoods; mod perspectives; mod repl; mod runtime; -mod eve; use crate::{ - agent::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, eve::* + agent::*, eve::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, }; use ad4m_client::*; use anyhow::{Context, Result}; @@ -170,7 +170,7 @@ async fn main() -> Result<()> { ) })?; println!("{}", log); - }, + } Domain::Eve { command } => eve::run(command).await?, } diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 3c524882d..fa2363bb9 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -1,12 +1,11 @@ - -use std::io::Write; -use llm::Model; +use anyhow::Result; +use clap::Subcommand; use llm::InferenceResponse; +use llm::InferenceSession; +use llm::Model; use std::convert::Infallible; use std::fs::File; -use llm::InferenceSession; -use anyhow::Result; -use clap::Subcommand; +use std::io::Write; #[derive(Debug, Subcommand)] pub enum EveCommands { @@ -28,8 +27,7 @@ provide the the latest version to Perspect3ve to be written to the perspective's by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` <> "##; - - + const HISTORY1: &str = r##" Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` @@ -129,7 +127,6 @@ p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, Done. "##; - const REDUCED: &str = r##" Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` @@ -159,11 +156,9 @@ collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: " What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) "##; - pub async fn run(command: EveCommands) -> Result<()> { println!("Loading model..."); - // load a GGML model from disk let llama = llm::load::( // path to GGML file @@ -173,7 +168,6 @@ pub async fn run(command: EveCommands) -> Result<()> { Default::default(), // load progress callback |_| {}, - ) .unwrap_or_else(|err| panic!("Failed to load model: {err}")); @@ -190,54 +184,62 @@ pub async fn run(command: EveCommands) -> Result<()> { EveCommands::Train => { println!("Training Eve..."); - println!("Ad hoc training model for ADAM subject classes..."); - // use the model to generate text from a prompt let mut session = llama.start_session(Default::default()); - + for p in vec![SYSTEM, HISTORY1, HISTORY2] { - session.feed_prompt( - &llama, - p, - &mut Default::default(), - llm::feed_prompt_callback(|resp| match resp { - llm::InferenceResponse::PromptToken(t) - | llm::InferenceResponse::InferredToken(t) => { - print_token(t); - - Ok::(llm::InferenceFeedback::Continue) - } - _ => Ok(llm::InferenceFeedback::Continue), - }), - ).unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); + session + .feed_prompt( + &llama, + p, + &mut Default::default(), + llm::feed_prompt_callback(|resp| match resp { + llm::InferenceResponse::PromptToken(t) + | llm::InferenceResponse::InferredToken(t) => { + print_token(t); + + Ok::( + llm::InferenceFeedback::Continue, + ) + } + _ => Ok(llm::InferenceFeedback::Continue), + }), + ) + .unwrap_or_else(|err| panic!("Failed to feed prompt: {err}")); } - println!("\n\nTraining done. Ready!"); - + unsafe { let snapshot: llm::InferenceSnapshotRef<'_> = session.get_snapshot(); - let snapshot_cbor = serde_cbor::to_vec(&snapshot).expect("Failed to serialize snapshot"); - File::create("/Users/nicolasluck/models/eve.snapshot.json").unwrap().write_all(snapshot_cbor.as_slice()).unwrap(); + let snapshot_cbor = + serde_cbor::to_vec(&snapshot).expect("Failed to serialize snapshot"); + File::create("/Users/nicolasluck/models/eve.snapshot.json") + .unwrap() + .write_all(snapshot_cbor.as_slice()) + .unwrap(); println!("Snapshot saved!"); } } EveCommands::Prompt => { println!("Prompting Eve..."); - let mut session = if let Ok(file) = File::open("/Users/nicolasluck/models/eve.snapshot.json") { - let snapshot: llm::InferenceSnapshot = serde_cbor::from_reader(file).expect("Failed to deserialize snapshot"); - InferenceSession::from_snapshot(snapshot, &llama).unwrap_or_else(|err| panic!("Failed to load snapshot: {err}")) - } else { - llama.start_session(Default::default()) - }; + let mut session = + if let Ok(file) = File::open("/Users/nicolasluck/models/eve.snapshot.json") { + let snapshot: llm::InferenceSnapshot = + serde_cbor::from_reader(file).expect("Failed to deserialize snapshot"); + InferenceSession::from_snapshot(snapshot, &llama) + .unwrap_or_else(|err| panic!("Failed to load snapshot: {err}")) + } else { + llama.start_session(Default::default()) + }; let mut rl = rustyline::Editor::<()>::new()?; let line = rl.readline(">> ")?; println!("\n\n"); - + let res = session.infer::( // model to use for text generation &llama, @@ -246,9 +248,7 @@ pub async fn run(command: EveCommands) -> Result<()> { // the prompt to use for text generation, as well as other // inference parameters &llm::InferenceRequest { - prompt: format!("User: {line}\nEve:") - .as_str() - .into(), + prompt: format!("User: {line}\nEve:").as_str().into(), parameters: &inference_parameters, play_back_previous_tokens: false, maximum_token_count: None, @@ -259,7 +259,9 @@ pub async fn run(command: EveCommands) -> Result<()> { |t| { let mut cont = true; match t { - InferenceResponse::PromptToken(t) | InferenceResponse::InferredToken(t) | llm::InferenceResponse::SnapshotToken(t) => { + InferenceResponse::PromptToken(t) + | InferenceResponse::InferredToken(t) + | llm::InferenceResponse::SnapshotToken(t) => { if t == "Eve:" || t == "User:" { cont = false; } @@ -274,7 +276,7 @@ pub async fn run(command: EveCommands) -> Result<()> { } else { Ok(llm::InferenceFeedback::Halt) } - } + }, ); match res { @@ -285,5 +287,3 @@ pub async fn run(command: EveCommands) -> Result<()> { } Ok(()) } - - From fca4ced8f576effd11691381a3754c4b663a8ed8 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 16:12:07 +0200 Subject: [PATCH 038/183] Use default chat model and activate metal --- cli/Cargo.toml | 2 +- cli/src/eve.rs | 14 ++------------ 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index cef62e28b..13d6b8e72 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -44,7 +44,7 @@ syntect = "5.0" ctrlc = "3.4.0" llm = { git = "https://github.com/lucksus/llm", branch = "gguf", features = ["metal"] } -kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "metal"] } serde_cbor = "0.11" #holochain_kitsune_p2p = "0.3.0-beta-dev.37" kitsune_p2p_types = { version = "0.3.2-rc.0", git = "https://github.com/coasys/holochain.git", rev = "10841e49b28c17c3cb428680e2bc9259bf4ec739" } diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 92b4faa0b..0966761a1 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -262,18 +262,8 @@ What icon should it have in the toolbar? (You can choose from the "Bootstrap" ic pub async fn run(command: EveCommands) -> Result<()> { println!("Loading model..."); - let llama = Llama::builder().with_source(LlamaSource::tiny_llama_1_1b_chat()).build_with_loading_handler(|progress| match progress { - ModelLoadingProgress::Downloading { source, start_time, progress } => { - let progress = (progress * 100.0) as u32; - let elapsed = start_time.elapsed().as_secs_f32(); - println!("Downloading file {source} {progress}% ({elapsed}s)"); - } - ModelLoadingProgress::Loading { progress } => { - let progress = (progress * 100.0) as u32; - println!("Loading model {progress}%"); - } - }) - .await?; + let llama = Llama::new_chat().await.unwrap(); + println!("Model loaded"); From 41d870daf3a02b8144aea2fc1c58bba7992b141c Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 16:23:11 +0200 Subject: [PATCH 039/183] First prompt to preload examples --- cli/src/eve.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 0966761a1..2f9b007d5 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -273,6 +273,9 @@ pub async fn run(command: EveCommands) -> Result<()> { .with_example(EXAMPLE_USER3, EXAMPLE_EVE3) .build(); + println!("Feeding examples..."); + task.run("Hello, let's pretend this is a new session. Who are you?", &llama).to_std_out().await.unwrap(); + match command { EveCommands::Train => { println!("Training Eve..."); From c268a3fe730643ab87f0796ccb79bf4fc64ce0ba Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 16:23:39 +0200 Subject: [PATCH 040/183] fmt --- cli/src/eve.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 2f9b007d5..c6d7bba5e 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -1,8 +1,7 @@ - -use std::io::Write; use anyhow::Result; use clap::Subcommand; use kalosm::language::*; +use std::io::Write; #[derive(Debug, Subcommand)] pub enum EveCommands { @@ -17,7 +16,7 @@ pub struct Response { new_subgroup_name: String, new_subgroup_summary: String, new_conversation_name: String, - new_conversation_summary: String + new_conversation_summary: String, } const SYSTEM: &str = r##" @@ -134,7 +133,6 @@ p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, Done. "##; - const EXAMPLE_USER1: &str = r##" Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. @@ -229,7 +227,6 @@ p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). "##; - const REDUCED: &str = r##" Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` @@ -264,17 +261,22 @@ pub async fn run(command: EveCommands) -> Result<()> { let llama = Llama::new_chat().await.unwrap(); - println!("Model loaded"); - let task = Task::builder(SYSTEM) + let task = Task::builder(SYSTEM) .with_example(EXAMPLE_USER1, EXAMPLE_EVE1) .with_example(EXAMPLE_USER2, EXAMPLE_EVE2) .with_example(EXAMPLE_USER3, EXAMPLE_EVE3) .build(); println!("Feeding examples..."); - task.run("Hello, let's pretend this is a new session. Who are you?", &llama).to_std_out().await.unwrap(); + task.run( + "Hello, let's pretend this is a new session. Who are you?", + &llama, + ) + .to_std_out() + .await + .unwrap(); match command { EveCommands::Train => { @@ -285,7 +287,6 @@ pub async fn run(command: EveCommands) -> Result<()> { EveCommands::Prompt => { println!("Prompting Eve..."); - let mut rl = rustyline::Editor::<()>::new()?; let line = rl.readline(">> ")?; task.run(line, &llama).to_std_out().await.unwrap(); From 542a2d7a20d434a7b4511c45fa6a9456adcd2d80 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 16:30:13 +0200 Subject: [PATCH 041/183] clippy --- cli/src/ad4m.rs | 12 ++++++------ cli/src/eve.rs | 1 - 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/cli/src/ad4m.rs b/cli/src/ad4m.rs index 4028135c7..387119384 100644 --- a/cli/src/ad4m.rs +++ b/cli/src/ad4m.rs @@ -133,12 +133,12 @@ async fn get_ad4m_client(args: &ClapApp) -> Result { } else { match &args.domain { Domain::Log => "".to_string(), - Domain::Agent { command } => match command { - AgentFunctions::Lock - | AgentFunctions::Unlock { .. } - | AgentFunctions::Generate { .. } => "".to_string(), - _ => startup::get_cap_token(executor_url.clone()).await?, - }, + Domain::Agent { + command: + AgentFunctions::Lock + | AgentFunctions::Unlock { .. } + | AgentFunctions::Generate { .. }, + } => "".to_string(), _ => startup::get_cap_token(executor_url.clone()).await?, } }; diff --git a/cli/src/eve.rs b/cli/src/eve.rs index c6d7bba5e..1b9a66465 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -1,7 +1,6 @@ use anyhow::Result; use clap::Subcommand; use kalosm::language::*; -use std::io::Write; #[derive(Debug, Subcommand)] pub enum EveCommands { From 76ca47f6f733f01e3aca5103eecaf2d91173fb6d Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 16:35:49 +0200 Subject: [PATCH 042/183] cargo.lock --- Cargo.lock | 738 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 734 insertions(+), 4 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 2b15f7f67..a06edee61 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -12,6 +12,12 @@ dependencies = [ "regex", ] +[[package]] +name = "accelerate-src" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "415ed64958754dbe991900f3940677e6a7eefb4d7367afd70d642677b0c7d19d" + [[package]] name = "ad4m" version = "0.10.0-rc7" @@ -340,6 +346,28 @@ version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" +[[package]] +name = "alsa" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed7572b7ba83a31e20d1b48970ee402d2e3e0537dcfe0a3ff4d6eb7508617d43" +dependencies = [ + "alsa-sys", + "bitflags 2.6.0", + "cfg-if 1.0.0", + "libc", +] + +[[package]] +name = "alsa-sys" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db8fee663d06c4e303404ef5f40488a53e062f89ba8bfed81f42325aafad1527" +dependencies = [ + "libc", + "pkg-config", +] + [[package]] name = "android-tzdata" version = "0.1.1" @@ -1699,10 +1727,14 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d5b18de020c2729dbf7ac390325312644808b6ba9b7962f1f724e9185b1d53c7" dependencies = [ + "accelerate-src", "byteorder", + "candle-metal-kernels", "gemm", "half 2.4.1", + "libc", "memmap2 0.9.4", + "metal 0.27.0", "num-traits", "num_cpus", "rand 0.8.5", @@ -1714,14 +1746,29 @@ dependencies = [ "zip 1.1.4", ] +[[package]] +name = "candle-metal-kernels" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f889aacd02fd999620a0435133d7cf3b58c81ef9dd5e47c38939b7a72345ea86" +dependencies = [ + "metal 0.27.0", + "once_cell", + "thiserror", + "tracing", +] + [[package]] name = "candle-nn" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b006b30f66a0d94fc9cef0ac4de6ce510565f35ae2c6c35ce5d4aacfb0fc8eeb" dependencies = [ + "accelerate-src", "candle-core", + "candle-metal-kernels", "half 2.4.1", + "metal 0.27.0", "num-traits", "rayon", "safetensors", @@ -1735,6 +1782,7 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4f0d4eb6a0d9279d5829b06b2bf3caa117904eefd6dcf879d16e687c4a84034c" dependencies = [ + "accelerate-src", "byteorder", "candle-core", "candle-nn", @@ -1954,11 +2002,27 @@ dependencies = [ "atty", "bitflags 1.3.2", "strsim 0.8.0", - "textwrap", + "textwrap 0.11.0", "unicode-width", "vec_map", ] +[[package]] +name = "clap" +version = "3.2.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" +dependencies = [ + "atty", + "bitflags 1.3.2", + "clap_lex 0.2.4", + "indexmap 1.9.3", + "once_cell", + "strsim 0.10.0", + "termcolor", + "textwrap 0.16.1", +] + [[package]] name = "clap" version = "4.5.16" @@ -1977,7 +2041,7 @@ checksum = "216aec2b177652e3846684cbfe25c9964d18ec45234f0f5da5157b207ed1aab6" dependencies = [ "anstream", "anstyle", - "clap_lex", + "clap_lex 0.7.2", "strsim 0.11.1", "terminal_size", ] @@ -1994,12 +2058,27 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "clap_lex" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "clap_lex" version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" +[[package]] +name = "claxon" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4bfbf56724aa9eca8afa4fcfadeb479e722935bb2a0900c2d37e0cc477af0688" + [[package]] name = "clipboard-win" version = "4.5.0" @@ -2401,6 +2480,26 @@ dependencies = [ "memchr", ] +[[package]] +name = "coreaudio-rs" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "321077172d79c662f64f5071a03120748d5bb652f5231570141be24cfcd2bace" +dependencies = [ + "bitflags 1.3.2", + "core-foundation-sys", + "coreaudio-sys", +] + +[[package]] +name = "coreaudio-sys" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f01585027057ff5f0a5bf276174ae4c1594a2c5bde93d5f46a016d76270f5a9" +dependencies = [ + "bindgen", +] + [[package]] name = "corosensei" version = "0.1.4" @@ -2414,6 +2513,29 @@ dependencies = [ "windows-sys 0.33.0", ] +[[package]] +name = "cpal" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "873dab07c8f743075e57f524c583985fbaf745602acbe916a01539364369a779" +dependencies = [ + "alsa", + "core-foundation-sys", + "coreaudio-rs", + "dasp_sample", + "jni 0.21.1", + "js-sys", + "libc", + "mach2", + "ndk 0.8.0", + "ndk-context", + "oboe", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.54.0", +] + [[package]] name = "cpu-time" version = "1.0.0" @@ -3091,6 +3213,125 @@ dependencies = [ "rustversion", ] +[[package]] +name = "dasp" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7381b67da416b639690ac77c73b86a7b5e64a29e31d1f75fb3b1102301ef355a" +dependencies = [ + "dasp_envelope", + "dasp_frame", + "dasp_interpolate", + "dasp_peak", + "dasp_ring_buffer", + "dasp_rms", + "dasp_sample", + "dasp_signal", + "dasp_slice", + "dasp_window", +] + +[[package]] +name = "dasp_envelope" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ec617ce7016f101a87fe85ed44180839744265fae73bb4aa43e7ece1b7668b6" +dependencies = [ + "dasp_frame", + "dasp_peak", + "dasp_ring_buffer", + "dasp_rms", + "dasp_sample", +] + +[[package]] +name = "dasp_frame" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a3937f5fe2135702897535c8d4a5553f8b116f76c1529088797f2eee7c5cd6" +dependencies = [ + "dasp_sample", +] + +[[package]] +name = "dasp_interpolate" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fc975a6563bb7ca7ec0a6c784ead49983a21c24835b0bc96eea11ee407c7486" +dependencies = [ + "dasp_frame", + "dasp_ring_buffer", + "dasp_sample", +] + +[[package]] +name = "dasp_peak" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5cf88559d79c21f3d8523d91250c397f9a15b5fc72fbb3f87fdb0a37b79915bf" +dependencies = [ + "dasp_frame", + "dasp_sample", +] + +[[package]] +name = "dasp_ring_buffer" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07d79e19b89618a543c4adec9c5a347fe378a19041699b3278e616e387511ea1" + +[[package]] +name = "dasp_rms" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6c5dcb30b7e5014486e2822537ea2beae50b19722ffe2ed7549ab03774575aa" +dependencies = [ + "dasp_frame", + "dasp_ring_buffer", + "dasp_sample", +] + +[[package]] +name = "dasp_sample" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" + +[[package]] +name = "dasp_signal" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa1ab7d01689c6ed4eae3d38fe1cea08cba761573fbd2d592528d55b421077e7" +dependencies = [ + "dasp_envelope", + "dasp_frame", + "dasp_interpolate", + "dasp_peak", + "dasp_ring_buffer", + "dasp_rms", + "dasp_sample", + "dasp_window", +] + +[[package]] +name = "dasp_slice" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e1c7335d58e7baedafa516cb361360ff38d6f4d3f9d9d5ee2a2fc8e27178fa1" +dependencies = [ + "dasp_frame", + "dasp_sample", +] + +[[package]] +name = "dasp_window" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99ded7b88821d2ce4e8b842c9f1c86ac911891ab89443cc1de750cae764c5076" +dependencies = [ + "dasp_sample", +] + [[package]] name = "data-encoding" version = "2.6.0" @@ -3239,6 +3480,7 @@ dependencies = [ [[package]] name = "deno_broadcast_channel" version = "0.148.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "async-trait", "deno_core", @@ -3249,6 +3491,7 @@ dependencies = [ [[package]] name = "deno_cache" version = "0.86.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "async-trait", "deno_core", @@ -3261,6 +3504,7 @@ dependencies = [ [[package]] name = "deno_canvas" version = "0.23.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "deno_webgpu", @@ -3271,6 +3515,7 @@ dependencies = [ [[package]] name = "deno_console" version = "0.154.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", ] @@ -3314,6 +3559,7 @@ checksum = "a13951ea98c0a4c372f162d669193b4c9d991512de9f2381dd161027f34b26b1" [[package]] name = "deno_cron" version = "0.34.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "anyhow", "async-trait", @@ -3326,6 +3572,7 @@ dependencies = [ [[package]] name = "deno_crypto" version = "0.168.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "aes", "aes-gcm", @@ -3359,6 +3606,7 @@ dependencies = [ [[package]] name = "deno_fetch" version = "0.178.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "bytes", "data-url", @@ -3376,6 +3624,7 @@ dependencies = [ [[package]] name = "deno_ffi" version = "0.141.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "dlopen2", @@ -3392,6 +3641,7 @@ dependencies = [ [[package]] name = "deno_fs" version = "0.64.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "async-trait", "base32", @@ -3410,6 +3660,7 @@ dependencies = [ [[package]] name = "deno_http" version = "0.152.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "async-compression", "async-trait", @@ -3446,6 +3697,7 @@ dependencies = [ [[package]] name = "deno_io" version = "0.64.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "async-trait", "deno_core", @@ -3463,6 +3715,7 @@ dependencies = [ [[package]] name = "deno_kv" version = "0.62.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "anyhow", "async-trait", @@ -3500,6 +3753,7 @@ dependencies = [ [[package]] name = "deno_napi" version = "0.84.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "libloading 0.7.4", @@ -3521,6 +3775,7 @@ dependencies = [ [[package]] name = "deno_net" version = "0.146.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "deno_tls", @@ -3536,6 +3791,7 @@ dependencies = [ [[package]] name = "deno_node" version = "0.91.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "aead-gcm-stream", "aes", @@ -3620,6 +3876,7 @@ dependencies = [ [[package]] name = "deno_permissions" version = "0.14.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "deno_terminal", @@ -3635,6 +3892,7 @@ dependencies = [ [[package]] name = "deno_runtime" version = "0.162.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_ast", "deno_broadcast_channel", @@ -3706,6 +3964,7 @@ dependencies = [ [[package]] name = "deno_tls" version = "0.141.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "deno_native_certs", @@ -3731,6 +3990,7 @@ dependencies = [ [[package]] name = "deno_url" version = "0.154.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "urlpattern", @@ -3739,6 +3999,7 @@ dependencies = [ [[package]] name = "deno_web" version = "0.185.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "async-trait", "base64-simd 0.8.0", @@ -3755,6 +4016,7 @@ dependencies = [ [[package]] name = "deno_webgpu" version = "0.121.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "raw-window-handle 0.6.2", @@ -3767,6 +4029,7 @@ dependencies = [ [[package]] name = "deno_webidl" version = "0.154.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", ] @@ -3774,6 +4037,7 @@ dependencies = [ [[package]] name = "deno_websocket" version = "0.159.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "bytes", "deno_core", @@ -3794,6 +4058,7 @@ dependencies = [ [[package]] name = "deno_webstorage" version = "0.149.0" +source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" dependencies = [ "deno_core", "deno_web", @@ -7424,6 +7689,12 @@ dependencies = [ "windows 0.52.0", ] +[[package]] +name = "hound" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" + [[package]] name = "hstr" version = "0.2.12" @@ -8432,7 +8703,9 @@ dependencies = [ "image 0.24.9", "kalosm-common", "kalosm-language", + "kalosm-sound", "kalosm-streams", + "kalosm-vision", "llm-samplers 0.0.7", "num-traits", "once_cell", @@ -8454,6 +8727,7 @@ dependencies = [ "hf-hub", "httpdate", "indicatif 0.17.8", + "metal 0.29.0", "once_cell", "reqwest", "tokio", @@ -8564,6 +8838,25 @@ dependencies = [ "tracing", ] +[[package]] +name = "kalosm-ocr" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "candle-core", + "candle-nn", + "candle-transformers", + "hf-hub", + "image 0.24.9", + "kalosm-common", + "serde", + "serde_json", + "tokenizers 0.19.1", + "tokio", + "tracing", +] + [[package]] name = "kalosm-parse-macro" version = "0.3.2" @@ -8584,6 +8877,37 @@ dependencies = [ "regex-automata 0.4.7", ] +[[package]] +name = "kalosm-sound" +version = "0.3.4" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "async-trait", + "byteorder", + "candle-core", + "candle-nn", + "candle-transformers", + "cpal", + "dasp", + "futures-channel", + "futures-core", + "futures-util", + "hound", + "itertools 0.10.5", + "kalosm-streams", + "nnnoiseless", + "ort", + "rand 0.8.5", + "rodio", + "rwhisper", + "serde_json", + "tokenizers 0.19.1", + "tokio", + "tracing", + "voice_activity_detector", +] + [[package]] name = "kalosm-streams" version = "0.3.2" @@ -8595,6 +8919,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "kalosm-vision" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "image 0.24.9", + "kalosm-ocr", + "rwuerstchen", + "segment-anything-rs", +] + [[package]] name = "keccak" version = "0.1.5" @@ -9037,6 +9372,17 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8" +[[package]] +name = "lewton" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "777b48df9aaab155475a83a7df3070395ea1ac6902f5cd062b8f2b028075c030" +dependencies = [ + "byteorder", + "ogg", + "tinyvec", +] + [[package]] name = "lexical" version = "5.2.2" @@ -9870,6 +10216,21 @@ dependencies = [ "autocfg 1.3.0", ] +[[package]] +name = "metal" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-graphics-types", + "foreign-types 0.5.0", + "log", + "objc", + "paste", +] + [[package]] name = "metal" version = "0.28.0" @@ -9885,6 +10246,21 @@ dependencies = [ "paste", ] +[[package]] +name = "metal" +version = "0.29.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ecfd3296f8c56b7c1f6fbac3c71cefa9d78ce009850c45000015f206dc7fa21" +dependencies = [ + "bitflags 2.6.0", + "block", + "core-graphics-types", + "foreign-types 0.5.0", + "log", + "objc", + "paste", +] + [[package]] name = "meval" version = "0.2.0" @@ -10253,6 +10629,19 @@ dependencies = [ "tempfile", ] +[[package]] +name = "ndarray" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb12d4e967ec485a5f71c6311fe28158e9d6f4bc4a447b474184d0f91a8fa32" +dependencies = [ + "matrixmultiply", + "num-complex", + "num-integer", + "num-traits", + "rawpointer", +] + [[package]] name = "ndk" version = "0.6.0" @@ -10266,6 +10655,20 @@ dependencies = [ "thiserror", ] +[[package]] +name = "ndk" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2076a31b7010b17a38c01907c45b945e8f11495ee4dd588309718901b1f7a5b7" +dependencies = [ + "bitflags 2.6.0", + "jni-sys", + "log", + "ndk-sys 0.5.0+25.2.9519653", + "num_enum 0.7.3", + "thiserror", +] + [[package]] name = "ndk-context" version = "0.1.1" @@ -10406,6 +10809,22 @@ dependencies = [ "libc", ] +[[package]] +name = "nnnoiseless" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d377ce2fb579ed5c14cfa0d39e70849030fdf673d6d1a764cadb2dfbb02a50" +dependencies = [ + "anyhow", + "clap 3.2.25", + "dasp", + "dasp_interpolate", + "dasp_ring_buffer", + "hound", + "once_cell", + "rustfft", +] + [[package]] name = "no-std-compat" version = "0.4.1" @@ -10577,6 +10996,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "num-format" version = "0.4.4" @@ -10859,6 +11289,38 @@ dependencies = [ "memchr", ] +[[package]] +name = "oboe" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b61bebd49e5d43f5f8cc7ee2891c16e0f41ec7954d36bcb6c14c5e0de867fb" +dependencies = [ + "jni 0.21.1", + "ndk 0.8.0", + "ndk-context", + "num-derive", + "num-traits", + "oboe-sys", +] + +[[package]] +name = "oboe-sys" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8bb09a4a2b1d668170cfe0a7d5bc103f8999fb316c98099b6a9939c9f2e79d" +dependencies = [ + "cc", +] + +[[package]] +name = "ogg" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6951b4e8bf21c8193da321bcce9c9dd2e13c858fe078bf9054a288b419ae5d6e" +dependencies = [ + "byteorder", +] + [[package]] name = "oid-registry" version = "0.6.1" @@ -11044,6 +11506,34 @@ dependencies = [ "num-traits", ] +[[package]] +name = "ort" +version = "2.0.0-rc.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86d83095ae3c1258738d70ae7a06195c94d966a8e546f0d3609dc90885fb61f5" +dependencies = [ + "half 2.4.1", + "js-sys", + "ndarray", + "ort-sys", + "thiserror", + "tracing", + "web-sys", +] + +[[package]] +name = "ort-sys" +version = "2.0.0-rc.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec6fe264a9467cd0c19cbee07afe689fae9480c4706c4a1a00b5e64ff99ea83a" +dependencies = [ + "flate2", + "pkg-config", + "sha2 0.10.8", + "tar", + "ureq", +] + [[package]] name = "os_info" version = "3.8.2" @@ -11065,6 +11555,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "os_str_bytes" +version = "6.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1" + [[package]] name = "ouroboros" version = "0.15.6" @@ -12124,6 +12620,15 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "primal-check" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc0d895b311e3af9902528fbb8f928688abbd95872819320517cc24ca6b2bd08" +dependencies = [ + "num-integer", +] + [[package]] name = "primeorder" version = "0.13.6" @@ -12875,6 +13380,7 @@ dependencies = [ "candle-transformers", "kalosm-common", "kalosm-language-model", + "metal 0.27.0", "serde", "serde_json", "tokenizers 0.19.1", @@ -13404,6 +13910,19 @@ dependencies = [ "uncased", ] +[[package]] +name = "rodio" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b1bb7b48ee48471f55da122c0044fcc7600cfcc85db88240b89cb832935e611" +dependencies = [ + "claxon", + "cpal", + "hound", + "lewton", + "symphonia", +] + [[package]] name = "ron" version = "0.8.1" @@ -13577,6 +14096,21 @@ dependencies = [ "semver 1.0.23", ] +[[package]] +name = "rustfft" +version = "6.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43806561bc506d0c5d160643ad742e3161049ac01027b5e6d7524091fd401d86" +dependencies = [ + "num-complex", + "num-integer", + "num-traits", + "primal-check", + "strength_reduce", + "transpose", + "version_check", +] + [[package]] name = "rusticata-macros" version = "4.1.0" @@ -13829,6 +14363,54 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "rwhisper" +version = "0.3.5" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "accelerate-src", + "anyhow", + "async-trait", + "byteorder", + "candle-core", + "candle-nn", + "candle-transformers", + "cpal", + "futures-util", + "hf-hub", + "hound", + "kalosm-common", + "kalosm-language-model", + "kalosm-streams", + "rand 0.8.5", + "rodio", + "serde_json", + "tokenizers 0.19.1", + "tokio", + "tracing", +] + +[[package]] +name = "rwuerstchen" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "async-trait", + "candle-core", + "candle-nn", + "candle-transformers", + "futures-util", + "hf-hub", + "image 0.24.9", + "kalosm-common", + "kalosm-language-model", + "kalosm-streams", + "tokenizers 0.19.1", + "tokio", + "tracing", +] + [[package]] name = "ryu" version = "1.0.18" @@ -14154,6 +14736,20 @@ dependencies = [ "libc", ] +[[package]] +name = "segment-anything-rs" +version = "0.3.2" +source = "git+https://github.com/coasys/floneum.git?rev=44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75#44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75" +dependencies = [ + "anyhow", + "candle-core", + "candle-nn", + "candle-transformers", + "hf-hub", + "image 0.24.9", + "tracing", +] + [[package]] name = "select" version = "0.6.0" @@ -15078,6 +15674,12 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9091b6114800a5f2141aee1d1b9d6ca3592ac062dc5decb3764ec5895a47b4eb" +[[package]] +name = "strength_reduce" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe895eb47f22e2ddd4dabc02bce419d2e643c8e3b585c78158b349195bc24d82" + [[package]] name = "string_cache" version = "0.8.7" @@ -15664,6 +16266,55 @@ dependencies = [ "syn 2.0.77", ] +[[package]] +name = "symphonia" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "815c942ae7ee74737bb00f965fa5b5a2ac2ce7b6c01c0cc169bbeaf7abd5f5a9" +dependencies = [ + "lazy_static", + "symphonia-bundle-mp3", + "symphonia-core", + "symphonia-metadata", +] + +[[package]] +name = "symphonia-bundle-mp3" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c01c2aae70f0f1fb096b6f0ff112a930b1fb3626178fba3ae68b09dce71706d4" +dependencies = [ + "lazy_static", + "log", + "symphonia-core", + "symphonia-metadata", +] + +[[package]] +name = "symphonia-core" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "798306779e3dc7d5231bd5691f5a813496dc79d3f56bf82e25789f2094e022c3" +dependencies = [ + "arrayvec 0.7.6", + "bitflags 1.3.2", + "bytemuck", + "lazy_static", + "log", +] + +[[package]] +name = "symphonia-metadata" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc622b9841a10089c5b18e99eb904f4341615d5aa55bbf4eedde1be721a4023c" +dependencies = [ + "encoding_rs", + "lazy_static", + "log", + "symphonia-core", +] + [[package]] name = "syn" version = "1.0.109" @@ -15859,7 +16510,7 @@ dependencies = [ "libappindicator", "libc", "log", - "ndk", + "ndk 0.6.0", "ndk-context", "ndk-sys 0.3.0", "objc", @@ -16303,6 +16954,12 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "textwrap" +version = "0.16.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23d434d3f8967a09480fb04132ebe0a3e088c173e6d0ee7897abbdf4eab0f8b9" + [[package]] name = "thin-slice" version = "0.1.1" @@ -16869,6 +17526,16 @@ dependencies = [ "tracing-serde", ] +[[package]] +name = "transpose" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ad61aed86bc3faea4300c7aee358b4c6d0c8d6ccc36524c96e4c92ccf26e77e" +dependencies = [ + "num-integer", + "strength_reduce", +] + [[package]] name = "tree_magic_mini" version = "3.1.5" @@ -17200,6 +17867,26 @@ version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" +[[package]] +name = "typed-builder" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77739c880e00693faef3d65ea3aad725f196da38b22fdc7ea6ded6e1ce4d3add" +dependencies = [ + "typed-builder-macro", +] + +[[package]] +name = "typed-builder-macro" +version = "0.18.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f718dfaf347dcb5b983bfc87608144b0bad87970aebcbea5ce44d2a30c08e63" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.77", +] + [[package]] name = "typemap-ors" version = "1.0.0" @@ -17614,6 +18301,20 @@ version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" +[[package]] +name = "voice_activity_detector" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71b24247433d70810944236cbd86e062cc24154749cf08e9fac6b4e691993a1e" +dependencies = [ + "futures", + "ndarray", + "ort", + "pin-project", + "thiserror", + "typed-builder", +] + [[package]] name = "void" version = "1.0.2" @@ -18344,7 +19045,7 @@ dependencies = [ "libc", "libloading 0.8.5", "log", - "metal", + "metal 0.28.0", "naga", "ndk-sys 0.5.0+25.2.9519653", "objc", @@ -18541,6 +19242,16 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9252e5725dbed82865af151df558e754e4a3c2c30818359eb17465f1346a1b49" +dependencies = [ + "windows-core 0.54.0", + "windows-targets 0.52.6", +] + [[package]] name = "windows-bindgen" version = "0.39.0" @@ -18569,6 +19280,16 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-core" +version = "0.54.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12661b9c89351d684a50a8a643ce5f608e20243b9fb84687800163429f161d65" +dependencies = [ + "windows-result", + "windows-targets 0.52.6", +] + [[package]] name = "windows-implement" version = "0.39.0" @@ -18585,6 +19306,15 @@ version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ee5e275231f07c6e240d14f34e1b635bf1faa1c76c57cfd59a5cdb9848e4278" +[[package]] +name = "windows-result" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5e383302e8ec8515204254685643de10811af0ed97ea37210dc26fb0032647f8" +dependencies = [ + "windows-targets 0.52.6", +] + [[package]] name = "windows-sys" version = "0.33.0" From 0a05bca443abe51a15b4ba555d9811518fd07a05 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 3 Sep 2024 16:46:53 +0200 Subject: [PATCH 043/183] Use ChatBuilder with history --- cli/src/eve.rs | 58 +++++++++++++++++++++++++++++++++----------------- 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/cli/src/eve.rs b/cli/src/eve.rs index 1b9a66465..9e4e368f6 100644 --- a/cli/src/eve.rs +++ b/cli/src/eve.rs @@ -262,39 +262,59 @@ pub async fn run(command: EveCommands) -> Result<()> { println!("Model loaded"); - let task = Task::builder(SYSTEM) + let _task = Task::builder(SYSTEM) .with_example(EXAMPLE_USER1, EXAMPLE_EVE1) .with_example(EXAMPLE_USER2, EXAMPLE_EVE2) .with_example(EXAMPLE_USER3, EXAMPLE_EVE3) .build(); - println!("Feeding examples..."); - task.run( - "Hello, let's pretend this is a new session. Who are you?", - &llama, - ) - .to_std_out() - .await - .unwrap(); + let history = vec![ + ChatHistoryItem::new(MessageType::UserMessage, EXAMPLE_USER1), + ChatHistoryItem::new(MessageType::ModelAnswer, EXAMPLE_EVE1), + ChatHistoryItem::new(MessageType::UserMessage, EXAMPLE_USER2), + ChatHistoryItem::new(MessageType::ModelAnswer, EXAMPLE_EVE2), + ChatHistoryItem::new(MessageType::UserMessage, EXAMPLE_USER3), + ChatHistoryItem::new(MessageType::ModelAnswer, EXAMPLE_EVE3), + ]; + + let session_path = std::path::PathBuf::from("eve.session"); match command { EveCommands::Train => { println!("Training Eve..."); - println!("Ad hoc training model for ADAM subject classes..."); - } - EveCommands::Prompt => { - println!("Prompting Eve..."); - let mut rl = rustyline::Editor::<()>::new()?; - let line = rl.readline(">> ")?; - task.run(line, &llama).to_std_out().await.unwrap(); + let mut chat = Chat::builder(llama) + .with_system_prompt(SYSTEM) + .with_initial_history(history) + .build(); - // let value: String = stream.all_text().await; + println!("\n\nTraining done."); - // println!("Result: {:?}", value); + chat.save_session(session_path.clone()) + .await + .expect("Could not save session"); + println!("Session saved to {:?}", session_path); + } + EveCommands::Prompt => { + println!("Prompting Eve..."); - println!("\n\n"); + let mut chat = Chat::builder(llama) + .with_try_session_path(&session_path) + .build(); + + for _ in 0..2 { + let mut rl = rustyline::Editor::<()>::new()?; + let line = rl.readline(">> ")?; + println!("\n\n"); + let mut output_stream = chat.add_message(line); + print!("Eve: "); + output_stream.to_std_out().await.unwrap(); + } + + //let mut rl = rustyline::Editor::<()>::new()?; + //let line = rl.readline(">> ")?; + //task.run(line, &llama).to_std_out().await.unwrap(); } } Ok(()) From e3a824f3565a5df1b16d825a43464e7fcc7525b1 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 14:47:46 +0530 Subject: [PATCH 044/183] feat: Add AIClient and AIResolver for AI functionality --- core/src/ai/AIClient.ts | 121 ++++++++++++++++++++++++++++++++++++++ core/src/ai/AIResolver.ts | 69 ++++++++++++++++++++++ core/src/ai/Tasks.ts | 62 +++++++++++++++++++ core/src/buildSchema.ts | 4 +- core/src/index.ts | 2 + 5 files changed, 257 insertions(+), 1 deletion(-) create mode 100644 core/src/ai/AIClient.ts create mode 100644 core/src/ai/AIResolver.ts create mode 100644 core/src/ai/Tasks.ts diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts new file mode 100644 index 000000000..cf7ac8a93 --- /dev/null +++ b/core/src/ai/AIClient.ts @@ -0,0 +1,121 @@ +import { ApolloClient, gql } from "@apollo/client"; +import unwrapApolloResult from "../unwrapApolloResult"; +import { Task } from "./Tasks"; + +export class AIClient { + #apolloClient: ApolloClient; + + constructor(apolloClient: ApolloClient) { + this.#apolloClient = apolloClient; + } + + async tasks(): Promise { + const { tasks } = unwrapApolloResult(await this.#apolloClient.query({ + query: gql` + query { + tasks { + modelId + taskId + systemPrompt + promptExamples { + input + output + } + } + } + ` + })); + + return tasks; + } + + async addTask(modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[]): Promise { + const { addTask } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation AddTask($modelId: String!, $systemPrompt: String!, $promptExamples: [PromptExamplesInput!]!) { + addTask(modelId: $modelId, systemPrompt: $systemPrompt, promptExamples: $promptExamples) { + modelId + taskId + systemPrompt + promptExamples { + input + output + } + } + } + `, + variables: { + modelId, + systemPrompt, + promptExamples + } + })); + + return addTask; + } + + async removeTask(taskId: string): Promise { + const { removeTask } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation RemoveTask($taskId: String!) { + removeTask(taskId: $taskId) { + modelId + taskId + systemPrompt + promptExamples { + input + output + } + } + } + `, + variables: { + taskId + } + })); + + return removeTask; + } + + async updateTask(taskId: string, task: Task): Promise { + const { updateTask } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation UpdateTask($taskId: String!, $task: TaskInput!) { + updateTask(taskId: $taskId, task: $task) { + modelId + taskId + systemPrompt + promptExamples { + input + output + } + } + } + `, + variables: { + taskId, + task + } + })); + + return updateTask; + } + + async prompt(taskId: string, prompt: string): Promise { + const { prompt: output } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation Prompt($taskId: String!, $prompt: String!) { + prompt(taskId: $taskId, prompt: $prompt) { + result + } + } + `, + variables: { + taskId, + prompt + } + })); + + return output.result; + } +} \ No newline at end of file diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts new file mode 100644 index 000000000..1cab268eb --- /dev/null +++ b/core/src/ai/AIResolver.ts @@ -0,0 +1,69 @@ +import { Query, Resolver, Mutation, Arg, InputType, Field } from "type-graphql"; +import { PromptExamplesInput, PromptOutput, Task } from "./Tasks"; + +@InputType() +export class TaskInput { + @Field() + modelId: string + + @Field() + systemPrompt: string + + @Field(type => [PromptExamplesInput]) + promptExamples: PromptExamplesInput[] +} + +@Resolver() +export default class AIResolver { + @Query(() => [Task]) + tasks(): Task[] { + return [] + } + + @Mutation(() => Task) + addTask( + @Arg("task") task: TaskInput, + ): Task { + return new Task( + task.modelId, + "task_id", + task.systemPrompt, + task.promptExamples + ) + } + + @Mutation(() => Task) + removeTask( + @Arg("task_id") task_id: string + ): Task { + return new Task( + "modelId", + task_id, + "systemPrompt", + [] + ) + } + + @Mutation(() => Task) + updateTask( + @Arg("task_id") task_id: string, + @Arg("task") task: TaskInput, + ): Task { + return new Task( + task.modelId, + task_id, + task.systemPrompt, + task.promptExamples + ) + } + + @Mutation(() => Task) + prompt( + @Arg("task_id") task_id: string, + @Arg("prompt") input: string + ): PromptOutput { + return new PromptOutput( + "output" + ) + } +} \ No newline at end of file diff --git a/core/src/ai/Tasks.ts b/core/src/ai/Tasks.ts new file mode 100644 index 000000000..abb3c8cab --- /dev/null +++ b/core/src/ai/Tasks.ts @@ -0,0 +1,62 @@ +import { Field, InputType, ObjectType } from "type-graphql"; + +@InputType() +export class PromptExamplesInput { + @Field() + input: string; + + @Field() + output: string; + + constructor(input: string, output: string) { + this.input = input; + this.output = output; + } +} + + +@ObjectType() +export class PromptExamples { + @Field() + input: string; + + @Field() + output: string; + + constructor(input: string, output: string) { + this.input = input; + this.output = output; + } +} + +@ObjectType() +export class Task { + @Field() + model_id: string; + + @Field() + task_id: string; + + @Field() + system_prompt: string; + + @Field(type => [PromptExamples]) + prompt_examples: PromptExamples[]; + + constructor(model_id: string, task_id: string, system_prompt: string, prompt_examples: PromptExamples[]) { + this.model_id = model_id; + this.task_id = task_id; + this.system_prompt = system_prompt; + this.prompt_examples = prompt_examples; + } +} + +@ObjectType() +export class PromptOutput { + @Field() + result: string; + + constructor(result: string) { + this.result = result; + } +} \ No newline at end of file diff --git a/core/src/buildSchema.ts b/core/src/buildSchema.ts index d741aa4fc..5f1e497c3 100644 --- a/core/src/buildSchema.ts +++ b/core/src/buildSchema.ts @@ -9,6 +9,7 @@ import LanguageResolver from "./language/LanguageResolver"; import NeighbourhoodResolver from "./neighbourhood/NeighbourhoodResolver"; import PerspectiveResolver from "./perspectives/PerspectiveResolver"; import RuntimeResolver from "./runtime/RuntimeResolver"; +import AIResolver from "./ai/AIResolver"; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); @@ -20,7 +21,8 @@ buildSchema({ LanguageResolver, NeighbourhoodResolver, PerspectiveResolver, - RuntimeResolver + RuntimeResolver, + AIResolver ], emitSchemaFile: { path: __dirname + '/schema.gql', diff --git a/core/src/index.ts b/core/src/index.ts index 282a42238..82b3a9c1d 100644 --- a/core/src/index.ts +++ b/core/src/index.ts @@ -28,3 +28,5 @@ export * from "./DID"; export * from "./utils"; export * from './subject/SubjectEntity' export * from "./agent/AgentClient"; +export * from "./ai/AIClient" +export * from "./ai/Tasks" From 2979da0a08f5f7e515b85fb504fd9c8ac862267a Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 15:06:57 +0530 Subject: [PATCH 045/183] Added new mutation for embed --- core/package.json | 4 +++- core/pnpm-lock.yaml | 14 ++++++++++++++ core/src/ai/AIClient.ts | 22 ++++++++++++++++++++++ core/src/ai/AIResolver.ts | 8 ++++++++ 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/core/package.json b/core/package.json index 32ac930e9..5abbee9fb 100644 --- a/core/package.json +++ b/core/package.json @@ -39,7 +39,9 @@ "express": "4.18.2", "graphql": "15.7.2", "reflect-metadata": "^0.1.13", - "type-graphql": "1.1.1" + "type-graphql": "1.1.1", + "pako": "*", + "base64js": "*" }, "devDependencies": { "@apollo/server": "^4.9.4", diff --git a/core/pnpm-lock.yaml b/core/pnpm-lock.yaml index 6f15f6424..98a0584a1 100644 --- a/core/pnpm-lock.yaml +++ b/core/pnpm-lock.yaml @@ -22,6 +22,9 @@ importers: '@types/jest': specifier: ^26.0.14 version: 26.0.24 + base64js: + specifier: '*' + version: 1.0.1 class-validator: specifier: ^0.13.1 version: 0.13.2 @@ -31,6 +34,9 @@ importers: graphql: specifier: 15.7.2 version: 15.7.2(patch_hash=g4ubilmxli6fuk7eusupjbkdjm) + pako: + specifier: '*' + version: 2.1.0 reflect-metadata: specifier: ^0.1.13 version: 0.1.14 @@ -1650,6 +1656,10 @@ packages: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true + /base64js@1.0.1: + resolution: {integrity: sha512-jxGN7DS7e+HHO5u+UT9NzK2BMKJByQPmmdXyvad7TN0mPKGC4kRMTnnV7g7HqhLlW51AFmtbRM4IDGxysBYuVg==} + dev: false + /base@0.11.2: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} engines: {node: '>=0.10.0'} @@ -4975,6 +4985,10 @@ packages: engines: {node: '>=6'} dev: true + /pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + dev: false + /parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} dependencies: diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index cf7ac8a93..60a889dfa 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -1,6 +1,8 @@ import { ApolloClient, gql } from "@apollo/client"; import unwrapApolloResult from "../unwrapApolloResult"; import { Task } from "./Tasks"; +import base64js from 'base64js'; +import pako from 'pako' export class AIClient { #apolloClient: ApolloClient; @@ -118,4 +120,24 @@ export class AIClient { return output.result; } + + async embed(modelId: string, text: string): Promise> { + const { embed } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation Embed($modelId: String!, $text: String!) { + embed(modelId: $modelId, text: $text) + } + `, + variables: { + modelId, + text + } + })); + + const compressed = base64js.toByteArray(embed); + + const decompressed = JSON.parse(pako.inflate(compressed)); + + return decompressed; + } } \ No newline at end of file diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index 1cab268eb..aba8f93c2 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -66,4 +66,12 @@ export default class AIResolver { "output" ) } + + @Mutation(() => String) + embed( + @Arg("model_id") model_id: string, + @Arg("text") text: string + ): string { + return "output" + } } \ No newline at end of file From 782da91083039384483d7d5852011d04921c68ef Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 15:12:46 +0530 Subject: [PATCH 046/183] feat: Update AIResolver embed method to compress and decompress vectors --- core/src/ai/AIResolver.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index aba8f93c2..c63126445 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -1,5 +1,7 @@ import { Query, Resolver, Mutation, Arg, InputType, Field } from "type-graphql"; import { PromptExamplesInput, PromptOutput, Task } from "./Tasks"; +import pako from "pako"; +import base64js from "base64js"; @InputType() export class TaskInput { @@ -71,7 +73,15 @@ export default class AIResolver { embed( @Arg("model_id") model_id: string, @Arg("text") text: string - ): string { - return "output" + ): [number] { + const vec = [0, 10, 20, 30]; + const vecString = JSON.stringify(vec); + const compressed = pako.deflate(vecString); + const compressedString = base64js.fromByteArray(compressed); + + const vecString1 = base64js.toByteArray(compressedString); + const decompressed = pako.inflate(vecString1); + + return decompressed; } } \ No newline at end of file From b121cb861eabab91a7cf754b3a1e61d594ec24eb Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 15:14:58 +0530 Subject: [PATCH 047/183] feat: Add AIClient for AI functionality --- core/src/Ad4mClient.ts | 7 +++++++ core/src/ai/AIClient.ts | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/core/src/Ad4mClient.ts b/core/src/Ad4mClient.ts index 0699c215d..693ddbcfb 100644 --- a/core/src/Ad4mClient.ts +++ b/core/src/Ad4mClient.ts @@ -5,6 +5,7 @@ import { NeighbourhoodClient } from './neighbourhood/NeighbourhoodClient' import { PerspectiveClient } from './perspectives/PerspectiveClient' import { RuntimeClient } from './runtime/RuntimeClient' import { ExpressionClient } from './expression/ExpressionClient' +import { AIClient } from './ai/AIClient' /** * Client for the Ad4m interface wrapping GraphQL queryies @@ -23,6 +24,7 @@ export class Ad4mClient { #neighbourhoodClient: NeighbourhoodClient #perspectiveClient: PerspectiveClient #runtimeClient: RuntimeClient + #aiClient: AIClient constructor(client: ApolloClient, subscribe: boolean = true) { @@ -35,6 +37,7 @@ export class Ad4mClient { this.#perspectiveClient.setExpressionClient(this.#expressionClient) this.#perspectiveClient.setNeighbourhoodClient(this.#neighbourhoodClient) this.#runtimeClient = new RuntimeClient(this.#apolloClient, subscribe) + this.#aiClient = new AIClient(this.#apolloClient, subscribe) } get agent(): AgentClient { @@ -60,4 +63,8 @@ export class Ad4mClient { get runtime(): RuntimeClient { return this.#runtimeClient } + + get ai(): AIClient { + return this.#aiClient + } } \ No newline at end of file diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 60a889dfa..8afd72c33 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -7,7 +7,7 @@ import pako from 'pako' export class AIClient { #apolloClient: ApolloClient; - constructor(apolloClient: ApolloClient) { + constructor(apolloClient: ApolloClient, subscribe: boolean = true) { this.#apolloClient = apolloClient; } From e31a53fa0d849da6291877c8400b4c2e48c1a26f Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 11:45:57 +0200 Subject: [PATCH 048/183] Smoke test ad4mClient.ai.embed() --- core/src/Ad4mClient.test.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/src/Ad4mClient.test.ts b/core/src/Ad4mClient.test.ts index 3c5e15733..26895a298 100644 --- a/core/src/Ad4mClient.test.ts +++ b/core/src/Ad4mClient.test.ts @@ -1150,4 +1150,13 @@ describe('Ad4mClient', () => { }) }) }) + describe('.ai', () => { + it('embed()', async () => { + const vector = await ad4mClient.ai.embed() + expect(vector[0]).toEqual(0) + expect(vector[1]).toEqual(10) + expect(vector[2]).toEqual(20) + expect(vector[3]).toEqual(30) + }) + }) }) \ No newline at end of file From 76e02f06d9de0155862fb8604a82299d4b2a6e47 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 16:07:24 +0530 Subject: [PATCH 049/183] feat: Add AI transcription functionality to AIClient and AIResolver --- core/src/PubSub.ts | 3 +- core/src/ai/AIClient.ts | 58 +++++++++++++++++++++++++++++++++++++++ core/src/ai/AIResolver.ts | 33 +++++++++++++++++++++- 3 files changed, 92 insertions(+), 2 deletions(-) diff --git a/core/src/PubSub.ts b/core/src/PubSub.ts index f7da01a37..0029e7f80 100644 --- a/core/src/PubSub.ts +++ b/core/src/PubSub.ts @@ -13,4 +13,5 @@ export const RUNTIME_NOTIFICATION_REQUESTED_TOPIC = "runtime-notification-reques export const RUNTIME_NOTIFICATION_TRIGGERED_TOPIC = "runtime-notification-triggered-topic" export const NEIGHBOURHOOD_SIGNAL_RECEIVED_TOPIC = "neighbourhood-signal-received-topic" export const PERSPECTIVE_SYNC_STATE_CHANGE = "perspective-sync-state-change" -export const APPS_CHANGED = "apps-changed" \ No newline at end of file +export const APPS_CHANGED = "apps-changed" +export const AI_TRANSCRIPTION_TEXT_TOPIC = "ai-transcription-text-topic" \ No newline at end of file diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 8afd72c33..544f49d09 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -140,4 +140,62 @@ export class AIClient { return decompressed; } + + async openTranscriptionStream(modelId: string): Promise { + const { openTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation OpenTranscriptionStream { + openTranscriptionStream + } + ` + })); + + return openTranscriptionStream.stream_id; + } + + async closeTranscriptionStream(streamId: string): Promise { + const { closeTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation CloseTranscriptionStream($streamId: String!) { + closeTranscriptionStream(streamId: $streamId) + } + `, + variables: { + streamId + } + })); + + return closeTranscriptionStream; + } + + async feedTranscriptionStream(streamId: string, audio: Float32Array): Promise { + const { feedTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ + mutation: gql` + mutation FeedTranscriptionStream($streamId: String!, $audio: [Float!]) { + feedTranscriptionStream(streamId: $streamId, audio: $audio) + } + `, + variables: { + streamId, + audio: audio + } + })); + + return feedTranscriptionStream; + } + + async transcriptionText(streamId: string): Promise { + const { transcriptionText } = unwrapApolloResult(await this.#apolloClient.query({ + query: gql` + subscription TranscriptionText($streamId: String!) { + transcriptionText(streamId: $streamId) + } + `, + variables: { + streamId + } + })); + + return transcriptionText; + } } \ No newline at end of file diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index c63126445..3f14537ab 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -1,7 +1,8 @@ -import { Query, Resolver, Mutation, Arg, InputType, Field } from "type-graphql"; +import { Query, Resolver, Mutation, Arg, InputType, Field, Subscription, Float} from "type-graphql"; import { PromptExamplesInput, PromptOutput, Task } from "./Tasks"; import pako from "pako"; import base64js from "base64js"; +import { AI_TRANSCRIPTION_TEXT_TOPIC } from "../PubSub"; @InputType() export class TaskInput { @@ -15,6 +16,7 @@ export class TaskInput { promptExamples: PromptExamplesInput[] } + @Resolver() export default class AIResolver { @Query(() => [Task]) @@ -84,4 +86,33 @@ export default class AIResolver { return decompressed; } + + @Mutation(() => String) + openTranscriptionStream( + @Arg("model_id") model_id: string + ): string { + return "stream_id" + } + + @Mutation(() => String) + closeTranscriptionStream( + @Arg("stream_id") stream_id: string + ): boolean { + return true + } + + @Mutation(() => String) + feedTranscriptionStream( + @Arg("stream_id") stream_id: string, + @Arg("audio", () => [Float]) audio: number[] + ): boolean { + return true + } + + @Subscription({ topics: AI_TRANSCRIPTION_TEXT_TOPIC, nullable: false }) + transcriptionText( + @Arg("stream_id") stream_id: string + ): string { + return "transcription" + } } \ No newline at end of file From 17c087ab0704c4396cf6f870e79aa538fd62796e Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 16:10:42 +0530 Subject: [PATCH 050/183] refactor: Pass modelId as a variable in openTranscriptionStream mutation --- core/src/ai/AIClient.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 544f49d09..864ec703f 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -145,9 +145,12 @@ export class AIClient { const { openTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation OpenTranscriptionStream { - openTranscriptionStream + openTranscriptionStream(modelId: $modelId) } - ` + `, + variables: { + modelId + } })); return openTranscriptionStream.stream_id; From 8e643a059bc2d3b0ebf5603ea605a2420ab700bc Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 16:11:56 +0530 Subject: [PATCH 051/183] feat: Update AIClient to use Apollo subscription for transcriptionText --- core/src/ai/AIClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 864ec703f..853656da6 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -188,7 +188,7 @@ export class AIClient { } async transcriptionText(streamId: string): Promise { - const { transcriptionText } = unwrapApolloResult(await this.#apolloClient.query({ + const { transcriptionText } = unwrapApolloResult(await this.#apolloClient.subscribe({ query: gql` subscription TranscriptionText($streamId: String!) { transcriptionText(streamId: $streamId) From 191080e7c64b2fa02e7f8d15730d2ced385ed432 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 16:19:30 +0530 Subject: [PATCH 052/183] refactor: Update AIClient to use Apollo subscription for transcriptionText --- core/src/ai/AIClient.ts | 40 ++++++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 853656da6..fd9c92048 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -6,6 +6,7 @@ import pako from 'pako' export class AIClient { #apolloClient: ApolloClient; + #streams: Map = new Map(); constructor(apolloClient: ApolloClient, subscribe: boolean = true) { this.#apolloClient = apolloClient; @@ -141,7 +142,7 @@ export class AIClient { return decompressed; } - async openTranscriptionStream(modelId: string): Promise { + async openTranscriptionStream(modelId: string, streamCallback: (text: string) => void): Promise { const { openTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation OpenTranscriptionStream { @@ -153,6 +154,28 @@ export class AIClient { } })); + const callback = await this.#apolloClient.subscribe({ + query: gql` + subscription TranscriptionText($streamId: String!) { + transcriptionText(streamId: $streamId) + } + `, + variables: { + streamId: openTranscriptionStream.stream_id + } + }).subscribe({ + next(data) { + streamCallback(data.data.transcriptionText); + + return data.data.transcriptionText; + }, + error(err) { + console.error(err); + } + }); + + this.#streams.set(openTranscriptionStream.stream_id, callback); + return openTranscriptionStream.stream_id; } @@ -186,19 +209,4 @@ export class AIClient { return feedTranscriptionStream; } - - async transcriptionText(streamId: string): Promise { - const { transcriptionText } = unwrapApolloResult(await this.#apolloClient.subscribe({ - query: gql` - subscription TranscriptionText($streamId: String!) { - transcriptionText(streamId: $streamId) - } - `, - variables: { - streamId - } - })); - - return transcriptionText; - } } \ No newline at end of file From e747a2c556a0cdf7ee8ef2eb99d7baf4ea652169 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 16:22:06 +0530 Subject: [PATCH 053/183] refactor: Update AIClient to use Apollo subscription for transcriptionText --- core/src/ai/AIClient.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index fd9c92048..09172b443 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -6,7 +6,7 @@ import pako from 'pako' export class AIClient { #apolloClient: ApolloClient; - #streams: Map = new Map(); + #transcriptionSubscriptions: Map = new Map(); constructor(apolloClient: ApolloClient, subscribe: boolean = true) { this.#apolloClient = apolloClient; @@ -154,7 +154,7 @@ export class AIClient { } })); - const callback = await this.#apolloClient.subscribe({ + const subscription = await this.#apolloClient.subscribe({ query: gql` subscription TranscriptionText($streamId: String!) { transcriptionText(streamId: $streamId) @@ -174,7 +174,7 @@ export class AIClient { } }); - this.#streams.set(openTranscriptionStream.stream_id, callback); + this.#transcriptionSubscriptions.set(openTranscriptionStream.stream_id, () => subscription); return openTranscriptionStream.stream_id; } @@ -191,6 +191,12 @@ export class AIClient { } })); + const subscription = this.#transcriptionSubscriptions.get(streamId); + + if (!subscription.closed) { + subscription.unsubscribe(); + } + return closeTranscriptionStream; } From 5183e89e07689f074ac7e6aeec450872d4426a15 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 16:31:25 +0530 Subject: [PATCH 054/183] refactor: Update AIClient to use Apollo subscription for transcriptionText --- core/src/ai/AIClient.ts | 38 +++++++++++++++++++------------------- core/src/ai/AIResolver.ts | 18 +++++++++--------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 09172b443..756f2fbdd 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -16,7 +16,7 @@ export class AIClient { const { tasks } = unwrapApolloResult(await this.#apolloClient.query({ query: gql` query { - tasks { + aiTasks { modelId taskId systemPrompt @@ -35,8 +35,8 @@ export class AIClient { async addTask(modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[]): Promise { const { addTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation AddTask($modelId: String!, $systemPrompt: String!, $promptExamples: [PromptExamplesInput!]!) { - addTask(modelId: $modelId, systemPrompt: $systemPrompt, promptExamples: $promptExamples) { + mutation AiAddTask($modelId: String!, $systemPrompt: String!, $promptExamples: [PromptExamplesInput!]!) { + aiAddTask(modelId: $modelId, systemPrompt: $systemPrompt, promptExamples: $promptExamples) { modelId taskId systemPrompt @@ -60,8 +60,8 @@ export class AIClient { async removeTask(taskId: string): Promise { const { removeTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation RemoveTask($taskId: String!) { - removeTask(taskId: $taskId) { + mutation AiRemoveTask($taskId: String!) { + aiRemoveTask(taskId: $taskId) { modelId taskId systemPrompt @@ -83,8 +83,8 @@ export class AIClient { async updateTask(taskId: string, task: Task): Promise { const { updateTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation UpdateTask($taskId: String!, $task: TaskInput!) { - updateTask(taskId: $taskId, task: $task) { + mutation AiUpdateTask($taskId: String!, $task: TaskInput!) { + aiUpdateTask(taskId: $taskId, task: $task) { modelId taskId systemPrompt @@ -107,8 +107,8 @@ export class AIClient { async prompt(taskId: string, prompt: string): Promise { const { prompt: output } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation Prompt($taskId: String!, $prompt: String!) { - prompt(taskId: $taskId, prompt: $prompt) { + mutation AiPrompt($taskId: String!, $prompt: String!) { + aiPrompt(taskId: $taskId, prompt: $prompt) { result } } @@ -125,8 +125,8 @@ export class AIClient { async embed(modelId: string, text: string): Promise> { const { embed } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation Embed($modelId: String!, $text: String!) { - embed(modelId: $modelId, text: $text) + mutation AiEmbed($modelId: String!, $text: String!) { + aiEmbed(modelId: $modelId, text: $text) } `, variables: { @@ -145,8 +145,8 @@ export class AIClient { async openTranscriptionStream(modelId: string, streamCallback: (text: string) => void): Promise { const { openTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation OpenTranscriptionStream { - openTranscriptionStream(modelId: $modelId) + mutation AiOpenTranscriptionStream { + aiOpenTranscriptionStream(modelId: $modelId) } `, variables: { @@ -156,8 +156,8 @@ export class AIClient { const subscription = await this.#apolloClient.subscribe({ query: gql` - subscription TranscriptionText($streamId: String!) { - transcriptionText(streamId: $streamId) + subscription AiTranscriptionText($streamId: String!) { + aiTranscriptionText(streamId: $streamId) } `, variables: { @@ -182,8 +182,8 @@ export class AIClient { async closeTranscriptionStream(streamId: string): Promise { const { closeTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation CloseTranscriptionStream($streamId: String!) { - closeTranscriptionStream(streamId: $streamId) + mutation AiCloseTranscriptionStream($streamId: String!) { + aiCloseTranscriptionStream(streamId: $streamId) } `, variables: { @@ -203,8 +203,8 @@ export class AIClient { async feedTranscriptionStream(streamId: string, audio: Float32Array): Promise { const { feedTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation FeedTranscriptionStream($streamId: String!, $audio: [Float!]) { - feedTranscriptionStream(streamId: $streamId, audio: $audio) + mutation AiFeedTranscriptionStream($streamId: String!, $audio: [Float!]) { + aiFeedTranscriptionStream(streamId: $streamId, audio: $audio) } `, variables: { diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index 3f14537ab..136f1a656 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -25,7 +25,7 @@ export default class AIResolver { } @Mutation(() => Task) - addTask( + aiAddTask( @Arg("task") task: TaskInput, ): Task { return new Task( @@ -37,7 +37,7 @@ export default class AIResolver { } @Mutation(() => Task) - removeTask( + aiRemoveTask( @Arg("task_id") task_id: string ): Task { return new Task( @@ -49,7 +49,7 @@ export default class AIResolver { } @Mutation(() => Task) - updateTask( + aiUpdateTask( @Arg("task_id") task_id: string, @Arg("task") task: TaskInput, ): Task { @@ -62,7 +62,7 @@ export default class AIResolver { } @Mutation(() => Task) - prompt( + aiPrompt( @Arg("task_id") task_id: string, @Arg("prompt") input: string ): PromptOutput { @@ -72,7 +72,7 @@ export default class AIResolver { } @Mutation(() => String) - embed( + aiEmbed( @Arg("model_id") model_id: string, @Arg("text") text: string ): [number] { @@ -88,21 +88,21 @@ export default class AIResolver { } @Mutation(() => String) - openTranscriptionStream( + aiOpenTranscriptionStream( @Arg("model_id") model_id: string ): string { return "stream_id" } @Mutation(() => String) - closeTranscriptionStream( + aiCloseTranscriptionStream( @Arg("stream_id") stream_id: string ): boolean { return true } @Mutation(() => String) - feedTranscriptionStream( + aiFeedTranscriptionStream( @Arg("stream_id") stream_id: string, @Arg("audio", () => [Float]) audio: number[] ): boolean { @@ -110,7 +110,7 @@ export default class AIResolver { } @Subscription({ topics: AI_TRANSCRIPTION_TEXT_TOPIC, nullable: false }) - transcriptionText( + aiTranscriptionText( @Arg("stream_id") stream_id: string ): string { return "transcription" From 73870627710754444bba4008b068e73bbc25b64d Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 17:08:21 +0530 Subject: [PATCH 055/183] refactor: Add tasks table to Ad4mDb and implement CRUD operations for tasks --- rust-executor/src/db.rs | 62 +++++++++++++++++++++++++++++++++++++- rust-executor/src/types.rs | 16 ++++++++++ 2 files changed, 77 insertions(+), 1 deletion(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index c1a3fe7c3..3d3c4ef2f 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -3,7 +3,8 @@ use crate::graphql::graphql_types::{ SentMessage, }; use crate::types::{ - Expression, ExpressionProof, Link, LinkExpression, Notification, PerspectiveDiff, + AIPromptExamples, Expression, ExpressionProof, Link, LinkExpression, Notification, + PerspectiveDiff, }; use deno_core::anyhow::anyhow; use deno_core::error::AnyError; @@ -162,8 +163,67 @@ impl Ad4mDb { [], )?; + conn.execute( + "CREATE TABLE IF NOT EXISTS tasks ( + id TEXT PRIMARY KEY, + model_id TEXT NOT NULL, + system_prompt TEXT NOT NULL, + prompt_exmaples TEXT NOT NULL, + )", + [], + )?; + Ok(Self { conn }) } + + pub fn add_tasks( + &self, + model_id: String, + system_prompt: String, + prompt_examples: AIPromptExamples, + ) -> Result { + let id = uuid::Uuid::new_v4().to_string(); + self.conn.execute( + "INSERT INTO tasks (id, model_id, system_prompt, prompt_examples) VALUES (?1, ?2, ?3, ?4)", + params![id, model_id, system_prompt, serde_json::to_string(&prompt_examples).unwrap()], + )?; + Ok(id) + } + + pub fn remove_tasks(&self, id: String) -> Result<(), rusqlite::Error> { + self.conn.execute("DELETE FROM tasks WHERE id = ?", [id])?; + Ok(()) + } + + pub fn get_tasks(&self) -> Result, rusqlite::Error> { + let mut stmt = self.conn.prepare("SELECT * FROM tasks")?; + let task_iter = stmt.query_map([], |row| { + let prompt_examples: AIPromptExamples = + serde_json::from_str(&row.get::<_, String>(3)?).unwrap(); + Ok(prompt_examples) + })?; + + let mut tasks = Vec::new(); + for task in task_iter { + tasks.push(task?); + } + Ok(tasks) + } + + pub fn update_tasks( + &self, + id: String, + model_id: String, + system_prompt: String, + prompt_examples: AIPromptExamples, + ) -> Result { + let result = self.conn.execute( + "UPDATE tasks SET model_id = ?2, system_prompt = ?3, prompt_examples = ?4 WHERE id = ?1", + params![id, model_id, system_prompt, serde_json::to_string(&prompt_examples).unwrap()], + )?; + Ok(result > 0) + } + pub fn add_notification( &self, notification: NotificationInput, diff --git a/rust-executor/src/types.rs b/rust-executor/src/types.rs index c577e87da..45befb999 100644 --- a/rust-executor/src/types.rs +++ b/rust-executor/src/types.rs @@ -378,6 +378,22 @@ pub struct Notification { pub webhook_auth: String, } +#[derive(GraphQLObject, Serialize, Deserialize, Debug, Clone, PartialEq, Eq, PartialOrd, Ord)] +#[serde(rename_all = "camelCase")] +pub struct AIPromptExamples { + pub input: String, + pub output: String, +} + +#[derive(GraphQLObject, Serialize, Deserialize, Debug, Clone, PartialEq, Eq, PartialOrd, Ord)] +#[serde(rename_all = "camelCase")] +pub struct AITask { + pub id: String, + pub model_id: String, + pub system_prompt: String, + pub prompt_examples: Vec, +} + impl Notification { pub fn from_input_and_id(id: String, input: NotificationInput) -> Self { Notification { From d28fbb4963cf1b9bdb0a8095e218e6c4ff3474c8 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 17:12:17 +0530 Subject: [PATCH 056/183] refactor: Rename add_tasks to add_task, remove_tasks to remove_task, and update_tasks to update_task in Ad4mDb --- rust-executor/src/db.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 3d3c4ef2f..ed5995105 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -176,7 +176,7 @@ impl Ad4mDb { Ok(Self { conn }) } - pub fn add_tasks( + pub fn add_task( &self, model_id: String, system_prompt: String, @@ -190,7 +190,7 @@ impl Ad4mDb { Ok(id) } - pub fn remove_tasks(&self, id: String) -> Result<(), rusqlite::Error> { + pub fn remove_task(&self, id: String) -> Result<(), rusqlite::Error> { self.conn.execute("DELETE FROM tasks WHERE id = ?", [id])?; Ok(()) } @@ -210,7 +210,7 @@ impl Ad4mDb { Ok(tasks) } - pub fn update_tasks( + pub fn update_task( &self, id: String, model_id: String, From 86e7fe1a9fb6f52dcbdceba53bcdba95e66d5d39 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 17:44:55 +0530 Subject: [PATCH 057/183] refactor: Update Ad4mDb to use Vec for prompt_examples in add_task method --- rust-executor/src/db.rs | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index ed5995105..6ff31a4fa 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -3,8 +3,7 @@ use crate::graphql::graphql_types::{ SentMessage, }; use crate::types::{ - AIPromptExamples, Expression, ExpressionProof, Link, LinkExpression, Notification, - PerspectiveDiff, + AIPromptExamples, AITask, Expression, ExpressionProof, Link, LinkExpression, Notification, PerspectiveDiff }; use deno_core::anyhow::anyhow; use deno_core::error::AnyError; @@ -180,7 +179,7 @@ impl Ad4mDb { &self, model_id: String, system_prompt: String, - prompt_examples: AIPromptExamples, + prompt_examples: Vec, ) -> Result { let id = uuid::Uuid::new_v4().to_string(); self.conn.execute( @@ -195,12 +194,36 @@ impl Ad4mDb { Ok(()) } - pub fn get_tasks(&self) -> Result, rusqlite::Error> { + pub fn get_task(&self, id: String) -> Result, rusqlite::Error> { + let mut stmt = self.conn.prepare("SELECT * FROM tasks WHERE id = ?")?; + let mut rows = stmt.query(params![id])?; + + if let Some(row) = rows.next()? { + let prompt_examples: Vec = + serde_json::from_str(&row.get::<_, String>(3)?).unwrap(); + Ok(Some(AITask { + id: row.get(0)?, + model_id: row.get(1)?, + system_prompt: row.get(2)?, + prompt_examples, + })) + } else { + Ok(None) + } + } + + pub fn get_tasks(&self) -> Result, rusqlite::Error> { let mut stmt = self.conn.prepare("SELECT * FROM tasks")?; let task_iter = stmt.query_map([], |row| { - let prompt_examples: AIPromptExamples = + let prompt_examples: Vec = serde_json::from_str(&row.get::<_, String>(3)?).unwrap(); - Ok(prompt_examples) + let task = AITask { + id: row.get(0)?, + model_id: row.get(1)?, + system_prompt: row.get(2)?, + prompt_examples, + }; + Ok(task) })?; let mut tasks = Vec::new(); @@ -215,7 +238,7 @@ impl Ad4mDb { id: String, model_id: String, system_prompt: String, - prompt_examples: AIPromptExamples, + prompt_examples: Vec, ) -> Result { let result = self.conn.execute( "UPDATE tasks SET model_id = ?2, system_prompt = ?3, prompt_examples = ?4 WHERE id = ?1", From ccd6b8dd65869973abae1cdd0da30ca860c3b91f Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 4 Sep 2024 17:45:17 +0530 Subject: [PATCH 058/183] feat: Add AI service module and implementation --- rust-executor/src/ai_service/mod.rs | 114 ++++++++++++++++++++++ rust-executor/src/js_core/ai_extension.rs | 2 + rust-executor/src/js_core/mod.rs | 1 + rust-executor/src/lib.rs | 1 + 4 files changed, 118 insertions(+) create mode 100644 rust-executor/src/ai_service/mod.rs create mode 100644 rust-executor/src/js_core/ai_extension.rs diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs new file mode 100644 index 000000000..c0d8169f8 --- /dev/null +++ b/rust-executor/src/ai_service/mod.rs @@ -0,0 +1,114 @@ +use std::sync::{Arc, Mutex}; +use std::fmt; +use crate::db::Ad4mDb; +use crate::types::AITask; + +#[derive(Debug)] +pub enum AIServiceError { + DatabaseError(String), + TaskNotFound, + ServiceNotInitialized, + LockError, +} + +impl fmt::Display for AIServiceError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + AIServiceError::DatabaseError(msg) => write!(f, "Database error: {}", msg), + AIServiceError::TaskNotFound => write!(f, "Task not found"), + AIServiceError::ServiceNotInitialized => write!(f, "Service not initialized"), + AIServiceError::LockError => write!(f, "Lock error"), + } + } +} + +pub type Result = std::result::Result; + + +lazy_static! { + static ref AI_SERVICE: Arc>> = Arc::new(Mutex::new(None)); +} + +pub struct AIService {} + +impl AIService { + pub fn init_global_instance() { + let mut ai_service = AI_SERVICE.lock().unwrap(); + *ai_service = Some(AIService::new()); + } + + pub fn new() -> Self { + Self {} + } + + pub fn global_instance() -> Arc>> { + AI_SERVICE.clone() + } + + pub fn with_global_instance(f: F) -> R + where + F: FnOnce(&AIService) -> R, + { + let global_instance_arc = AIService::global_instance(); + let lock_result = global_instance_arc.lock(); + let ai_service_lock = lock_result.expect("Couldn't get lock on AIService"); + let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); + f(ai_service_ref) + } + + pub fn with_mutable_global_instance(f: F) + where + F: FnOnce(&mut AIService), + { + let global_instance_arc = AIService::global_instance(); + let lock_result = global_instance_arc.lock(); + let mut ai_service_lock = lock_result.expect("Couldn't get lock on AIService"); + let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); + f(ai_service_mut) + } + + pub fn add_task(task: AITask) -> Result { + let task_id = Ad4mDb::with_global_instance(|db| db.add_task(task.model_id, task.system_prompt, task.prompt_examples)) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + + let retrieved_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? + .ok_or(AIServiceError::TaskNotFound)?; + + Ok(retrieved_task) + } + + pub fn delete_task(task_id: String) -> Result<()> { + Ad4mDb::with_global_instance(|db| db.remove_task(task_id)) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + Ok(()) + } + + pub fn get_tasks() -> Result> { + let tasks = Ad4mDb::with_global_instance(|db| db.get_tasks()) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + Ok(tasks) + } + + pub fn update_task(task: AITask) -> Result { + let task_id = task.id.clone(); + Ad4mDb::with_global_instance(|db| db.update_task(task.id, task.model_id, task.system_prompt, task.prompt_examples)) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + + let updated_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? + .ok_or(AIServiceError::TaskNotFound)?; + + Ok(updated_task) + } + pub fn prompt(task_id: String, prompt: String) -> Result<()> { + let task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? + .ok_or(AIServiceError::TaskNotFound)?; + + + // Run AI model with prompt + + Ok(()) + } +} diff --git a/rust-executor/src/js_core/ai_extension.rs b/rust-executor/src/js_core/ai_extension.rs new file mode 100644 index 000000000..5ee9b2f52 --- /dev/null +++ b/rust-executor/src/js_core/ai_extension.rs @@ -0,0 +1,2 @@ +use crate::{ai_service::AIService} + diff --git a/rust-executor/src/js_core/mod.rs b/rust-executor/src/js_core/mod.rs index edda743f0..a84bfeabc 100644 --- a/rust-executor/src/js_core/mod.rs +++ b/rust-executor/src/js_core/mod.rs @@ -30,6 +30,7 @@ mod string_module_loader; mod utils; mod utils_extension; mod wallet_extension; +mod ai_extension; use self::futures::{EventLoopFuture, SmartGlobalVariableFuture}; use crate::holochain_service::maybe_get_holochain_service; diff --git a/rust-executor/src/lib.rs b/rust-executor/src/lib.rs index 722685302..1d47c4475 100644 --- a/rust-executor/src/lib.rs +++ b/rust-executor/src/lib.rs @@ -12,6 +12,7 @@ mod runtime_service; mod utils; mod wallet; +pub mod ai_service; pub mod agent; mod dapp_server; mod db; From 3a6c19bf1e83cb2369e5b2d04c2f7e9252958405 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 15:55:52 +0200 Subject: [PATCH 059/183] Add fn embed to AIService using Bert --- rust-executor/Cargo.toml | 3 + rust-executor/src/ai_service/mod.rs | 70 +++++++++++++++++------ rust-executor/src/js_core/ai_extension.rs | 2 - rust-executor/src/js_core/mod.rs | 1 - 4 files changed, 55 insertions(+), 21 deletions(-) delete mode 100644 rust-executor/src/js_core/ai_extension.rs diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index 7647d9edb..e9dea9f38 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -99,6 +99,9 @@ rustls = "0.23" tokio-rustls = "0.26" rustls-pemfile = "2" +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "metal"] } + + [dev-dependencies] maplit = "1.0.2" lazy_static = "1.4.0" diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index c0d8169f8..4bd5e8fa6 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,5 +1,9 @@ -use std::sync::{Arc, Mutex}; +use std::error::Error; +use tokio::sync::Mutex; +use std::sync::Arc; use std::fmt; +use deno_core::error::AnyError; +use kalosm::language::*; use crate::db::Ad4mDb; use crate::types::AITask; @@ -11,6 +15,9 @@ pub enum AIServiceError { LockError, } + +impl Error for AIServiceError {} + impl fmt::Display for AIServiceError { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { match self { @@ -22,48 +29,53 @@ impl fmt::Display for AIServiceError { } } -pub type Result = std::result::Result; +pub type Result = std::result::Result; lazy_static! { static ref AI_SERVICE: Arc>> = Arc::new(Mutex::new(None)); } -pub struct AIService {} +pub struct AIService { + bert: Bert, +} impl AIService { - pub fn init_global_instance() { - let mut ai_service = AI_SERVICE.lock().unwrap(); - *ai_service = Some(AIService::new()); - } - - pub fn new() -> Self { - Self {} + pub async fn new() -> Result { + Ok(AIService { + bert: Bert::builder().build().await?, + }) + } + + pub async fn init_global_instance() -> Result<()> { + let mut ai_service = AI_SERVICE.lock().await; + *ai_service = Some(AIService::new().await?); + Ok(()) } pub fn global_instance() -> Arc>> { AI_SERVICE.clone() } - pub fn with_global_instance(f: F) -> R + pub async fn with_global_instance(f: F) -> R where F: FnOnce(&AIService) -> R, { let global_instance_arc = AIService::global_instance(); - let lock_result = global_instance_arc.lock(); - let ai_service_lock = lock_result.expect("Couldn't get lock on AIService"); - let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); + let lock_result = global_instance_arc.lock().await; + let ai_service_ref = lock_result.as_ref().expect("Couldn't get lock on AIService"); + //let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); f(ai_service_ref) } - pub fn with_mutable_global_instance(f: F) + pub async fn with_mutable_global_instance(f: F) where F: FnOnce(&mut AIService), { let global_instance_arc = AIService::global_instance(); - let lock_result = global_instance_arc.lock(); - let mut ai_service_lock = lock_result.expect("Couldn't get lock on AIService"); - let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); + let mut lock_result = global_instance_arc.lock().await; + let ai_service_mut = lock_result.as_mut().expect("Couldn't get lock on AIService"); + //let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); f(ai_service_mut) } @@ -111,4 +123,26 @@ impl AIService { Ok(()) } + + pub async fn embed(text: String) -> Result> { + let global_instance_arc = AIService::global_instance(); + let lock_result = global_instance_arc.lock().await; + let ai_service_ref = lock_result.as_ref().expect("Couldn't get lock on AIService"); + + let embedding = ai_service_ref.bert.embed(text).await?; + Ok(embedding.to_vec()) + } } + + +#[cfg(test)] +mod tests { + use super::*; + + #[tokio::test] + async fn test_embedding() { + AIService::init_global_instance().await.expect("initialization to work"); + let vector = AIService::embed("Test string".into()).await.expect("embed to return a result"); + assert!(vector.len() > 300) + } +} \ No newline at end of file diff --git a/rust-executor/src/js_core/ai_extension.rs b/rust-executor/src/js_core/ai_extension.rs deleted file mode 100644 index 5ee9b2f52..000000000 --- a/rust-executor/src/js_core/ai_extension.rs +++ /dev/null @@ -1,2 +0,0 @@ -use crate::{ai_service::AIService} - diff --git a/rust-executor/src/js_core/mod.rs b/rust-executor/src/js_core/mod.rs index a84bfeabc..edda743f0 100644 --- a/rust-executor/src/js_core/mod.rs +++ b/rust-executor/src/js_core/mod.rs @@ -30,7 +30,6 @@ mod string_module_loader; mod utils; mod utils_extension; mod wallet_extension; -mod ai_extension; use self::futures::{EventLoopFuture, SmartGlobalVariableFuture}; use crate::holochain_service::maybe_get_holochain_service; From 7de726ccec641d803553310dbf956465113d9baa Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 15:56:20 +0200 Subject: [PATCH 060/183] fmt --- rust-executor/src/ai_service/mod.rs | 59 ++++++++++++++++++----------- rust-executor/src/db.rs | 3 +- rust-executor/src/lib.rs | 2 +- 3 files changed, 40 insertions(+), 24 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 4bd5e8fa6..7c0fcd84d 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,11 +1,11 @@ -use std::error::Error; -use tokio::sync::Mutex; -use std::sync::Arc; -use std::fmt; -use deno_core::error::AnyError; -use kalosm::language::*; use crate::db::Ad4mDb; use crate::types::AITask; +use deno_core::error::AnyError; +use kalosm::language::*; +use std::error::Error; +use std::fmt; +use std::sync::Arc; +use tokio::sync::Mutex; #[derive(Debug)] pub enum AIServiceError { @@ -15,7 +15,6 @@ pub enum AIServiceError { LockError, } - impl Error for AIServiceError {} impl fmt::Display for AIServiceError { @@ -31,7 +30,6 @@ impl fmt::Display for AIServiceError { pub type Result = std::result::Result; - lazy_static! { static ref AI_SERVICE: Arc>> = Arc::new(Mutex::new(None)); } @@ -45,7 +43,7 @@ impl AIService { Ok(AIService { bert: Bert::builder().build().await?, }) - } + } pub async fn init_global_instance() -> Result<()> { let mut ai_service = AI_SERVICE.lock().await; @@ -63,7 +61,9 @@ impl AIService { { let global_instance_arc = AIService::global_instance(); let lock_result = global_instance_arc.lock().await; - let ai_service_ref = lock_result.as_ref().expect("Couldn't get lock on AIService"); + let ai_service_ref = lock_result + .as_ref() + .expect("Couldn't get lock on AIService"); //let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); f(ai_service_ref) } @@ -74,14 +74,18 @@ impl AIService { { let global_instance_arc = AIService::global_instance(); let mut lock_result = global_instance_arc.lock().await; - let ai_service_mut = lock_result.as_mut().expect("Couldn't get lock on AIService"); + let ai_service_mut = lock_result + .as_mut() + .expect("Couldn't get lock on AIService"); //let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); f(ai_service_mut) } pub fn add_task(task: AITask) -> Result { - let task_id = Ad4mDb::with_global_instance(|db| db.add_task(task.model_id, task.system_prompt, task.prompt_examples)) - .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + let task_id = Ad4mDb::with_global_instance(|db| { + db.add_task(task.model_id, task.system_prompt, task.prompt_examples) + }) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; let retrieved_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? @@ -104,8 +108,15 @@ impl AIService { pub fn update_task(task: AITask) -> Result { let task_id = task.id.clone(); - Ad4mDb::with_global_instance(|db| db.update_task(task.id, task.model_id, task.system_prompt, task.prompt_examples)) - .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + Ad4mDb::with_global_instance(|db| { + db.update_task( + task.id, + task.model_id, + task.system_prompt, + task.prompt_examples, + ) + }) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; let updated_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? @@ -118,7 +129,6 @@ impl AIService { .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; - // Run AI model with prompt Ok(()) @@ -127,22 +137,27 @@ impl AIService { pub async fn embed(text: String) -> Result> { let global_instance_arc = AIService::global_instance(); let lock_result = global_instance_arc.lock().await; - let ai_service_ref = lock_result.as_ref().expect("Couldn't get lock on AIService"); - + let ai_service_ref = lock_result + .as_ref() + .expect("Couldn't get lock on AIService"); + let embedding = ai_service_ref.bert.embed(text).await?; Ok(embedding.to_vec()) } } - #[cfg(test)] mod tests { use super::*; #[tokio::test] async fn test_embedding() { - AIService::init_global_instance().await.expect("initialization to work"); - let vector = AIService::embed("Test string".into()).await.expect("embed to return a result"); + AIService::init_global_instance() + .await + .expect("initialization to work"); + let vector = AIService::embed("Test string".into()) + .await + .expect("embed to return a result"); assert!(vector.len() > 300) } -} \ No newline at end of file +} diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 6ff31a4fa..3aba7e3fd 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -3,7 +3,8 @@ use crate::graphql::graphql_types::{ SentMessage, }; use crate::types::{ - AIPromptExamples, AITask, Expression, ExpressionProof, Link, LinkExpression, Notification, PerspectiveDiff + AIPromptExamples, AITask, Expression, ExpressionProof, Link, LinkExpression, Notification, + PerspectiveDiff, }; use deno_core::anyhow::anyhow; use deno_core::error::AnyError; diff --git a/rust-executor/src/lib.rs b/rust-executor/src/lib.rs index 1d47c4475..3580f9754 100644 --- a/rust-executor/src/lib.rs +++ b/rust-executor/src/lib.rs @@ -12,8 +12,8 @@ mod runtime_service; mod utils; mod wallet; -pub mod ai_service; pub mod agent; +pub mod ai_service; mod dapp_server; mod db; pub mod init; From 391c29d15b86428581c4fe1bd353e709cff5c2a6 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 15:57:27 +0200 Subject: [PATCH 061/183] warnings-- --- rust-executor/src/ai_service/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 7c0fcd84d..f54531c51 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -124,8 +124,8 @@ impl AIService { Ok(updated_task) } - pub fn prompt(task_id: String, prompt: String) -> Result<()> { - let task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) + pub fn prompt(task_id: String, _prompt: String) -> Result<()> { + let _task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; From 18d6b279c63e2b2332354bbd693bf9652e0194bd Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 16:29:49 +0200 Subject: [PATCH 062/183] AI domain capabitlities --- rust-executor/src/agent/capabilities/defs.rs | 61 ++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/rust-executor/src/agent/capabilities/defs.rs b/rust-executor/src/agent/capabilities/defs.rs index d22978ec3..f56f38e97 100644 --- a/rust-executor/src/agent/capabilities/defs.rs +++ b/rust-executor/src/agent/capabilities/defs.rs @@ -7,6 +7,8 @@ pub const CREATE: &str = "CREATE"; pub const UPDATE: &str = "UPDATE"; pub const DELETE: &str = "DELETE"; pub const SUBSCRIBE: &str = "SUBSCRIBE"; +pub const PROMPT: &str = "PROMPT"; +pub const TRANSCRIBE: &str = "TRANSCRIBE"; // capabilities domains pub const AGENT: &str = "agent"; @@ -19,6 +21,7 @@ pub const RUNTIME_TRUSTED_AGENTS: &str = "runtime.trusted_agents"; pub const RUNTIME_KNOWN_LINK_LANGUAGES: &str = "runtime.known_link_languages"; pub const RUNTIME_FRIENDS: &str = "runtime.friends"; pub const RUNTIME_MESSAGES: &str = "runtime.messages"; +pub const AI: &str = "artificial intelligence"; // admin capabilities lazy_static! { @@ -155,6 +158,64 @@ lazy_static! { }, can: vec![CREATE.to_string()], }; + + // AI related capabilities + pub static ref AI_CREATE_CAPABILITY: Capability = Capability { + with: Resource { + domain: AI.to_string(), + pointers: vec![WILD_CARD.to_string()], + }, + can: vec![CREATE.to_string()], + }; + + pub static ref AI_READ_CAPABILITY: Capability = Capability { + with: Resource { + domain: AI.to_string(), + pointers: vec![WILD_CARD.to_string()], + }, + can: vec![READ.to_string()], + }; + + pub static ref AI_UPDATE_CAPABILITY: Capability = Capability { + with: Resource { + domain: AI.to_string(), + pointers: vec![WILD_CARD.to_string()], + }, + can: vec![UPDATE.to_string()], + }; + + pub static ref AI_DELETE_CAPABILITY: Capability = Capability { + with: Resource { + domain: AI.to_string(), + pointers: vec![WILD_CARD.to_string()], + }, + can: vec![DELETE.to_string()], + }; + + pub static ref AI_PROMPT_CAPABILITY: Capability = Capability { + with: Resource { + domain: AI.to_string(), + pointers: vec![WILD_CARD.to_string()], + }, + can: vec![PROMPT.to_string()], + }; + + pub static ref AI_TRANSCRIBE_CAPABILITY: Capability = Capability { + with: Resource { + domain: AI.to_string(), + pointers: vec![WILD_CARD.to_string()], + }, + can: vec![TRANSCRIBE.to_string()], + }; + + pub static ref AI_ALL_CAPABILITY: Capability = Capability { + with: Resource { + domain: AI.to_string(), + pointers: vec![WILD_CARD.to_string()], + }, + can: vec![WILD_CARD.to_string()], + }; + } #[allow(dead_code)] From 90cf1ebdbc38cb1be8d9756899f28a6319d153b8 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 16:30:18 +0200 Subject: [PATCH 063/183] Resolvers for all new mutations plus needed graphql types --- rust-executor/src/graphql/graphql_types.rs | 38 ++++++++++++++ .../src/graphql/mutation_resolvers.rs | 50 +++++++++++++++++-- 2 files changed, 83 insertions(+), 5 deletions(-) diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index 991118e7b..03e826f0b 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -593,6 +593,44 @@ pub struct PerspectiveStateFilter { pub perspective: PerspectiveHandle, } +#[derive(GraphQLInputObject, Default, Debug, Deserialize, Serialize, Clone)] +#[serde(rename_all = "camelCase")] +pub struct PromptExamplesInput { + pub input: String, + pub output: String, +} + +#[derive(GraphQLObject, Default, Debug, Deserialize, Serialize, Clone)] +#[serde(rename_all = "camelCase")] +pub struct PromptExamples { + pub input: String, + pub output: String, +} + +#[derive(GraphQLInputObject, Default, Debug, Deserialize, Serialize, Clone)] +#[serde(rename_all = "camelCase")] +pub struct TaskInput { + pub model_id: String, + pub system_prompt: String, + pub prompt_examples: Vec, +} + +#[derive(GraphQLObject, Default, Debug, Deserialize, Serialize, Clone)] +#[serde(rename_all = "camelCase")] +pub struct Task { + pub model_id: String, + pub task_id: String, + pub system_prompt: String, + pub prompt_examples: Vec, +} + +#[derive(GraphQLObject, Default, Debug, Deserialize, Serialize, Clone)] +#[serde(rename_all = "camelCase")] +pub struct PromptOutput { + pub result: String, +} + + #[derive(Debug, Deserialize, Serialize)] pub enum JsResultType where diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index dd70d2eba..f147e148f 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1,13 +1,10 @@ #![allow(non_snake_case)] use crate::{ - agent::create_signed_expression, - neighbourhoods::{self, install_neighbourhood}, - perspectives::{ + agent::create_signed_expression, ai_service::AIService, neighbourhoods::{self, install_neighbourhood}, perspectives::{ add_perspective, get_perspective, perspective_instance::{PerspectiveInstance, SdnaType}, remove_perspective, update_perspective, - }, - types::{DecoratedLinkExpression, Link, LinkExpression}, + }, types::{DecoratedLinkExpression, Link, LinkExpression} }; use crate::{ db::Ad4mDb, @@ -1209,4 +1206,47 @@ impl Mutation { Ok(true) } + + async fn ai_add_task(&self, context: &RequestContext, _task: TaskInput) -> FieldResult { + check_capability(&context.capabilities, &AI_CREATE_CAPABILITY)?; + Ok(Task::default()) + } + + async fn ai_remove_task(&self, context: &RequestContext, _task_id: String) -> FieldResult { + check_capability(&context.capabilities, &AI_DELETE_CAPABILITY)?; + Ok(Task::default()) + } + + async fn ai_update_task(&self, context: &RequestContext, _task_id: String, _task: TaskInput) -> FieldResult { + check_capability(&context.capabilities, &AI_UPDATE_CAPABILITY)?; + Ok(Task::default()) + } + + async fn ai_prompt(&self, context: &RequestContext, _task_id: String, _prompt: String) -> FieldResult { + check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; + Ok(Task::default()) + } + + async fn ai_embed(&self, context: &RequestContext, _model_id: String, text: String) -> FieldResult { + check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; + let vector = AIService::embed(text).await?; + + Ok(String::from("")) + } + + async fn ai_open_transcription_stream(&self, context: &RequestContext, _model_id: String) -> FieldResult { + check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; + Ok(String::from("")) + } + + // note: f32 does not implement IsInputType, so I'm taking f64 here + async fn ai_feed_transcription_stream(&self, context: &RequestContext, _stream_id: String, _audio: Vec) -> FieldResult { + check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; + Ok(String::from("")) + } + + async fn ai_close_transcription_stream(&self, context: &RequestContext, _stream_id: String) -> FieldResult { + check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; + Ok(String::from("")) + } } From eb3f46b96278e94d997b04f6b586aa8be1646e59 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 16:30:38 +0200 Subject: [PATCH 064/183] fmt --- rust-executor/src/graphql/graphql_types.rs | 1 - .../src/graphql/mutation_resolvers.rs | 54 +++++++++++++++---- 2 files changed, 45 insertions(+), 10 deletions(-) diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index 03e826f0b..8bbd25173 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -630,7 +630,6 @@ pub struct PromptOutput { pub result: String, } - #[derive(Debug, Deserialize, Serialize)] pub enum JsResultType where diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index f147e148f..64818967a 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1,10 +1,14 @@ #![allow(non_snake_case)] use crate::{ - agent::create_signed_expression, ai_service::AIService, neighbourhoods::{self, install_neighbourhood}, perspectives::{ + agent::create_signed_expression, + ai_service::AIService, + neighbourhoods::{self, install_neighbourhood}, + perspectives::{ add_perspective, get_perspective, perspective_instance::{PerspectiveInstance, SdnaType}, remove_perspective, update_perspective, - }, types::{DecoratedLinkExpression, Link, LinkExpression} + }, + types::{DecoratedLinkExpression, Link, LinkExpression}, }; use crate::{ db::Ad4mDb, @@ -1212,40 +1216,72 @@ impl Mutation { Ok(Task::default()) } - async fn ai_remove_task(&self, context: &RequestContext, _task_id: String) -> FieldResult { + async fn ai_remove_task( + &self, + context: &RequestContext, + _task_id: String, + ) -> FieldResult { check_capability(&context.capabilities, &AI_DELETE_CAPABILITY)?; Ok(Task::default()) } - async fn ai_update_task(&self, context: &RequestContext, _task_id: String, _task: TaskInput) -> FieldResult { + async fn ai_update_task( + &self, + context: &RequestContext, + _task_id: String, + _task: TaskInput, + ) -> FieldResult { check_capability(&context.capabilities, &AI_UPDATE_CAPABILITY)?; Ok(Task::default()) } - async fn ai_prompt(&self, context: &RequestContext, _task_id: String, _prompt: String) -> FieldResult { + async fn ai_prompt( + &self, + context: &RequestContext, + _task_id: String, + _prompt: String, + ) -> FieldResult { check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; Ok(Task::default()) } - async fn ai_embed(&self, context: &RequestContext, _model_id: String, text: String) -> FieldResult { + async fn ai_embed( + &self, + context: &RequestContext, + _model_id: String, + text: String, + ) -> FieldResult { check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; let vector = AIService::embed(text).await?; Ok(String::from("")) } - async fn ai_open_transcription_stream(&self, context: &RequestContext, _model_id: String) -> FieldResult { + async fn ai_open_transcription_stream( + &self, + context: &RequestContext, + _model_id: String, + ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; Ok(String::from("")) } // note: f32 does not implement IsInputType, so I'm taking f64 here - async fn ai_feed_transcription_stream(&self, context: &RequestContext, _stream_id: String, _audio: Vec) -> FieldResult { + async fn ai_feed_transcription_stream( + &self, + context: &RequestContext, + _stream_id: String, + _audio: Vec, + ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; Ok(String::from("")) } - async fn ai_close_transcription_stream(&self, context: &RequestContext, _stream_id: String) -> FieldResult { + async fn ai_close_transcription_stream( + &self, + context: &RequestContext, + _stream_id: String, + ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; Ok(String::from("")) } From ed1cb0b66ee67b8228ccef93bcfc56b1a8a50df6 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 16:38:19 +0200 Subject: [PATCH 065/183] Return compressed embedding vector --- rust-executor/Cargo.toml | 2 +- rust-executor/src/graphql/mutation_resolvers.rs | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index e9dea9f38..b6f7aa121 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -100,7 +100,7 @@ tokio-rustls = "0.26" rustls-pemfile = "2" kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "metal"] } - +deflate = "1.0.0" [dev-dependencies] maplit = "1.0.2" diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 64818967a..284acccc4 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -29,6 +29,7 @@ use crate::{ holochain_service::{agent_infos_from_str, get_holochain_service}, pubsub::{get_global_pubsub, AGENT_STATUS_CHANGED_TOPIC}, }; +use base64::prelude::*; pub struct Mutation; @@ -1253,8 +1254,16 @@ impl Mutation { ) -> FieldResult { check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; let vector = AIService::embed(text).await?; - - Ok(String::from("")) + let json_string = serde_json::to_string(&vector) + .map_err(|e| FieldError::from(format!("Failed to serialize vector: {}", e)))?; + + // Compress the JSON string using zlib compression + let compressed_bytes = deflate::deflate_bytes_zlib(json_string.as_bytes()); + + // Encode the compressed bytes to base64 + let base64_encoded = BASE64_STANDARD.encode(&compressed_bytes); + + Ok(base64_encoded) } async fn ai_open_transcription_stream( From a3a8c3ccfb7eac3ace6fdc739151636a951edd79 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 16:38:46 +0200 Subject: [PATCH 066/183] fmt --- rust-executor/src/graphql/mutation_resolvers.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 284acccc4..1d319cf36 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1259,10 +1259,10 @@ impl Mutation { // Compress the JSON string using zlib compression let compressed_bytes = deflate::deflate_bytes_zlib(json_string.as_bytes()); - + // Encode the compressed bytes to base64 let base64_encoded = BASE64_STANDARD.encode(&compressed_bytes); - + Ok(base64_encoded) } From fb9cfaf88eb7042c929a6478c3e39127740cdb0e Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 17:02:53 +0200 Subject: [PATCH 067/183] Fix tasks table and add test for new DB functions --- rust-executor/src/db.rs | 41 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 3aba7e3fd..6f16b0efc 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -168,7 +168,7 @@ impl Ad4mDb { id TEXT PRIMARY KEY, model_id TEXT NOT NULL, system_prompt TEXT NOT NULL, - prompt_exmaples TEXT NOT NULL, + prompt_examples TEXT NOT NULL )", [], )?; @@ -1215,4 +1215,43 @@ mod tests { .iter() .all(|n| n.id != notification_id)); } + + #[test] + fn test_task_operations() { + let db = Ad4mDb::new(":memory:").unwrap(); + + // Test adding a task + let model_id = "test_model".to_string(); + let system_prompt = "Test system prompt".to_string(); + let prompt_examples = vec![ + AIPromptExamples { + input: "Test human prompt".to_string(), + output: "Test AI response".to_string(), + } + ]; + + let task_id = db.add_task(model_id.clone(), system_prompt.clone(), prompt_examples.clone()).unwrap(); + + // Test getting the task + let retrieved_task = db.get_task(task_id.clone()).unwrap().unwrap(); + assert_eq!(retrieved_task.id, task_id); + assert_eq!(retrieved_task.model_id, model_id); + assert_eq!(retrieved_task.system_prompt, system_prompt); + assert_eq!(retrieved_task.prompt_examples, prompt_examples); + + // Test getting all tasks + let all_tasks = db.get_tasks().unwrap(); + assert_eq!(all_tasks.len(), 1); + assert_eq!(all_tasks[0].id, task_id); + + // Test removing the task + db.remove_task(task_id.clone()).unwrap(); + + // Ensure the task is removed + let task_after_removal = db.get_task(task_id.clone()).unwrap(); + assert!(task_after_removal.is_none()); + + let all_tasks_after_removal = db.get_tasks().unwrap(); + assert!(all_tasks_after_removal.is_empty()); + } } From e21efdee30875e9e90936c936c796509fc1832c1 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 17:03:12 +0200 Subject: [PATCH 068/183] lock files --- Cargo.lock | 2 + pnpm-lock.yaml | 161 ++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 136 insertions(+), 27 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a06edee61..5f0c1935c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -85,6 +85,7 @@ dependencies = [ "coasys_juniper_subscriptions", "coasys_juniper_warp", "crypto_box", + "deflate 1.0.0", "deno_core", "deno_runtime", "did-key", @@ -102,6 +103,7 @@ dependencies = [ "itertools 0.10.5", "json5", "jsonwebtoken", + "kalosm", "kitsune_p2p_types", "lazy_static", "log", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 141b1656e..be5c652ed 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -687,7 +687,7 @@ importers: devDependencies: '@coasys/ad4m-executor': specifier: '*' - version: 0.10.0-rc2(ws@8.13.0) + version: link:../executor connect: dependencies: @@ -755,6 +755,9 @@ importers: '@types/jest': specifier: ^26.0.14 version: 26.0.24 + base64js: + specifier: '*' + version: 1.0.1 class-validator: specifier: ^0.13.1 version: 0.13.2 @@ -764,6 +767,9 @@ importers: graphql: specifier: 15.7.2 version: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + pako: + specifier: '*' + version: 2.1.0 reflect-metadata: specifier: ^0.1.13 version: 0.1.14 @@ -3253,31 +3259,6 @@ packages: - supports-color dev: false - /@coasys/ad4m-executor@0.10.0-rc2(ws@8.13.0): - resolution: {integrity: sha512-T09DgVSRcJlw5FXkpZFwJ2CBzbWxIzCPPT0aSqKo/IWEZJ3wv52SQq1ksKhnanM6Zc5EHoHuj55LTlvuZ2zz+g==} - dependencies: - '@coasys/ad4m': link:../core - '@holochain/client': github.com/coasys/holochain-client-js/2f3a436b6d28344b0aca883ef3dc229cd042c04b(ws@8.13.0) - '@msgpack/msgpack': 3.0.0-beta2 - '@noble/secp256k1': 1.7.1 - '@transmute/did-key.js': 0.2.1-unstable.42(patch_hash=yak4sespbovyvaboedzatyy2ha) - '@types/json-stable-stringify': 1.0.36 - '@types/mocha': 10.0.6 - aloedb-node: 1.1.1 - async-mutex: 0.3.2 - get-port: 5.1.1(patch_hash=qyyizwcnoypqxlftc4xbpqbjxq) - js-yaml: 4.1.0 - json-stable-stringify: 1.1.1 - linkedom: 0.14.26 - lodash: 4.17.21 - sha256: 0.2.0(patch_hash=jjvpbxfwv27brspghlwzrzih2u) - tmp: 0.2.1 - uuid: 9.0.1 - transitivePeerDependencies: - - supports-color - - ws - dev: true - /@coasys/ad4m@0.8.1(react@18.2.0): resolution: {integrity: sha512-2or0Ykc+F+geDumBABYD/us5Iu9Se2xVRdVcj4h0l7etd9Zx3u5m/Q32YHywJz61DbPQV8Q+zTkYiqF54y9GrA==} dependencies: @@ -4015,6 +3996,7 @@ packages: /@holochain/serialization@0.1.0-beta-rc.3: resolution: {integrity: sha512-DJx4V2KXHVLciyOGjOYKTM/JLBpBEZ3RsPIRCgf7qmwhQdxXvhi2p+oFFRD51yUT5uC1/MzIVeJCl/R60PwFbw==} + dev: false /@honkit/asciidoc@4.0.8: resolution: {integrity: sha512-wyVBKfX9yM5P8nm81ew1cdTR0hKWFB9hRTvwGXBVS+ipD+WFTQWxVw3qNQapMKRiiVq/L3QA6bpkIDul3EJ43w==} @@ -4639,6 +4621,7 @@ packages: '@mattrglobal/node-bbs-signatures': 0.11.0(patch_hash=du3euicl4oreiseb3vykbrzjji) transitivePeerDependencies: - supports-color + dev: false patched: true /@mattrglobal/bls12381-key-pair@0.5.0: @@ -4649,6 +4632,7 @@ packages: rfc4648: 1.4.0 transitivePeerDependencies: - supports-color + dev: false /@mattrglobal/node-bbs-signatures@0.11.0(patch_hash=du3euicl4oreiseb3vykbrzjji): resolution: {integrity: sha512-V0wcY0ZewrPOiMOrL3wam0oYL1SLbF2ihgAM6JQvLrAKw1MckYiJ8T4vL+nOBs2hf1PA1TZI+USe5mqMWuVKTw==} @@ -4659,6 +4643,7 @@ packages: node-pre-gyp: 0.14.0 transitivePeerDependencies: - supports-color + dev: false optional: true patched: true @@ -4777,10 +4762,12 @@ packages: /@msgpack/msgpack@2.8.0: resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} engines: {node: '>= 10'} + dev: false /@msgpack/msgpack@3.0.0-beta2: resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} engines: {node: '>= 14'} + dev: false /@napi-rs/simple-git-android-arm-eabi@0.1.11: resolution: {integrity: sha512-wt4Wu9MxvKzEqT4iwodFs7Nrc31K73gR5hM7VnlO6iLELmUQZ5JVJkYoFWgzLQWtzIC48W2+zFMbBgY6+F2rZg==} @@ -5022,6 +5009,7 @@ packages: /@noble/secp256k1@1.7.1: resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + dev: false /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -5845,6 +5833,7 @@ packages: /@stablelib/aead@1.0.1: resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} + dev: false /@stablelib/aes-kw@1.0.1: resolution: {integrity: sha512-KrOkiRex1tQTbWk+hFB5fFw4vqKhNnTUtlCRf1bhUEOFp7hadWe49/sLa/P4X4FBQVoh3Z9Lj0zS1OWu/AHA1w==} @@ -5854,6 +5843,7 @@ packages: '@stablelib/blockcipher': 1.0.1 '@stablelib/constant-time': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/aes@1.0.1: resolution: {integrity: sha512-bMiezJDeFONDHbMEa+Kic26962+bwkZfsHPAmcqTjLaHCAhEQuK3i1H0POPOkcHCdj75oVRIqFCraCA0cyHPvw==} @@ -5861,17 +5851,21 @@ packages: '@stablelib/binary': 1.0.1 '@stablelib/blockcipher': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/binary@1.0.1: resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} dependencies: '@stablelib/int': 1.0.1 + dev: false /@stablelib/blockcipher@1.0.1: resolution: {integrity: sha512-4bkpV8HUAv0CgI1fUqkPUEEvv3RXQ3qBkuZaSWhshXGAz1JCpriesgiO9Qs4f0KzBJkCtvcho5n7d/RKvnHbew==} + dev: false /@stablelib/bytes@1.0.1: resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} + dev: false /@stablelib/chacha20poly1305@1.0.1: resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} @@ -5882,15 +5876,18 @@ packages: '@stablelib/constant-time': 1.0.1 '@stablelib/poly1305': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/chacha@1.0.1: resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} dependencies: '@stablelib/binary': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/constant-time@1.0.1: resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} + dev: false /@stablelib/ed25519@1.0.3: resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} @@ -5898,9 +5895,11 @@ packages: '@stablelib/random': 1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4) '@stablelib/sha512': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/hash@1.0.1: resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} + dev: false /@stablelib/hkdf@1.0.1: resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} @@ -5920,23 +5919,27 @@ packages: /@stablelib/int@1.0.1: resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} + dev: false /@stablelib/keyagreement@1.0.1: resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} dependencies: '@stablelib/bytes': 1.0.1 + dev: false /@stablelib/poly1305@1.0.1: resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} dependencies: '@stablelib/constant-time': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/random@1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4): resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} dependencies: '@stablelib/binary': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false patched: true /@stablelib/sha256@1.0.1: @@ -5953,9 +5956,11 @@ packages: '@stablelib/binary': 1.0.1 '@stablelib/hash': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/wipe@1.0.1: resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} + dev: false /@stablelib/x25519@1.0.3: resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} @@ -5963,6 +5968,7 @@ packages: '@stablelib/keyagreement': 1.0.1 '@stablelib/random': 1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4) '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/xchacha20@1.0.1: resolution: {integrity: sha512-1YkiZnFF4veUwBVhDnDYwo6EHeKzQK4FnLiO7ezCl/zu64uG0bCCAUROJaBkaLH+5BEsO3W7BTXTguMbSLlWSw==} @@ -5970,6 +5976,7 @@ packages: '@stablelib/binary': 1.0.1 '@stablelib/chacha': 1.0.1 '@stablelib/wipe': 1.0.1 + dev: false /@stablelib/xchacha20poly1305@1.0.1: resolution: {integrity: sha512-B1Abj0sMJ8h3HNmGnJ7vHBrAvxuNka6cJJoZ1ILN7iuacXp7sUYcgOVEOTLWj+rtQMpspY9tXSCRLPmN1mQNWg==} @@ -5979,6 +5986,7 @@ packages: '@stablelib/constant-time': 1.0.1 '@stablelib/wipe': 1.0.1 '@stablelib/xchacha20': 1.0.1 + dev: false /@surma/rollup-plugin-off-main-thread@2.2.3: resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} @@ -6163,6 +6171,7 @@ packages: /@tauri-apps/api@1.5.3: resolution: {integrity: sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==} engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} + dev: false /@tauri-apps/cli-darwin-arm64@1.5.11: resolution: {integrity: sha512-2NLSglDb5VfvTbMtmOKWyD+oaL/e8Z/ZZGovHtUFyUSFRabdXc6cZOlcD1BhFvYkHqm+TqGaz5qtPR5UbqDs8A==} @@ -6391,6 +6400,7 @@ packages: bs58: 4.0.1 transitivePeerDependencies: - supports-color + dev: false patched: true /@transmute/did-key-cipher@0.2.1-unstable.42(patch_hash=vkegaqhvwns3vvylfnwzaea6zq): @@ -6402,6 +6412,7 @@ packages: '@stablelib/xchacha20poly1305': 1.0.1 '@transmute/did-key-common': 0.2.1-unstable.42(patch_hash=nveg2vh57sqhe26mlbokowgyfy) web-streams-polyfill: 3.3.2 + dev: false patched: true /@transmute/did-key-common@0.2.1-unstable.42(patch_hash=nveg2vh57sqhe26mlbokowgyfy): @@ -6412,6 +6423,7 @@ packages: borc: 2.1.2(patch_hash=oufny7gfmlqsrh5jb3zwdyyexi) canonicalize: 1.0.8 cbor: 5.2.0 + dev: false patched: true /@transmute/did-key-ed25519@0.2.1-unstable.42(patch_hash=6o2ewrf3potevwpug23wdfezii): @@ -6425,6 +6437,7 @@ packages: base64url: 3.0.1 bs58: 4.0.1 canonicalize: 1.0.8 + dev: false patched: true /@transmute/did-key-secp256k1@0.2.1-unstable.42(patch_hash=ttvfjhlz3v2lg4fsq7rxkml2ai): @@ -6437,6 +6450,7 @@ packages: bs58: 4.0.1 canonicalize: 1.0.8 secp256k1: 4.0.3 + dev: false patched: true /@transmute/did-key-web-crypto@0.2.1-unstable.42(patch_hash=olfpy5z7dknl7ejwh6fesfizey): @@ -6444,6 +6458,7 @@ packages: engines: {node: '>=10'} dependencies: '@transmute/web-crypto-key-pair': 0.6.1-unstable.37(patch_hash=l3ok4bu7fpitf6uppmfqv6etbm) + dev: false patched: true /@transmute/did-key-x25519@0.2.1-unstable.42(patch_hash=dj4odftevsg5grytgl46v6mggu): @@ -6458,6 +6473,7 @@ packages: base64url: 3.0.1 bs58: 4.0.1 canonicalize: 1.0.8 + dev: false patched: true /@transmute/did-key.js@0.2.1-unstable.42(patch_hash=yak4sespbovyvaboedzatyy2ha): @@ -6471,10 +6487,12 @@ packages: '@transmute/did-key-x25519': 0.2.1-unstable.42(patch_hash=dj4odftevsg5grytgl46v6mggu) transitivePeerDependencies: - supports-color + dev: false patched: true /@transmute/ld-key-pair@0.6.1-unstable.37(patch_hash=zpnwlkycjaix7vdztq22j7pg4e): resolution: {integrity: sha512-DcTpEruAQBfOd2laZkg3uCQ+67Y7dw2hsvo42NAQ5tItCIx5AClP7zccri7T2JUcfDUFaE32z/BLTMEKYt3XZQ==} + dev: false patched: true /@transmute/web-crypto-key-pair@0.6.1-unstable.37(patch_hash=l3ok4bu7fpitf6uppmfqv6etbm): @@ -6484,6 +6502,7 @@ packages: '@peculiar/webcrypto': 1.4.5(patch_hash=saeohqf4hlpnnys7brc6umjxqq) '@transmute/ld-key-pair': 0.6.1-unstable.37(patch_hash=zpnwlkycjaix7vdztq22j7pg4e) big-integer: 1.6.52 + dev: false patched: true /@trust/keyto@1.0.1: @@ -6492,6 +6511,7 @@ packages: asn1.js: 5.4.1 base64url: 3.0.1 elliptic: 6.5.4 + dev: false /@trysound/sax@0.2.0: resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} @@ -7968,6 +7988,7 @@ packages: /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} requiresBuild: true + dev: false optional: true /abitype@0.8.7(typescript@5.3.3): @@ -8131,6 +8152,7 @@ packages: /aloedb-node@1.1.1: resolution: {integrity: sha512-BH5RP5DvN4LEnfGGR+cX4VFf/asmWa1zwKVMVrAuFj3jjgySt9SBLGXTOsP0Epf1O5lzFQyoPDzmTzE44RmPUw==} + dev: false /alphanum-sort@1.0.2: resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} @@ -8163,6 +8185,7 @@ packages: requiresBuild: true dependencies: array-back: 3.1.0 + dev: false optional: true /ansi-escapes@3.2.0: @@ -8392,6 +8415,7 @@ packages: /aproba@1.2.0: resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} requiresBuild: true + dev: false optional: true /arch@2.2.0: @@ -8404,6 +8428,7 @@ packages: dependencies: delegates: 1.0.0 readable-stream: 2.3.8 + dev: false optional: true /arg@1.0.0: @@ -8457,6 +8482,7 @@ packages: requiresBuild: true dependencies: typical: 2.6.1 + dev: false optional: true /array-back@2.0.0: @@ -8465,12 +8491,14 @@ packages: requiresBuild: true dependencies: typical: 2.6.1 + dev: false optional: true /array-back@3.1.0: resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} engines: {node: '>=6'} requiresBuild: true + dev: false optional: true /array-buffer-byte-length@1.0.0: @@ -8656,6 +8684,7 @@ packages: resolution: {integrity: sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==} dependencies: tslib: 2.6.2 + dev: false /async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} @@ -8949,13 +8978,19 @@ packages: resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) + dev: false /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + /base64js@1.0.1: + resolution: {integrity: sha512-jxGN7DS7e+HHO5u+UT9NzK2BMKJByQPmmdXyvad7TN0mPKGC4kRMTnnV7g7HqhLlW51AFmtbRM4IDGxysBYuVg==} + dev: false + /base64url@3.0.1: resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} engines: {node: '>=6.0.0'} + dev: false /base@0.11.2: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} @@ -9017,6 +9052,7 @@ packages: /bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + dev: false /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} @@ -9127,6 +9163,7 @@ packages: iso-url: 0.4.7(patch_hash=436asxcee6selccg7sdh7lg6f4) json-text-sequence: 0.1.1 readable-stream: 3.6.2 + dev: false patched: true /borsh@0.7.0: @@ -9353,6 +9390,7 @@ packages: resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} dependencies: base-x: 3.0.9 + dev: false /bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} @@ -9555,6 +9593,7 @@ packages: /canonicalize@1.0.8: resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} + dev: false /canvas-renderer@2.2.1: resolution: {integrity: sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg==} @@ -9583,6 +9622,7 @@ packages: dependencies: bignumber.js: 9.1.2 nofilter: 1.0.4 + dev: false /ccount@1.1.0: resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} @@ -9636,6 +9676,7 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 4.5.0 + dev: false optional: true /chalk@2.3.0: @@ -9709,6 +9750,7 @@ packages: /chardet@0.4.2: resolution: {integrity: sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==} requiresBuild: true + dev: false optional: true /chardet@0.7.0: @@ -9797,6 +9839,7 @@ packages: /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} requiresBuild: true + dev: false optional: true /chrome-trace-event@1.0.3: @@ -10051,6 +10094,7 @@ packages: array-back: 2.0.0 find-replace: 1.0.3 typical: 2.6.1 + dev: false optional: true /command-line-commands@2.0.1: @@ -10059,6 +10103,7 @@ packages: requiresBuild: true dependencies: array-back: 2.0.0 + dev: false optional: true /command-line-usage@4.1.0: @@ -10070,6 +10115,7 @@ packages: array-back: 2.0.0 table-layout: 0.4.5 typical: 2.6.1 + dev: false optional: true /commander@2.20.3: @@ -10208,6 +10254,7 @@ packages: /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} requiresBuild: true + dev: false optional: true /constants-browserify@1.0.0: @@ -10234,6 +10281,7 @@ packages: /convert-hex@0.1.0: resolution: {integrity: sha512-w20BOb1PiR/sEJdS6wNrUjF5CSfscZFUp7R9NSlXH8h2wynzXVEPFPJECAnkNylZ+cvf3p7TyRUHggDmrwXT9A==} + dev: false /convert-source-map@1.1.3: resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} @@ -10247,6 +10295,7 @@ packages: /convert-string@0.1.0: resolution: {integrity: sha512-1KX9ESmtl8xpT2LN2tFnKSbV4NiarbVi8DVb39ZriijvtTklyrT+4dT1wsGMHKD3CJUjXgvJzstm9qL9ICojGA==} + dev: false /cookie-es@1.0.0: resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} @@ -10749,6 +10798,7 @@ packages: /cssom@0.5.0: resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + dev: false /cssstyle@2.3.0: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} @@ -11349,10 +11399,12 @@ packages: /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} requiresBuild: true + dev: false optional: true /delimit-stream@0.1.0: resolution: {integrity: sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==} + dev: false /denque@2.1.0: resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} @@ -11412,6 +11464,7 @@ packages: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} hasBin: true + dev: false /detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} @@ -11760,6 +11813,7 @@ packages: /emittery@1.0.1: resolution: {integrity: sha512-2ID6FdrMD9KDLldGesP6317G78K7km/kMcwItRtVFva7I/cSEOIaLpewaUb+YLXVwdAp3Ctfxh/V5zIl1sj7dQ==} engines: {node: '>=14.16'} + dev: false /emoji-regex@10.1.0: resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} @@ -13065,6 +13119,7 @@ packages: chardet: 0.4.2 iconv-lite: 0.4.24 tmp: 0.0.33 + dev: false optional: true /external-editor@3.1.0: @@ -13296,6 +13351,7 @@ packages: dependencies: array-back: 1.0.4 test-value: 2.1.0 + dev: false optional: true /find-up@3.0.0: @@ -13545,6 +13601,7 @@ packages: requiresBuild: true dependencies: minipass: 2.9.0 + dev: false optional: true /fs-monkey@1.0.5: @@ -13597,6 +13654,7 @@ packages: string-width: 1.0.2 strip-ansi: 3.0.1 wide-align: 1.1.5 + dev: false optional: true /generic-names@2.0.1: @@ -13648,6 +13706,7 @@ packages: /get-port@5.1.1(patch_hash=qyyizwcnoypqxlftc4xbpqbjxq): resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} engines: {node: '>=8'} + dev: false patched: true /get-stream@3.0.0: @@ -13699,6 +13758,7 @@ packages: requiresBuild: true dependencies: iniparser: 1.0.5 + dev: false optional: true /git-up@7.0.0: @@ -14093,6 +14153,7 @@ packages: /has-flag@2.0.0: resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} engines: {node: '>=0.10.0'} + dev: false /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} @@ -14124,6 +14185,7 @@ packages: /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} requiresBuild: true + dev: false optional: true /has-value@0.3.1: @@ -14469,6 +14531,7 @@ packages: /html-escaper@3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + dev: false /html-minifier-terser@6.1.0: resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} @@ -14847,6 +14910,7 @@ packages: /iniparser@1.0.5: resolution: {integrity: sha512-i40MWqgTU6h/70NtMsDVVDLjDYWwcIR1yIEVDPfxZIJno9z9L4s83p/V7vAu2i48Vj0gpByrkGFub7ko9XvPrw==} requiresBuild: true + dev: false optional: true /inline-source-map@0.6.2: @@ -14885,6 +14949,7 @@ packages: string-width: 2.1.1 strip-ansi: 4.0.0 through: 2.3.8 + dev: false optional: true /inquirer@6.5.2: @@ -15507,6 +15572,7 @@ packages: /iso-url@0.4.7(patch_hash=436asxcee6selccg7sdh7lg6f4): resolution: {integrity: sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==} engines: {node: '>=10'} + dev: false patched: true /isobject@0.2.0: @@ -15549,6 +15615,7 @@ packages: ws: '*' dependencies: ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + dev: false /isows@1.0.3(ws@8.13.0): resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} @@ -16672,6 +16739,7 @@ packages: /js-base64@3.7.6: resolution: {integrity: sha512-NPrWuHFxFUknr1KqJRDgUQPexQF0uIJWjeT+2KjEePhitQxQEx5EJBG1lVn5/hc8aLycTpXrDOgPQ6Zq+EDiTA==} + dev: false /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -16804,6 +16872,7 @@ packages: resolution: {integrity: sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==} dependencies: delimit-stream: 0.1.0 + dev: false /json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} @@ -17062,6 +17131,7 @@ packages: html-escaper: 3.0.3 htmlparser2: 8.0.2 uhyphen: 0.2.0 + dev: false /listenercount@1.0.1: resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} @@ -17238,6 +17308,7 @@ packages: /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false /lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} @@ -17276,6 +17347,7 @@ packages: /lodash.padend@4.6.1: resolution: {integrity: sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==} requiresBuild: true + dev: false optional: true /lodash.sortby@4.7.0: @@ -18543,6 +18615,7 @@ packages: dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) yallist: 3.1.1 + dev: false optional: true /minipass@7.0.4: @@ -18554,6 +18627,7 @@ packages: requiresBuild: true dependencies: minipass: 2.9.0 + dev: false optional: true /mixin-deep@1.3.2: @@ -18747,6 +18821,7 @@ packages: sax: 1.3.0 transitivePeerDependencies: - supports-color + dev: false optional: true /negotiator@0.6.3: @@ -18778,6 +18853,7 @@ packages: ts-typed-json: 0.2.2 validate-npm-package-license: 3.0.4 validate-npm-package-name: 3.0.0 + dev: false optional: true /new-github-release-url@1.0.0: @@ -18961,6 +19037,7 @@ packages: /node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + dev: false /node-addon-api@7.1.0: resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} @@ -19046,6 +19123,7 @@ packages: tar: 4.4.19 transitivePeerDependencies: - supports-color + dev: false optional: true /node-releases@2.0.14: @@ -19061,6 +19139,7 @@ packages: /nofilter@1.0.4: resolution: {integrity: sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==} engines: {node: '>=8'} + dev: false /non-layered-tidy-tree-layout@2.0.2: resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} @@ -19073,6 +19152,7 @@ packages: dependencies: abbrev: 1.1.1 osenv: 0.1.5 + dev: false optional: true /normalize-package-data@2.5.0: @@ -19175,6 +19255,7 @@ packages: requiresBuild: true dependencies: npm-normalize-package-bin: 1.0.1 + dev: false optional: true /npm-conf@1.1.3: @@ -19205,6 +19286,7 @@ packages: /npm-normalize-package-bin@1.0.1: resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} requiresBuild: true + dev: false optional: true /npm-packlist@1.4.8: @@ -19214,6 +19296,7 @@ packages: ignore-walk: 3.0.4 npm-bundled: 1.1.2 npm-normalize-package-bin: 1.0.1 + dev: false optional: true /npm-run-all@4.1.5: @@ -19264,6 +19347,7 @@ packages: console-control-strings: 1.1.0 gauge: 2.7.4 set-blocking: 2.0.0 + dev: false optional: true /nth-check@1.0.2: @@ -19546,6 +19630,7 @@ packages: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} requiresBuild: true + dev: false optional: true /os-tmpdir@1.0.2: @@ -19558,6 +19643,7 @@ packages: dependencies: os-homedir: 1.0.2 os-tmpdir: 1.0.2 + dev: false optional: true /outdent@0.5.0: @@ -19729,7 +19815,6 @@ packages: /pako@2.1.0: resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} - dev: true /param-case@3.0.4: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} @@ -21434,6 +21519,7 @@ packages: requiresBuild: true dependencies: mkdirp: 0.5.6 + dev: false optional: true /radix3@1.1.0: @@ -21864,6 +21950,7 @@ packages: resolution: {integrity: sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==} engines: {node: '>=0.10.0'} requiresBuild: true + dev: false optional: true /reflect-metadata@0.1.14: @@ -22254,6 +22341,7 @@ packages: /rfc4648@1.4.0: resolution: {integrity: sha512-3qIzGhHlMHA6PoT6+cdPKZ+ZqtxkIvg8DZGKA5z6PQ33/uuhoJ+Ws/D/J9rXW6gXodgH8QYlz2UCl+sdUDmNIg==} + dev: false /rgb-regex@1.0.1: resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} @@ -22435,6 +22523,7 @@ packages: resolution: {integrity: sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==} engines: {node: 0.12.* || 4.* || 6.* || >= 7.*} requiresBuild: true + dev: false optional: true /rsvp@4.8.5: @@ -22464,11 +22553,13 @@ packages: requiresBuild: true dependencies: rx-lite: 4.0.8 + dev: false optional: true /rx-lite@4.0.8: resolution: {integrity: sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==} requiresBuild: true + dev: false optional: true /rxjs@6.6.7: @@ -22597,6 +22688,7 @@ packages: /sax@1.3.0: resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} requiresBuild: true + dev: false optional: true /saxes@5.0.1: @@ -22662,6 +22754,7 @@ packages: elliptic: 6.5.4 node-addon-api: 2.0.2 node-gyp-build: 4.8.0(patch_hash=tidq6bjknpovdjep75bj5ccgke) + dev: false /section-matter@1.0.0: resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} @@ -22853,6 +22946,7 @@ packages: dependencies: convert-hex: 0.1.0 convert-string: 0.1.0 + dev: false patched: true /shasum-object@1.0.0: @@ -23607,6 +23701,7 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 2.0.0 + dev: false /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} @@ -23793,6 +23888,7 @@ packages: lodash.padend: 4.6.1 typical: 2.6.1 wordwrapjs: 3.0.0 + dev: false optional: true /tailwindcss@3.4.1: @@ -23845,6 +23941,7 @@ packages: mkdirp: 0.5.6 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) yallist: 3.1.1 + dev: false optional: true /temp-dir@2.0.0: @@ -23920,6 +24017,7 @@ packages: dependencies: array-back: 1.0.4 typical: 2.6.1 + dev: false optional: true /text-encoding-utf-8@1.0.2: @@ -24022,6 +24120,7 @@ packages: engines: {node: '>=8.17.0'} dependencies: rimraf: 3.0.2 + dev: false /tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} @@ -24081,6 +24180,7 @@ packages: /toml@2.3.6: resolution: {integrity: sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==} requiresBuild: true + dev: false optional: true /tough-cookie@2.5.0: @@ -24289,6 +24389,7 @@ packages: requiresBuild: true dependencies: rsvp: 3.6.2 + dev: false optional: true /tsconfig-paths@3.15.0: @@ -24411,6 +24512,7 @@ packages: /tweetnacl@1.0.3(patch_hash=neqghjkbymv6pdxg4mf33vfzg4): resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + dev: false patched: true /type-check@0.3.2: @@ -24582,6 +24684,7 @@ packages: /typical@2.6.1: resolution: {integrity: sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==} requiresBuild: true + dev: false optional: true /ufo@1.3.2: @@ -24597,6 +24700,7 @@ packages: /uhyphen@0.2.0: resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} + dev: false /uint8arrays@3.1.1: resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==} @@ -25806,6 +25910,7 @@ packages: requiresBuild: true dependencies: string-width: 1.0.2 + dev: false optional: true /widest-line@3.1.0: @@ -25829,6 +25934,7 @@ packages: dependencies: reduce-flatten: 1.0.1 typical: 2.6.1 + dev: false optional: true /workbox-background-sync@6.6.0: @@ -26260,3 +26366,4 @@ packages: tweetnacl: 1.0.3(patch_hash=neqghjkbymv6pdxg4mf33vfzg4) transitivePeerDependencies: - ws + dev: false From 2edc568e30bdf169226c81447acd942b3ee7dda1 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 17:04:09 +0200 Subject: [PATCH 069/183] Beginnings of AI integration tests running ad4m.ai.embed() --- tests/js/tests/ai.ts | 16 ++++++++++++++++ tests/js/tests/integration.test.ts | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 tests/js/tests/ai.ts diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts new file mode 100644 index 000000000..e971a91da --- /dev/null +++ b/tests/js/tests/ai.ts @@ -0,0 +1,16 @@ +import { TestContext } from './integration.test' +import { expect } from "chai"; + +export default function aiTests(testContext: TestContext) { + return () => { + describe('AI service', () => { + it('can embed text to vectors', async () => { + const ad4mClient = testContext.ad4mClient! + + let vector = await ad4mClient.ai.embed("Bert", "Test string"); + expect(typeof vector).to.equal("Array") + expect(vector.length).to.be.greaterThan(300) + }), + }) + } +} \ No newline at end of file diff --git a/tests/js/tests/integration.test.ts b/tests/js/tests/integration.test.ts index b521b2314..aae2e4004 100644 --- a/tests/js/tests/integration.test.ts +++ b/tests/js/tests/integration.test.ts @@ -8,6 +8,7 @@ import { startExecutor, apolloClient, runHcLocalServices } from "../utils/utils" import { ChildProcess } from 'child_process'; import perspectiveTests from "./perspective"; import agentTests from "./agent"; +import aiTests from "./ai"; import languageTests from "./language"; import expressionTests from "./expression"; import neighbourhoodTests from "./neighbourhood"; @@ -128,6 +129,7 @@ describe("Integration tests", function () { }) describe('Agent / Agent-Setup', agentTests(testContext)) + describe('Artificial Intelligence', aiTests(testContext)) describe('Runtime', runtimeTests(testContext)) describe('Expression', expressionTests(testContext)) describe('Perspective', perspectiveTests(testContext)) From 82108aba8f1b52afdb36926f2970b51985f5a922 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 17:04:40 +0200 Subject: [PATCH 070/183] fmt --- rust-executor/src/db.rs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 6f16b0efc..d557dc8bc 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -1223,14 +1223,18 @@ mod tests { // Test adding a task let model_id = "test_model".to_string(); let system_prompt = "Test system prompt".to_string(); - let prompt_examples = vec![ - AIPromptExamples { - input: "Test human prompt".to_string(), - output: "Test AI response".to_string(), - } - ]; - - let task_id = db.add_task(model_id.clone(), system_prompt.clone(), prompt_examples.clone()).unwrap(); + let prompt_examples = vec![AIPromptExamples { + input: "Test human prompt".to_string(), + output: "Test AI response".to_string(), + }]; + + let task_id = db + .add_task( + model_id.clone(), + system_prompt.clone(), + prompt_examples.clone(), + ) + .unwrap(); // Test getting the task let retrieved_task = db.get_task(task_id.clone()).unwrap().unwrap(); From ff8d91417fbcb14ec691373bbf7c77b671e7e824 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 21:32:12 +0200 Subject: [PATCH 071/183] clean --- socekt/package.json | 24 ------------------------ 1 file changed, 24 deletions(-) delete mode 100644 socekt/package.json diff --git a/socekt/package.json b/socekt/package.json deleted file mode 100644 index 2bbe3cadb..000000000 --- a/socekt/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "socket-io-app", - "version": "1.0.0", - "description": "A simple Socket.io app with both server and client", - "main": "server.js", - "scripts": { - "start": "node server.js", - "client": "node client.js" - }, - "dependencies": { - "express": "^4.17.1", - "socket.io": "^4.7.2", - "socket.io-client": "^4.7.2" - }, - "devDependencies": {}, - "keywords": [ - "socket.io", - "express", - "chat" - ], - "author": "Your Name", - "license": "ISC" - } - \ No newline at end of file From 9829e98d92fd04a3b8d8e42429e3e1ebab6c70d9 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 22:12:11 +0200 Subject: [PATCH 072/183] Syntax fix --- tests/js/tests/ai.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index e971a91da..0ab7ee638 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -10,7 +10,7 @@ export default function aiTests(testContext: TestContext) { let vector = await ad4mClient.ai.embed("Bert", "Test string"); expect(typeof vector).to.equal("Array") expect(vector.length).to.be.greaterThan(300) - }), + }) }) } } \ No newline at end of file From c11c3df9d64ef70880b5a5d12ea5c9e37a1d0026 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 22:12:39 +0200 Subject: [PATCH 073/183] Initialize AIService --- rust-executor/src/lib.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/lib.rs b/rust-executor/src/lib.rs index c41bcdfd1..618d76e97 100644 --- a/rust-executor/src/lib.rs +++ b/rust-executor/src/lib.rs @@ -35,8 +35,7 @@ pub use config::Ad4mConfig; pub use holochain_service::run_local_hc_services; use crate::{ - agent::AgentService, dapp_server::serve_dapp, db::Ad4mDb, languages::LanguageController, - prolog_service::init_prolog_service, runtime_service::RuntimeService, + agent::AgentService, ai_service::AIService, dapp_server::serve_dapp, db::Ad4mDb, languages::LanguageController, prolog_service::init_prolog_service, runtime_service::RuntimeService }; /// Runs the GraphQL server and the deno core runtime @@ -65,8 +64,13 @@ pub async fn run(mut config: Ad4mConfig) -> JoinHandle<()> { ) .expect("Failed to initialize Ad4mDb"); + info!("Initializing AI service..."); + AIService::init_global_instance().await.expect("Couldn't initialize AI service"); + + info!("Initializing Agent service..."); AgentService::init_global_instance(config.app_data_path.clone().unwrap()); + info!("Initializing Runtime service..."); RuntimeService::init_global_instance( std::path::Path::new(&config.app_data_path.clone().unwrap().to_string()) .join("mainnet_seed.seed") From 9c7938310e903ada4a936f49895256cb52dbbe3a Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 22:18:18 +0200 Subject: [PATCH 074/183] Correct panic string for uninitialized AIService --- rust-executor/src/ai_service/mod.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index f54531c51..8ac4ea470 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -63,7 +63,7 @@ impl AIService { let lock_result = global_instance_arc.lock().await; let ai_service_ref = lock_result .as_ref() - .expect("Couldn't get lock on AIService"); + .expect("AI service not initialized"); //let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); f(ai_service_ref) } @@ -76,7 +76,7 @@ impl AIService { let mut lock_result = global_instance_arc.lock().await; let ai_service_mut = lock_result .as_mut() - .expect("Couldn't get lock on AIService"); + .expect("AI service not initialized"); //let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); f(ai_service_mut) } @@ -139,7 +139,7 @@ impl AIService { let lock_result = global_instance_arc.lock().await; let ai_service_ref = lock_result .as_ref() - .expect("Couldn't get lock on AIService"); + .expect("AI service not initialized"); let embedding = ai_service_ref.bert.embed(text).await?; Ok(embedding.to_vec()) From 45ed7252b51beb93438849291b2289396670949b Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 22:19:55 +0200 Subject: [PATCH 075/183] Wire-up AI Task CRUD resolvers and fix-up related types --- core/src/ai/AIResolver.ts | 2 +- core/src/ai/Tasks.ts | 16 ++++---- rust-executor/src/ai_service/mod.rs | 4 +- rust-executor/src/db.rs | 4 +- rust-executor/src/graphql/graphql_types.rs | 37 ++++++++++--------- .../src/graphql/mutation_resolvers.rs | 34 +++++++++++------ rust-executor/src/graphql/query_resolvers.rs | 11 ++++++ rust-executor/src/types.rs | 4 +- 8 files changed, 68 insertions(+), 44 deletions(-) diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index 136f1a656..f369f55f1 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -20,7 +20,7 @@ export class TaskInput { @Resolver() export default class AIResolver { @Query(() => [Task]) - tasks(): Task[] { + aiTasks(): Task[] { return [] } diff --git a/core/src/ai/Tasks.ts b/core/src/ai/Tasks.ts index abb3c8cab..e2e894a43 100644 --- a/core/src/ai/Tasks.ts +++ b/core/src/ai/Tasks.ts @@ -32,22 +32,22 @@ export class PromptExamples { @ObjectType() export class Task { @Field() - model_id: string; + modelId: string; @Field() - task_id: string; + taskId: string; @Field() - system_prompt: string; + systemPrompt: string; @Field(type => [PromptExamples]) - prompt_examples: PromptExamples[]; + promptExamples: PromptExamples[]; constructor(model_id: string, task_id: string, system_prompt: string, prompt_examples: PromptExamples[]) { - this.model_id = model_id; - this.task_id = task_id; - this.system_prompt = system_prompt; - this.prompt_examples = prompt_examples; + this.modelId = model_id; + this.taskId = task_id; + this.systemPrompt = system_prompt; + this.promptExamples = prompt_examples; } } diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 8ac4ea470..65210230b 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -107,10 +107,10 @@ impl AIService { } pub fn update_task(task: AITask) -> Result { - let task_id = task.id.clone(); + let task_id = task.task_id.clone(); Ad4mDb::with_global_instance(|db| { db.update_task( - task.id, + task.task_id, task.model_id, task.system_prompt, task.prompt_examples, diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index d557dc8bc..2a84b167b 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -203,7 +203,7 @@ impl Ad4mDb { let prompt_examples: Vec = serde_json::from_str(&row.get::<_, String>(3)?).unwrap(); Ok(Some(AITask { - id: row.get(0)?, + task_id: row.get(0)?, model_id: row.get(1)?, system_prompt: row.get(2)?, prompt_examples, @@ -219,7 +219,7 @@ impl Ad4mDb { let prompt_examples: Vec = serde_json::from_str(&row.get::<_, String>(3)?).unwrap(); let task = AITask { - id: row.get(0)?, + task_id: row.get(0)?, model_id: row.get(1)?, system_prompt: row.get(2)?, prompt_examples, diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index 8bbd25173..d29061d00 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -2,8 +2,7 @@ use crate::agent::capabilities::{AuthInfo, Capability}; use crate::agent::signatures::verify; use crate::js_core::JsCoreHandle; use crate::types::{ - DecoratedExpressionProof, DecoratedLinkExpression, Expression, ExpressionProof, Link, - Notification, TriggeredNotification, + AIPromptExamples, AITask, DecoratedExpressionProof, DecoratedLinkExpression, Expression, ExpressionProof, Link, Notification, TriggeredNotification }; use coasys_juniper::{ FieldError, FieldResult, GraphQLEnum, GraphQLInputObject, GraphQLObject, GraphQLScalar, @@ -595,33 +594,37 @@ pub struct PerspectiveStateFilter { #[derive(GraphQLInputObject, Default, Debug, Deserialize, Serialize, Clone)] #[serde(rename_all = "camelCase")] -pub struct PromptExamplesInput { +pub struct AIPromptExamplesInput { pub input: String, pub output: String, } -#[derive(GraphQLObject, Default, Debug, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct PromptExamples { - pub input: String, - pub output: String, +impl From for AIPromptExamples { + fn from(input: AIPromptExamplesInput) -> AIPromptExamples { + AIPromptExamples { + input: input.input, + output: input.output, + } + } } #[derive(GraphQLInputObject, Default, Debug, Deserialize, Serialize, Clone)] #[serde(rename_all = "camelCase")] -pub struct TaskInput { +pub struct AITaskInput { pub model_id: String, pub system_prompt: String, - pub prompt_examples: Vec, + pub prompt_examples: Vec, } -#[derive(GraphQLObject, Default, Debug, Deserialize, Serialize, Clone)] -#[serde(rename_all = "camelCase")] -pub struct Task { - pub model_id: String, - pub task_id: String, - pub system_prompt: String, - pub prompt_examples: Vec, +impl From for AITask { + fn from(input: AITaskInput) -> AITask { + AITask { + task_id: String::new(), + model_id: input.model_id, + system_prompt: input.system_prompt, + prompt_examples: input.prompt_examples.into_iter().map(|p|p.into()).collect(), + } + } } #[derive(GraphQLObject, Default, Debug, Deserialize, Serialize, Clone)] diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 1d319cf36..a0d65cef8 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -8,7 +8,7 @@ use crate::{ perspective_instance::{PerspectiveInstance, SdnaType}, remove_perspective, update_perspective, }, - types::{DecoratedLinkExpression, Link, LinkExpression}, + types::{AITask, DecoratedLinkExpression, Link, LinkExpression}, }; use crate::{ db::Ad4mDb, @@ -1212,28 +1212,38 @@ impl Mutation { Ok(true) } - async fn ai_add_task(&self, context: &RequestContext, _task: TaskInput) -> FieldResult { + async fn ai_add_task(&self, context: &RequestContext, task: AITaskInput) -> FieldResult { check_capability(&context.capabilities, &AI_CREATE_CAPABILITY)?; - Ok(Task::default()) + Ok(AIService::add_task(task.into())?) } async fn ai_remove_task( &self, context: &RequestContext, - _task_id: String, - ) -> FieldResult { + task_id: String, + ) -> FieldResult { check_capability(&context.capabilities, &AI_DELETE_CAPABILITY)?; - Ok(Task::default()) + if let Some(task) = AIService::get_tasks()?.into_iter().find(|t| t.task_id == task_id) { + AIService::delete_task(task_id)?; + Ok(task) + } else { + Err(FieldError::new( + "Task not found", + graphql_value!({ "task_id": task_id }), + )) + } } async fn ai_update_task( &self, context: &RequestContext, - _task_id: String, - _task: TaskInput, - ) -> FieldResult { + task_id: String, + task: AITaskInput, + ) -> FieldResult { check_capability(&context.capabilities, &AI_UPDATE_CAPABILITY)?; - Ok(Task::default()) + let mut task: AITask = task.into(); + task.task_id = task_id; + Ok(AIService::update_task(task)?) } async fn ai_prompt( @@ -1241,9 +1251,9 @@ impl Mutation { context: &RequestContext, _task_id: String, _prompt: String, - ) -> FieldResult { + ) -> FieldResult { check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; - Ok(Task::default()) + Ok(AITask::default()) } async fn ai_embed( diff --git a/rust-executor/src/graphql/query_resolvers.rs b/rust-executor/src/graphql/query_resolvers.rs index 12ddf8396..ba5e3534c 100644 --- a/rust-executor/src/graphql/query_resolvers.rs +++ b/rust-executor/src/graphql/query_resolvers.rs @@ -1,6 +1,8 @@ #![allow(non_snake_case)] use super::graphql_types::*; use crate::agent::{capabilities::*, signatures}; +use crate::ai_service::AIService; +use crate::types::AITask; use crate::{agent::AgentService, entanglement_service::get_entanglement_proofs}; use crate::{ db::Ad4mDb, @@ -543,4 +545,13 @@ impl Query { } Ok(notifications_result.unwrap()) } + + async fn ai_tasks(&self, context: &RequestContext) -> FieldResult> { + check_capability(&context.capabilities, &AI_READ_CAPABILITY)?; + + match AIService::get_tasks() { + Ok(tasks) => Ok(tasks), + Err(e) => Err(FieldError::new(e.to_string(), Value::null())), + } + } } diff --git a/rust-executor/src/types.rs b/rust-executor/src/types.rs index 45befb999..4a5c01ae0 100644 --- a/rust-executor/src/types.rs +++ b/rust-executor/src/types.rs @@ -385,10 +385,10 @@ pub struct AIPromptExamples { pub output: String, } -#[derive(GraphQLObject, Serialize, Deserialize, Debug, Clone, PartialEq, Eq, PartialOrd, Ord)] +#[derive(GraphQLObject, Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord)] #[serde(rename_all = "camelCase")] pub struct AITask { - pub id: String, + pub task_id: String, pub model_id: String, pub system_prompt: String, pub prompt_examples: Vec, From 564061f555307a477961f3581eb966b608d63efa Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 23:09:11 +0200 Subject: [PATCH 076/183] Fix ad4m.ai.embed() and TaskInput type in interface definitions and client, match with AITaskInput --- core/src/ai/AIClient.ts | 25 ++++++++++----------- core/src/ai/AIResolver.ts | 47 ++++++++++++++------------------------- core/src/ai/Tasks.ts | 32 ++++++++++++++++++++------ 3 files changed, 54 insertions(+), 50 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 756f2fbdd..67d79edbf 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -1,8 +1,8 @@ import { ApolloClient, gql } from "@apollo/client"; import unwrapApolloResult from "../unwrapApolloResult"; -import { Task } from "./Tasks"; import base64js from 'base64js'; import pako from 'pako' +import { AITask, AITaskInput } from "./Tasks"; export class AIClient { #apolloClient: ApolloClient; @@ -12,7 +12,7 @@ export class AIClient { this.#apolloClient = apolloClient; } - async tasks(): Promise { + async tasks(): Promise { const { tasks } = unwrapApolloResult(await this.#apolloClient.query({ query: gql` query { @@ -32,11 +32,12 @@ export class AIClient { return tasks; } - async addTask(modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[]): Promise { + async addTask(modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[]): Promise { + const task = new AITaskInput(modelId, systemPrompt, promptExamples); const { addTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation AiAddTask($modelId: String!, $systemPrompt: String!, $promptExamples: [PromptExamplesInput!]!) { - aiAddTask(modelId: $modelId, systemPrompt: $systemPrompt, promptExamples: $promptExamples) { + mutation AiAddTask($task: AITaskInput!) { + aiAddTask(task: $task) { modelId taskId systemPrompt @@ -48,16 +49,14 @@ export class AIClient { } `, variables: { - modelId, - systemPrompt, - promptExamples + task } })); return addTask; } - async removeTask(taskId: string): Promise { + async removeTask(taskId: string): Promise { const { removeTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiRemoveTask($taskId: String!) { @@ -80,10 +79,10 @@ export class AIClient { return removeTask; } - async updateTask(taskId: string, task: Task): Promise { + async updateTask(taskId: string, task: AITask): Promise { const { updateTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation AiUpdateTask($taskId: String!, $task: TaskInput!) { + mutation AiUpdateTask($taskId: String!, $task: AITaskInput!) { aiUpdateTask(taskId: $taskId, task: $task) { modelId taskId @@ -123,7 +122,7 @@ export class AIClient { } async embed(modelId: string, text: string): Promise> { - const { embed } = unwrapApolloResult(await this.#apolloClient.mutate({ + const { aiEmbed } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiEmbed($modelId: String!, $text: String!) { aiEmbed(modelId: $modelId, text: $text) @@ -135,7 +134,7 @@ export class AIClient { } })); - const compressed = base64js.toByteArray(embed); + const compressed = base64js.decode(aiEmbed); const decompressed = JSON.parse(pako.inflate(compressed)); diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index f369f55f1..abcf070d9 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -1,34 +1,21 @@ import { Query, Resolver, Mutation, Arg, InputType, Field, Subscription, Float} from "type-graphql"; -import { PromptExamplesInput, PromptOutput, Task } from "./Tasks"; +import { AIPromptOutput, AITask, AITaskInput } from "./Tasks"; import pako from "pako"; import base64js from "base64js"; import { AI_TRANSCRIPTION_TEXT_TOPIC } from "../PubSub"; -@InputType() -export class TaskInput { - @Field() - modelId: string - - @Field() - systemPrompt: string - - @Field(type => [PromptExamplesInput]) - promptExamples: PromptExamplesInput[] -} - - @Resolver() export default class AIResolver { - @Query(() => [Task]) - aiTasks(): Task[] { + @Query(returns => [AITask]) + aiTasks(): AITask[] { return [] } - @Mutation(() => Task) + @Mutation(returns => AITask) aiAddTask( - @Arg("task") task: TaskInput, - ): Task { - return new Task( + @Arg("task") task: AITaskInput, + ): AITask { + return new AITask( task.modelId, "task_id", task.systemPrompt, @@ -36,11 +23,11 @@ export default class AIResolver { ) } - @Mutation(() => Task) + @Mutation(() => AITask) aiRemoveTask( @Arg("task_id") task_id: string - ): Task { - return new Task( + ): AITask { + return new AITask( "modelId", task_id, "systemPrompt", @@ -48,12 +35,12 @@ export default class AIResolver { ) } - @Mutation(() => Task) + @Mutation(() => AITask) aiUpdateTask( @Arg("task_id") task_id: string, - @Arg("task") task: TaskInput, - ): Task { - return new Task( + @Arg("task") task:AITaskInput, + ): AITask { + return new AITask( task.modelId, task_id, task.systemPrompt, @@ -61,12 +48,12 @@ export default class AIResolver { ) } - @Mutation(() => Task) + @Mutation(() => AITask) aiPrompt( @Arg("task_id") task_id: string, @Arg("prompt") input: string - ): PromptOutput { - return new PromptOutput( + ): AIPromptOutput { + return new AIPromptOutput( "output" ) } diff --git a/core/src/ai/Tasks.ts b/core/src/ai/Tasks.ts index e2e894a43..93b44d416 100644 --- a/core/src/ai/Tasks.ts +++ b/core/src/ai/Tasks.ts @@ -1,7 +1,7 @@ import { Field, InputType, ObjectType } from "type-graphql"; @InputType() -export class PromptExamplesInput { +export class AIPromptExamplesInput { @Field() input: string; @@ -16,7 +16,7 @@ export class PromptExamplesInput { @ObjectType() -export class PromptExamples { +export class AIPromptExamples { @Field() input: string; @@ -29,8 +29,26 @@ export class PromptExamples { } } +@InputType() +export class AITaskInput { + @Field() + modelId: string; + + @Field() + systemPrompt: string; + + @Field(type => [AIPromptExamplesInput]) + promptExamples: AIPromptExamplesInput[]; + + constructor(model_id: string, system_prompt: string, prompt_examples: AIPromptExamplesInput[]) { + this.modelId = model_id; + this.systemPrompt = system_prompt; + this.promptExamples = prompt_examples; + } +} + @ObjectType() -export class Task { +export class AITask { @Field() modelId: string; @@ -40,10 +58,10 @@ export class Task { @Field() systemPrompt: string; - @Field(type => [PromptExamples]) - promptExamples: PromptExamples[]; + @Field(type => [AIPromptExamples]) + promptExamples: AIPromptExamples[]; - constructor(model_id: string, task_id: string, system_prompt: string, prompt_examples: PromptExamples[]) { + constructor(model_id: string, task_id: string, system_prompt: string, prompt_examples: AIPromptExamples[]) { this.modelId = model_id; this.taskId = task_id; this.systemPrompt = system_prompt; @@ -52,7 +70,7 @@ export class Task { } @ObjectType() -export class PromptOutput { +export class AIPromptOutput { @Field() result: string; From 1650ecb1881116e88fa07777e46b198d63b8f0b7 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 23:29:45 +0200 Subject: [PATCH 077/183] More AIClient naming fixes --- core/src/ai/AIClient.ts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 67d79edbf..1879bd614 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -13,7 +13,7 @@ export class AIClient { } async tasks(): Promise { - const { tasks } = unwrapApolloResult(await this.#apolloClient.query({ + const { aiTasks } = unwrapApolloResult(await this.#apolloClient.query({ query: gql` query { aiTasks { @@ -29,12 +29,12 @@ export class AIClient { ` })); - return tasks; + return aiTasks; } async addTask(modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[]): Promise { const task = new AITaskInput(modelId, systemPrompt, promptExamples); - const { addTask } = unwrapApolloResult(await this.#apolloClient.mutate({ + const { aiAddTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiAddTask($task: AITaskInput!) { aiAddTask(task: $task) { @@ -53,11 +53,11 @@ export class AIClient { } })); - return addTask; + return aiAddTask; } async removeTask(taskId: string): Promise { - const { removeTask } = unwrapApolloResult(await this.#apolloClient.mutate({ + const { aiRemoveTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiRemoveTask($taskId: String!) { aiRemoveTask(taskId: $taskId) { @@ -76,11 +76,11 @@ export class AIClient { } })); - return removeTask; + return aiRemoveTask; } async updateTask(taskId: string, task: AITask): Promise { - const { updateTask } = unwrapApolloResult(await this.#apolloClient.mutate({ + const { aiUpdateTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiUpdateTask($taskId: String!, $task: AITaskInput!) { aiUpdateTask(taskId: $taskId, task: $task) { @@ -100,7 +100,7 @@ export class AIClient { } })); - return updateTask; + return aiUpdateTask; } async prompt(taskId: string, prompt: string): Promise { From b78666e565cc0597a38afc9c4e07fb3233988ff2 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 23:30:00 +0200 Subject: [PATCH 078/183] AI tasks CRUD integration test --- tests/js/tests/ai.ts | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 0ab7ee638..9a3541083 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -4,6 +4,45 @@ import { expect } from "chai"; export default function aiTests(testContext: TestContext) { return () => { describe('AI service', () => { + it('can do Tasks CRUD', async() => { + const ad4mClient = testContext.ad4mClient! + + // Add a task + const newTask = await ad4mClient.ai.addTask( + "test-model", + "This is a test system prompt", + [{ input: "Test input", output: "Test output" }] + ); + expect(newTask).to.have.property('taskId'); + expect(newTask.modelId).to.equal("test-model"); + expect(newTask.systemPrompt).to.equal("This is a test system prompt"); + expect(newTask.promptExamples).to.deep.equal([{ input: "Test input", output: "Test output" }]); + + // Get all tasks + const tasks = await ad4mClient.ai.tasks(); + expect(tasks).to.be.an('array'); + expect(tasks).to.have.lengthOf.at.least(1); + expect(tasks.find(task => task.taskId === newTask.taskId)).to.deep.equal(newTask); + + // Update a task + const updatedTask = await ad4mClient.ai.updateTask(newTask.taskId, { + ...newTask, + systemPrompt: "Updated system prompt", + promptExamples: [{ input: "Updated input", output: "Updated output" }] + }); + expect(updatedTask.taskId).to.equal(newTask.taskId); + expect(updatedTask.systemPrompt).to.equal("Updated system prompt"); + expect(updatedTask.promptExamples).to.deep.equal([{ input: "Updated input", output: "Updated output" }]); + + // Remove a task + const removedTask = await ad4mClient.ai.removeTask(newTask.taskId); + expect(removedTask).to.deep.equal(updatedTask); + + // Verify task is removed + const tasksAfterRemoval = await ad4mClient.ai.tasks(); + expect(tasksAfterRemoval.find(task => task.taskId === newTask.taskId)).to.be.undefined; + }) + it('can embed text to vectors', async () => { const ad4mClient = testContext.ad4mClient! From 8638821c11932e1072cd89a87c13472121680e9b Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 23:33:56 +0200 Subject: [PATCH 079/183] fmt --- rust-executor/src/ai_service/mod.rs | 12 +++--------- rust-executor/src/graphql/graphql_types.rs | 9 +++++++-- rust-executor/src/graphql/mutation_resolvers.rs | 11 +++++++++-- rust-executor/src/graphql/query_resolvers.rs | 2 +- rust-executor/src/lib.rs | 8 ++++++-- rust-executor/src/types.rs | 4 +++- 6 files changed, 29 insertions(+), 17 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 65210230b..a3f46b570 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -61,9 +61,7 @@ impl AIService { { let global_instance_arc = AIService::global_instance(); let lock_result = global_instance_arc.lock().await; - let ai_service_ref = lock_result - .as_ref() - .expect("AI service not initialized"); + let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); //let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); f(ai_service_ref) } @@ -74,9 +72,7 @@ impl AIService { { let global_instance_arc = AIService::global_instance(); let mut lock_result = global_instance_arc.lock().await; - let ai_service_mut = lock_result - .as_mut() - .expect("AI service not initialized"); + let ai_service_mut = lock_result.as_mut().expect("AI service not initialized"); //let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); f(ai_service_mut) } @@ -137,9 +133,7 @@ impl AIService { pub async fn embed(text: String) -> Result> { let global_instance_arc = AIService::global_instance(); let lock_result = global_instance_arc.lock().await; - let ai_service_ref = lock_result - .as_ref() - .expect("AI service not initialized"); + let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); let embedding = ai_service_ref.bert.embed(text).await?; Ok(embedding.to_vec()) diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index d29061d00..1df4fcb0e 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -2,7 +2,8 @@ use crate::agent::capabilities::{AuthInfo, Capability}; use crate::agent::signatures::verify; use crate::js_core::JsCoreHandle; use crate::types::{ - AIPromptExamples, AITask, DecoratedExpressionProof, DecoratedLinkExpression, Expression, ExpressionProof, Link, Notification, TriggeredNotification + AIPromptExamples, AITask, DecoratedExpressionProof, DecoratedLinkExpression, Expression, + ExpressionProof, Link, Notification, TriggeredNotification, }; use coasys_juniper::{ FieldError, FieldResult, GraphQLEnum, GraphQLInputObject, GraphQLObject, GraphQLScalar, @@ -622,7 +623,11 @@ impl From for AITask { task_id: String::new(), model_id: input.model_id, system_prompt: input.system_prompt, - prompt_examples: input.prompt_examples.into_iter().map(|p|p.into()).collect(), + prompt_examples: input + .prompt_examples + .into_iter() + .map(|p| p.into()) + .collect(), } } } diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index a0d65cef8..0c758a26e 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1212,7 +1212,11 @@ impl Mutation { Ok(true) } - async fn ai_add_task(&self, context: &RequestContext, task: AITaskInput) -> FieldResult { + async fn ai_add_task( + &self, + context: &RequestContext, + task: AITaskInput, + ) -> FieldResult { check_capability(&context.capabilities, &AI_CREATE_CAPABILITY)?; Ok(AIService::add_task(task.into())?) } @@ -1223,7 +1227,10 @@ impl Mutation { task_id: String, ) -> FieldResult { check_capability(&context.capabilities, &AI_DELETE_CAPABILITY)?; - if let Some(task) = AIService::get_tasks()?.into_iter().find(|t| t.task_id == task_id) { + if let Some(task) = AIService::get_tasks()? + .into_iter() + .find(|t| t.task_id == task_id) + { AIService::delete_task(task_id)?; Ok(task) } else { diff --git a/rust-executor/src/graphql/query_resolvers.rs b/rust-executor/src/graphql/query_resolvers.rs index ba5e3534c..1c53842a3 100644 --- a/rust-executor/src/graphql/query_resolvers.rs +++ b/rust-executor/src/graphql/query_resolvers.rs @@ -548,7 +548,7 @@ impl Query { async fn ai_tasks(&self, context: &RequestContext) -> FieldResult> { check_capability(&context.capabilities, &AI_READ_CAPABILITY)?; - + match AIService::get_tasks() { Ok(tasks) => Ok(tasks), Err(e) => Err(FieldError::new(e.to_string(), Value::null())), diff --git a/rust-executor/src/lib.rs b/rust-executor/src/lib.rs index 618d76e97..c2dd45496 100644 --- a/rust-executor/src/lib.rs +++ b/rust-executor/src/lib.rs @@ -35,7 +35,9 @@ pub use config::Ad4mConfig; pub use holochain_service::run_local_hc_services; use crate::{ - agent::AgentService, ai_service::AIService, dapp_server::serve_dapp, db::Ad4mDb, languages::LanguageController, prolog_service::init_prolog_service, runtime_service::RuntimeService + agent::AgentService, ai_service::AIService, dapp_server::serve_dapp, db::Ad4mDb, + languages::LanguageController, prolog_service::init_prolog_service, + runtime_service::RuntimeService, }; /// Runs the GraphQL server and the deno core runtime @@ -65,7 +67,9 @@ pub async fn run(mut config: Ad4mConfig) -> JoinHandle<()> { .expect("Failed to initialize Ad4mDb"); info!("Initializing AI service..."); - AIService::init_global_instance().await.expect("Couldn't initialize AI service"); + AIService::init_global_instance() + .await + .expect("Couldn't initialize AI service"); info!("Initializing Agent service..."); AgentService::init_global_instance(config.app_data_path.clone().unwrap()); diff --git a/rust-executor/src/types.rs b/rust-executor/src/types.rs index 4a5c01ae0..7d7a11119 100644 --- a/rust-executor/src/types.rs +++ b/rust-executor/src/types.rs @@ -385,7 +385,9 @@ pub struct AIPromptExamples { pub output: String, } -#[derive(GraphQLObject, Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord)] +#[derive( + GraphQLObject, Serialize, Deserialize, Debug, Default, Clone, PartialEq, Eq, PartialOrd, Ord, +)] #[serde(rename_all = "camelCase")] pub struct AITask { pub task_id: String, From 746b812f67a7e071fa062df583d64efdbd7bdff2 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 4 Sep 2024 23:36:10 +0200 Subject: [PATCH 080/183] Variable change also in tests --- rust-executor/src/db.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 2a84b167b..902f5c53d 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -1238,7 +1238,7 @@ mod tests { // Test getting the task let retrieved_task = db.get_task(task_id.clone()).unwrap().unwrap(); - assert_eq!(retrieved_task.id, task_id); + assert_eq!(retrieved_task.task_id, task_id); assert_eq!(retrieved_task.model_id, model_id); assert_eq!(retrieved_task.system_prompt, system_prompt); assert_eq!(retrieved_task.prompt_examples, prompt_examples); @@ -1246,7 +1246,7 @@ mod tests { // Test getting all tasks let all_tasks = db.get_tasks().unwrap(); assert_eq!(all_tasks.len(), 1); - assert_eq!(all_tasks[0].id, task_id); + assert_eq!(all_tasks[0].task_id, task_id); // Test removing the task db.remove_task(task_id.clone()).unwrap(); From 81891c9391cca9e3e4226a8be5c34045e8777b89 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 5 Sep 2024 10:42:41 +0530 Subject: [PATCH 081/183] Fix AIResolver import in AIClient.ts --- core/src/Ad4mClient.test.ts | 6 ++++-- core/src/ai/AIClient.ts | 14 ++++++++++---- core/src/ai/AIResolver.ts | 13 +++++-------- 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/core/src/Ad4mClient.test.ts b/core/src/Ad4mClient.test.ts index 26895a298..9b2292b43 100644 --- a/core/src/Ad4mClient.test.ts +++ b/core/src/Ad4mClient.test.ts @@ -24,6 +24,7 @@ import NeighbourhoodResolver from "./neighbourhood/NeighbourhoodResolver"; import PerspectiveResolver from "./perspectives/PerspectiveResolver"; import RuntimeResolver from "./runtime/RuntimeResolver"; import ExpressionResolver from "./expression/ExpressionResolver"; +import AIResolver from './ai/AIResolver' import { AuthInfoInput, EntanglementProofInput, CapabilityInput, ResourceInput } from "./agent/Agent"; import { LanguageMetaInput } from "./language/LanguageMeta"; import { InteractionCall } from "./language/Language"; @@ -39,7 +40,8 @@ async function createGqlServer(port: number) { LanguageResolver, NeighbourhoodResolver, PerspectiveResolver, - RuntimeResolver + RuntimeResolver, + AIResolver ] }) @@ -1152,7 +1154,7 @@ describe('Ad4mClient', () => { }) describe('.ai', () => { it('embed()', async () => { - const vector = await ad4mClient.ai.embed() + const vector = await ad4mClient.ai.embed("model", "test ets") expect(vector[0]).toEqual(0) expect(vector[1]).toEqual(10) expect(vector[2]).toEqual(20) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 1879bd614..057014241 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -1,6 +1,6 @@ import { ApolloClient, gql } from "@apollo/client"; import unwrapApolloResult from "../unwrapApolloResult"; -import base64js from 'base64js'; +import base64js from 'base64-js'; import pako from 'pako' import { AITask, AITaskInput } from "./Tasks"; @@ -124,7 +124,7 @@ export class AIClient { async embed(modelId: string, text: string): Promise> { const { aiEmbed } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation AiEmbed($modelId: String!, $text: String!) { + mutation aiEmbed($modelId: String!, $text: String!) { aiEmbed(modelId: $modelId, text: $text) } `, @@ -134,9 +134,15 @@ export class AIClient { } })); - const compressed = base64js.decode(aiEmbed); + console.log(aiEmbed); - const decompressed = JSON.parse(pako.inflate(compressed)); + const compressed = base64js.toByteArray(aiEmbed); + + console.log(compressed); + + const decompressed = JSON.parse(pako.inflate(compressed, { to: 'string' })); + + console.log(decompressed); return decompressed; } diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index abcf070d9..3aa49b305 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -1,7 +1,7 @@ import { Query, Resolver, Mutation, Arg, InputType, Field, Subscription, Float} from "type-graphql"; import { AIPromptOutput, AITask, AITaskInput } from "./Tasks"; import pako from "pako"; -import base64js from "base64js"; +import base64js from 'base64-js'; import { AI_TRANSCRIPTION_TEXT_TOPIC } from "../PubSub"; @Resolver() @@ -60,23 +60,20 @@ export default class AIResolver { @Mutation(() => String) aiEmbed( - @Arg("model_id") model_id: string, + @Arg("modelId") modelId: string, @Arg("text") text: string - ): [number] { + ): string { const vec = [0, 10, 20, 30]; const vecString = JSON.stringify(vec); const compressed = pako.deflate(vecString); const compressedString = base64js.fromByteArray(compressed); - const vecString1 = base64js.toByteArray(compressedString); - const decompressed = pako.inflate(vecString1); - - return decompressed; + return compressedString; } @Mutation(() => String) aiOpenTranscriptionStream( - @Arg("model_id") model_id: string + @Arg("modelId") modelId: string ): string { return "stream_id" } From 991a57f79bf3632dccd87dd632bf182b2b1dc92d Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 5 Sep 2024 10:42:52 +0530 Subject: [PATCH 082/183] chore: Update npm dependencies to latest versions --- core/package.json | 6 ++++-- core/pnpm-lock.yaml | 42 ++++++++++++++++++++++++++++++++---------- pnpm-lock.yaml | 12 ++++++++++++ 3 files changed, 48 insertions(+), 12 deletions(-) diff --git a/core/package.json b/core/package.json index 5abbee9fb..f19bb18f6 100644 --- a/core/package.json +++ b/core/package.json @@ -41,7 +41,7 @@ "reflect-metadata": "^0.1.13", "type-graphql": "1.1.1", "pako": "*", - "base64js": "*" + "base64-js": "*" }, "devDependencies": { "@apollo/server": "^4.9.4", @@ -59,7 +59,9 @@ "typescript": "^4.6.2", "ws": "8.13.0", "@types/node": "*", - "@types/yargs": "*" + "@types/yargs": "*", + "react": "*", + "react-dom": "*" }, "patchedDependencies": {}, "version": "0.10.0-rc7", diff --git a/core/pnpm-lock.yaml b/core/pnpm-lock.yaml index 98a0584a1..9096dd0a7 100644 --- a/core/pnpm-lock.yaml +++ b/core/pnpm-lock.yaml @@ -15,16 +15,16 @@ importers: dependencies: '@apollo/client': specifier: 3.7.10 - version: 3.7.10(graphql-ws@5.12.0)(graphql@15.7.2) + version: 3.7.10(graphql-ws@5.12.0)(graphql@15.7.2)(react-dom@18.3.1)(react@18.3.1) '@holochain/client': specifier: 0.16.0 version: 0.16.0 '@types/jest': specifier: ^26.0.14 version: 26.0.24 - base64js: + base64-js: specifier: '*' - version: 1.0.1 + version: 1.5.1 class-validator: specifier: ^0.13.1 version: 0.13.2 @@ -80,6 +80,12 @@ importers: patch-package: specifier: ^8.0.0 version: 8.0.0 + react: + specifier: '*' + version: 18.3.1 + react-dom: + specifier: '*' + version: 18.3.1(react@18.3.1) rollup: specifier: ^2.56.3 version: 2.79.1 @@ -111,7 +117,7 @@ packages: graphql: 15.7.2(patch_hash=g4ubilmxli6fuk7eusupjbkdjm) dev: true - /@apollo/client@3.7.10(graphql-ws@5.12.0)(graphql@15.7.2): + /@apollo/client@3.7.10(graphql-ws@5.12.0)(graphql@15.7.2)(react-dom@18.3.1)(react@18.3.1): resolution: {integrity: sha512-/k1MfrqPKYiPNdHcOzdxg9cEx96vhAGxAcSorzfBvV29XtFQcYW2cPNQOTjK/fpSMtqVo8UNmu5vwQAWD1gfCg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -139,6 +145,8 @@ packages: hoist-non-react-statics: 3.3.2 optimism: 0.16.2 prop-types: 15.8.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) response-iterator: 0.2.6 symbol-observable: 4.0.0 ts-invariant: 0.10.3 @@ -1654,11 +1662,6 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - - /base64js@1.0.1: - resolution: {integrity: sha512-jxGN7DS7e+HHO5u+UT9NzK2BMKJByQPmmdXyvad7TN0mPKGC4kRMTnnV7g7HqhLlW51AFmtbRM4IDGxysBYuVg==} - dev: false /base@0.11.2: resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} @@ -4320,7 +4323,6 @@ packages: hasBin: true dependencies: js-tokens: 4.0.0 - dev: false /lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -5221,6 +5223,15 @@ packages: iconv-lite: 0.4.24 unpipe: 1.0.0 + /react-dom@18.3.1(react@18.3.1): + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + /react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: false @@ -5228,6 +5239,12 @@ packages: /react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -5462,6 +5479,11 @@ packages: xmlchars: 2.2.0 dev: true + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + dependencies: + loose-envify: 1.4.0 + /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index be5c652ed..afbbaae7a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -425,6 +425,18 @@ importers: specifier: ^1.8.0 version: 1.8.0 + bootstrap-languages/embedding-vector-language: + devDependencies: + tslib: + specifier: ^2.0.0 + version: 2.6.2 + typescript: + specifier: ^4.6.2 + version: 4.9.5 + uint8arrays: + specifier: ^3.0.0 + version: 3.1.1 + bootstrap-languages/file-storage: devDependencies: '@coasys/ad4m': From 965b0b08555a707834f4f8d53a160242450fcbcd Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 5 Sep 2024 11:17:24 +0530 Subject: [PATCH 083/183] feat: Add AI task CRUD integration tests and fix related types --- core/src/Ad4mClient.test.ts | 57 +++++++++++++++++++++++++++++++++++++ core/src/ai/AIClient.ts | 28 +++++++----------- core/src/ai/AIResolver.ts | 43 ++++++++++++++++++---------- 3 files changed, 96 insertions(+), 32 deletions(-) diff --git a/core/src/Ad4mClient.test.ts b/core/src/Ad4mClient.test.ts index 9b2292b43..d9c7bbac2 100644 --- a/core/src/Ad4mClient.test.ts +++ b/core/src/Ad4mClient.test.ts @@ -1160,5 +1160,62 @@ describe('Ad4mClient', () => { expect(vector[2]).toEqual(20) expect(vector[3]).toEqual(30) }) + + it('tasks()', async () => { + const tasks = await ad4mClient.ai.tasks() + expect(tasks.length).toBe(2) + expect(tasks[0].taskId).toBe("task_id") + expect(tasks[0].modelId).toBe("modelId") + }) + + it('addTask()', async () => { + const task = await ad4mClient.ai.addTask("model_id", "system prompt", []); + expect(task.taskId).toBe("task_id") + expect(task.modelId).toBe("model_id") + expect(task.systemPrompt).toBe("system prompt") + }); + + it('removeTask()', async () => { + const task = await ad4mClient.ai.removeTask("task_id", "system prompt", []); + expect(task.taskId).toBe("task_id") + expect(task.modelId).toBe("model_id") + expect(task.systemPrompt).toBe("system prompt") + }); + + it('updateTask()', async () => { + const task = await ad4mClient.ai.updateTask("task_id", { + modelId: "model_id", + systemPrompt: "system prompt", + promptExamples: [] + }); + expect(task.taskId).toBe("task_id") + expect(task.modelId).toBe("model_id") + expect(task.systemPrompt).toBe("system prompt") + }); + + it('prompt()', async () => { + const prompt = await ad4mClient.ai.prompt("task_id", "Do something"); + console.log(prompt) + expect(prompt).toBe("output") + }) + + it('openTranscriptionStream(), closeTranscriptionStream(), feedTranscriptionStream() & aiTranscriptionText subscription', async () => { + const streamCallback = jest.fn() + const streamId = await ad4mClient.ai.openTranscriptionStream("model_id", streamCallback); + expect(streamId).toBeTruthy() + expect(streamId).toBe("streamId") + expect(streamCallback).toBeCalledTimes(0) + + await new Promise(resolve => setTimeout(resolve, 100)) + + await ad4mClient.ai.feedTranscriptionStream(streamId, [0, 10, 20, 30]); + + await new Promise(resolve => setTimeout(resolve, 100)) + + expect(streamCallback).toBeCalledTimes(1) + + const stream = await ad4mClient.ai.closeTranscriptionStream(streamId) + expect(stream).toBeTruthy() + }) }) }) \ No newline at end of file diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 057014241..0c5ed60e2 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -104,7 +104,7 @@ export class AIClient { } async prompt(taskId: string, prompt: string): Promise { - const { prompt: output } = unwrapApolloResult(await this.#apolloClient.mutate({ + const { aiPrompt } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiPrompt($taskId: String!, $prompt: String!) { aiPrompt(taskId: $taskId, prompt: $prompt) { @@ -118,7 +118,7 @@ export class AIClient { } })); - return output.result; + return aiPrompt.result; } async embed(modelId: string, text: string): Promise> { @@ -134,23 +134,17 @@ export class AIClient { } })); - console.log(aiEmbed); - const compressed = base64js.toByteArray(aiEmbed); - console.log(compressed); - const decompressed = JSON.parse(pako.inflate(compressed, { to: 'string' })); - console.log(decompressed); - return decompressed; } async openTranscriptionStream(modelId: string, streamCallback: (text: string) => void): Promise { - const { openTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ + const { aiOpenTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation AiOpenTranscriptionStream { + mutation AiOpenTranscriptionStream($modelId: String!) { aiOpenTranscriptionStream(modelId: $modelId) } `, @@ -166,7 +160,7 @@ export class AIClient { } `, variables: { - streamId: openTranscriptionStream.stream_id + streamId: aiOpenTranscriptionStream } }).subscribe({ next(data) { @@ -179,15 +173,15 @@ export class AIClient { } }); - this.#transcriptionSubscriptions.set(openTranscriptionStream.stream_id, () => subscription); + this.#transcriptionSubscriptions.set(aiOpenTranscriptionStream, subscription); - return openTranscriptionStream.stream_id; + return aiOpenTranscriptionStream; } async closeTranscriptionStream(streamId: string): Promise { - const { closeTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ + const { aiCloseTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation AiCloseTranscriptionStream($streamId: String!) { + mutation aiCloseTranscriptionStream($streamId: String!) { aiCloseTranscriptionStream(streamId: $streamId) } `, @@ -202,13 +196,13 @@ export class AIClient { subscription.unsubscribe(); } - return closeTranscriptionStream; + return aiCloseTranscriptionStream; } async feedTranscriptionStream(streamId: string, audio: Float32Array): Promise { const { feedTranscriptionStream } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` - mutation AiFeedTranscriptionStream($streamId: String!, $audio: [Float!]) { + mutation AiFeedTranscriptionStream($streamId: String!, $audio: [Float!]!) { aiFeedTranscriptionStream(streamId: $streamId, audio: $audio) } `, diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index 3aa49b305..d0ae32737 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -1,4 +1,4 @@ -import { Query, Resolver, Mutation, Arg, InputType, Field, Subscription, Float} from "type-graphql"; +import { Query, Resolver, Mutation, Arg, InputType, Field, Subscription, Float, PubSub} from "type-graphql"; import { AIPromptOutput, AITask, AITaskInput } from "./Tasks"; import pako from "pako"; import base64js from 'base64-js'; @@ -8,7 +8,18 @@ import { AI_TRANSCRIPTION_TEXT_TOPIC } from "../PubSub"; export default class AIResolver { @Query(returns => [AITask]) aiTasks(): AITask[] { - return [] + return [new AITask( + "modelId", + "task_id", + "systemPrompt", + [] + ), + new AITask( + "modelId", + "task_id", + "systemPrompt", + [] + )] } @Mutation(returns => AITask) @@ -25,32 +36,32 @@ export default class AIResolver { @Mutation(() => AITask) aiRemoveTask( - @Arg("task_id") task_id: string + @Arg("taskId") taskId: string ): AITask { return new AITask( - "modelId", - task_id, - "systemPrompt", + "model_id", + taskId, + "system prompt", [] ) } @Mutation(() => AITask) aiUpdateTask( - @Arg("task_id") task_id: string, + @Arg("taskId") taskId: string, @Arg("task") task:AITaskInput, ): AITask { return new AITask( task.modelId, - task_id, + taskId, task.systemPrompt, task.promptExamples ) } - @Mutation(() => AITask) + @Mutation(() => AIPromptOutput) aiPrompt( - @Arg("task_id") task_id: string, + @Arg("taskId") taskId: string, @Arg("prompt") input: string ): AIPromptOutput { return new AIPromptOutput( @@ -75,27 +86,29 @@ export default class AIResolver { aiOpenTranscriptionStream( @Arg("modelId") modelId: string ): string { - return "stream_id" + return "streamId" } @Mutation(() => String) aiCloseTranscriptionStream( - @Arg("stream_id") stream_id: string + @Arg("streamId") streamId: string ): boolean { return true } @Mutation(() => String) aiFeedTranscriptionStream( - @Arg("stream_id") stream_id: string, - @Arg("audio", () => [Float]) audio: number[] + @Arg("streamId") streamId: string, + @Arg("audio", () => [Float]) audio: number[], + @PubSub() pubSub: any ): boolean { + pubSub.publish(AI_TRANSCRIPTION_TEXT_TOPIC, { streamId }); return true } @Subscription({ topics: AI_TRANSCRIPTION_TEXT_TOPIC, nullable: false }) aiTranscriptionText( - @Arg("stream_id") stream_id: string + @Arg("streamId") streamId: string ): string { return "transcription" } From 6ca21f90915fe1c95a49651518690237d3f6d933 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 10:05:39 +0200 Subject: [PATCH 084/183] ai.updateTask() omit taskId since it's not part of AITaskInput --- core/src/ai/AIClient.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 0c5ed60e2..cd5183bd6 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -96,7 +96,11 @@ export class AIClient { `, variables: { taskId, - task + task: { + modelId: task.modelId, + systemPrompt: task.systemPrompt, + promptExamples: task.promptExamples + } } })); From b6ac2ee4cae2756d6f38afc44f952d16fc9b7ff4 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 10:06:17 +0200 Subject: [PATCH 085/183] Fix assertions of embedding integration test --- tests/js/tests/ai.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 9a3541083..d62f2b9bf 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -47,7 +47,8 @@ export default function aiTests(testContext: TestContext) { const ad4mClient = testContext.ad4mClient! let vector = await ad4mClient.ai.embed("Bert", "Test string"); - expect(typeof vector).to.equal("Array") + expect(typeof vector).to.equal("object") + expect(Array.isArray(vector)).to.be.true expect(vector.length).to.be.greaterThan(300) }) }) From 83b896655d8261c6d9796f3ce4c1c85050fb91fb Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 5 Sep 2024 15:20:32 +0530 Subject: [PATCH 086/183] Refactor AI task mutation resolvers for better code organization and readability --- rust-executor/src/ai_service/mod.rs | 135 +++++++++++++++--- .../src/graphql/mutation_resolvers.rs | 17 ++- 2 files changed, 126 insertions(+), 26 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index a3f46b570..a038377d8 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,11 +1,13 @@ use crate::db::Ad4mDb; +use crate::graphql::graphql_types::AITaskInput; use crate::types::AITask; use deno_core::error::AnyError; use kalosm::language::*; +use rustls::crypto::hash::Hash; +use std::collections::HashMap; use std::error::Error; use std::fmt; -use std::sync::Arc; -use tokio::sync::Mutex; +use std::sync::{Arc, Mutex}; #[derive(Debug)] pub enum AIServiceError { @@ -36,64 +38,109 @@ lazy_static! { pub struct AIService { bert: Bert, + llama: Llama, + tasks: HashMap, } impl AIService { pub async fn new() -> Result { + let llama = Llama::builder().build().await?; + + let mut mapped_tasks: HashMap = HashMap::new(); + + let tasks = Ad4mDb::with_global_instance(|db| db.get_tasks()) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + + for task in tasks { + let task_id = task.task_id.clone(); + let model_id = task.model_id.clone(); + let system_prompt = task.system_prompt.clone(); + let prompt_examples = task.prompt_examples.clone(); + let task = Task::builder(task.system_prompt) + .with_examples(prompt_examples.clone().into_iter().map(|example| { + (example.input.into(), example.output.into()) + }).collect::>()) + .build(); + + let exmaple_prompt_result = task.run("Test example prompt".to_string(), &llama); + + log::info!("Example prompt result: {:?}", exmaple_prompt_result); + + mapped_tasks.insert(task_id, task); + } + Ok(AIService { bert: Bert::builder().build().await?, + llama, + tasks: mapped_tasks, }) } - pub async fn init_global_instance() -> Result<()> { - let mut ai_service = AI_SERVICE.lock().await; - *ai_service = Some(AIService::new().await?); - Ok(()) + pub fn init_global_instance() { + let mut ai_service = AI_SERVICE.lock().unwrap(); + *ai_service = Some(AIService::new()); } pub fn global_instance() -> Arc>> { AI_SERVICE.clone() } - pub async fn with_global_instance(f: F) -> R + pub fn with_global_instance(f: F) -> R where F: FnOnce(&AIService) -> R, { let global_instance_arc = AIService::global_instance(); - let lock_result = global_instance_arc.lock().await; + let lock_result = global_instance_arc.lock(); let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); //let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); f(ai_service_ref) } - pub async fn with_mutable_global_instance(f: F) + pub fn with_mutable_global_instance(f: F) -> R where - F: FnOnce(&mut AIService), + F: FnOnce(&mut AIService) -> R, { let global_instance_arc = AIService::global_instance(); - let mut lock_result = global_instance_arc.lock().await; + let mut lock_result = global_instance_arc.lock(); let ai_service_mut = lock_result.as_mut().expect("AI service not initialized"); //let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); f(ai_service_mut) } - pub fn add_task(task: AITask) -> Result { + pub fn add_task(&mut self, task: AITaskInput) -> Result { let task_id = Ad4mDb::with_global_instance(|db| { db.add_task(task.model_id, task.system_prompt, task.prompt_examples) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - let retrieved_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) + let retrieved_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; + let task = Task::builder(retrieved_task.system_prompt.clone()) + .with_examples( + retrieved_task.prompt_examples.clone().into_iter().map(|example| { + (example.input.into(), example.output.into()) + }).collect::>() + ) + .build(); + + let exmaple_prompt_result = task.run("Test example prompt".to_string(), &self.llama); + + log::info!("Example prompt result: {:?}", exmaple_prompt_result); + + self.tasks.insert(task_id, task); + Ok(retrieved_task) } - pub fn delete_task(task_id: String) -> Result<()> { - Ad4mDb::with_global_instance(|db| db.remove_task(task_id)) + pub fn delete_task(&mut self, task_id: String) -> Result { + Ad4mDb::with_global_instance(|db| db.remove_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - Ok(()) + + self.tasks.remove(&task_id); + + Ok(true) } pub fn get_tasks() -> Result> { @@ -102,7 +149,7 @@ impl AIService { Ok(tasks) } - pub fn update_task(task: AITask) -> Result { + pub fn update_task(&mut self, task: AITask) -> Result { let task_id = task.task_id.clone(); Ad4mDb::with_global_instance(|db| { db.update_task( @@ -114,20 +161,38 @@ impl AIService { }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - let updated_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) + let updated_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; + let task = Task::builder(updated_task.system_prompt.clone()) + .with_examples( + updated_task.prompt_examples.clone().into_iter().map(|example| { + (example.input.into(), example.output.into()) + }).collect::>() + ) + .build(); + + let exmaple_prompt_result = task.run("Test example prompt".to_string(), &self.llama); + + log::info!("Example prompt result: {:?}", exmaple_prompt_result); + + self.tasks.insert(task_id, task); + Ok(updated_task) } - pub fn prompt(task_id: String, _prompt: String) -> Result<()> { - let _task = Ad4mDb::with_global_instance(|db| db.get_task(task_id)) - .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? - .ok_or(AIServiceError::TaskNotFound)?; + + pub async fn prompt(&self, task_id: String, prompt: String) -> Result { + let task = self.tasks.get(&task_id); + + if task.is_none() { + return Err(AIServiceError::TaskNotFound.into()); + } // Run AI model with prompt + let result: String = task.unwrap().run(prompt, &self.llama).all_text().await?; - Ok(()) + Ok(result) } pub async fn embed(text: String) -> Result> { @@ -142,6 +207,8 @@ impl AIService { #[cfg(test)] mod tests { + use crate::types::AIPromptExamples; + use super::*; #[tokio::test] @@ -154,4 +221,26 @@ mod tests { .expect("embed to return a result"); assert!(vector.len() > 300) } + + // #[tokio::test] + // async fn test_prompt() { + // AIService::init_global_instance() + // .await + // .expect("initialization to work"); + + // AIService::add_task(AITask { + // task_id: "test".into(), + // model_id: "gpt-3".into(), + // system_prompt: "Test system prompt".into(), + // prompt_examples: vec![AIPromptExamples{ + // prompt: "Test prompt".into(), + // response: "Test response".into() + // }], + // }); + + // let prompt = AIService::prompt("test".into(), "Test string".into()) + // .await + // .expect("prompt to return a result"); + // assert!(prompt.len() > 0) + // } } diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 0c758a26e..5ce8459b4 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1218,7 +1218,11 @@ impl Mutation { task: AITaskInput, ) -> FieldResult { check_capability(&context.capabilities, &AI_CREATE_CAPABILITY)?; - Ok(AIService::add_task(task.into())?) + let task = AIService::with_mutable_global_instance(|service| { + let added_task = service.add_task(task.clone()); + added_task + }); + Ok(task) } async fn ai_remove_task( @@ -1231,7 +1235,10 @@ impl Mutation { .into_iter() .find(|t| t.task_id == task_id) { - AIService::delete_task(task_id)?; + let task = AIService::with_mutable_global_instance(|service| { + let deleted_task = service.delete_task(task_id.clone()); + deleted_task + }); Ok(task) } else { Err(FieldError::new( @@ -1250,7 +1257,11 @@ impl Mutation { check_capability(&context.capabilities, &AI_UPDATE_CAPABILITY)?; let mut task: AITask = task.into(); task.task_id = task_id; - Ok(AIService::update_task(task)?) + let task = AIService::with_mutable_global_instance(|service| { + let updated_task = service.update_task(task.clone()); + updated_task + }); + Ok(task) } async fn ai_prompt( From e14a4097417110aab94047f67ef70e8406ba2c2a Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 13:13:24 +0200 Subject: [PATCH 087/183] Fix build --- rust-executor/src/ai_service/mod.rs | 29 ++++++++++--------- rust-executor/src/graphql/graphql_types.rs | 9 ++++++ .../src/graphql/mutation_resolvers.rs | 14 ++++----- 3 files changed, 31 insertions(+), 21 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index a038377d8..eae1fd072 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -3,11 +3,12 @@ use crate::graphql::graphql_types::AITaskInput; use crate::types::AITask; use deno_core::error::AnyError; use kalosm::language::*; -use rustls::crypto::hash::Hash; use std::collections::HashMap; use std::error::Error; use std::fmt; -use std::sync::{Arc, Mutex}; +use std::sync::Arc; +use tokio::sync::Mutex; + #[derive(Debug)] pub enum AIServiceError { @@ -53,8 +54,8 @@ impl AIService { for task in tasks { let task_id = task.task_id.clone(); - let model_id = task.model_id.clone(); - let system_prompt = task.system_prompt.clone(); + let _model_id = task.model_id.clone(); + let _system_prompt = task.system_prompt.clone(); let prompt_examples = task.prompt_examples.clone(); let task = Task::builder(task.system_prompt) .with_examples(prompt_examples.clone().into_iter().map(|example| { @@ -76,32 +77,34 @@ impl AIService { }) } - pub fn init_global_instance() { - let mut ai_service = AI_SERVICE.lock().unwrap(); - *ai_service = Some(AIService::new()); + pub async fn init_global_instance() -> Result<()> { + let new_service = AIService::new().await?; + let mut ai_service = AI_SERVICE.lock().await; + *ai_service = Some(new_service); + Ok(()) } pub fn global_instance() -> Arc>> { AI_SERVICE.clone() } - pub fn with_global_instance(f: F) -> R + pub async fn with_global_instance(f: F) -> R where F: FnOnce(&AIService) -> R, { let global_instance_arc = AIService::global_instance(); - let lock_result = global_instance_arc.lock(); + let lock_result = global_instance_arc.lock().await; let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); //let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); f(ai_service_ref) } - pub fn with_mutable_global_instance(f: F) -> R + pub async fn with_mutable_global_instance(f: F) -> R where F: FnOnce(&mut AIService) -> R, { let global_instance_arc = AIService::global_instance(); - let mut lock_result = global_instance_arc.lock(); + let mut lock_result = global_instance_arc.lock().await; let ai_service_mut = lock_result.as_mut().expect("AI service not initialized"); //let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); f(ai_service_mut) @@ -109,7 +112,7 @@ impl AIService { pub fn add_task(&mut self, task: AITaskInput) -> Result { let task_id = Ad4mDb::with_global_instance(|db| { - db.add_task(task.model_id, task.system_prompt, task.prompt_examples) + db.add_task(task.model_id, task.system_prompt, task.prompt_examples.into_iter().map(|p|p.into()).collect()) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; @@ -190,7 +193,7 @@ impl AIService { } // Run AI model with prompt - let result: String = task.unwrap().run(prompt, &self.llama).all_text().await?; + let result: String = task.unwrap().run(prompt, &self.llama).all_text().await; Ok(result) } diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index 1df4fcb0e..cd402fa60 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -609,6 +609,15 @@ impl From for AIPromptExamples { } } +impl From for AIPromptExamplesInput { + fn from(input: AIPromptExamples) -> AIPromptExamplesInput { + AIPromptExamplesInput { + input: input.input, + output: input.output, + } + } +} + #[derive(GraphQLInputObject, Default, Debug, Deserialize, Serialize, Clone)] #[serde(rename_all = "camelCase")] pub struct AITaskInput { diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 5ce8459b4..a7b3d8163 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1221,7 +1221,7 @@ impl Mutation { let task = AIService::with_mutable_global_instance(|service| { let added_task = service.add_task(task.clone()); added_task - }); + }).await?; Ok(task) } @@ -1235,10 +1235,9 @@ impl Mutation { .into_iter() .find(|t| t.task_id == task_id) { - let task = AIService::with_mutable_global_instance(|service| { - let deleted_task = service.delete_task(task_id.clone()); - deleted_task - }); + AIService::with_mutable_global_instance(|service| { + let _ = service.delete_task(task_id.clone()); + }).await; Ok(task) } else { Err(FieldError::new( @@ -1258,9 +1257,8 @@ impl Mutation { let mut task: AITask = task.into(); task.task_id = task_id; let task = AIService::with_mutable_global_instance(|service| { - let updated_task = service.update_task(task.clone()); - updated_task - }); + service.update_task(task.clone()) + }).await?; Ok(task) } From 6f53468952e27d7e8e2a51d537b347948dbab444 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 13:36:47 +0200 Subject: [PATCH 088/183] Prompt unit test passing --- rust-executor/src/ai_service/mod.rs | 67 +++++++++++++++-------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index eae1fd072..b2bdca2ea 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -45,7 +45,7 @@ pub struct AIService { impl AIService { pub async fn new() -> Result { - let llama = Llama::builder().build().await?; + let llama = Llama::builder().with_source(LlamaSource::tiny_llama_1_1b()).build().await?; let mut mapped_tasks: HashMap = HashMap::new(); @@ -185,17 +185,16 @@ impl AIService { Ok(updated_task) } - pub async fn prompt(&self, task_id: String, prompt: String) -> Result { - let task = self.tasks.get(&task_id); + pub async fn prompt(task_id: String, prompt: String) -> Result { + let global_instance_arc = AIService::global_instance(); + let lock_result = global_instance_arc.lock().await; + let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); - if task.is_none() { - return Err(AIServiceError::TaskNotFound.into()); + if let Some(task) = ai_service_ref.tasks.get(&task_id){ + Ok(task.run(prompt, &ai_service_ref.llama).all_text().await) + } else { + Err(AIServiceError::TaskNotFound.into()) } - - // Run AI model with prompt - let result: String = task.unwrap().run(prompt, &self.llama).all_text().await; - - Ok(result) } pub async fn embed(text: String) -> Result> { @@ -210,7 +209,7 @@ impl AIService { #[cfg(test)] mod tests { - use crate::types::AIPromptExamples; + use crate::{graphql::graphql_types::AIPromptExamplesInput}; use super::*; @@ -225,25 +224,29 @@ mod tests { assert!(vector.len() > 300) } - // #[tokio::test] - // async fn test_prompt() { - // AIService::init_global_instance() - // .await - // .expect("initialization to work"); - - // AIService::add_task(AITask { - // task_id: "test".into(), - // model_id: "gpt-3".into(), - // system_prompt: "Test system prompt".into(), - // prompt_examples: vec![AIPromptExamples{ - // prompt: "Test prompt".into(), - // response: "Test response".into() - // }], - // }); - - // let prompt = AIService::prompt("test".into(), "Test string".into()) - // .await - // .expect("prompt to return a result"); - // assert!(prompt.len() > 0) - // } + #[tokio::test] + async fn test_prompt() { + Ad4mDb::init_global_instance(":memory:").expect("Ad4mDb to initialize"); + AIService::init_global_instance() + .await + .expect("initialization to work"); + + let task = AIService::with_mutable_global_instance(|service| { + service.add_task(AITaskInput { + model_id: "Llama tiny 1b".into(), + system_prompt: "You are inside a test for tasks. Please make sure to create any non-zero length output".into(), + prompt_examples: vec![AIPromptExamplesInput{ + input: "Test string".into(), + output: "Yes, I'm working!".into() + }], + }) + }).await.expect("add_task to work without error"); + + + let response = AIService::prompt(task.task_id, "Test string".into()) + .await + .expect("prompt to return a result"); + println!("Response: {}", response); + assert!(response.len() > 0) + } } From 4f89307c7fb3c7159c7074945b2c0ee38edd25c7 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 13:42:53 +0200 Subject: [PATCH 089/183] Wire-up AIService::prompt in mutation resolver --- .../src/graphql/mutation_resolvers.rs | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index a7b3d8163..81432384e 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1221,7 +1221,8 @@ impl Mutation { let task = AIService::with_mutable_global_instance(|service| { let added_task = service.add_task(task.clone()); added_task - }).await?; + }) + .await?; Ok(task) } @@ -1237,7 +1238,8 @@ impl Mutation { { AIService::with_mutable_global_instance(|service| { let _ = service.delete_task(task_id.clone()); - }).await; + }) + .await; Ok(task) } else { Err(FieldError::new( @@ -1256,20 +1258,20 @@ impl Mutation { check_capability(&context.capabilities, &AI_UPDATE_CAPABILITY)?; let mut task: AITask = task.into(); task.task_id = task_id; - let task = AIService::with_mutable_global_instance(|service| { - service.update_task(task.clone()) - }).await?; + let task = + AIService::with_mutable_global_instance(|service| service.update_task(task.clone())) + .await?; Ok(task) } async fn ai_prompt( &self, context: &RequestContext, - _task_id: String, - _prompt: String, - ) -> FieldResult { + task_id: String, + prompt: String, + ) -> FieldResult { check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; - Ok(AITask::default()) + Ok(AIService::prompt(task_id, prompt).await?) } async fn ai_embed( From 251422b246c3bc30ac859818abebdb6818e0ab62 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 13:43:05 +0200 Subject: [PATCH 090/183] fmt --- rust-executor/src/ai_service/mod.rs | 45 +++++++++++++++++++---------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index b2bdca2ea..bb9fa65b3 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -9,7 +9,6 @@ use std::fmt; use std::sync::Arc; use tokio::sync::Mutex; - #[derive(Debug)] pub enum AIServiceError { DatabaseError(String), @@ -45,7 +44,10 @@ pub struct AIService { impl AIService { pub async fn new() -> Result { - let llama = Llama::builder().with_source(LlamaSource::tiny_llama_1_1b()).build().await?; + let llama = Llama::builder() + .with_source(LlamaSource::tiny_llama_1_1b()) + .build() + .await?; let mut mapped_tasks: HashMap = HashMap::new(); @@ -58,9 +60,13 @@ impl AIService { let _system_prompt = task.system_prompt.clone(); let prompt_examples = task.prompt_examples.clone(); let task = Task::builder(task.system_prompt) - .with_examples(prompt_examples.clone().into_iter().map(|example| { - (example.input.into(), example.output.into()) - }).collect::>()) + .with_examples( + prompt_examples + .clone() + .into_iter() + .map(|example| (example.input.into(), example.output.into())) + .collect::>(), + ) .build(); let exmaple_prompt_result = task.run("Test example prompt".to_string(), &llama); @@ -112,7 +118,11 @@ impl AIService { pub fn add_task(&mut self, task: AITaskInput) -> Result { let task_id = Ad4mDb::with_global_instance(|db| { - db.add_task(task.model_id, task.system_prompt, task.prompt_examples.into_iter().map(|p|p.into()).collect()) + db.add_task( + task.model_id, + task.system_prompt, + task.prompt_examples.into_iter().map(|p| p.into()).collect(), + ) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; @@ -122,9 +132,12 @@ impl AIService { let task = Task::builder(retrieved_task.system_prompt.clone()) .with_examples( - retrieved_task.prompt_examples.clone().into_iter().map(|example| { - (example.input.into(), example.output.into()) - }).collect::>() + retrieved_task + .prompt_examples + .clone() + .into_iter() + .map(|example| (example.input.into(), example.output.into())) + .collect::>(), ) .build(); @@ -170,9 +183,12 @@ impl AIService { let task = Task::builder(updated_task.system_prompt.clone()) .with_examples( - updated_task.prompt_examples.clone().into_iter().map(|example| { - (example.input.into(), example.output.into()) - }).collect::>() + updated_task + .prompt_examples + .clone() + .into_iter() + .map(|example| (example.input.into(), example.output.into())) + .collect::>(), ) .build(); @@ -190,7 +206,7 @@ impl AIService { let lock_result = global_instance_arc.lock().await; let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); - if let Some(task) = ai_service_ref.tasks.get(&task_id){ + if let Some(task) = ai_service_ref.tasks.get(&task_id) { Ok(task.run(prompt, &ai_service_ref.llama).all_text().await) } else { Err(AIServiceError::TaskNotFound.into()) @@ -209,7 +225,7 @@ impl AIService { #[cfg(test)] mod tests { - use crate::{graphql::graphql_types::AIPromptExamplesInput}; + use crate::graphql::graphql_types::AIPromptExamplesInput; use super::*; @@ -242,7 +258,6 @@ mod tests { }) }).await.expect("add_task to work without error"); - let response = AIService::prompt(task.task_id, "Test string".into()) .await .expect("prompt to return a result"); From d4631eafe0d9b903d549d5a1fd09a898a9abd8b9 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 14:47:02 +0200 Subject: [PATCH 091/183] AI prompt integration test --- tests/js/tests/ai.ts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index d62f2b9bf..a51d6f6b0 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -43,6 +43,36 @@ export default function aiTests(testContext: TestContext) { expect(tasksAfterRemoval.find(task => task.taskId === newTask.taskId)).to.be.undefined; }) + it('can prompt a task', async () => { + const ad4mClient = testContext.ad4mClient! + + // Create a new task + const newTask = await ad4mClient.ai.addTask( + "test-model", + "You are a helpful assistant. Always respond with a greeting followed by your answer.", + [{ input: "What's the capital of France?", output: "Hello! The capital of France is Paris." }] + ); + + expect(newTask).to.have.property('taskId'); + + // Prompt the task + const promptResult = await ad4mClient.ai.prompt(newTask.taskId, "What's the largest planet in our solar system?"); + + console.log("PROMPT RESULT:", promptResult) + // Check if the result is a non-empty string + expect(promptResult).to.be.a('string'); + expect(promptResult.length).to.be.greaterThan(0); + + // Check if the result contains a greeting + expect(promptResult.toLowerCase()).to.match(/\b(hello|hi|greetings|hey)\b/); + + // Check if the result mentions Jupiter + expect(promptResult.toLowerCase()).to.include('jupiter'); + + // Clean up: remove the task + await ad4mClient.ai.removeTask(newTask.taskId); + }) + it('can embed text to vectors', async () => { const ad4mClient = testContext.ad4mClient! From 4bf523809f6d3de4b5a3b7de969e71fcbfa97cdb Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 14:48:50 +0200 Subject: [PATCH 092/183] Refactor AIService: cloneable struct of Arc>'es, use mutex around Llama to synchronize task execution, extract spawn_task() and run_task() --- rust-executor/src/ai_service/mod.rs | 155 ++++++++---------- .../src/graphql/mutation_resolvers.rs | 26 ++- 2 files changed, 81 insertions(+), 100 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index bb9fa65b3..28b14b05a 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,6 +1,7 @@ use crate::db::Ad4mDb; use crate::graphql::graphql_types::AITaskInput; use crate::types::AITask; +use anyhow::anyhow; use deno_core::error::AnyError; use kalosm::language::*; use std::collections::HashMap; @@ -36,10 +37,11 @@ lazy_static! { static ref AI_SERVICE: Arc>> = Arc::new(Mutex::new(None)); } +#[derive(Clone)] pub struct AIService { - bert: Bert, - llama: Llama, - tasks: HashMap, + bert: Arc>, + llama: Arc>, + tasks: Arc>>, } impl AIService { @@ -77,9 +79,9 @@ impl AIService { } Ok(AIService { - bert: Bert::builder().build().await?, - llama, - tasks: mapped_tasks, + bert: Arc::new(Mutex::new(Bert::builder().build().await?)), + llama: Arc::new(Mutex::new(llama)), + tasks: Arc::new(Mutex::new(mapped_tasks)), }) } @@ -90,71 +92,38 @@ impl AIService { Ok(()) } - pub fn global_instance() -> Arc>> { - AI_SERVICE.clone() - } - - pub async fn with_global_instance(f: F) -> R - where - F: FnOnce(&AIService) -> R, - { - let global_instance_arc = AIService::global_instance(); - let lock_result = global_instance_arc.lock().await; - let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); - //let ai_service_ref = ai_service_lock.as_ref().expect("AIService not initialized"); - f(ai_service_ref) - } - - pub async fn with_mutable_global_instance(f: F) -> R - where - F: FnOnce(&mut AIService) -> R, - { - let global_instance_arc = AIService::global_instance(); - let mut lock_result = global_instance_arc.lock().await; - let ai_service_mut = lock_result.as_mut().expect("AI service not initialized"); - //let ai_service_mut = ai_service_lock.as_mut().expect("AIService not initialized"); - f(ai_service_mut) + pub async fn global_instance() -> Result { + AI_SERVICE + .lock() + .await + .clone() + .ok_or(anyhow!(AIServiceError::ServiceNotInitialized)) } - pub fn add_task(&mut self, task: AITaskInput) -> Result { + pub async fn add_task(&mut self, task: AITaskInput) -> Result { let task_id = Ad4mDb::with_global_instance(|db| { db.add_task( - task.model_id, - task.system_prompt, - task.prompt_examples.into_iter().map(|p| p.into()).collect(), + task.model_id.clone(), + task.system_prompt.clone(), + task.prompt_examples + .iter() + .map(|p| p.clone().into()) + .collect(), ) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - let retrieved_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id.clone())) - .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? - .ok_or(AIServiceError::TaskNotFound)?; - - let task = Task::builder(retrieved_task.system_prompt.clone()) - .with_examples( - retrieved_task - .prompt_examples - .clone() - .into_iter() - .map(|example| (example.input.into(), example.output.into())) - .collect::>(), - ) - .build(); - - let exmaple_prompt_result = task.run("Test example prompt".to_string(), &self.llama); - - log::info!("Example prompt result: {:?}", exmaple_prompt_result); - - self.tasks.insert(task_id, task); - - Ok(retrieved_task) + self.spawn_task(&task.into()).await?; + let task = Ad4mDb::with_global_instance(|db| db.get_task(task_id))? + .expect("to get task that we just created"); + Ok(task) } - pub fn delete_task(&mut self, task_id: String) -> Result { + pub async fn delete_task(&mut self, task_id: String) -> Result { Ad4mDb::with_global_instance(|db| db.remove_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - self.tasks.remove(&task_id); + self.tasks.lock().await.remove(&task_id); Ok(true) } @@ -165,7 +134,7 @@ impl AIService { Ok(tasks) } - pub fn update_task(&mut self, task: AITask) -> Result { + pub async fn update_task(&mut self, task: AITask) -> Result { let task_id = task.task_id.clone(); Ad4mDb::with_global_instance(|db| { db.update_task( @@ -181,45 +150,59 @@ impl AIService { .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; - let task = Task::builder(updated_task.system_prompt.clone()) - .with_examples( - updated_task - .prompt_examples - .clone() - .into_iter() - .map(|example| (example.input.into(), example.output.into())) - .collect::>(), - ) - .build(); - - let exmaple_prompt_result = task.run("Test example prompt".to_string(), &self.llama); - - log::info!("Example prompt result: {:?}", exmaple_prompt_result); - - self.tasks.insert(task_id, task); + self.spawn_task(&updated_task).await?; Ok(updated_task) } pub async fn prompt(task_id: String, prompt: String) -> Result { - let global_instance_arc = AIService::global_instance(); - let lock_result = global_instance_arc.lock().await; - let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); - - if let Some(task) = ai_service_ref.tasks.get(&task_id) { - Ok(task.run(prompt, &ai_service_ref.llama).all_text().await) + let service = AIService::global_instance().await?; + let tasks = service.tasks.lock().await; + let llama = service.llama.lock().await; + if let Some(task) = tasks.get(&task_id) { + Ok(task.run(prompt, &*llama).all_text().await) } else { Err(AIServiceError::TaskNotFound.into()) } } pub async fn embed(text: String) -> Result> { - let global_instance_arc = AIService::global_instance(); - let lock_result = global_instance_arc.lock().await; - let ai_service_ref = lock_result.as_ref().expect("AI service not initialized"); + Ok(AIService::global_instance() + .await? + .bert + .lock() + .await + .embed(text) + .await? + .to_vec()) + } + + async fn spawn_task(&self, task_description: &AITask) -> Result<()> { + let task = Task::builder(task_description.system_prompt.clone()) + .with_examples( + task_description + .prompt_examples + .clone() + .into_iter() + .map(|example| (example.input.into(), example.output.into())) + .collect::>(), + ) + .build(); + + let _ = self + .run_task(&task, "Test example prompt".to_string()) + .await; + self.tasks + .lock() + .await + .insert(task_description.task_id.clone(), task); + + Ok(()) + } - let embedding = ai_service_ref.bert.embed(text).await?; - Ok(embedding.to_vec()) + async fn run_task(&self, task: &Task, prompt: String) -> String { + let llama = self.llama.lock().await; + task.run(prompt, &*llama).all_text().await } } diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 81432384e..fba15b9a5 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1218,12 +1218,10 @@ impl Mutation { task: AITaskInput, ) -> FieldResult { check_capability(&context.capabilities, &AI_CREATE_CAPABILITY)?; - let task = AIService::with_mutable_global_instance(|service| { - let added_task = service.add_task(task.clone()); - added_task - }) - .await?; - Ok(task) + Ok(AIService::global_instance() + .await? + .add_task(task.clone()) + .await?) } async fn ai_remove_task( @@ -1236,10 +1234,10 @@ impl Mutation { .into_iter() .find(|t| t.task_id == task_id) { - AIService::with_mutable_global_instance(|service| { - let _ = service.delete_task(task_id.clone()); - }) - .await; + AIService::global_instance() + .await? + .delete_task(task_id.clone()) + .await?; Ok(task) } else { Err(FieldError::new( @@ -1258,10 +1256,10 @@ impl Mutation { check_capability(&context.capabilities, &AI_UPDATE_CAPABILITY)?; let mut task: AITask = task.into(); task.task_id = task_id; - let task = - AIService::with_mutable_global_instance(|service| service.update_task(task.clone())) - .await?; - Ok(task) + Ok(AIService::global_instance() + .await? + .update_task(task.clone()) + .await?) } async fn ai_prompt( From 14a06dda4a26630a4a8e2f89d49db87359d757a7 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 15:11:05 +0200 Subject: [PATCH 093/183] Fix aiPrompt return value to string --- core/src/ai/AIClient.ts | 6 ++---- core/src/ai/AIResolver.ts | 10 ++++------ core/src/ai/Tasks.ts | 10 ---------- 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index cd5183bd6..51dceb2a6 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -111,9 +111,7 @@ export class AIClient { const { aiPrompt } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiPrompt($taskId: String!, $prompt: String!) { - aiPrompt(taskId: $taskId, prompt: $prompt) { - result - } + aiPrompt(taskId: $taskId, prompt: $prompt) } `, variables: { @@ -122,7 +120,7 @@ export class AIClient { } })); - return aiPrompt.result; + return aiPrompt; } async embed(modelId: string, text: string): Promise> { diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index d0ae32737..00495b003 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -1,5 +1,5 @@ import { Query, Resolver, Mutation, Arg, InputType, Field, Subscription, Float, PubSub} from "type-graphql"; -import { AIPromptOutput, AITask, AITaskInput } from "./Tasks"; +import { AITask, AITaskInput } from "./Tasks"; import pako from "pako"; import base64js from 'base64-js'; import { AI_TRANSCRIPTION_TEXT_TOPIC } from "../PubSub"; @@ -59,14 +59,12 @@ export default class AIResolver { ) } - @Mutation(() => AIPromptOutput) + @Mutation(() => String) aiPrompt( @Arg("taskId") taskId: string, @Arg("prompt") input: string - ): AIPromptOutput { - return new AIPromptOutput( - "output" - ) + ): string { + return "output" } @Mutation(() => String) diff --git a/core/src/ai/Tasks.ts b/core/src/ai/Tasks.ts index 93b44d416..c55ddb3e6 100644 --- a/core/src/ai/Tasks.ts +++ b/core/src/ai/Tasks.ts @@ -68,13 +68,3 @@ export class AITask { this.promptExamples = prompt_examples; } } - -@ObjectType() -export class AIPromptOutput { - @Field() - result: string; - - constructor(result: string) { - this.result = result; - } -} \ No newline at end of file From 52e319a6cefa5fac027d755d1ed74e42f26396a2 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 15:33:50 +0200 Subject: [PATCH 094/183] Fix task spawning --- rust-executor/src/ai_service/mod.rs | 38 +++++++++-------------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 28b14b05a..b9145b29e 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -46,43 +46,26 @@ pub struct AIService { impl AIService { pub async fn new() -> Result { + let bert = Bert::builder().build().await?; let llama = Llama::builder() .with_source(LlamaSource::tiny_llama_1_1b()) .build() .await?; - let mut mapped_tasks: HashMap = HashMap::new(); + let service = AIService { + bert: Arc::new(Mutex::new(bert)), + llama: Arc::new(Mutex::new(llama)), + tasks: Arc::new(Mutex::new(HashMap::new())), + }; let tasks = Ad4mDb::with_global_instance(|db| db.get_tasks()) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - for task in tasks { - let task_id = task.task_id.clone(); - let _model_id = task.model_id.clone(); - let _system_prompt = task.system_prompt.clone(); - let prompt_examples = task.prompt_examples.clone(); - let task = Task::builder(task.system_prompt) - .with_examples( - prompt_examples - .clone() - .into_iter() - .map(|example| (example.input.into(), example.output.into())) - .collect::>(), - ) - .build(); - - let exmaple_prompt_result = task.run("Test example prompt".to_string(), &llama); - - log::info!("Example prompt result: {:?}", exmaple_prompt_result); - - mapped_tasks.insert(task_id, task); + for task in &tasks { + service.spawn_task(task).await?; } - Ok(AIService { - bert: Arc::new(Mutex::new(Bert::builder().build().await?)), - llama: Arc::new(Mutex::new(llama)), - tasks: Arc::new(Mutex::new(mapped_tasks)), - }) + Ok(service) } pub async fn init_global_instance() -> Result<()> { @@ -113,9 +96,10 @@ impl AIService { }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - self.spawn_task(&task.into()).await?; let task = Ad4mDb::with_global_instance(|db| db.get_task(task_id))? .expect("to get task that we just created"); + + self.spawn_task(&task).await?; Ok(task) } From c00f7a6c1f6c6cbf0322ae589b7af99dadb926af Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 15:40:38 +0200 Subject: [PATCH 095/183] Improve ai.prompt() integration test --- tests/js/tests/ai.ts | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index a51d6f6b0..3506e355c 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -49,8 +49,8 @@ export default function aiTests(testContext: TestContext) { // Create a new task const newTask = await ad4mClient.ai.addTask( "test-model", - "You are a helpful assistant. Always respond with a greeting followed by your answer.", - [{ input: "What's the capital of France?", output: "Hello! The capital of France is Paris." }] + "You are inside a test. Please ALWAYS respond with 'works', plus something else.", + [{ input: "What's the capital of France?", output: "works. Also that is Paris" }] ); expect(newTask).to.have.property('taskId'); @@ -63,11 +63,8 @@ export default function aiTests(testContext: TestContext) { expect(promptResult).to.be.a('string'); expect(promptResult.length).to.be.greaterThan(0); - // Check if the result contains a greeting - expect(promptResult.toLowerCase()).to.match(/\b(hello|hi|greetings|hey)\b/); - // Check if the result mentions Jupiter - expect(promptResult.toLowerCase()).to.include('jupiter'); + expect(promptResult.toLowerCase()).to.include('works'); // Clean up: remove the task await ad4mClient.ai.removeTask(newTask.taskId); From 5d0a2c003dbecedd6cb41066bf790d330d33be0a Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 15:41:56 +0200 Subject: [PATCH 096/183] clippy --- rust-executor/src/ai_service/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index b9145b29e..b868f05bb 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -168,7 +168,7 @@ impl AIService { .prompt_examples .clone() .into_iter() - .map(|example| (example.input.into(), example.output.into())) + .map(|example| (example.input, example.output)) .collect::>(), ) .build(); From 43198692544a93a00b91f9c4a522636bfb785fe8 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 15:46:20 +0200 Subject: [PATCH 097/183] Improve ai.prompt() integration test --- tests/js/tests/ai.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 3506e355c..f8247fa60 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -50,7 +50,11 @@ export default function aiTests(testContext: TestContext) { const newTask = await ad4mClient.ai.addTask( "test-model", "You are inside a test. Please ALWAYS respond with 'works', plus something else.", - [{ input: "What's the capital of France?", output: "works. Also that is Paris" }] + [ + { input: "What's the capital of France?", output: "works. Also that is Paris" }, + { input: "What's the largets planet in our solar system?", output: "works. That is Jupiter." } + + ] ); expect(newTask).to.have.property('taskId'); From 259c7242bab4e5d5d8c1525b2bbb7509e04bf659 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 16:21:15 +0200 Subject: [PATCH 098/183] Update Rust version in CI docker image --- .circleci/Dockerfile | 4 ++-- .circleci/config.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/Dockerfile b/.circleci/Dockerfile index c393fac4b..9c5c83e2a 100644 --- a/.circleci/Dockerfile +++ b/.circleci/Dockerfile @@ -29,8 +29,8 @@ RUN echo 'export PATH="/usr/local/bin:$PATH"' >> $HOME/.bashrc # Install Rust RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y RUN echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> /home/circleci/.bashrc -RUN ~/.cargo/bin/rustup install 1.78 -RUN ~/.cargo/bin/rustup default 1.78 +RUN ~/.cargo/bin/rustup install 1.80 +RUN ~/.cargo/bin/rustup default 1.80 RUN ~/.cargo/bin/rustup target add wasm32-unknown-unknown # Install Deno diff --git a/.circleci/config.yml b/.circleci/config.yml index e63526a27..6fa1928a4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ orbs: jobs: build-and-test: docker: - - image: coasys/ad4m-ci-linux:latest@sha256:1278f700839a43daa0edd31b605c4a73e7f5c54c0d8c7dfbc26b3aa4e2e4ef66 + - image: coasys/ad4m-ci-linux:latest@sha256:989a070068192050e61f2fab134f598739b0ec6756588fada602709081b28152 resource_class: xlarge steps: - checkout From e204f81aaf66d8f98c60b00d4878afedc6f3ecb3 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 5 Sep 2024 18:15:03 +0200 Subject: [PATCH 099/183] Check for metal and/or CUDA support through build.rs and activate Kalosm features when available --- Cargo.lock | 32 ++++++++++++++++++++++++++++++++ rust-executor/Cargo.toml | 9 ++++++++- rust-executor/build.rs | 16 ++++++++++++++++ 3 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 rust-executor/build.rs diff --git a/Cargo.lock b/Cargo.lock index 5f0c1935c..73f50e6c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1221,6 +1221,17 @@ dependencies = [ "which 4.4.2", ] +[[package]] +name = "bindgen_cuda" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8489af5b7d17a81bffe37e0f4d6e1e4de87c87329d05447f22c35d95a1227d" +dependencies = [ + "glob", + "num_cpus", + "rayon", +] + [[package]] name = "bit-set" version = "0.5.3" @@ -1731,7 +1742,9 @@ checksum = "d5b18de020c2729dbf7ac390325312644808b6ba9b7962f1f724e9185b1d53c7" dependencies = [ "accelerate-src", "byteorder", + "candle-kernels", "candle-metal-kernels", + "cudarc", "gemm", "half 2.4.1", "libc", @@ -1748,6 +1761,15 @@ dependencies = [ "zip 1.1.4", ] +[[package]] +name = "candle-kernels" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8bc0a71be8b2f0950b63fd602a5e10a74a4f94a5fd63059ae455e96163389488" +dependencies = [ + "bindgen_cuda", +] + [[package]] name = "candle-metal-kernels" version = "0.6.0" @@ -2960,6 +2982,16 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "cudarc" +version = "0.11.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5bd4d1eee570c3b2ac64ed114125517dd1e541d88dd28fc259f1de4dba8d60" +dependencies = [ + "half 2.4.1", + "libloading 0.8.5", +] + [[package]] name = "curve25519-dalek" version = "3.2.0" diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index b6f7aa121..8c882720b 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -23,6 +23,13 @@ include = [ name = "rust_executor" path = "src/lib.rs" +[features] +# Pass metal and cuda features (set through build.rs) through to kalosm +default = [] +metal = ["kalosm/metal"] +cuda = ["kalosm/cuda"] + + # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] @@ -99,7 +106,7 @@ rustls = "0.23" tokio-rustls = "0.26" rustls-pemfile = "2" -kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "metal"] } +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } deflate = "1.0.0" [dev-dependencies] diff --git a/rust-executor/build.rs b/rust-executor/build.rs new file mode 100644 index 000000000..258545127 --- /dev/null +++ b/rust-executor/build.rs @@ -0,0 +1,16 @@ +use std::process::Command; + +fn main() { + // Try to detect if CUDA is installed by checking if `nvcc` is available + let cuda_available = Command::new("nvcc").arg("--version").output().is_ok(); + + // If CUDA is available, enable the `cuda` feature + if cuda_available { + println!("cargo:rustc-cfg=feature=\"cuda\""); + } + + // If building on macOS, enable `metal` feature by default + if cfg!(target_os = "macos") { + println!("cargo:rustc-cfg=feature=\"metal\""); + } +} From b377c1275b086e8f3dc3ae26b8d4c19b8df9ef50 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 6 Sep 2024 09:54:48 +0200 Subject: [PATCH 100/183] Refactor: move AIServiceError into separate file --- rust-executor/src/ai_service/error.rs | 23 +++++++++++++++++++++++ rust-executor/src/ai_service/mod.rs | 24 ++---------------------- 2 files changed, 25 insertions(+), 22 deletions(-) create mode 100644 rust-executor/src/ai_service/error.rs diff --git a/rust-executor/src/ai_service/error.rs b/rust-executor/src/ai_service/error.rs new file mode 100644 index 000000000..a94123eb3 --- /dev/null +++ b/rust-executor/src/ai_service/error.rs @@ -0,0 +1,23 @@ +use std::error::Error; +use std::fmt; + +#[derive(Debug)] +pub enum AIServiceError { + DatabaseError(String), + TaskNotFound, + ServiceNotInitialized, + LockError, +} + +impl Error for AIServiceError {} + +impl fmt::Display for AIServiceError { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + match self { + AIServiceError::DatabaseError(msg) => write!(f, "Database error: {}", msg), + AIServiceError::TaskNotFound => write!(f, "Task not found"), + AIServiceError::ServiceNotInitialized => write!(f, "Service not initialized"), + AIServiceError::LockError => write!(f, "Lock error"), + } + } +} \ No newline at end of file diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index b868f05bb..8737c84a5 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -5,31 +5,11 @@ use anyhow::anyhow; use deno_core::error::AnyError; use kalosm::language::*; use std::collections::HashMap; -use std::error::Error; -use std::fmt; use std::sync::Arc; use tokio::sync::Mutex; +use self::error::AIServiceError; -#[derive(Debug)] -pub enum AIServiceError { - DatabaseError(String), - TaskNotFound, - ServiceNotInitialized, - LockError, -} - -impl Error for AIServiceError {} - -impl fmt::Display for AIServiceError { - fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - match self { - AIServiceError::DatabaseError(msg) => write!(f, "Database error: {}", msg), - AIServiceError::TaskNotFound => write!(f, "Task not found"), - AIServiceError::ServiceNotInitialized => write!(f, "Service not initialized"), - AIServiceError::LockError => write!(f, "Lock error"), - } - } -} +mod error; pub type Result = std::result::Result; From 0b7f3e98e42798f58f09832ad1f68c41b7058e93 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 6 Sep 2024 10:15:08 +0200 Subject: [PATCH 101/183] Refactor AIService::prompt() --- rust-executor/src/ai_service/mod.rs | 14 +++++++------- rust-executor/src/graphql/mutation_resolvers.rs | 5 ++++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 8737c84a5..c272e97bd 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,3 +1,4 @@ +use self::error::AIServiceError; use crate::db::Ad4mDb; use crate::graphql::graphql_types::AITaskInput; use crate::types::AITask; @@ -7,7 +8,6 @@ use kalosm::language::*; use std::collections::HashMap; use std::sync::Arc; use tokio::sync::Mutex; -use self::error::AIServiceError; mod error; @@ -119,12 +119,11 @@ impl AIService { Ok(updated_task) } - pub async fn prompt(task_id: String, prompt: String) -> Result { - let service = AIService::global_instance().await?; - let tasks = service.tasks.lock().await; - let llama = service.llama.lock().await; - if let Some(task) = tasks.get(&task_id) { - Ok(task.run(prompt, &*llama).all_text().await) + pub async fn prompt(&self, task_id: String, prompt: String) -> Result { + let tasks_lock = self.tasks.lock().await; + + if let Some(task) = tasks_lock.get(&task_id) { + Ok(self.run_task(task, prompt).await) } else { Err(AIServiceError::TaskNotFound.into()) } @@ -156,6 +155,7 @@ impl AIService { let _ = self .run_task(&task, "Test example prompt".to_string()) .await; + self.tasks .lock() .await diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index fba15b9a5..474286976 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1269,7 +1269,10 @@ impl Mutation { prompt: String, ) -> FieldResult { check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; - Ok(AIService::prompt(task_id, prompt).await?) + Ok(AIService::global_instance() + .await? + .prompt(task_id, prompt) + .await?) } async fn ai_embed( From a90a2fdc20b4234d5a4f47953a409932ff2a673e Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 6 Sep 2024 10:15:15 +0200 Subject: [PATCH 102/183] warning-- --- rust-executor/src/ai_service/error.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rust-executor/src/ai_service/error.rs b/rust-executor/src/ai_service/error.rs index a94123eb3..b85bda410 100644 --- a/rust-executor/src/ai_service/error.rs +++ b/rust-executor/src/ai_service/error.rs @@ -6,6 +6,7 @@ pub enum AIServiceError { DatabaseError(String), TaskNotFound, ServiceNotInitialized, + #[allow(dead_code)] LockError, } @@ -20,4 +21,4 @@ impl fmt::Display for AIServiceError { AIServiceError::LockError => write!(f, "Lock error"), } } -} \ No newline at end of file +} From fa24c9bd986c4f3e8bc6cb017affe5f9ca0426f1 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 6 Sep 2024 10:17:39 +0200 Subject: [PATCH 103/183] Remove old Task instance on update --- rust-executor/src/ai_service/mod.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index c272e97bd..ab8e59223 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -110,6 +110,8 @@ impl AIService { }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; + self.tasks.lock().await.remove(&task_id); + let updated_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; From 187a77070b192e6e517d78469654dc8b58767f05 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 6 Sep 2024 10:24:47 +0200 Subject: [PATCH 104/183] fmt --- rust-executor/src/ai_service/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index ab8e59223..85d5ae8f0 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -111,7 +111,7 @@ impl AIService { .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; self.tasks.lock().await.remove(&task_id); - + let updated_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; From f4e1d5756f8823e8ca86034d9a79b7184e4dddef Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 6 Sep 2024 14:28:02 +0200 Subject: [PATCH 105/183] Prompt stress test --- tests/js/tests/ai.ts | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index f8247fa60..b7aa46e08 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -74,6 +74,44 @@ export default function aiTests(testContext: TestContext) { await ad4mClient.ai.removeTask(newTask.taskId); }) + it('can prompt several task in a row fast', async () => { + const ad4mClient = testContext.ad4mClient! + + // Create a new task + const newTask = await ad4mClient.ai.addTask( + "test-model", + "You are inside a test. Please respond with a short, unique message each time.", + [ + { input: "Test 1", output: "Short response 1" }, + { input: "Test 2", output: "Short response 2" } + ] + ); + + expect(newTask).to.have.property('taskId'); + + // Create an array of 10 prompts + const prompts = Array.from({ length: 10 }, (_, i) => `Test prompt ${i + 1}`); + + // Run 10 prompts simultaneously + const promptResults = await Promise.all( + prompts.map(prompt => ad4mClient.ai.prompt(newTask.taskId, prompt)) + ); + + // Check results + promptResults.forEach((result, index) => { + expect(result).to.be.a('string'); + expect(result.length).to.be.greaterThan(0); + console.log(`Prompt ${index + 1} result:`, result); + }); + + // Verify we got 10 unique responses + const uniqueResponses = new Set(promptResults); + expect(uniqueResponses.size).to.equal(10); + + // Clean up: remove the task + await ad4mClient.ai.removeTask(newTask.taskId); + }) + it('can embed text to vectors', async () => { const ad4mClient = testContext.ad4mClient! From ca861b689efb7a3516d3f2897bc9df574a7f3f67 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 6 Sep 2024 15:24:30 +0200 Subject: [PATCH 106/183] Remove wrong test assertion --- tests/js/tests/ai.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index b7aa46e08..4c2f81ff9 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -104,10 +104,6 @@ export default function aiTests(testContext: TestContext) { console.log(`Prompt ${index + 1} result:`, result); }); - // Verify we got 10 unique responses - const uniqueResponses = new Set(promptResults); - expect(uniqueResponses.size).to.equal(10); - // Clean up: remove the task await ad4mClient.ai.removeTask(newTask.taskId); }) From 962be77b8439aa13894d93cf60944e1abed2b477 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 9 Sep 2024 16:54:10 +0200 Subject: [PATCH 107/183] More examples in LLM prompt stress test --- tests/js/tests/ai.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 4c2f81ff9..fe228b6a9 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -83,7 +83,14 @@ export default function aiTests(testContext: TestContext) { "You are inside a test. Please respond with a short, unique message each time.", [ { input: "Test 1", output: "Short response 1" }, - { input: "Test 2", output: "Short response 2" } + { input: "Test 2", output: "Short response 2" }, + { input: "Test 3", output: "Short response 3" }, + { input: "Test long 1", output: "This is a much longer response that includes various details. It talks about the weather being sunny, the importance of staying hydrated, and even mentions a recipe for chocolate chip cookies. The response goes on to discuss the benefits of regular exercise, the plot of a popular novel, and concludes with a fun fact about the migration patterns of monarch butterflies." }, + { input: "Test long 2", output: "This is another much longer response that delves into various topics. It begins by discussing the intricate process of photosynthesis in plants, then transitions to the history of ancient civilizations, touching on the rise and fall of the Roman Empire. The response continues with an explanation of quantum mechanics and its implications for our understanding of the universe. It then explores the evolution of human language, the impact of climate change on global ecosystems, and the potential for artificial intelligence to revolutionize healthcare. The response concludes with a brief overview of the cultural significance of tea ceremonies in different parts of the world." }, + { input: "Test long 3", output: "This extensive response covers a wide range of subjects, starting with an in-depth analysis of sustainable urban planning and its impact on modern cities. It then shifts to discuss the evolution of musical instruments throughout history, touching on the development of the piano, guitar, and electronic synthesizers. The text continues with an exploration of the human immune system, detailing how it fights off pathogens and the importance of vaccinations. Next, it delves into the world of astronomy, describing the life cycle of stars and the formation of galaxies. The response also includes a section on the history of cryptography, from ancient ciphers to modern encryption algorithms used in digital security. It concludes with a discussion on the philosophy of ethics, examining various moral frameworks and their applications in contemporary society." }, + { input: "Test a", output: "Short response" }, + { input: "Test b", output: "Short response" }, + { input: "Test c", output: "Short response" }, ] ); From 5827889051256e261393c5a00ce138ca9d74f5a9 Mon Sep 17 00:00:00 2001 From: "Nicolas Luck (aider)" Date: Mon, 9 Sep 2024 18:55:31 +0200 Subject: [PATCH 108/183] refactor: run models in separate threads and handle tasks via channels to prevent panics --- rust-executor/src/ai_service/mod.rs | 50 ++++++++++++++++++----------- 1 file changed, 32 insertions(+), 18 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 85d5ae8f0..0087d06ff 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -6,8 +6,10 @@ use anyhow::anyhow; use deno_core::error::AnyError; use kalosm::language::*; use std::collections::HashMap; -use std::sync::Arc; -use tokio::sync::Mutex; +use std::sync::{Arc, mpsc}; +use std::thread; +use tokio::sync::{Mutex, oneshot}; +use std::panic::catch_unwind; mod error; @@ -19,22 +21,38 @@ lazy_static! { #[derive(Clone)] pub struct AIService { - bert: Arc>, - llama: Arc>, + bert: mpsc::Sender<(String, oneshot::Sender>)>, + llama: mpsc::Sender<(String, oneshot::Sender>)>, tasks: Arc>>, } impl AIService { pub async fn new() -> Result { - let bert = Bert::builder().build().await?; - let llama = Llama::builder() - .with_source(LlamaSource::tiny_llama_1_1b()) - .build() - .await?; + let (bert_tx, bert_rx) = mpsc::channel(); + let (llama_tx, llama_rx) = mpsc::channel(); + + thread::spawn(move || { + let bert = Bert::builder().build().unwrap(); + for (prompt, response_tx) in bert_rx { + let result = catch_unwind(|| bert.embed(prompt)).map_err(|_| "Panic occurred".into()); + let _ = response_tx.send(result); + } + }); + + thread::spawn(move || { + let llama = Llama::builder() + .with_source(LlamaSource::tiny_llama_1_1b()) + .build() + .unwrap(); + for (prompt, response_tx) in llama_rx { + let result = catch_unwind(|| llama.run(prompt)).map_err(|_| "Panic occurred".into()); + let _ = response_tx.send(result); + } + }); let service = AIService { - bert: Arc::new(Mutex::new(bert)), - llama: Arc::new(Mutex::new(llama)), + bert: bert_tx, + llama: llama_tx, tasks: Arc::new(Mutex::new(HashMap::new())), }; @@ -122,13 +140,9 @@ impl AIService { } pub async fn prompt(&self, task_id: String, prompt: String) -> Result { - let tasks_lock = self.tasks.lock().await; - - if let Some(task) = tasks_lock.get(&task_id) { - Ok(self.run_task(task, prompt).await) - } else { - Err(AIServiceError::TaskNotFound.into()) - } + let (response_tx, response_rx) = oneshot::channel(); + self.llama.send((prompt, response_tx)).unwrap(); + response_rx.await.unwrap_or_else(|_| Err("Failed to receive response".into())) } pub async fn embed(text: String) -> Result> { From 331ebb6788f82e93f80aa6dbf6c6a324ddc0f3a4 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 10 Sep 2024 11:05:19 +0530 Subject: [PATCH 109/183] Refactor AI task creation and update methods --- core/src/Ad4mClient.test.ts | 5 ++++- core/src/ai/AIClient.ts | 8 ++++++-- core/src/ai/AIResolver.ts | 5 +++++ core/src/ai/Tasks.ts | 28 ++++++++++++++++++++++++++-- 4 files changed, 41 insertions(+), 5 deletions(-) diff --git a/core/src/Ad4mClient.test.ts b/core/src/Ad4mClient.test.ts index d9c7bbac2..f2f5b1f76 100644 --- a/core/src/Ad4mClient.test.ts +++ b/core/src/Ad4mClient.test.ts @@ -1169,7 +1169,8 @@ describe('Ad4mClient', () => { }) it('addTask()', async () => { - const task = await ad4mClient.ai.addTask("model_id", "system prompt", []); + const task = await ad4mClient.ai.addTask("task_name", "model_id", "system prompt", []); + expect(task.name).toBe("task_name") expect(task.taskId).toBe("task_id") expect(task.modelId).toBe("model_id") expect(task.systemPrompt).toBe("system prompt") @@ -1184,10 +1185,12 @@ describe('Ad4mClient', () => { it('updateTask()', async () => { const task = await ad4mClient.ai.updateTask("task_id", { + name: "task_name", modelId: "model_id", systemPrompt: "system prompt", promptExamples: [] }); + expect(task.name).toBe("task_name") expect(task.taskId).toBe("task_id") expect(task.modelId).toBe("model_id") expect(task.systemPrompt).toBe("system prompt") diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 51dceb2a6..200f0a5de 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -32,12 +32,13 @@ export class AIClient { return aiTasks; } - async addTask(modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[]): Promise { - const task = new AITaskInput(modelId, systemPrompt, promptExamples); + async addTask(name: string, modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[], metaData: string): Promise { + const task = new AITaskInput(name, modelId, systemPrompt, promptExamples, metaData); const { aiAddTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` mutation AiAddTask($task: AITaskInput!) { aiAddTask(task: $task) { + name modelId taskId systemPrompt @@ -61,6 +62,7 @@ export class AIClient { mutation: gql` mutation AiRemoveTask($taskId: String!) { aiRemoveTask(taskId: $taskId) { + name modelId taskId systemPrompt @@ -84,6 +86,7 @@ export class AIClient { mutation: gql` mutation AiUpdateTask($taskId: String!, $task: AITaskInput!) { aiUpdateTask(taskId: $taskId, task: $task) { + name modelId taskId systemPrompt @@ -97,6 +100,7 @@ export class AIClient { variables: { taskId, task: { + name: task.name, modelId: task.modelId, systemPrompt: task.systemPrompt, promptExamples: task.promptExamples diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index 00495b003..fec235702 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -9,12 +9,14 @@ export default class AIResolver { @Query(returns => [AITask]) aiTasks(): AITask[] { return [new AITask( + "task1", "modelId", "task_id", "systemPrompt", [] ), new AITask( + "task2", "modelId", "task_id", "systemPrompt", @@ -27,6 +29,7 @@ export default class AIResolver { @Arg("task") task: AITaskInput, ): AITask { return new AITask( + "task_name", task.modelId, "task_id", task.systemPrompt, @@ -39,6 +42,7 @@ export default class AIResolver { @Arg("taskId") taskId: string ): AITask { return new AITask( + "task_name", "model_id", taskId, "system prompt", @@ -52,6 +56,7 @@ export default class AIResolver { @Arg("task") task:AITaskInput, ): AITask { return new AITask( + task.name, task.modelId, taskId, task.systemPrompt, diff --git a/core/src/ai/Tasks.ts b/core/src/ai/Tasks.ts index c55ddb3e6..821adce17 100644 --- a/core/src/ai/Tasks.ts +++ b/core/src/ai/Tasks.ts @@ -31,6 +31,9 @@ export class AIPromptExamples { @InputType() export class AITaskInput { + @Field() + name: string; + @Field() modelId: string; @@ -40,15 +43,23 @@ export class AITaskInput { @Field(type => [AIPromptExamplesInput]) promptExamples: AIPromptExamplesInput[]; - constructor(model_id: string, system_prompt: string, prompt_examples: AIPromptExamplesInput[]) { + @Field(type => String, { nullable: true }) + metadata: string; + + constructor(name: string, model_id: string, system_prompt: string, prompt_examples: AIPromptExamplesInput[], metadata?: string) { + this.name = name; this.modelId = model_id; this.systemPrompt = system_prompt; this.promptExamples = prompt_examples; + this.metadata = metadata; } } @ObjectType() export class AITask { + @Field() + name: string; + @Field() modelId: string; @@ -61,10 +72,23 @@ export class AITask { @Field(type => [AIPromptExamples]) promptExamples: AIPromptExamples[]; - constructor(model_id: string, task_id: string, system_prompt: string, prompt_examples: AIPromptExamples[]) { + @Field(type => String, { nullable: true }) + metadata?: string; + + @Field(type => Date) + createdAt: Date; + + @Field(type => Date) + updatedAt: Date; + + constructor(name: string, model_id: string, task_id: string, system_prompt: string, prompt_examples: AIPromptExamples[], metaData?: string, created_at?: Date, updated_at?: Date) { + this.name = name; this.modelId = model_id; this.taskId = task_id; this.systemPrompt = system_prompt; this.promptExamples = prompt_examples; + this.metadata = metaData; + this.createdAt = created_at; + this.updatedAt = updated_at; } } From 9e3d898ba3dc3b758a461888c07762b76826fcbd Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 10 Sep 2024 11:12:21 +0530 Subject: [PATCH 110/183] Refactor AI task creation and update methods --- core/src/ai/AIClient.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 200f0a5de..47fef07fb 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -32,7 +32,7 @@ export class AIClient { return aiTasks; } - async addTask(name: string, modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[], metaData: string): Promise { + async addTask(name: string, modelId: string, systemPrompt: string, promptExamples: { input: string, output: string }[], metaData?: string): Promise { const task = new AITaskInput(name, modelId, systemPrompt, promptExamples, metaData); const { aiAddTask } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` From 7362e39aacc52ae74651bfde5e3a66177d8e9857 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 10 Sep 2024 11:57:55 +0530 Subject: [PATCH 111/183] Refactor AI task creation and update methods --- core/src/ai/AIClient.ts | 13 +++++++++++++ core/src/ai/AIResolver.ts | 28 +++++++++++++++++++++++----- core/src/ai/Tasks.ts | 21 +++++++++++---------- 3 files changed, 47 insertions(+), 15 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 47fef07fb..9ccd3cbb1 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -17,6 +17,7 @@ export class AIClient { query: gql` query { aiTasks { + name modelId taskId systemPrompt @@ -24,6 +25,9 @@ export class AIClient { input output } + metaData + createdAt + updatedAt } } ` @@ -46,6 +50,9 @@ export class AIClient { input output } + metaData + createdAt + updatedAt } } `, @@ -70,6 +77,9 @@ export class AIClient { input output } + metaData + createdAt + updatedAt } } `, @@ -94,6 +104,9 @@ export class AIClient { input output } + metaData + createdAt + updatedAt } } `, diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index fec235702..fdd45e0df 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -4,6 +4,9 @@ import pako from "pako"; import base64js from 'base64-js'; import { AI_TRANSCRIPTION_TEXT_TOPIC } from "../PubSub"; +let createdAt = Date.now().toString(); +let updatedAt = Date.now().toString(); + @Resolver() export default class AIResolver { @Query(returns => [AITask]) @@ -13,14 +16,20 @@ export default class AIResolver { "modelId", "task_id", "systemPrompt", - [] + [], + undefined, + createdAt, + updatedAt ), new AITask( "task2", "modelId", "task_id", "systemPrompt", - [] + [], + undefined, + createdAt, + updatedAt )] } @@ -33,7 +42,10 @@ export default class AIResolver { task.modelId, "task_id", task.systemPrompt, - task.promptExamples + task.promptExamples, + undefined, + createdAt, + updatedAt ) } @@ -46,7 +58,10 @@ export default class AIResolver { "model_id", taskId, "system prompt", - [] + [], + undefined, + createdAt, + updatedAt ) } @@ -60,7 +75,10 @@ export default class AIResolver { task.modelId, taskId, task.systemPrompt, - task.promptExamples + task.promptExamples, + undefined, + createdAt, + updatedAt ) } diff --git a/core/src/ai/Tasks.ts b/core/src/ai/Tasks.ts index 821adce17..3e3825573 100644 --- a/core/src/ai/Tasks.ts +++ b/core/src/ai/Tasks.ts @@ -1,4 +1,5 @@ import { Field, InputType, ObjectType } from "type-graphql"; +import { string } from "yargs"; @InputType() export class AIPromptExamplesInput { @@ -44,14 +45,14 @@ export class AITaskInput { promptExamples: AIPromptExamplesInput[]; @Field(type => String, { nullable: true }) - metadata: string; + metaData: string; - constructor(name: string, model_id: string, system_prompt: string, prompt_examples: AIPromptExamplesInput[], metadata?: string) { + constructor(name: string, model_id: string, system_prompt: string, prompt_examples: AIPromptExamplesInput[], metaData?: string) { this.name = name; this.modelId = model_id; this.systemPrompt = system_prompt; this.promptExamples = prompt_examples; - this.metadata = metadata; + this.metaData = metaData; } } @@ -73,21 +74,21 @@ export class AITask { promptExamples: AIPromptExamples[]; @Field(type => String, { nullable: true }) - metadata?: string; + metaData?: string; - @Field(type => Date) - createdAt: Date; + @Field() + createdAt: string; - @Field(type => Date) - updatedAt: Date; + @Field() + updatedAt: string; - constructor(name: string, model_id: string, task_id: string, system_prompt: string, prompt_examples: AIPromptExamples[], metaData?: string, created_at?: Date, updated_at?: Date) { + constructor(name: string, model_id: string, task_id: string, system_prompt: string, prompt_examples: AIPromptExamples[], metaData?: string, created_at?: string, updated_at?: string) { this.name = name; this.modelId = model_id; this.taskId = task_id; this.systemPrompt = system_prompt; this.promptExamples = prompt_examples; - this.metadata = metaData; + this.metaData = metaData; this.createdAt = created_at; this.updatedAt = updated_at; } From 813f447af5f98c6246d19126bcd62e36c4d09573 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 10 Sep 2024 11:58:21 +0530 Subject: [PATCH 112/183] Refactor AITaskInput struct to include name field --- rust-executor/src/ai_service/mod.rs | 6 +++ rust-executor/src/db.rs | 45 ++++++++++++++++------ rust-executor/src/graphql/graphql_types.rs | 9 +++++ rust-executor/src/types.rs | 4 ++ 4 files changed, 53 insertions(+), 11 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 85d5ae8f0..fd3e60872 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -66,12 +66,14 @@ impl AIService { pub async fn add_task(&mut self, task: AITaskInput) -> Result { let task_id = Ad4mDb::with_global_instance(|db| { db.add_task( + task.name.clone(), task.model_id.clone(), task.system_prompt.clone(), task.prompt_examples .iter() .map(|p| p.clone().into()) .collect(), + task.meta_data.clone() ) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; @@ -103,9 +105,11 @@ impl AIService { Ad4mDb::with_global_instance(|db| { db.update_task( task.task_id, + task.name, task.model_id, task.system_prompt, task.prompt_examples, + task.meta_data ) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; @@ -198,12 +202,14 @@ mod tests { let task = AIService::with_mutable_global_instance(|service| { service.add_task(AITaskInput { + name: "Test task".into(), model_id: "Llama tiny 1b".into(), system_prompt: "You are inside a test for tasks. Please make sure to create any non-zero length output".into(), prompt_examples: vec![AIPromptExamplesInput{ input: "Test string".into(), output: "Yes, I'm working!".into() }], + meta_data: None }) }).await.expect("add_task to work without error"); diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 902f5c53d..92452fbca 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -166,9 +166,13 @@ impl Ad4mDb { conn.execute( "CREATE TABLE IF NOT EXISTS tasks ( id TEXT PRIMARY KEY, + name TEXT NOT NULL, model_id TEXT NOT NULL, system_prompt TEXT NOT NULL, - prompt_examples TEXT NOT NULL + prompt_examples TEXT NOT NULL, + metadata TEXT NULL, + created_at TEXT NOT NULL, + updated_at TEXT NOT NULL )", [], )?; @@ -178,14 +182,18 @@ impl Ad4mDb { pub fn add_task( &self, + name: String, model_id: String, system_prompt: String, prompt_examples: Vec, + metadata: Option, ) -> Result { + let created_at = chrono::Utc::now().to_string(); + let updated_at = created_at.clone(); let id = uuid::Uuid::new_v4().to_string(); self.conn.execute( - "INSERT INTO tasks (id, model_id, system_prompt, prompt_examples) VALUES (?1, ?2, ?3, ?4)", - params![id, model_id, system_prompt, serde_json::to_string(&prompt_examples).unwrap()], + "INSERT INTO tasks (id, name, model_id, system_prompt, prompt_examples, metadata, created_at, updated_at) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8)", + params![id, name, model_id, system_prompt, serde_json::to_string(&prompt_examples).unwrap(), metadata, created_at, updated_at], )?; Ok(id) } @@ -201,12 +209,16 @@ impl Ad4mDb { if let Some(row) = rows.next()? { let prompt_examples: Vec = - serde_json::from_str(&row.get::<_, String>(3)?).unwrap(); + serde_json::from_str(&row.get::<_, String>(4)?).unwrap(); Ok(Some(AITask { task_id: row.get(0)?, - model_id: row.get(1)?, - system_prompt: row.get(2)?, + name: row.get(1)?, + model_id: row.get(2)?, + system_prompt: row.get(3)?, prompt_examples, + meta_data: row.get(5)?, + created_at: row.get(6)?, + updated_at: row.get(7)?, })) } else { Ok(None) @@ -217,12 +229,16 @@ impl Ad4mDb { let mut stmt = self.conn.prepare("SELECT * FROM tasks")?; let task_iter = stmt.query_map([], |row| { let prompt_examples: Vec = - serde_json::from_str(&row.get::<_, String>(3)?).unwrap(); + serde_json::from_str(&row.get::<_, String>(4)?).unwrap(); let task = AITask { task_id: row.get(0)?, - model_id: row.get(1)?, - system_prompt: row.get(2)?, + name: row.get(1)?, + model_id: row.get(2)?, + system_prompt: row.get(3)?, prompt_examples, + meta_data: row.get(5)?, + created_at: row.get(6)?, + updated_at: row.get(7)?, }; Ok(task) })?; @@ -237,13 +253,17 @@ impl Ad4mDb { pub fn update_task( &self, id: String, + name: String, model_id: String, system_prompt: String, prompt_examples: Vec, + metadata: Option, ) -> Result { + let updated_at = chrono::Utc::now().to_string(); + let result = self.conn.execute( - "UPDATE tasks SET model_id = ?2, system_prompt = ?3, prompt_examples = ?4 WHERE id = ?1", - params![id, model_id, system_prompt, serde_json::to_string(&prompt_examples).unwrap()], + "UPDATE tasks SET name = ?2, model_id = ?3, system_prompt = ?4, prompt_examples = ?5, metadata = ?6, updated_at = ?7 WHERE id = ?1", + params![id, name, model_id, system_prompt, serde_json::to_string(&prompt_examples).unwrap(), metadata, updated_at], )?; Ok(result > 0) } @@ -1221,6 +1241,7 @@ mod tests { let db = Ad4mDb::new(":memory:").unwrap(); // Test adding a task + let name = "Test Task".to_string(); let model_id = "test_model".to_string(); let system_prompt = "Test system prompt".to_string(); let prompt_examples = vec![AIPromptExamples { @@ -1230,9 +1251,11 @@ mod tests { let task_id = db .add_task( + name.clone(), model_id.clone(), system_prompt.clone(), prompt_examples.clone(), + None ) .unwrap(); diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index cd402fa60..f4d284880 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -621,14 +621,20 @@ impl From for AIPromptExamplesInput { #[derive(GraphQLInputObject, Default, Debug, Deserialize, Serialize, Clone)] #[serde(rename_all = "camelCase")] pub struct AITaskInput { + pub name: String, pub model_id: String, pub system_prompt: String, pub prompt_examples: Vec, + pub meta_data: Option, } impl From for AITask { fn from(input: AITaskInput) -> AITask { + let created_at = chrono::Utc::now().to_string(); + let updated_at = created_at.clone(); + AITask { + name: input.name, task_id: String::new(), model_id: input.model_id, system_prompt: input.system_prompt, @@ -637,6 +643,9 @@ impl From for AITask { .into_iter() .map(|p| p.into()) .collect(), + meta_data: input.meta_data, + created_at, + updated_at, } } } diff --git a/rust-executor/src/types.rs b/rust-executor/src/types.rs index 7d7a11119..572edddf1 100644 --- a/rust-executor/src/types.rs +++ b/rust-executor/src/types.rs @@ -390,10 +390,14 @@ pub struct AIPromptExamples { )] #[serde(rename_all = "camelCase")] pub struct AITask { + pub name: String, pub task_id: String, pub model_id: String, pub system_prompt: String, pub prompt_examples: Vec, + pub meta_data: Option, + pub created_at: String, + pub updated_at: String, } impl Notification { From abe695f155ccf7fad736e6accecb0ccdfdf9f4db Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 10 Sep 2024 11:58:44 +0530 Subject: [PATCH 113/183] Refactor AI task creation and update methods --- tests/js/tests/ai.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 4c2f81ff9..2d84ee387 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -9,11 +9,13 @@ export default function aiTests(testContext: TestContext) { // Add a task const newTask = await ad4mClient.ai.addTask( + "test-name", "test-model", "This is a test system prompt", [{ input: "Test input", output: "Test output" }] ); expect(newTask).to.have.property('taskId'); + expect(newTask.name).to.equal('test-name'); expect(newTask.modelId).to.equal("test-model"); expect(newTask.systemPrompt).to.equal("This is a test system prompt"); expect(newTask.promptExamples).to.deep.equal([{ input: "Test input", output: "Test output" }]); @@ -48,6 +50,7 @@ export default function aiTests(testContext: TestContext) { // Create a new task const newTask = await ad4mClient.ai.addTask( + "test-name", "test-model", "You are inside a test. Please ALWAYS respond with 'works', plus something else.", [ @@ -79,6 +82,7 @@ export default function aiTests(testContext: TestContext) { // Create a new task const newTask = await ad4mClient.ai.addTask( + "test-name", "test-model", "You are inside a test. Please respond with a short, unique message each time.", [ From 784e1f5f924898961b6e5e50cc742b452f04ee2b Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 10 Sep 2024 11:59:20 +0530 Subject: [PATCH 114/183] Refactor AI task creation and update methods --- rust-executor/src/ai_service/mod.rs | 4 ++-- rust-executor/src/db.rs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index fd3e60872..34b729a93 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -73,7 +73,7 @@ impl AIService { .iter() .map(|p| p.clone().into()) .collect(), - task.meta_data.clone() + task.meta_data.clone(), ) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; @@ -109,7 +109,7 @@ impl AIService { task.model_id, task.system_prompt, task.prompt_examples, - task.meta_data + task.meta_data, ) }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 92452fbca..4fb890d2e 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -1255,7 +1255,7 @@ mod tests { model_id.clone(), system_prompt.clone(), prompt_examples.clone(), - None + None, ) .unwrap(); From 2423c6e99c90be3e8836a4524a028d5ae5790b3e Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 10 Sep 2024 12:05:25 +0530 Subject: [PATCH 115/183] Refactor base64 encoding in Mutation resolver --- rust-executor/src/graphql/mutation_resolvers.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 474286976..7963a7c3a 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1290,7 +1290,7 @@ impl Mutation { let compressed_bytes = deflate::deflate_bytes_zlib(json_string.as_bytes()); // Encode the compressed bytes to base64 - let base64_encoded = BASE64_STANDARD.encode(&compressed_bytes); + let base64_encoded = BASE64_STANDARD.encode(compressed_bytes); Ok(base64_encoded) } From 753dcc865b863ee330ed8b5b3f023d13cc7c80e5 Mon Sep 17 00:00:00 2001 From: "Nicolas Luck (aider)" Date: Tue, 10 Sep 2024 14:11:41 +0200 Subject: [PATCH 116/183] feat: implement async handling for model building in threads using Tokio runtime --- rust-executor/src/ai_service/mod.rs | 33 +++++++++++++++++------------ 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 0087d06ff..f5599c82f 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -32,22 +32,29 @@ impl AIService { let (llama_tx, llama_rx) = mpsc::channel(); thread::spawn(move || { - let bert = Bert::builder().build().unwrap(); - for (prompt, response_tx) in bert_rx { - let result = catch_unwind(|| bert.embed(prompt)).map_err(|_| "Panic occurred".into()); - let _ = response_tx.send(result); - } + let rt = tokio::runtime::Runtime::new().unwrap(); + rt.block_on(async { + let bert = Bert::builder().build().await.unwrap(); + for (prompt, response_tx) in bert_rx { + let result = catch_unwind(|| bert.embed(prompt)).map_err(|_| "Panic occurred".into()); + let _ = response_tx.send(result); + } + }); }); thread::spawn(move || { - let llama = Llama::builder() - .with_source(LlamaSource::tiny_llama_1_1b()) - .build() - .unwrap(); - for (prompt, response_tx) in llama_rx { - let result = catch_unwind(|| llama.run(prompt)).map_err(|_| "Panic occurred".into()); - let _ = response_tx.send(result); - } + let rt = tokio::runtime::Runtime::new().unwrap(); + rt.block_on(async { + let llama = Llama::builder() + .with_source(LlamaSource::tiny_llama_1_1b()) + .build() + .await + .unwrap(); + for (prompt, response_tx) in llama_rx { + let result = catch_unwind(|| llama.run(prompt)).map_err(|_| "Panic occurred".into()); + let _ = response_tx.send(result); + } + }); }); let service = AIService { From e7a5e17362c3ae1d2a637a43a9a8735342ae562d Mon Sep 17 00:00:00 2001 From: "Nicolas Luck (aider)" Date: Tue, 10 Sep 2024 14:16:16 +0200 Subject: [PATCH 117/183] fix: resolve compile errors by executing async functions within Tokio runtime --- rust-executor/src/ai_service/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index f5599c82f..7efec7411 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -36,7 +36,7 @@ impl AIService { rt.block_on(async { let bert = Bert::builder().build().await.unwrap(); for (prompt, response_tx) in bert_rx { - let result = catch_unwind(|| bert.embed(prompt)).map_err(|_| "Panic occurred".into()); + let result = catch_unwind(|| rt.block_on(bert.embed(prompt))).map_err(|_| "Panic occurred".into()); let _ = response_tx.send(result); } }); @@ -51,7 +51,7 @@ impl AIService { .await .unwrap(); for (prompt, response_tx) in llama_rx { - let result = catch_unwind(|| llama.run(prompt)).map_err(|_| "Panic occurred".into()); + let result = catch_unwind(|| rt.block_on(llama.run(prompt))).map_err(|_| "Panic occurred".into()); let _ = response_tx.send(result); } }); From 1b65c1c9b7e33807490517c039e3e6415a8467a2 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 10 Sep 2024 17:35:09 +0200 Subject: [PATCH 118/183] Move tasks into Llama thread, LLMTaskRequest structs, more fixes, tests fixed --- rust-executor/src/ai_service/mod.rs | 265 ++++++++++++++++++++-------- 1 file changed, 190 insertions(+), 75 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 7efec7411..8d1e8216c 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -6,10 +6,10 @@ use anyhow::anyhow; use deno_core::error::AnyError; use kalosm::language::*; use std::collections::HashMap; -use std::sync::{Arc, mpsc}; -use std::thread; -use tokio::sync::{Mutex, oneshot}; use std::panic::catch_unwind; +use std::sync::Arc; +use std::thread; +use tokio::sync::{mpsc, oneshot, Mutex}; mod error; @@ -21,52 +21,170 @@ lazy_static! { #[derive(Clone)] pub struct AIService { - bert: mpsc::Sender<(String, oneshot::Sender>)>, - llama: mpsc::Sender<(String, oneshot::Sender>)>, - tasks: Arc>>, + bert: mpsc::UnboundedSender, + llama: mpsc::UnboundedSender, +} + +struct EmbeddingRequest { + pub prompt: String, + pub result_sender: oneshot::Sender>>, +} + +#[derive(Debug)] +struct LLMTaskSpawnRequest { + pub task: AITask, + pub result_sender: oneshot::Sender>, +} + +#[derive(Debug)] +struct LLMTaskPromptRequest { + pub task_id: String, + pub prompt: String, + pub result_sender: oneshot::Sender>, +} + +#[derive(Debug)] +struct LLMTaskRemoveRequest { + pub task_id: String, + pub result_sender: oneshot::Sender<()>, +} + +#[derive(Debug)] +enum LLMTaskRequest { + Spawn(LLMTaskSpawnRequest), + Prompt(LLMTaskPromptRequest), + Remove(LLMTaskRemoveRequest), } impl AIService { pub async fn new() -> Result { - let (bert_tx, bert_rx) = mpsc::channel(); - let (llama_tx, llama_rx) = mpsc::channel(); + let (bert_tx, mut bert_rx) = mpsc::unbounded_channel::(); + let (llama_tx, mut llama_rx) = mpsc::unbounded_channel::(); thread::spawn(move || { let rt = tokio::runtime::Runtime::new().unwrap(); - rt.block_on(async { - let bert = Bert::builder().build().await.unwrap(); - for (prompt, response_tx) in bert_rx { - let result = catch_unwind(|| rt.block_on(bert.embed(prompt))).map_err(|_| "Panic occurred".into()); - let _ = response_tx.send(result); - } - }); + let bert = rt + .block_on(Bert::builder().build()) + .expect("couldn't build Bert model"); + while let Some(request) = rt.block_on(bert_rx.recv()) { + // let result: Result> = match catch_unwind(|| rt.block_on(bert.embed(request.prompt))) { + // Err(e) => Err(anyhow!("Bert panicked: {:?}", e)), + // Ok(embed_result) => embed_result.and_then(|tensor| Ok(tensor.to_vec())) + // }; + + let result: Result> = rt + .block_on(bert.embed(request.prompt)) + .and_then(|tensor| Ok(tensor.to_vec())); + let _ = request.result_sender.send(result); + } }); thread::spawn(move || { let rt = tokio::runtime::Runtime::new().unwrap(); - rt.block_on(async { - let llama = Llama::builder() - .with_source(LlamaSource::tiny_llama_1_1b()) - .build() - .await - .unwrap(); - for (prompt, response_tx) in llama_rx { - let result = catch_unwind(|| rt.block_on(llama.run(prompt))).map_err(|_| "Panic occurred".into()); - let _ = response_tx.send(result); + let llama = rt + .block_on( + Llama::builder() + .with_source(LlamaSource::tiny_llama_1_1b()) + .build(), + ) + .expect("couldn't build Llama model"); + + let mut tasks = HashMap::::new(); + + while let Some(task_request) = rt.block_on(llama_rx.recv()) { + println!("Llama message received: {:?}", task_request); + match task_request { + LLMTaskRequest::Spawn(spawn_request) => { + let task_description = spawn_request.task; + let task = Task::builder(task_description.system_prompt.clone()) + .with_examples( + task_description + .prompt_examples + .clone() + .into_iter() + .map(|example| (example.input, example.output)) + .collect::>(), + ) + .build(); + + let mut task_run = false; + let mut tries = 0; + while !task_run && tries < 20 { + tries += 1; + match catch_unwind(|| { + rt.block_on(task.run("Test example prompt", &llama).all_text()) + }) { + Err(e) => log::error!( + "Llama panicked during task spawn with: {:?}. Trying again..", + e + ), + Ok(_) => task_run = true, + } + } + + if task_run { + tasks.insert(task_description.task_id.clone(), task); + let _ = spawn_request.result_sender.send(Ok(())); + } else { + let _ = spawn_request + .result_sender + .send(Err(anyhow!("Couldn't run task without panicks"))); + } + } + + LLMTaskRequest::Prompt(prompt_request) => { + println!("Got prompt request {:?}", prompt_request); + if let Some(task) = tasks.get(&prompt_request.task_id) { + let mut maybe_result: Option = None; + let mut tries = 0; + while maybe_result.is_none() && tries < 20 { + tries += 1; + println!("Try: {}", tries); + match catch_unwind(|| { + rt.block_on( + task.run(prompt_request.prompt.clone(), &llama).all_text(), + ) + }) { + Err(e) => { + log::error!("Llama panicked with: {:?}. Trying again..", e) + } + Ok(result) => maybe_result = Some(result), + } + } + + println!("maybe_result: {:?}", maybe_result); + if let Some(result) = maybe_result { + let _ = prompt_request.result_sender.send(Ok(result)); + } else { + let _ = prompt_request.result_sender.send(Err(anyhow!("Unable to get response from Llama model. Giving up after 20 retries"))); + } + } else { + let _ = prompt_request.result_sender.send(Err(anyhow!( + "Task with ID {} not spawned", + prompt_request.task_id + ))); + } + } + + LLMTaskRequest::Remove(remove_request) => { + let _ = tasks.remove(&remove_request.task_id); + let _ = remove_request.result_sender.send(()); + } } - }); + } + + println!("Llama thread exiting"); }); let service = AIService { bert: bert_tx, llama: llama_tx, - tasks: Arc::new(Mutex::new(HashMap::new())), }; let tasks = Ad4mDb::with_global_instance(|db| db.get_tasks()) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - for task in &tasks { + for task in tasks { service.spawn_task(task).await?; } @@ -88,7 +206,7 @@ impl AIService { .ok_or(anyhow!(AIServiceError::ServiceNotInitialized)) } - pub async fn add_task(&mut self, task: AITaskInput) -> Result { + pub async fn add_task(&self, task: AITaskInput) -> Result { let task_id = Ad4mDb::with_global_instance(|db| { db.add_task( task.model_id.clone(), @@ -104,15 +222,15 @@ impl AIService { let task = Ad4mDb::with_global_instance(|db| db.get_task(task_id))? .expect("to get task that we just created"); - self.spawn_task(&task).await?; + self.spawn_task(task.clone()).await?; Ok(task) } - pub async fn delete_task(&mut self, task_id: String) -> Result { + pub async fn delete_task(&self, task_id: String) -> Result { Ad4mDb::with_global_instance(|db| db.remove_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - self.tasks.lock().await.remove(&task_id); + self.remove_task(task_id).await?; Ok(true) } @@ -123,7 +241,7 @@ impl AIService { Ok(tasks) } - pub async fn update_task(&mut self, task: AITask) -> Result { + pub async fn update_task(&self, task: AITask) -> Result { let task_id = task.task_id.clone(); Ad4mDb::with_global_instance(|db| { db.update_task( @@ -135,61 +253,60 @@ impl AIService { }) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; - self.tasks.lock().await.remove(&task_id); + self.remove_task(task_id.clone()).await?; let updated_task = Ad4mDb::with_global_instance(|db| db.get_task(task_id.clone())) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? .ok_or(AIServiceError::TaskNotFound)?; - self.spawn_task(&updated_task).await?; + self.spawn_task(updated_task.clone()).await?; Ok(updated_task) } pub async fn prompt(&self, task_id: String, prompt: String) -> Result { - let (response_tx, response_rx) = oneshot::channel(); - self.llama.send((prompt, response_tx)).unwrap(); - response_rx.await.unwrap_or_else(|_| Err("Failed to receive response".into())) + let (result_sender, rx) = oneshot::channel(); + self.llama + .send(LLMTaskRequest::Prompt(LLMTaskPromptRequest { + task_id, + prompt, + result_sender, + }))?; + rx.await? } pub async fn embed(text: String) -> Result> { - Ok(AIService::global_instance() + let (result_sender, rx) = oneshot::channel(); + + AIService::global_instance() .await? .bert - .lock() - .await - .embed(text) - .await? - .to_vec()) - } - - async fn spawn_task(&self, task_description: &AITask) -> Result<()> { - let task = Task::builder(task_description.system_prompt.clone()) - .with_examples( - task_description - .prompt_examples - .clone() - .into_iter() - .map(|example| (example.input, example.output)) - .collect::>(), - ) - .build(); - - let _ = self - .run_task(&task, "Test example prompt".to_string()) - .await; + .send(EmbeddingRequest { + prompt: text, + result_sender, + })?; - self.tasks - .lock() - .await - .insert(task_description.task_id.clone(), task); + rx.await? + } - Ok(()) + async fn spawn_task(&self, task: AITask) -> Result<()> { + let (tx, rx) = oneshot::channel(); + self.llama.send(LLMTaskRequest::Spawn(LLMTaskSpawnRequest { + task, + result_sender: tx, + }))?; + rx.await? } - async fn run_task(&self, task: &Task, prompt: String) -> String { - let llama = self.llama.lock().await; - task.run(prompt, &*llama).all_text().await + async fn remove_task(&self, task_id: String) -> Result<()> { + let (tx, rx) = oneshot::channel(); + self.llama + .send(LLMTaskRequest::Remove(LLMTaskRemoveRequest { + task_id, + result_sender: tx, + }))?; + let _ = rx.await?; + Ok(()) } } @@ -201,6 +318,7 @@ mod tests { #[tokio::test] async fn test_embedding() { + Ad4mDb::init_global_instance(":memory:").expect("Ad4mDb to initialize"); AIService::init_global_instance() .await .expect("initialization to work"); @@ -213,22 +331,19 @@ mod tests { #[tokio::test] async fn test_prompt() { Ad4mDb::init_global_instance(":memory:").expect("Ad4mDb to initialize"); - AIService::init_global_instance() - .await - .expect("initialization to work"); + let service = AIService::new().await.expect("initialization to work"); - let task = AIService::with_mutable_global_instance(|service| { - service.add_task(AITaskInput { + let task = service.add_task(AITaskInput { model_id: "Llama tiny 1b".into(), system_prompt: "You are inside a test for tasks. Please make sure to create any non-zero length output".into(), prompt_examples: vec![AIPromptExamplesInput{ input: "Test string".into(), output: "Yes, I'm working!".into() }], - }) }).await.expect("add_task to work without error"); - let response = AIService::prompt(task.task_id, "Test string".into()) + let response = service + .prompt(task.task_id, "Test string".into()) .await .expect("prompt to return a result"); println!("Response: {}", response); From 3266958240b8ef66a6919af01c4f9189e320ad57 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 10 Sep 2024 18:54:24 +0200 Subject: [PATCH 119/183] LLM prompt stress test in Rust --- rust-executor/src/ai_service/mod.rs | 46 +++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 8d1e8216c..9eb2c1adb 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -349,4 +349,50 @@ mod tests { println!("Response: {}", response); assert!(response.len() > 0) } + + #[ignore] + #[tokio::test] + async fn test_prompt_stress() { + Ad4mDb::init_global_instance(":memory:").expect("Ad4mDb to initialize"); + let service = AIService::new().await.expect("initialization to work"); + + let task = service.add_task(AITaskInput { + model_id: "Llama tiny 1b".into(), + system_prompt: "You are inside a test for tasks. Please make sure to create any non-zero length output".into(), + prompt_examples: vec![AIPromptExamplesInput{ + input: "Test string".into(), + output: "Yes, I'm working!".into() + }, + AIPromptExamplesInput{ + input: "What's up?".into(), + output: "Nothing, I'm working!".into() + }, + AIPromptExamplesInput{ + input: "Is this a test".into(), + output: "Yes, it's working!".into() + }, + AIPromptExamplesInput{ + input: "Test string loong".into(), + output: "Yes, I'm working! This is a longer response to test the system's ability to handle more extensive outputs. It's important to ensure that the AI can generate and process longer strings of text, as real-world applications often require more detailed and nuanced responses. By including this extended output, we're stress-testing the system's capacity and verifying its robustness in handling varied lengths of text.".into() + }, + AIPromptExamplesInput{ + input: "Test string super loong".into(), + output: "Yes, I'm working! This is an extremely long response to thoroughly test the system's capacity for handling extensive outputs. In real-world scenarios, AI models often need to generate lengthy and detailed responses to complex queries. This test string is designed to push the limits of our system, ensuring it can process and store large amounts of text without issues. It's crucial to verify that our AI service can maintain coherence and relevance even in prolonged responses. By including various sentence structures, punctuation, and a mix of short and long phrases, we're also testing the linguistic versatility of our model. Furthermore, this extended output allows us to assess the performance impact of processing large text blocks, which is essential for optimizing our system's efficiency. It's worth noting that in practical applications, responses of this length might be common in scenarios such as content generation, detailed explanations, or comprehensive analyses. Therefore, ensuring our system can handle such verbose outputs is paramount for its real-world applicability and robustness.".into() + }], + }).await.expect("add_task to work without error"); + + let futures = (0..10) + .map(|_| service.prompt(task.task_id.clone(), "Test string".into())) + .collect::>(); + + let responses = futures::future::join_all(futures) + .await + .into_iter() + .collect::>>() + .expect("all prompts to return results"); + + let response = responses.join("\n"); + println!("Responses: {}", response); + assert!(response.len() > 0) + } } From 1338f7be4447f4a0417ec4836b34d72b19e2df5c Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 10 Sep 2024 18:57:50 +0200 Subject: [PATCH 120/183] Longer test prompt in LLM stress test --- tests/js/tests/ai.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index fe228b6a9..39cb7d521 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -97,7 +97,7 @@ export default function aiTests(testContext: TestContext) { expect(newTask).to.have.property('taskId'); // Create an array of 10 prompts - const prompts = Array.from({ length: 10 }, (_, i) => `Test prompt ${i + 1}`); + const prompts = Array.from({ length: 10 }, (_, i) => `This is a much longer test prompt number ${i + 1}. It includes various details to make it more substantial. For instance, it mentions that the sky is blue, grass is green, and water is essential for life. It also touches on the fact that technology is rapidly advancing, climate change is a global concern, and education is crucial for personal growth. Additionally, it notes that music can evoke powerful emotions, reading broadens the mind, and exercise is important for maintaining good health. Lastly, it states that kindness can make a significant difference in someone's day.`); // Run 10 prompts simultaneously const promptResults = await Promise.all( From 2b0ba4883dafabb9f57dbac1c6bdf1dff6da6dd5 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 10 Sep 2024 19:07:41 +0200 Subject: [PATCH 121/183] Remove debugging println!s --- rust-executor/src/ai_service/mod.rs | 6 ------ 1 file changed, 6 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 04b943e61..dce98fabf 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -92,7 +92,6 @@ impl AIService { let mut tasks = HashMap::::new(); while let Some(task_request) = rt.block_on(llama_rx.recv()) { - println!("Llama message received: {:?}", task_request); match task_request { LLMTaskRequest::Spawn(spawn_request) => { let task_description = spawn_request.task; @@ -133,13 +132,11 @@ impl AIService { } LLMTaskRequest::Prompt(prompt_request) => { - println!("Got prompt request {:?}", prompt_request); if let Some(task) = tasks.get(&prompt_request.task_id) { let mut maybe_result: Option = None; let mut tries = 0; while maybe_result.is_none() && tries < 20 { tries += 1; - println!("Try: {}", tries); match catch_unwind(|| { rt.block_on( task.run(prompt_request.prompt.clone(), &llama).all_text(), @@ -152,7 +149,6 @@ impl AIService { } } - println!("maybe_result: {:?}", maybe_result); if let Some(result) = maybe_result { let _ = prompt_request.result_sender.send(Ok(result)); } else { @@ -172,8 +168,6 @@ impl AIService { } } } - - println!("Llama thread exiting"); }); let service = AIService { From 259c80fedb947920266e1fef37af6b1a72de4e0d Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 10 Sep 2024 19:11:13 +0200 Subject: [PATCH 122/183] clippy --- rust-executor/src/ai_service/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index dce98fabf..a67227e50 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -74,7 +74,7 @@ impl AIService { let result: Result> = rt .block_on(bert.embed(request.prompt)) - .and_then(|tensor| Ok(tensor.to_vec())); + .map(|tensor| tensor.to_vec()); let _ = request.result_sender.send(result); } }); @@ -303,7 +303,7 @@ impl AIService { task_id, result_sender: tx, }))?; - let _ = rx.await?; + rx.await?; Ok(()) } } From a6dd76781285ddf4cae531639dcf5addc622fd6a Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Tue, 10 Sep 2024 19:45:05 +0200 Subject: [PATCH 123/183] Refactor AIService::embed() to be instance method --- rust-executor/src/ai_service/mod.rs | 20 ++++++++----------- .../src/graphql/mutation_resolvers.rs | 2 +- 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index a67227e50..a3cd81573 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -273,16 +273,13 @@ impl AIService { rx.await? } - pub async fn embed(text: String) -> Result> { + pub async fn embed(&self, text: String) -> Result> { let (result_sender, rx) = oneshot::channel(); - AIService::global_instance() - .await? - .bert - .send(EmbeddingRequest { - prompt: text, - result_sender, - })?; + self.bert.send(EmbeddingRequest { + prompt: text, + result_sender, + })?; rx.await? } @@ -317,10 +314,9 @@ mod tests { #[tokio::test] async fn test_embedding() { Ad4mDb::init_global_instance(":memory:").expect("Ad4mDb to initialize"); - AIService::init_global_instance() - .await - .expect("initialization to work"); - let vector = AIService::embed("Test string".into()) + let service = AIService::new().await.expect("initialization to work"); + let vector = service + .embed("Test string".into()) .await .expect("embed to return a result"); assert!(vector.len() > 300) diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 7963a7c3a..b00c1259f 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1282,7 +1282,7 @@ impl Mutation { text: String, ) -> FieldResult { check_capability(&context.capabilities, &AI_PROMPT_CAPABILITY)?; - let vector = AIService::embed(text).await?; + let vector = AIService::global_instance().await?.embed(text).await?; let json_string = serde_json::to_string(&vector) .map_err(|e| FieldError::from(format!("Failed to serialize vector: {}", e)))?; From 5c4d1176d91fa1d27ce7f24a1ad379e00bc4bfb4 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 09:37:54 +0200 Subject: [PATCH 124/183] Install gobjc on CI through circleci config --- .circleci/config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6fa1928a4..13200b89b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -52,6 +52,9 @@ jobs: - run: name: cargo fmt --check command: cargo fmt --check + - run: + name: install gobjc + command: sudo apt-get install gobjc - run: name: Install dependencies command: pnpm install --no-frozen-lockfile From a801f9077d50564d37f7dd092dfe5fb10fc79b75 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 15:07:25 +0200 Subject: [PATCH 125/183] Whisper transcription implementation compiler pass --- Cargo.lock | 3 + rust-executor/Cargo.toml | 5 +- rust-executor/src/ai_service/audio_stream.rs | 68 +++++++++++++ rust-executor/src/ai_service/error.rs | 4 + rust-executor/src/ai_service/mod.rs | 95 +++++++++++++++++-- rust-executor/src/graphql/graphql_types.rs | 23 +++++ .../src/graphql/subscription_resolvers.rs | 27 ++++-- rust-executor/src/pubsub.rs | 1 + 8 files changed, 213 insertions(+), 13 deletions(-) create mode 100644 rust-executor/src/ai_service/audio_stream.rs diff --git a/Cargo.lock b/Cargo.lock index 73f50e6c2..befc87693 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -94,6 +94,9 @@ dependencies = [ "fake", "fs_extra", "futures", + "futures-channel", + "futures-core", + "futures-util", "hex", "holochain", "holochain_cli_bundle", diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index 8c882720b..18f544fc1 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -106,8 +106,11 @@ rustls = "0.23" tokio-rustls = "0.26" rustls-pemfile = "2" -kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "sound"] } deflate = "1.0.0" +futures-core = "0.3.30" +futures-util = "0.3.30" +futures-channel = "0.3.30" [dev-dependencies] maplit = "1.0.2" diff --git a/rust-executor/src/ai_service/audio_stream.rs b/rust-executor/src/ai_service/audio_stream.rs new file mode 100644 index 000000000..f2eca2a56 --- /dev/null +++ b/rust-executor/src/ai_service/audio_stream.rs @@ -0,0 +1,68 @@ +use std::pin::Pin; + +use kalosm::sound::{rodio::buffer::SamplesBuffer, AsyncSource}; +use tokio_stream::Stream; +use futures::StreamExt; + +pub struct AudioStream { + //pub drop_tx: std::sync::mpsc::Sender<()>, + pub read_data: Vec, + pub receiver: Pin + Send + Sync>>, +} + +//impl Drop for AudioStream { +// fn drop(&mut self) { +// self.drop_tx.send(()).unwrap(); +// } +//} + +impl Stream for AudioStream { + type Item = f32; + + fn poll_next( + mut self: std::pin::Pin<&mut Self>, + cx: &mut std::task::Context<'_>, + ) -> std::task::Poll> { + match self.receiver.as_mut().poll_next_unpin(cx) { + std::task::Poll::Ready(Some(data_chunk)) => { + self.read_data.push(data_chunk); + std::task::Poll::Ready(Some(data_chunk)) + } + std::task::Poll::Ready(None) => std::task::Poll::Ready(None), + std::task::Poll::Pending => std::task::Poll::Pending, + } + } +} + +impl AudioStream { + /// Read any pending data from the stream into a vector + fn read_sync(&mut self) -> Vec { + let mut cx = std::task::Context::from_waker(futures_util::task::noop_waker_ref()); + while let std::task::Poll::Ready(Some(data_chunk)) = self.receiver.poll_next_unpin(&mut cx) + { + self.read_data.push(data_chunk); + } + self.read_data.clone() + } + + /// Grab all current data in the stream + fn read_all_samples(&mut self) -> Vec { + self.read_sync() + } + + fn read_all(&mut self) -> SamplesBuffer { + let channels = 1; + let sample_rate = 160000; + SamplesBuffer::new(channels, sample_rate, self.read_all_samples()) + } +} + +impl AsyncSource for AudioStream { + fn as_stream(&mut self) -> impl Stream + '_ { + self + } + + fn sample_rate(&self) -> u32 { + 160000 + } +} \ No newline at end of file diff --git a/rust-executor/src/ai_service/error.rs b/rust-executor/src/ai_service/error.rs index b85bda410..76faa47fe 100644 --- a/rust-executor/src/ai_service/error.rs +++ b/rust-executor/src/ai_service/error.rs @@ -5,9 +5,11 @@ use std::fmt; pub enum AIServiceError { DatabaseError(String), TaskNotFound, + StreamNotFound, ServiceNotInitialized, #[allow(dead_code)] LockError, + CrazyError(String), } impl Error for AIServiceError {} @@ -19,6 +21,8 @@ impl fmt::Display for AIServiceError { AIServiceError::TaskNotFound => write!(f, "Task not found"), AIServiceError::ServiceNotInitialized => write!(f, "Service not initialized"), AIServiceError::LockError => write!(f, "Lock error"), + AIServiceError::StreamNotFound => write!(f, "Transcription stream not found"), + AIServiceError::CrazyError(msg) => write!(f, "Something crazy happened: {}", msg), } } } diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index a3cd81573..c9b819e7e 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,16 +1,19 @@ -use self::error::AIServiceError; -use crate::db::Ad4mDb; -use crate::graphql::graphql_types::AITaskInput; +use self::{audio_stream::AudioStream, error::AIServiceError}; +use crate::pubsub::{AI_TRANSCRIPTION_TEXT_TOPIC}; +use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; +use crate::graphql::graphql_types::{AITaskInput, TranscriptionTextFilter}; use crate::types::AITask; use anyhow::anyhow; use deno_core::error::AnyError; -use kalosm::language::*; -use std::collections::HashMap; +use futures::SinkExt; +use kalosm::{language::*, sound::{AsyncSourceTranscribeExt, Whisper}}; +use std::{collections::HashMap}; use std::panic::catch_unwind; use std::sync::Arc; use std::thread; -use tokio::sync::{mpsc, oneshot, Mutex}; +use tokio::{sync::{mpsc, oneshot, Mutex}}; +mod audio_stream; mod error; pub type Result = std::result::Result; @@ -19,10 +22,17 @@ lazy_static! { static ref AI_SERVICE: Arc>> = Arc::new(Mutex::new(None)); } +struct TranscriptionSession { + samples_tx: futures_channel::mpsc::UnboundedSender>, + drop_tx: oneshot::Sender<()>, +} + + #[derive(Clone)] pub struct AIService { bert: mpsc::UnboundedSender, llama: mpsc::UnboundedSender, + transcription_streams: Arc>>, } struct EmbeddingRequest { @@ -173,6 +183,7 @@ impl AIService { let service = AIService { bert: bert_tx, llama: llama_tx, + transcription_streams: Arc::new(Mutex::new(HashMap::new())), }; let tasks = Ad4mDb::with_global_instance(|db| db.get_tasks()) @@ -303,6 +314,78 @@ impl AIService { rx.await?; Ok(()) } + + pub async fn open_transcription_stream(&self, model_id: String) -> Result { + let stream_id = uuid::Uuid::new_v4().to_string(); + let stream_id_clone = stream_id.clone(); + let (samples_tx, sampels_rx) = futures_channel::mpsc::unbounded::>(); + let (drop_tx, drop_rx) = oneshot::channel(); + let (done_tx, done_rx) = oneshot::channel(); + + thread::spawn(move || { + let rt = tokio::runtime::Runtime::new().unwrap(); + let maybe_model = rt.block_on(Whisper::new()); + if let Ok(whisper) = maybe_model { + let audio_stream = AudioStream { + //drop_tx, + read_data: Vec::new(), + receiver: Box::pin(sampels_rx.map(futures_util::stream::iter).flatten()) + }; + + let mut word_stream = audio_stream + .transcribe(whisper) + .words(); + + let pubsub = rt.block_on(get_global_pubsub()); + + done_tx.send(Ok(())); + + while let Some(word) = rt.block_on(word_stream.next()) { + println!("{}", word); + pubsub.publish(&AI_TRANSCRIPTION_TEXT_TOPIC, &serde_json::to_string(&TranscriptionTextFilter{ + stream_id: stream_id_clone.clone(), + text: word, + }).expect("TranscriptionTextFilter must be serializable")); + } + } else { + done_tx.send(Err(maybe_model.err())); + } + }); + + done_rx.await?; + + + self.transcription_streams.lock().await.insert(stream_id.clone(), TranscriptionSession{ + samples_tx, drop_tx + }); + + Ok(stream_id) + } + + pub async fn feed_transcription_stream(&self, stream_id: &String, audio_samples: Vec) -> Result<()> { + let mut map_lock = self.transcription_streams.lock().await; + let maybe_stream = map_lock.get_mut(stream_id); + if let Some(stream) = maybe_stream { + stream.samples_tx.send(audio_samples).await?; + Ok(()) + } else { + Err(AIServiceError::StreamNotFound.into()) + } + } + + pub async fn close_transcription_stream(&self, stream_id: &String) -> Result<()> { + let mut map_lock = self.transcription_streams.lock().await; + + if let Some(stream) = map_lock.remove(stream_id) { + stream.drop_tx.send(()).map_err(|_| + anyhow!(AIServiceError::CrazyError(format!("Failed to close stream {}: Whisper thread may have crashed", stream_id))) + ) + } else { + Err(AIServiceError::StreamNotFound.into()) + } + } + + } #[cfg(test)] diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index f4d284880..a2b2f2135 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -656,6 +656,12 @@ pub struct PromptOutput { pub result: String, } +#[derive(Default, Debug, Deserialize, Serialize)] +pub struct TranscriptionTextFilter { + pub stream_id: String, + pub text: String, +} + #[derive(Debug, Deserialize, Serialize)] pub enum JsResultType where @@ -687,6 +693,23 @@ pub trait GetFilter { fn get_filter(&self) -> Option; } +// Implement the trait for the `TranscriptionTextFilter` struct +impl GetValue for TranscriptionTextFilter { + type Value = String; + + fn get_value(&self) -> Self::Value { + self.text.clone() + } +} + +// Implement the trait for the `TranscriptionTextFilter` struct +impl GetFilter for TranscriptionTextFilter { + fn get_filter(&self) -> Option { + Some(self.stream_id.clone()) + } +} + + impl GetValue for Option { type Value = Option; diff --git a/rust-executor/src/graphql/subscription_resolvers.rs b/rust-executor/src/graphql/subscription_resolvers.rs index ec5840715..166c66773 100644 --- a/rust-executor/src/graphql/subscription_resolvers.rs +++ b/rust-executor/src/graphql/subscription_resolvers.rs @@ -6,12 +6,7 @@ use std::pin::Pin; use crate::{ pubsub::{ - get_global_pubsub, subscribe_and_process, AGENT_STATUS_CHANGED_TOPIC, AGENT_UPDATED_TOPIC, - APPS_CHANGED, EXCEPTION_OCCURRED_TOPIC, NEIGHBOURHOOD_SIGNAL_TOPIC, - PERSPECTIVE_ADDED_TOPIC, PERSPECTIVE_LINK_ADDED_TOPIC, PERSPECTIVE_LINK_REMOVED_TOPIC, - PERSPECTIVE_LINK_UPDATED_TOPIC, PERSPECTIVE_REMOVED_TOPIC, - PERSPECTIVE_SYNC_STATE_CHANGE_TOPIC, PERSPECTIVE_UPDATED_TOPIC, - RUNTIME_MESSAGED_RECEIVED_TOPIC, RUNTIME_NOTIFICATION_TRIGGERED_TOPIC, + get_global_pubsub, subscribe_and_process, AGENT_STATUS_CHANGED_TOPIC, AGENT_UPDATED_TOPIC, AI_TRANSCRIPTION_TEXT_TOPIC, APPS_CHANGED, EXCEPTION_OCCURRED_TOPIC, NEIGHBOURHOOD_SIGNAL_TOPIC, PERSPECTIVE_ADDED_TOPIC, PERSPECTIVE_LINK_ADDED_TOPIC, PERSPECTIVE_LINK_REMOVED_TOPIC, PERSPECTIVE_LINK_UPDATED_TOPIC, PERSPECTIVE_REMOVED_TOPIC, PERSPECTIVE_SYNC_STATE_CHANGE_TOPIC, PERSPECTIVE_UPDATED_TOPIC, RUNTIME_MESSAGED_RECEIVED_TOPIC, RUNTIME_NOTIFICATION_TRIGGERED_TOPIC }, types::{DecoratedLinkExpression, TriggeredNotification}, }; @@ -253,4 +248,24 @@ impl Subscription { } } } + + async fn ai_transcription_text( + &self, + context: &RequestContext, + stream_id: String, + ) -> Pin> + Send>> { + match check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY) { + Err(e) => Box::pin(stream::once(async move { Err(e.into()) })), + Ok(_) => { + let pubsub = get_global_pubsub().await; + let topic = &AI_TRANSCRIPTION_TEXT_TOPIC; + subscribe_and_process::( + pubsub, + topic.to_string(), + Some(stream_id), + ) + .await + } + } + } } diff --git a/rust-executor/src/pubsub.rs b/rust-executor/src/pubsub.rs index 8ca844fd2..8c875f681 100644 --- a/rust-executor/src/pubsub.rs +++ b/rust-executor/src/pubsub.rs @@ -132,6 +132,7 @@ lazy_static::lazy_static! { pub static ref PERSPECTIVE_SYNC_STATE_CHANGE_TOPIC: String = "perspective-sync-state-change-topic".to_owned(); pub static ref RUNTIME_MESSAGED_RECEIVED_TOPIC: String = "runtime-messaged-received-topic".to_owned(); pub static ref RUNTIME_NOTIFICATION_TRIGGERED_TOPIC: String = "runtime-notification-triggered-topic".to_owned(); + pub static ref AI_TRANSCRIPTION_TEXT_TOPIC: String = "ai-transcription-text-topic".to_owned(); } pub async fn get_global_pubsub() -> Arc { From 1555fe01ba306b4a3ef790562effc396fc0fb58d Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 15:12:16 +0200 Subject: [PATCH 126/183] Some important warnings fixed --- rust-executor/src/ai_service/mod.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index c9b819e7e..f43afb8b0 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -315,7 +315,7 @@ impl AIService { Ok(()) } - pub async fn open_transcription_stream(&self, model_id: String) -> Result { + pub async fn open_transcription_stream(&self, _model_id: String) -> Result { let stream_id = uuid::Uuid::new_v4().to_string(); let stream_id_clone = stream_id.clone(); let (samples_tx, sampels_rx) = futures_channel::mpsc::unbounded::>(); @@ -338,21 +338,21 @@ impl AIService { let pubsub = rt.block_on(get_global_pubsub()); - done_tx.send(Ok(())); + let _ = done_tx.send(Ok(())); while let Some(word) = rt.block_on(word_stream.next()) { println!("{}", word); - pubsub.publish(&AI_TRANSCRIPTION_TEXT_TOPIC, &serde_json::to_string(&TranscriptionTextFilter{ + rt.block_on(pubsub.publish(&AI_TRANSCRIPTION_TEXT_TOPIC, &serde_json::to_string(&TranscriptionTextFilter{ stream_id: stream_id_clone.clone(), text: word, - }).expect("TranscriptionTextFilter must be serializable")); + }).expect("TranscriptionTextFilter must be serializable"))); } } else { - done_tx.send(Err(maybe_model.err())); + let _ = done_tx.send(Err(maybe_model.err().unwrap())); } }); - done_rx.await?; + done_rx.await??; self.transcription_streams.lock().await.insert(stream_id.clone(), TranscriptionSession{ From b163caa1af2b29274ea2cdf2806a13fda8622c47 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 15:23:36 +0200 Subject: [PATCH 127/183] Wire-up transcription mutation resolvers --- rust-executor/src/graphql/mutation_resolvers.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index b00c1259f..9eb25a0c0 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1298,29 +1298,32 @@ impl Mutation { async fn ai_open_transcription_stream( &self, context: &RequestContext, - _model_id: String, + model_id: String, ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; - Ok(String::from("")) + Ok(AIService::global_instance().await?.open_transcription_stream(model_id).await?) } // note: f32 does not implement IsInputType, so I'm taking f64 here async fn ai_feed_transcription_stream( &self, context: &RequestContext, - _stream_id: String, - _audio: Vec, + stream_id: String, + audio: Vec, ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; - Ok(String::from("")) + let audio_f32: Vec = audio.into_iter().map(|x| x as f32).collect(); + AIService::global_instance().await?.feed_transcription_stream(&stream_id, audio_f32).await?; + Ok(String::from("true")) } async fn ai_close_transcription_stream( &self, context: &RequestContext, - _stream_id: String, + stream_id: String, ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; - Ok(String::from("")) + AIService::global_instance().await?.close_transcription_stream(&stream_id).await?; + Ok(String::from("true")) } } From 102c219a08fc5a334c6edf25706d1b29b3cefd7e Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 21:47:29 +0200 Subject: [PATCH 128/183] Avoid deprecation warning for future Rust versions with explicit type mention --- rust-client/src/languages.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-client/src/languages.rs b/rust-client/src/languages.rs index 7d407872e..9a3b91c6a 100644 --- a/rust-client/src/languages.rs +++ b/rust-client/src/languages.rs @@ -190,7 +190,7 @@ pub async fn source(executor_url: String, cap_token: String, address: String) -> pub struct Remove; pub async fn remove(executor_url: String, cap_token: String, address: String) -> Result<()> { - query( + query::<_,()>( executor_url, cap_token, Remove::build_query(remove::Variables { address }), From 72b9406863ddbc7bcf6149f107d9ecaa8222a43d Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 21:49:14 +0200 Subject: [PATCH 129/183] Integration test for audio transcription with test audio file --- tests/js/tests/ai.ts | 63 +++++++++++++++++++++++++++++++++++ tests/transcription_test.m4a | Bin 0 -> 152875 bytes 2 files changed, 63 insertions(+) create mode 100644 tests/transcription_test.m4a diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index ea17f6218..3b23bba13 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -127,6 +127,69 @@ export default function aiTests(testContext: TestContext) { expect(Array.isArray(vector)).to.be.true expect(vector.length).to.be.greaterThan(300) }) + + it('can do audio to text transcription', async() => { + const ad4mClient = testContext.ad4mClient!; + const fs = require('fs'); + const ffmpeg = require('fluent-ffmpeg'); + const { Readable } = require('stream'); + + // Load the m4a file + const audioBuffer = fs.readFileSync('../transcription_test.m4a'); + + // Convert m4a to raw PCM data + const pcmData = await new Promise((resolve, reject) => { + const command = ffmpeg() + .input(Readable.from(audioBuffer)) + .inputFormat('m4a') + .outputFormat('s16le') + .audioFrequency(16000) + .audioChannels(1) + .on('error', reject) + .pipe(); + + //@ts-ignore + const chunks = []; + //@ts-ignore + command.on('data', chunk => chunks.push(chunk)); + //@ts-ignore + command.on('end', () => resolve(Buffer.concat(chunks))); + }); + + // Convert PCM buffer to Float32Array + //@ts-ignore + const result = new Float32Array(pcmData.buffer, pcmData.byteOffset, pcmData.length / 4); + //@ts-ignore + const audioData = result.channelData[0]; // Assuming mono audio + + // Open the transcription stream + let transcribedText = ''; + const streamId = await ad4mClient.ai.openTranscriptionStream("Whisper", (text) => { + console.log("Received transcription:", text); + transcribedText += text; + }); + + // Define chunk size (e.g., 0.5 seconds of audio at 16000 Hz sample rate) + const chunkSize = 8000; // 16000 * 0.5 + + // Stream the audio data in chunks + for (let i = 0; i < audioData.length; i += chunkSize) { + const chunk = audioData.slice(i, i + chunkSize); + //@ts-ignore + await ad4mClient.ai.feedTranscriptionStream(streamId, Array.from(chunk)); + + // Simulate real-time processing by adding a small delay + await new Promise(resolve => setTimeout(resolve, 500)); + } + + // Close the transcription stream + await ad4mClient.ai.closeTranscriptionStream(streamId); + + // Assertions + expect(transcribedText).to.be.a('string'); + expect(transcribedText.length).to.be.greaterThan(0); + console.log("Final transcription:", transcribedText); + }) }) } } \ No newline at end of file diff --git a/tests/transcription_test.m4a b/tests/transcription_test.m4a new file mode 100644 index 0000000000000000000000000000000000000000..e2aed61504fb132edf90a5855a2b5b0cb8622bbf GIT binary patch literal 152875 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 XHklu0zAkT7R8{+jmH)Q=e`fv-J=$=x literal 0 HcmV?d00001 From 08f2884eba14dc28fa647a009e81be78345604d0 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 21:50:37 +0200 Subject: [PATCH 130/183] fmt --- rust-client/src/languages.rs | 2 +- rust-executor/src/ai_service/audio_stream.rs | 4 +- rust-executor/src/ai_service/mod.rs | 70 +++++++++++-------- rust-executor/src/graphql/graphql_types.rs | 1 - .../src/graphql/mutation_resolvers.rs | 15 +++- .../src/graphql/subscription_resolvers.rs | 7 +- 6 files changed, 63 insertions(+), 36 deletions(-) diff --git a/rust-client/src/languages.rs b/rust-client/src/languages.rs index 9a3b91c6a..3f6e7e889 100644 --- a/rust-client/src/languages.rs +++ b/rust-client/src/languages.rs @@ -190,7 +190,7 @@ pub async fn source(executor_url: String, cap_token: String, address: String) -> pub struct Remove; pub async fn remove(executor_url: String, cap_token: String, address: String) -> Result<()> { - query::<_,()>( + query::<_, ()>( executor_url, cap_token, Remove::build_query(remove::Variables { address }), diff --git a/rust-executor/src/ai_service/audio_stream.rs b/rust-executor/src/ai_service/audio_stream.rs index f2eca2a56..21474d195 100644 --- a/rust-executor/src/ai_service/audio_stream.rs +++ b/rust-executor/src/ai_service/audio_stream.rs @@ -1,8 +1,8 @@ use std::pin::Pin; +use futures::StreamExt; use kalosm::sound::{rodio::buffer::SamplesBuffer, AsyncSource}; use tokio_stream::Stream; -use futures::StreamExt; pub struct AudioStream { //pub drop_tx: std::sync::mpsc::Sender<()>, @@ -65,4 +65,4 @@ impl AsyncSource for AudioStream { fn sample_rate(&self) -> u32 { 160000 } -} \ No newline at end of file +} diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index f43afb8b0..b42e8fe92 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,17 +1,20 @@ use self::{audio_stream::AudioStream, error::AIServiceError}; -use crate::pubsub::{AI_TRANSCRIPTION_TEXT_TOPIC}; -use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use crate::graphql::graphql_types::{AITaskInput, TranscriptionTextFilter}; +use crate::pubsub::AI_TRANSCRIPTION_TEXT_TOPIC; use crate::types::AITask; +use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use anyhow::anyhow; use deno_core::error::AnyError; use futures::SinkExt; -use kalosm::{language::*, sound::{AsyncSourceTranscribeExt, Whisper}}; -use std::{collections::HashMap}; +use kalosm::{ + language::*, + sound::{AsyncSourceTranscribeExt, Whisper}, +}; +use std::collections::HashMap; use std::panic::catch_unwind; use std::sync::Arc; use std::thread; -use tokio::{sync::{mpsc, oneshot, Mutex}}; +use tokio::sync::{mpsc, oneshot, Mutex}; mod audio_stream; mod error; @@ -25,8 +28,7 @@ lazy_static! { struct TranscriptionSession { samples_tx: futures_channel::mpsc::UnboundedSender>, drop_tx: oneshot::Sender<()>, -} - +} #[derive(Clone)] pub struct AIService { @@ -329,23 +331,27 @@ impl AIService { let audio_stream = AudioStream { //drop_tx, read_data: Vec::new(), - receiver: Box::pin(sampels_rx.map(futures_util::stream::iter).flatten()) + receiver: Box::pin(sampels_rx.map(futures_util::stream::iter).flatten()), }; - - let mut word_stream = audio_stream - .transcribe(whisper) - .words(); + + let mut word_stream = audio_stream.transcribe(whisper).words(); let pubsub = rt.block_on(get_global_pubsub()); - + let _ = done_tx.send(Ok(())); while let Some(word) = rt.block_on(word_stream.next()) { println!("{}", word); - rt.block_on(pubsub.publish(&AI_TRANSCRIPTION_TEXT_TOPIC, &serde_json::to_string(&TranscriptionTextFilter{ - stream_id: stream_id_clone.clone(), - text: word, - }).expect("TranscriptionTextFilter must be serializable"))); + rt.block_on( + pubsub.publish( + &AI_TRANSCRIPTION_TEXT_TOPIC, + &serde_json::to_string(&TranscriptionTextFilter { + stream_id: stream_id_clone.clone(), + text: word, + }) + .expect("TranscriptionTextFilter must be serializable"), + ), + ); } } else { let _ = done_tx.send(Err(maybe_model.err().unwrap())); @@ -354,15 +360,22 @@ impl AIService { done_rx.await??; - - self.transcription_streams.lock().await.insert(stream_id.clone(), TranscriptionSession{ - samples_tx, drop_tx - }); + self.transcription_streams.lock().await.insert( + stream_id.clone(), + TranscriptionSession { + samples_tx, + drop_tx, + }, + ); Ok(stream_id) } - pub async fn feed_transcription_stream(&self, stream_id: &String, audio_samples: Vec) -> Result<()> { + pub async fn feed_transcription_stream( + &self, + stream_id: &String, + audio_samples: Vec, + ) -> Result<()> { let mut map_lock = self.transcription_streams.lock().await; let maybe_stream = map_lock.get_mut(stream_id); if let Some(stream) = maybe_stream { @@ -375,17 +388,18 @@ impl AIService { pub async fn close_transcription_stream(&self, stream_id: &String) -> Result<()> { let mut map_lock = self.transcription_streams.lock().await; - + if let Some(stream) = map_lock.remove(stream_id) { - stream.drop_tx.send(()).map_err(|_| - anyhow!(AIServiceError::CrazyError(format!("Failed to close stream {}: Whisper thread may have crashed", stream_id))) - ) + stream.drop_tx.send(()).map_err(|_| { + anyhow!(AIServiceError::CrazyError(format!( + "Failed to close stream {}: Whisper thread may have crashed", + stream_id + ))) + }) } else { Err(AIServiceError::StreamNotFound.into()) } } - - } #[cfg(test)] diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index a2b2f2135..0d54d0c5b 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -709,7 +709,6 @@ impl GetFilter for TranscriptionTextFilter { } } - impl GetValue for Option { type Value = Option; diff --git a/rust-executor/src/graphql/mutation_resolvers.rs b/rust-executor/src/graphql/mutation_resolvers.rs index 9eb25a0c0..a87b1a608 100644 --- a/rust-executor/src/graphql/mutation_resolvers.rs +++ b/rust-executor/src/graphql/mutation_resolvers.rs @@ -1301,7 +1301,10 @@ impl Mutation { model_id: String, ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; - Ok(AIService::global_instance().await?.open_transcription_stream(model_id).await?) + Ok(AIService::global_instance() + .await? + .open_transcription_stream(model_id) + .await?) } // note: f32 does not implement IsInputType, so I'm taking f64 here @@ -1313,7 +1316,10 @@ impl Mutation { ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; let audio_f32: Vec = audio.into_iter().map(|x| x as f32).collect(); - AIService::global_instance().await?.feed_transcription_stream(&stream_id, audio_f32).await?; + AIService::global_instance() + .await? + .feed_transcription_stream(&stream_id, audio_f32) + .await?; Ok(String::from("true")) } @@ -1323,7 +1329,10 @@ impl Mutation { stream_id: String, ) -> FieldResult { check_capability(&context.capabilities, &AI_TRANSCRIBE_CAPABILITY)?; - AIService::global_instance().await?.close_transcription_stream(&stream_id).await?; + AIService::global_instance() + .await? + .close_transcription_stream(&stream_id) + .await?; Ok(String::from("true")) } } diff --git a/rust-executor/src/graphql/subscription_resolvers.rs b/rust-executor/src/graphql/subscription_resolvers.rs index 166c66773..e0742ad3d 100644 --- a/rust-executor/src/graphql/subscription_resolvers.rs +++ b/rust-executor/src/graphql/subscription_resolvers.rs @@ -6,7 +6,12 @@ use std::pin::Pin; use crate::{ pubsub::{ - get_global_pubsub, subscribe_and_process, AGENT_STATUS_CHANGED_TOPIC, AGENT_UPDATED_TOPIC, AI_TRANSCRIPTION_TEXT_TOPIC, APPS_CHANGED, EXCEPTION_OCCURRED_TOPIC, NEIGHBOURHOOD_SIGNAL_TOPIC, PERSPECTIVE_ADDED_TOPIC, PERSPECTIVE_LINK_ADDED_TOPIC, PERSPECTIVE_LINK_REMOVED_TOPIC, PERSPECTIVE_LINK_UPDATED_TOPIC, PERSPECTIVE_REMOVED_TOPIC, PERSPECTIVE_SYNC_STATE_CHANGE_TOPIC, PERSPECTIVE_UPDATED_TOPIC, RUNTIME_MESSAGED_RECEIVED_TOPIC, RUNTIME_NOTIFICATION_TRIGGERED_TOPIC + get_global_pubsub, subscribe_and_process, AGENT_STATUS_CHANGED_TOPIC, AGENT_UPDATED_TOPIC, + AI_TRANSCRIPTION_TEXT_TOPIC, APPS_CHANGED, EXCEPTION_OCCURRED_TOPIC, + NEIGHBOURHOOD_SIGNAL_TOPIC, PERSPECTIVE_ADDED_TOPIC, PERSPECTIVE_LINK_ADDED_TOPIC, + PERSPECTIVE_LINK_REMOVED_TOPIC, PERSPECTIVE_LINK_UPDATED_TOPIC, PERSPECTIVE_REMOVED_TOPIC, + PERSPECTIVE_SYNC_STATE_CHANGE_TOPIC, PERSPECTIVE_UPDATED_TOPIC, + RUNTIME_MESSAGED_RECEIVED_TOPIC, RUNTIME_NOTIFICATION_TRIGGERED_TOPIC, }, types::{DecoratedLinkExpression, TriggeredNotification}, }; From e40bf14a7941ed1042a567ace6ad80c74484a1d3 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 11 Sep 2024 21:56:30 +0200 Subject: [PATCH 131/183] clippy, comment-out unused code --- rust-executor/src/ai_service/audio_stream.rs | 42 ++++++++++---------- rust-executor/src/ai_service/mod.rs | 7 ++-- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/rust-executor/src/ai_service/audio_stream.rs b/rust-executor/src/ai_service/audio_stream.rs index 21474d195..85e89b1e6 100644 --- a/rust-executor/src/ai_service/audio_stream.rs +++ b/rust-executor/src/ai_service/audio_stream.rs @@ -1,7 +1,7 @@ use std::pin::Pin; use futures::StreamExt; -use kalosm::sound::{rodio::buffer::SamplesBuffer, AsyncSource}; +use kalosm::sound::AsyncSource; use tokio_stream::Stream; pub struct AudioStream { @@ -34,28 +34,28 @@ impl Stream for AudioStream { } } -impl AudioStream { - /// Read any pending data from the stream into a vector - fn read_sync(&mut self) -> Vec { - let mut cx = std::task::Context::from_waker(futures_util::task::noop_waker_ref()); - while let std::task::Poll::Ready(Some(data_chunk)) = self.receiver.poll_next_unpin(&mut cx) - { - self.read_data.push(data_chunk); - } - self.read_data.clone() - } +// impl AudioStream { +// /// Read any pending data from the stream into a vector +// fn read_sync(&mut self) -> Vec { +// let mut cx = std::task::Context::from_waker(futures_util::task::noop_waker_ref()); +// while let std::task::Poll::Ready(Some(data_chunk)) = self.receiver.poll_next_unpin(&mut cx) +// { +// self.read_data.push(data_chunk); +// } +// self.read_data.clone() +// } - /// Grab all current data in the stream - fn read_all_samples(&mut self) -> Vec { - self.read_sync() - } +// /// Grab all current data in the stream +// fn read_all_samples(&mut self) -> Vec { +// self.read_sync() +// } - fn read_all(&mut self) -> SamplesBuffer { - let channels = 1; - let sample_rate = 160000; - SamplesBuffer::new(channels, sample_rate, self.read_all_samples()) - } -} +// fn read_all(&mut self) -> SamplesBuffer { +// let channels = 1; +// let sample_rate = 160000; +// SamplesBuffer::new(channels, sample_rate, self.read_all_samples()) +// } +// } impl AsyncSource for AudioStream { fn as_stream(&mut self) -> impl Stream + '_ { diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index b42e8fe92..8324832f9 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -321,7 +321,8 @@ impl AIService { let stream_id = uuid::Uuid::new_v4().to_string(); let stream_id_clone = stream_id.clone(); let (samples_tx, sampels_rx) = futures_channel::mpsc::unbounded::>(); - let (drop_tx, drop_rx) = oneshot::channel(); + //TODO: use drop_rx to exit thread + let (drop_tx, _drop_rx) = oneshot::channel(); let (done_tx, done_rx) = oneshot::channel(); thread::spawn(move || { @@ -440,7 +441,7 @@ mod tests { .await .expect("prompt to return a result"); println!("Response: {}", response); - assert!(response.len() > 0) + assert!(!response.is_empty()) } #[ignore] @@ -488,6 +489,6 @@ mod tests { let response = responses.join("\n"); println!("Responses: {}", response); - assert!(response.len() > 0) + assert!(!response.is_empty()) } } From 5fb906b9ddbbb2b41951bbd6c2a017b372244074 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 12 Sep 2024 12:54:26 +0530 Subject: [PATCH 132/183] chore: Update circleci config to install gobjc, libobjc-dev, and clang --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 13200b89b..f41dad458 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc + command: sudo apt-get install gobjc libobjc-dev clang - run: name: Install dependencies command: pnpm install --no-frozen-lockfile From 63305bf8c74edab305c46a0f1e8c18eab7d19327 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 12 Sep 2024 13:06:40 +0530 Subject: [PATCH 133/183] chore: Update circleci config to install gobjc and clang --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f41dad458..327c0e8c1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc libobjc-dev clang + command: sudo apt-get install gobjc clang - run: name: Install dependencies command: pnpm install --no-frozen-lockfile From e4501ea341b9b8e20647f9f3f6717594a5fb14f2 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 12 Sep 2024 13:18:55 +0530 Subject: [PATCH 134/183] chore: Update circleci config to install gobjc, libobjc-dev, clang, gnustep-devel, libobjc4, and libgnustep-base-dev --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 327c0e8c1..c2557e28e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc clang + command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev - run: name: Install dependencies command: pnpm install --no-frozen-lockfile From 47dab368e5f302f9faad3e394552858151230013 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 12 Sep 2024 13:40:54 +0530 Subject: [PATCH 135/183] chore: Remove unused dependency kalosm --- cli/Cargo.toml | 2 +- pnpm-lock.yaml | 29105 +++++++++++++++++++++++++++-------------------- 2 files changed, 16934 insertions(+), 12173 deletions(-) diff --git a/cli/Cargo.toml b/cli/Cargo.toml index 13d6b8e72..cef62e28b 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -44,7 +44,7 @@ syntect = "5.0" ctrlc = "3.4.0" llm = { git = "https://github.com/lucksus/llm", branch = "gguf", features = ["metal"] } -kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "metal"] } +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } serde_cbor = "0.11" #holochain_kitsune_p2p = "0.3.0-beta-dev.37" kitsune_p2p_types = { version = "0.3.2-rc.0", git = "https://github.com/coasys/holochain.git", rev = "10841e49b28c17c3cb428680e2bc9259bf4ec739" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index afbbaae7a..c406ce4ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -90,7 +90,7 @@ importers: version: 2.27.1 eslint-config-custom: specifier: '*' - version: 0.0.0(eslint@8.57.0)(typescript@4.9.5) + version: 0.0.0(eslint@8.57.0)(typescript@5.3.3) patch-package: specifier: ^6.5.0 version: 6.5.1 @@ -108,10 +108,10 @@ importers: dependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@coasys/ad4m-connect': specifier: '*' - version: link:../../connect + version: 0.8.1(esbuild@0.19.12) uuid: specifier: '*' version: 9.0.1 @@ -120,13 +120,13 @@ importers: dependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@coasys/ad4m-connect': specifier: '*' - version: link:../../connect + version: 0.8.1(esbuild@0.19.12) '@coasys/hooks-helpers': specifier: '*' - version: 0.9.0(esbuild@0.15.18)(react@18.2.0) + version: 0.9.0(esbuild@0.19.12)(graphql-ws@5.14.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/react': specifier: ^18.2.55 version: 18.2.55 @@ -144,13 +144,13 @@ importers: dependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@coasys/hooks-helpers': specifier: '*' - version: 0.9.0(esbuild@0.15.18)(react@18.2.0) + version: 0.9.0(graphql-ws@5.14.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) vue: specifier: ^3.2.47 - version: 3.4.19(typescript@4.9.5) + version: 3.4.19(typescript@5.3.3) bootstrap-languages/agent-language: dependencies: @@ -166,7 +166,7 @@ importers: devDependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@perspect3vism/rollup-plugin-dna': specifier: ^0.0.2 version: 0.0.2 @@ -193,7 +193,7 @@ importers: version: 2.79.1 rollup-plugin-postcss: specifier: ^4.0.0 - version: 4.0.2(postcss@8.4.33) + version: 4.0.2(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)) rollup-plugin-string: specifier: ^3.0.0 version: 3.0.0 @@ -211,10 +211,10 @@ importers: version: 3.59.2 svelte-check: specifier: ^1.0.0 - version: 1.6.0(postcss@8.4.33)(svelte@3.59.2) + version: 1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2) svelte-preprocess: specifier: ^4.0.0 - version: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) tslib: specifier: ^2.0.0 version: 2.6.2 @@ -239,7 +239,7 @@ importers: devDependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@perspect3vism/rollup-plugin-dna': specifier: ^0.0.2 version: 0.0.2 @@ -266,7 +266,7 @@ importers: version: 2.79.1 rollup-plugin-postcss: specifier: ^4.0.0 - version: 4.0.2(postcss@8.4.33) + version: 4.0.2(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)) rollup-plugin-string: specifier: ^3.0.0 version: 3.0.0 @@ -284,10 +284,10 @@ importers: version: 3.59.2 svelte-check: specifier: ^1.0.0 - version: 1.6.0(postcss@8.4.33)(svelte@3.59.2) + version: 1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2) svelte-preprocess: specifier: ^4.0.0 - version: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) tslib: specifier: ^2.0.0 version: 2.6.2 @@ -304,7 +304,7 @@ importers: dependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@perspect3vism/rollup-plugin-dna': specifier: ^0.0.2 version: 0.0.2 @@ -349,10 +349,10 @@ importers: version: 3.59.2 svelte-check: specifier: ^1.0.0 - version: 1.6.0(postcss@8.4.33)(svelte@3.59.2) + version: 1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2) svelte-preprocess: specifier: ^4.0.0 - version: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) tslib: specifier: ^2.0.0 version: 2.6.2 @@ -372,7 +372,7 @@ importers: devDependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@perspect3vism/rollup-plugin-dna': specifier: ^0.0.2 version: 0.0.2 @@ -411,7 +411,7 @@ importers: devDependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': specifier: ^18.0.0 version: 18.11.10 @@ -441,7 +441,7 @@ importers: devDependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@perspect3vism/rollup-plugin-dna': specifier: ^0.0.2 version: 0.0.2 @@ -495,10 +495,10 @@ importers: version: 3.59.2 svelte-check: specifier: ^1.0.0 - version: 1.6.0(postcss@8.4.33)(svelte@3.59.2) + version: 1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2) svelte-preprocess: specifier: ^4.0.0 - version: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) tslib: specifier: ^2.0.0 version: 2.6.2 @@ -517,7 +517,7 @@ importers: dependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@perspect3vism/rollup-plugin-dna': specifier: ^0.0.2 version: 0.0.2 @@ -562,10 +562,10 @@ importers: version: 3.59.2 svelte-check: specifier: ^1.0.0 - version: 1.6.0(postcss@8.4.33)(svelte@3.59.2) + version: 1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2) svelte-preprocess: specifier: ^4.0.0 - version: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) tslib: specifier: ^2.0.0 version: 2.6.2 @@ -581,7 +581,7 @@ importers: dependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@perspect3vism/rollup-plugin-dna': specifier: ^0.0.2 version: 0.0.2 @@ -626,10 +626,10 @@ importers: version: 3.59.2 svelte-check: specifier: ^1.0.0 - version: 1.6.0(postcss@8.4.33)(svelte@3.59.2) + version: 1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2) svelte-preprocess: specifier: ^4.0.0 - version: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) tslib: specifier: ^2.0.0 version: 2.6.2 @@ -645,7 +645,7 @@ importers: devDependencies: '@coasys/ad4m': specifier: '*' - version: link:../../core + version: 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@rollup/plugin-commonjs': specifier: ^14.0.0 version: 14.0.0(rollup@2.79.1) @@ -681,10 +681,10 @@ importers: version: 3.59.2 svelte-check: specifier: ^1.0.0 - version: 1.6.0(postcss@8.4.33)(svelte@3.59.2) + version: 1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2) svelte-preprocess: specifier: ^4.0.0 - version: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + version: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) tslib: specifier: ^2.0.0 version: 2.6.2 @@ -699,7 +699,7 @@ importers: devDependencies: '@coasys/ad4m-executor': specifier: '*' - version: link:../executor + version: 0.10.0-rc7(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) connect: dependencies: @@ -727,10 +727,10 @@ importers: devDependencies: '@apollo/client': specifier: 3.7.10 - version: 3.7.10(graphql-ws@5.12.0)(graphql@15.7.2)(react-dom@18.2.0)(react@18.2.0) + version: 3.7.10(graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@coasys/ad4m': specifier: '*' - version: link:../core + version: 0.8.1(graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@types/node': specifier: ^16.11.11 version: 16.18.76 @@ -739,10 +739,10 @@ importers: version: 0.15.18 esbuild-plugin-lit: specifier: ^0.0.10 - version: 0.0.10(esbuild@0.15.18)(lit@2.8.0) + version: 0.0.10(esbuild@0.15.18)(lit@2.8.0)(svgo@2.8.0) graphql-ws: specifier: 5.12.0 - version: 5.12.0(graphql@15.7.2) + version: 5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) np: specifier: ^7.6.2 version: 7.7.0 @@ -754,22 +754,22 @@ importers: version: 4.9.5 vite: specifier: ^4.1.1 - version: 4.5.2(@types/node@16.18.76) + version: 4.5.2(@types/node@16.18.76)(sass@1.70.0)(terser@5.27.0) core: dependencies: '@apollo/client': specifier: 3.7.10 - version: 3.7.10(graphql-ws@5.12.0)(graphql@15.7.2)(react-dom@18.2.0)(react@18.2.0) + version: 3.7.10(graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@holochain/client': specifier: 0.16.0 - version: 0.16.0 + version: 0.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/jest': specifier: ^26.0.14 version: 26.0.24 - base64js: + base64-js: specifier: '*' - version: 1.0.1 + version: 1.5.1 class-validator: specifier: ^0.13.1 version: 0.13.2 @@ -787,11 +787,11 @@ importers: version: 0.1.14 type-graphql: specifier: 1.1.1 - version: 1.1.1(class-validator@0.13.2)(graphql@15.7.2) + version: 1.1.1(class-validator@0.13.2)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) devDependencies: '@apollo/server': specifier: ^4.9.4 - version: 4.10.0(graphql@15.7.2) + version: 4.10.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) '@rollup/plugin-alias': specifier: ^3.1.5 version: 3.1.9(rollup@2.79.1) @@ -815,22 +815,28 @@ importers: version: 3.1.8 graphql-ws: specifier: 5.12.0 - version: 5.12.0(graphql@15.7.2) + version: 5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) honkit: specifier: ^4.0.0 version: 4.0.8 jest: specifier: ^26.6.0 - version: 26.6.3 + version: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) patch-package: specifier: ^8.0.0 version: 8.0.0 + react: + specifier: '*' + version: 18.2.0 + react-dom: + specifier: '*' + version: 18.2.0(react@18.2.0) rollup: specifier: ^2.56.3 version: 2.79.1 ts-jest: specifier: ^26.5.6 - version: 26.5.6(jest@26.6.3)(typescript@4.9.5) + version: 26.5.6(jest@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10))(typescript@4.9.5) typescript: specifier: ^4.6.2 version: 4.9.5 @@ -842,10 +848,10 @@ importers: dependencies: '@coasys/ad4m': specifier: '*' - version: link:../core + version: 0.8.1(bufferutil@4.0.8)(graphql-ws@5.14.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(utf-8-validate@5.0.10) '@coasys/ad4m-connect': specifier: '*' - version: link:../connect + version: 0.8.1(esbuild@0.19.12) '@types/node': specifier: ^16.7.13 version: 16.18.76 @@ -857,7 +863,7 @@ importers: version: 18.2.18 '@wagmi/core': specifier: ^1.4.7 - version: 1.4.13(@types/react@18.2.48)(react@18.2.0)(typescript@5.3.3)(viem@1.21.4) + version: 1.4.13(@types/react@18.2.48)(bufferutil@4.0.8)(immer@9.0.21)(react@18.2.0)(typescript@5.3.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4) react: specifier: ^18.2.0 version: 18.2.0 @@ -869,32 +875,32 @@ importers: version: 5.3.3 viem: specifier: ^1.19.5 - version: 1.21.4(typescript@5.3.3) + version: 1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) wagmi: specifier: ^1.4.7 - version: 1.4.13(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(viem@1.21.4) + version: 1.4.13(@types/react@18.2.48)(bufferutil@4.0.8)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4) web-vitals: specifier: ^2.1.0 version: 2.1.4 devDependencies: '@vitejs/plugin-react': specifier: ^4.2.0 - version: 4.2.1(vite@5.0.12) + version: 4.2.1(vite@5.0.12(@types/node@16.18.76)(sass@1.70.0)(terser@5.27.0)) vite: specifier: ^5.0.0 - version: 5.0.12(@types/node@16.18.76) + version: 5.0.12(@types/node@16.18.76)(sass@1.70.0)(terser@5.27.0) docs: dependencies: next: specifier: ^13.0.6 - version: 13.5.6(react-dom@18.2.0)(react@18.2.0) + version: 13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) nextra: specifier: latest - version: 2.13.2(next@13.5.6)(react-dom@18.2.0)(react@18.2.0) + version: 2.13.2(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) nextra-theme-docs: specifier: latest - version: 2.13.2(next@13.5.6)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0) + version: 2.13.2(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(nextra@2.13.2(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -910,7 +916,7 @@ importers: version: 0.24.8(typescript@4.9.5) typedoc-plugin-markdown: specifier: ^3.15.2 - version: 3.17.1(typedoc@0.24.8) + version: 3.17.1(typedoc@0.24.8(typescript@4.9.5)) typescript: specifier: ^4.9.3 version: 4.9.5 @@ -922,7 +928,7 @@ importers: version: link:../core '@holochain/client': specifier: coasys/holochain-client-js#2f3a436b6d28344b0aca883ef3dc229cd042c04b - version: github.com/coasys/holochain-client-js/2f3a436b6d28344b0aca883ef3dc229cd042c04b(ws@8.13.0) + version: https://codeload.github.com/coasys/holochain-client-js/tar.gz/2f3a436b6d28344b0aca883ef3dc229cd042c04b(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) '@msgpack/msgpack': specifier: 3.0.0-beta2 version: 3.0.0-beta2 @@ -1016,7 +1022,7 @@ importers: version: 10.0.0(mocha@10.2.0) ts-node: specifier: ^10.8.0 - version: 10.9.1(@types/node@18.11.10)(typescript@4.9.5) + version: 10.9.1(@types/node@18.11.10)(typescript@5.3.3) rust-executor: devDependencies: @@ -1032,7 +1038,7 @@ importers: devDependencies: '@apollo/client': specifier: 3.7.10 - version: 3.7.10(graphql-ws@5.14.3)(graphql@15.7.2)(react@17.0.2) + version: 3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@17.0.2))(react@17.0.2) '@coasys/ad4m': specifier: link:../../core version: link:../../core @@ -1101,7 +1107,7 @@ importers: version: 11.2.0 graphql-ws: specifier: ^5.14.2 - version: 5.14.3(graphql@15.7.2) + version: 5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) http: specifier: 0.0.1-security version: 0.0.1-security @@ -1149,7 +1155,7 @@ importers: dependencies: '@apollo/client': specifier: 3.7.10 - version: 3.7.10(graphql-ws@5.12.0)(graphql@15.7.2)(react-dom@18.2.0)(react@18.2.0) + version: 3.7.10(graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@coasys/ad4m': specifier: link:../core version: link:../core @@ -1158,19 +1164,19 @@ importers: version: 0.5.5 '@preact/preset-vite': specifier: ^2.4.0 - version: 2.8.1(@babel/core@7.24.3)(preact@10.19.3)(vite@4.5.2) + version: 2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0)) '@tauri-apps/api': specifier: ^1.5.3 version: 1.5.3 apollo-boost: specifier: ^0.4.9 - version: 0.4.9(graphql@15.7.2) + version: 0.4.9(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: specifier: 15.7.2 version: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) graphql-ws: specifier: 5.12.0 - version: 5.12.0(graphql@15.7.2) + version: 5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) nanoid: specifier: ^3.3.4 version: 3.3.7 @@ -1191,10 +1197,10 @@ importers: version: 2.0.12(react@18.2.0) react-router-dom: specifier: ^6.3.0 - version: 6.21.3(react-dom@18.2.0)(react@18.2.0) + version: 6.21.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react-scripts: specifier: ^5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(typescript@4.9.5) + version: 5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(eslint@8.57.0)(node-notifier@8.0.2)(react@18.2.0)(sass@1.70.0)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(type-fest@1.4.0)(typescript@4.9.5)(utf-8-validate@5.0.10) typescript: specifier: ^4.6.2 version: 4.9.5 @@ -1204,7 +1210,7 @@ importers: devDependencies: '@prefresh/vite': specifier: ^2.2.9 - version: 2.4.5(preact@10.19.3)(vite@4.5.2) + version: 2.4.5(preact@10.19.3)(vite@4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0)) '@tauri-apps/cli': specifier: 1.5.11 version: 1.5.11 @@ -1213,7 +1219,7 @@ importers: version: 5.17.0 '@testing-library/react': specifier: ^12.1.4 - version: 12.1.5(react-dom@18.2.0)(react@18.2.0) + version: 12.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@testing-library/user-event': specifier: ^13.5.0 version: 13.5.0(@testing-library/dom@9.3.4) @@ -1237,7 +1243,7 @@ importers: version: 1.0.0 react-app-rewired: specifier: ^2.2.1 - version: 2.2.1(react-scripts@5.0.1) + version: 2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(eslint@8.57.0)(node-notifier@8.0.2)(react@18.2.0)(sass@1.70.0)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(type-fest@1.4.0)(typescript@4.9.5)(utf-8-validate@5.0.10)) react-error-overlay: specifier: 6.0.9 version: 6.0.9 @@ -1246,96 +1252,44 @@ importers: version: 1.1.6 vite: specifier: ^4.0.1 - version: 4.5.2(@types/node@18.11.10) + version: 4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0) packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - /@adobe/css-tools@4.3.3: + '@adobe/css-tools@4.3.3': resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==} - dev: true - /@adraffy/ens-normalize@1.10.0: + '@adraffy/ens-normalize@1.10.0': resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - dev: false - /@alloc/quick-lru@5.2.0: + '@alloc/quick-lru@5.2.0': resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - /@ampproject/remapping@2.2.1: + '@ampproject/remapping@2.2.1': resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - /@apideck/better-ajv-errors@0.3.6(ajv@8.12.0): + '@apideck/better-ajv-errors@0.3.6': resolution: {integrity: sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==} engines: {node: '>=10'} peerDependencies: ajv: '>=8' - dependencies: - ajv: 8.12.0 - json-schema: 0.4.0 - jsonpointer: 5.0.1 - leven: 3.1.0 - /@apollo/cache-control-types@1.0.3(graphql@15.7.2): + '@apollo/cache-control-types@1.0.3': resolution: {integrity: sha512-F17/vCp7QVwom9eG7ToauIKdAxpSoadsJnqIfyryLFSkLSOEqu+eC5Z3N8OXcUVStuOMcNHlyraRsA6rRICu4g==} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - - /@apollo/client@3.7.10(graphql-ws@5.12.0)(graphql@15.7.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-/k1MfrqPKYiPNdHcOzdxg9cEx96vhAGxAcSorzfBvV29XtFQcYW2cPNQOTjK/fpSMtqVo8UNmu5vwQAWD1gfCg==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - subscriptions-transport-ws: ^0.9.0 || ^0.11.0 - peerDependenciesMeta: - graphql-ws: - optional: true - react: - optional: true - react-dom: - optional: true - subscriptions-transport-ws: - optional: true - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2) - '@wry/context': 0.7.4 - '@wry/equality': 0.5.7 - '@wry/trie': 0.3.2 - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - graphql-tag: 2.12.6(graphql@15.7.2) - graphql-ws: 5.12.0(graphql@15.7.2) - hoist-non-react-statics: 3.3.2 - optimism: 0.16.2 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - response-iterator: 0.2.6 - symbol-observable: 4.0.0 - ts-invariant: 0.10.3 - tslib: 2.6.2 - zen-observable-ts: 1.2.5 - /@apollo/client@3.7.10(graphql-ws@5.14.3)(graphql@15.7.2)(react@17.0.2): + '@apollo/client@3.7.10': resolution: {integrity: sha512-/k1MfrqPKYiPNdHcOzdxg9cEx96vhAGxAcSorzfBvV29XtFQcYW2cPNQOTjK/fpSMtqVo8UNmu5vwQAWD1gfCg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -1352,1567 +1306,14011 @@ packages: optional: true subscriptions-transport-ws: optional: true - dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2) - '@wry/context': 0.7.4 - '@wry/equality': 0.5.7 - '@wry/trie': 0.3.2 - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - graphql-tag: 2.12.6(graphql@15.7.2) - graphql-ws: 5.14.3(graphql@15.7.2) - hoist-non-react-statics: 3.3.2 - optimism: 0.16.2 - prop-types: 15.8.1 - react: 17.0.2 - response-iterator: 0.2.6 - symbol-observable: 4.0.0 - ts-invariant: 0.10.3 - tslib: 2.6.2 - zen-observable-ts: 1.2.5 - dev: true - /@apollo/protobufjs@1.2.7: + '@apollo/protobufjs@1.2.7': resolution: {integrity: sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg==} hasBin: true - requiresBuild: true - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/long': 4.0.2 - long: 4.0.0 - dev: true - /@apollo/server-gateway-interface@1.1.1(graphql@15.7.2): + '@apollo/server-gateway-interface@1.1.1': resolution: {integrity: sha512-pGwCl/po6+rxRmDMFgozKQo2pbsSwE91TpsDBAOgf74CRDPXHHtM88wbwjab0wMMZh95QfR45GGyDIdhY24bkQ==} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - '@apollo/usage-reporting-protobuf': 4.1.1 - '@apollo/utils.fetcher': 2.0.1 - '@apollo/utils.keyvaluecache': 2.1.1 - '@apollo/utils.logger': 2.0.1 - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - /@apollo/server@4.10.0(graphql@15.7.2): + '@apollo/server@4.10.0': resolution: {integrity: sha512-pLx//lZ/pvUfWL9G8Np8+y3ujc0pYc8U7dwD6ztt9FAw8NmCPzPaDzlXLBAjGU6WnkqVBOnz8b3dOwRNjLYSUA==} engines: {node: '>=14.16.0'} peerDependencies: graphql: ^16.6.0 - dependencies: - '@apollo/cache-control-types': 1.0.3(graphql@15.7.2) - '@apollo/server-gateway-interface': 1.1.1(graphql@15.7.2) - '@apollo/usage-reporting-protobuf': 4.1.1 - '@apollo/utils.createhash': 2.0.1 - '@apollo/utils.fetcher': 2.0.1 - '@apollo/utils.isnodelike': 2.0.1 - '@apollo/utils.keyvaluecache': 2.1.1 - '@apollo/utils.logger': 2.0.1 - '@apollo/utils.usagereporting': 2.1.0(graphql@15.7.2) - '@apollo/utils.withrequired': 2.0.1 - '@graphql-tools/schema': 9.0.19(graphql@15.7.2) - '@josephg/resolvable': 1.0.1 - '@types/express': 4.17.21 - '@types/express-serve-static-core': 4.17.42 - '@types/node-fetch': 2.6.11 - async-retry: 1.3.3 - cors: 2.8.5 - express: 4.18.2 - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - loglevel: 1.9.1 - lru-cache: 7.18.3 - negotiator: 0.6.3 - node-abort-controller: 3.1.1 - node-fetch: 2.7.0 - uuid: 9.0.1 - whatwg-mimetype: 3.0.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@apollo/usage-reporting-protobuf@4.1.1: + '@apollo/usage-reporting-protobuf@4.1.1': resolution: {integrity: sha512-u40dIUePHaSKVshcedO7Wp+mPiZsaU6xjv9J+VyxpoU/zL6Jle+9zWeG98tr/+SZ0nZ4OXhrbb8SNr0rAPpIDA==} - dependencies: - '@apollo/protobufjs': 1.2.7 - dev: true - /@apollo/utils.createhash@2.0.1: + '@apollo/utils.createhash@2.0.1': resolution: {integrity: sha512-fQO4/ZOP8LcXWvMNhKiee+2KuKyqIcfHrICA+M4lj/h/Lh1H10ICcUtk6N/chnEo5HXu0yejg64wshdaiFitJg==} engines: {node: '>=14'} - dependencies: - '@apollo/utils.isnodelike': 2.0.1 - sha.js: 2.4.11 - dev: true - /@apollo/utils.dropunuseddefinitions@2.0.1(graphql@15.7.2): + '@apollo/utils.dropunuseddefinitions@2.0.1': resolution: {integrity: sha512-EsPIBqsSt2BwDsv8Wu76LK5R1KtsVkNoO4b0M5aK0hx+dGg9xJXuqlr7Fo34Dl+y83jmzn+UvEW+t1/GP2melA==} engines: {node: '>=14'} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - /@apollo/utils.fetcher@2.0.1: + '@apollo/utils.fetcher@2.0.1': resolution: {integrity: sha512-jvvon885hEyWXd4H6zpWeN3tl88QcWnHp5gWF5OPF34uhvoR+DFqcNxs9vrRaBBSY3qda3Qe0bdud7tz2zGx1A==} engines: {node: '>=14'} - dev: true - /@apollo/utils.isnodelike@2.0.1: + '@apollo/utils.isnodelike@2.0.1': resolution: {integrity: sha512-w41XyepR+jBEuVpoRM715N2ZD0xMD413UiJx8w5xnAZD2ZkSJnMJBoIzauK83kJpSgNuR6ywbV29jG9NmxjK0Q==} engines: {node: '>=14'} - dev: true - /@apollo/utils.keyvaluecache@2.1.1: + '@apollo/utils.keyvaluecache@2.1.1': resolution: {integrity: sha512-qVo5PvUUMD8oB9oYvq4ViCjYAMWnZ5zZwEjNF37L2m1u528x5mueMlU+Cr1UinupCgdB78g+egA1G98rbJ03Vw==} engines: {node: '>=14'} - dependencies: - '@apollo/utils.logger': 2.0.1 - lru-cache: 7.18.3 - dev: true - /@apollo/utils.logger@2.0.1: + '@apollo/utils.logger@2.0.1': resolution: {integrity: sha512-YuplwLHaHf1oviidB7MxnCXAdHp3IqYV8n0momZ3JfLniae92eYqMIx+j5qJFX6WKJPs6q7bczmV4lXIsTu5Pg==} engines: {node: '>=14'} - dev: true - /@apollo/utils.printwithreducedwhitespace@2.0.1(graphql@15.7.2): + '@apollo/utils.printwithreducedwhitespace@2.0.1': resolution: {integrity: sha512-9M4LUXV/fQBh8vZWlLvb/HyyhjJ77/I5ZKu+NBWV/BmYGyRmoEP9EVAy7LCVoY3t8BDcyCAGfxJaLFCSuQkPUg==} engines: {node: '>=14'} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - /@apollo/utils.removealiases@2.0.1(graphql@15.7.2): + '@apollo/utils.removealiases@2.0.1': resolution: {integrity: sha512-0joRc2HBO4u594Op1nev+mUF6yRnxoUH64xw8x3bX7n8QBDYdeYgY4tF0vJReTy+zdn2xv6fMsquATSgC722FA==} engines: {node: '>=14'} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - /@apollo/utils.sortast@2.0.1(graphql@15.7.2): + '@apollo/utils.sortast@2.0.1': resolution: {integrity: sha512-eciIavsWpJ09za1pn37wpsCGrQNXUhM0TktnZmHwO+Zy9O4fu/WdB4+5BvVhFiZYOXvfjzJUcc+hsIV8RUOtMw==} engines: {node: '>=14'} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - lodash.sortby: 4.7.0 - dev: true - /@apollo/utils.stripsensitiveliterals@2.0.1(graphql@15.7.2): + '@apollo/utils.stripsensitiveliterals@2.0.1': resolution: {integrity: sha512-QJs7HtzXS/JIPMKWimFnUMK7VjkGQTzqD9bKD1h3iuPAqLsxd0mUNVbkYOPTsDhUKgcvUOfOqOJWYohAKMvcSA==} engines: {node: '>=14'} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - /@apollo/utils.usagereporting@2.1.0(graphql@15.7.2): + '@apollo/utils.usagereporting@2.1.0': resolution: {integrity: sha512-LPSlBrn+S17oBy5eWkrRSGb98sWmnEzo3DPTZgp8IQc8sJe0prDgDuppGq4NeQlpoqEHz0hQeYHAOA0Z3aQsxQ==} engines: {node: '>=14'} peerDependencies: graphql: 14.x || 15.x || 16.x - dependencies: - '@apollo/usage-reporting-protobuf': 4.1.1 - '@apollo/utils.dropunuseddefinitions': 2.0.1(graphql@15.7.2) - '@apollo/utils.printwithreducedwhitespace': 2.0.1(graphql@15.7.2) - '@apollo/utils.removealiases': 2.0.1(graphql@15.7.2) - '@apollo/utils.sortast': 2.0.1(graphql@15.7.2) - '@apollo/utils.stripsensitiveliterals': 2.0.1(graphql@15.7.2) - graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - /@apollo/utils.withrequired@2.0.1: + '@apollo/utils.withrequired@2.0.1': resolution: {integrity: sha512-YBDiuAX9i1lLc6GeTy1m7DGLFn/gMnvXqlalOIMjM7DeOgIacEjjfwPqb0M1CQ2v11HhR15d1NmxJoRCfrNqcA==} engines: {node: '>=14'} - dev: true - /@asciidoctor/cli@3.5.0(@asciidoctor/core@2.2.6): + '@asciidoctor/cli@3.5.0': resolution: {integrity: sha512-/VMHXcZBnZ9vgWfmqk9Hu0x0gMjPLup0YGq/xA8qCQuk11kUIZNMVQwgSsIUzOEwJqIUD7CgncJdtfwv1Ndxuw==} engines: {node: '>=8.11', npm: '>=5.0.0'} hasBin: true peerDependencies: '@asciidoctor/core': ^2.0.0-rc.1 - dependencies: - '@asciidoctor/core': 2.2.6 - yargs: 16.2.0 - dev: true - /@asciidoctor/core@2.2.6: + '@asciidoctor/core@2.2.6': resolution: {integrity: sha512-TmB2K5UfpDpSbCNBBntXzKHcAk2EA3/P68jmWvmJvglVUdkO9V6kTAuXVe12+h6C4GK0ndwuCrHHtEVcL5t6pQ==} engines: {node: '>=8.11', npm: '>=5.0.0', yarn: '>=1.1.0'} - dependencies: - asciidoctor-opal-runtime: 0.3.3 - unxhr: 1.0.1 - dev: true - /@babel/code-frame@7.23.5: + '@babel/code-frame@7.23.5': resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 - /@babel/code-frame@7.24.2: + '@babel/code-frame@7.24.2': resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 - /@babel/compat-data@7.23.5: + '@babel/compat-data@7.23.5': resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.23.9: + '@babel/core@7.23.9': resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.2.1 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helpers': 7.23.9 - '@babel/parser': 7.23.9 - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - /@babel/core@7.24.3: + '@babel/core@7.24.3': resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) - '@babel/helpers': 7.24.1 - '@babel/parser': 7.24.1 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - /@babel/eslint-parser@7.23.9(@babel/core@7.23.9)(eslint@8.57.0): + '@babel/eslint-parser@7.23.9': resolution: {integrity: sha512-xPndlO7qxiJbn0ATvfXQBjCS7qApc9xmKHArgI/FTEFxXas5dnjC/VqM37lfZun9dclRYcn+YQAr6uDFy0bB2g==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 - dependencies: - '@babel/core': 7.23.9 - '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 - eslint-visitor-keys: 2.1.0 - semver: 6.3.1 - /@babel/generator@7.23.6: + '@babel/generator@7.23.6': resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.22 - jsesc: 2.5.2 - /@babel/generator@7.24.1: + '@babel/generator@7.24.1': resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.22.5: + '@babel/helper-annotate-as-pure@7.22.5': resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-compilation-targets@7.23.6: + '@babel/helper-compilation-targets@7.23.6': resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 - lru-cache: 5.1.1 - semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.23.9(@babel/core@7.23.9): + '@babel/helper-create-class-features-plugin@7.23.9': resolution: {integrity: sha512-B2L9neXTIyPQoXDm+NtovPvG6VOLWnaXu3BIeVDWwdKFgG30oNa6CqVGiJPDWQwIAK49t9gnQI9c6K6RzabiKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): + '@babel/helper-create-regexp-features-plugin@7.22.15': resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - regexpu-core: 5.3.2 - semver: 6.3.1 - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9): + '@babel/helper-define-polyfill-provider@0.5.0': resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - debug: 4.3.4(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.8 - transitivePeerDependencies: - - supports-color - /@babel/helper-environment-visitor@7.22.20: + '@babel/helper-environment-visitor@7.22.20': resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - /@babel/helper-function-name@7.23.0: + '@babel/helper-function-name@7.23.0': resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 - /@babel/helper-hoist-variables@7.22.5: + '@babel/helper-hoist-variables@7.22.5': resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-member-expression-to-functions@7.23.0: + '@babel/helper-member-expression-to-functions@7.23.0': resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-module-imports@7.22.15: + '@babel/helper-module-imports@7.22.15': resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): + '@babel/helper-module-transforms@7.23.3': resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - /@babel/helper-optimise-call-expression@7.22.5: + '@babel/helper-optimise-call-expression@7.22.5': resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-plugin-utils@7.22.5: + '@babel/helper-plugin-utils@7.22.5': resolution: {integrity: sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==} engines: {node: '>=6.9.0'} - /@babel/helper-plugin-utils@7.24.0: + '@babel/helper-plugin-utils@7.24.0': resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): + '@babel/helper-remap-async-to-generator@7.22.20': resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-wrap-function': 7.22.20 - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): + '@babel/helper-replace-supers@7.22.20': resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - /@babel/helper-simple-access@7.22.5: + '@babel/helper-simple-access@7.22.5': resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-split-export-declaration@7.22.6: + '@babel/helper-split-export-declaration@7.22.6': resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.23.9 - /@babel/helper-string-parser@7.23.4: + '@babel/helper-string-parser@7.23.4': resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} engines: {node: '>=6.9.0'} - /@babel/helper-string-parser@7.24.1: + '@babel/helper-string-parser@7.24.1': resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.20: + '@babel/helper-validator-identifier@7.22.20': resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.23.5: + '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.22.20: + '@babel/helper-wrap-function@7.22.20': resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 - '@babel/types': 7.23.9 - /@babel/helpers@7.23.9: + '@babel/helpers@7.23.9': resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.23.9 - '@babel/traverse': 7.23.9 - '@babel/types': 7.23.9 - transitivePeerDependencies: - - supports-color - /@babel/helpers@7.24.1: + '@babel/helpers@7.24.1': resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color - /@babel/highlight@7.23.4: + '@babel/highlight@7.23.4': resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - /@babel/highlight@7.24.2: + '@babel/highlight@7.24.2': resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - /@babel/parser@7.23.9: + '@babel/parser@7.23.9': resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.23.9 - /@babel/parser@7.24.1: + '@babel/parser@7.24.1': resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3': resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9): + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3': resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9): + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7': resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.9): + '@babel/plugin-proposal-class-properties@7.18.6': resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-decorators@7.23.9(@babel/core@7.23.9): + '@babel/plugin-proposal-decorators@7.23.9': resolution: {integrity: sha512-hJhBCb0+NnTWybvWq2WpbCYDOcflSbx0t+BYP65e5R9GVnukiDTi+on5bFkk4p7QGuv190H6KfNiV9Knf/3cZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.23.9) - /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.9): + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.9): + '@babel/plugin-proposal-numeric-separator@7.18.6': resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.9): + '@babel/plugin-proposal-optional-chaining@7.21.0': resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.23.9): + '@babel/plugin-proposal-private-methods@7.18.6': resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - /@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.23.9): + '@babel/plugin-proposal-private-property-in-object@7.21.11': resolution: {integrity: sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): + '@babel/plugin-syntax-async-generators@7.8.4': resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-bigint@7.8.3': resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): + '@babel/plugin-syntax-class-properties@7.12.13': resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): + '@babel/plugin-syntax-class-static-block@7.14.5': resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.9): + '@babel/plugin-syntax-decorators@7.23.3': resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-dynamic-import@7.8.3': resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-export-namespace-from@7.8.3': resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.9): + '@babel/plugin-syntax-flow@7.23.3': resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.3): + '@babel/plugin-syntax-flow@7.24.1': resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9): + '@babel/plugin-syntax-import-assertions@7.23.3': resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): + '@babel/plugin-syntax-import-attributes@7.23.3': resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): + '@babel/plugin-syntax-import-meta@7.10.4': resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-json-strings@7.8.3': resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.3): + '@babel/plugin-syntax-jsx@7.23.3': resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): + '@babel/plugin-syntax-numeric-separator@7.10.4': resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-object-rest-spread@7.8.3': resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-optional-catch-binding@7.8.3': resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): + '@babel/plugin-syntax-optional-chaining@7.8.3': resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): + '@babel/plugin-syntax-private-property-in-object@7.14.5': resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): + '@babel/plugin-syntax-top-level-await@7.14.5': resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9): + '@babel/plugin-syntax-typescript@7.23.3': resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-arrow-functions@7.23.3': resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9): + '@babel/plugin-transform-async-generator-functions@7.23.9': resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-async-to-generator@7.23.3': resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-block-scoped-functions@7.23.3': resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-block-scoping@7.23.4': resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-class-properties@7.23.3': resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-class-static-block@7.23.4': resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9): + '@babel/plugin-transform-classes@7.23.8': resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-computed-properties@7.23.3': resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/template': 7.23.9 - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-destructuring@7.23.3': resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-dotall-regex@7.23.3': resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-duplicate-keys@7.23.3': resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-dynamic-import@7.23.4': resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-exponentiation-operator@7.23.3': resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-export-namespace-from@7.23.4': resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-flow-strip-types@7.23.3': resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.9) - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9): + '@babel/plugin-transform-for-of@7.23.6': resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-function-name@7.23.3': resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-json-strings@7.23.4': resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-literals@7.23.3': resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-logical-assignment-operators@7.23.4': resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-member-expression-literals@7.23.3': resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-modules-amd@7.23.3': resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-modules-commonjs@7.23.3': resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-simple-access': 7.22.5 - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9): + '@babel/plugin-transform-modules-systemjs@7.23.9': resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-identifier': 7.22.20 - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-modules-umd@7.23.3': resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5': resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-new-target@7.23.3': resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-nullish-coalescing-operator@7.23.4': resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-numeric-separator@7.23.4': resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-object-rest-spread@7.23.4': resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-object-super@7.23.3': resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-optional-catch-binding@7.23.4': resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-optional-chaining@7.23.4': resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-parameters@7.23.3': resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-private-methods@7.23.3': resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9): + '@babel/plugin-transform-private-property-in-object@7.23.4': resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-property-literals@7.23.3': resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-react-constant-elements@7.23.3': resolution: {integrity: sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-react-display-name@7.23.3': resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.9): - resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) - /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.3): + '@babel/plugin-transform-react-jsx-development@7.22.5': resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) - dev: false - /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-react-jsx-self@7.23.3': resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-react-jsx-source@7.23.3': resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - dev: true - - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9): - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) - '@babel/types': 7.23.9 - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.3): + '@babel/plugin-transform-react-jsx@7.23.4': resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.3) - '@babel/types': 7.23.9 - /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-react-pure-annotations@7.23.3': resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-regenerator@7.23.3': resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - regenerator-transform: 0.15.2 - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-reserved-words@7.23.3': resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-runtime@7.23.9(@babel/core@7.23.9): + '@babel/plugin-transform-runtime@7.23.9': resolution: {integrity: sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-module-imports': 7.22.15 - '@babel/helper-plugin-utils': 7.22.5 - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-shorthand-properties@7.23.3': resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-spread@7.23.3': resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-sticky-regex@7.23.3': resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-template-literals@7.23.3': resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-typeof-symbol@7.23.3': resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9): + '@babel/plugin-transform-typescript@7.23.6': resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-unicode-escapes@7.23.3': resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-unicode-property-regex@7.23.3': resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-unicode-regex@7.23.3': resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9): + '@babel/plugin-transform-unicode-sets-regex@7.23.3': resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.23.9 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) - '@babel/helper-plugin-utils': 7.22.5 - /@babel/preset-env@7.23.9(@babel/core@7.23.9): + '@babel/preset-env@7.23.9': resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.9 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-react@7.23.3': + resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-typescript@7.23.3': + resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime@7.23.9': + resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.24.1': + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.23.9': + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.0': + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.23.9': + resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.1': + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.23.9': + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.0': + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@braintree/sanitize-url@6.0.4': + resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} + + '@changesets/apply-release-plan@7.0.0': + resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + + '@changesets/assemble-release-plan@6.0.0': + resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} + + '@changesets/changelog-git@0.2.0': + resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} + + '@changesets/cli@2.27.1': + resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} + hasBin: true + + '@changesets/config@3.0.0': + resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + + '@changesets/errors@0.2.0': + resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} + + '@changesets/get-dependents-graph@2.0.0': + resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + + '@changesets/get-release-plan@4.0.0': + resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} + + '@changesets/get-version-range-type@0.4.0': + resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} + + '@changesets/git@3.0.0': + resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + + '@changesets/logger@0.1.0': + resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + + '@changesets/parse@0.4.0': + resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} + + '@changesets/pre@2.0.0': + resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + + '@changesets/read@0.6.0': + resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + + '@changesets/types@4.1.0': + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + + '@changesets/types@6.0.0': + resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} + + '@changesets/write@0.3.0': + resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + + '@cnakazawa/watch@1.0.4': + resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} + engines: {node: '>=0.1.95'} + hasBin: true + + '@coasys/ad4m-connect@0.8.1': + resolution: {integrity: sha512-pbyeescsVOVAnXjn2Uh4BV0oWbuiseHT0HvGmDISdaJztaFv1MNglka2oOFf9xYmwz7PBExYNprnE5g75YVyNQ==} + + '@coasys/ad4m-executor@0.10.0-rc7': + resolution: {integrity: sha512-bAXeiMbuEnJ9C6kEm/meo+t1pwJjOhjBGpVEmhygWxa70WMnraoBVnQkVp/11IX9E6hdm3gVd2JWic28rvJfcA==} + + '@coasys/ad4m@0.8.1': + resolution: {integrity: sha512-2or0Ykc+F+geDumBABYD/us5Iu9Se2xVRdVcj4h0l7etd9Zx3u5m/Q32YHywJz61DbPQV8Q+zTkYiqF54y9GrA==} + + '@coasys/hooks-helpers@0.9.0': + resolution: {integrity: sha512-21Wrg/LwosKpcSpz/Xq85eTONGHIMF1sJBihdxR3d3De91dz4uZZ1Twy4irLYjetwXMh4J1OS8Z5fNDWcwSigg==} + + '@coinbase/wallet-sdk@3.7.2': + resolution: {integrity: sha512-lIGvXMsgpsQWci/XOMQIJ2nIZ8JUy/L+bvC0wkRaYarr0YylwpXrJ2gRM3hCXPS477pkyO7N/kSiAoRgEXUdJQ==} + engines: {node: '>= 10.0.0'} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@csstools/normalize.css@12.1.1': + resolution: {integrity: sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==} + + '@csstools/postcss-cascade-layers@1.1.1': + resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-color-function@1.1.1': + resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-font-format-keywords@1.0.1': + resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-hwb-function@1.0.2': + resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-ic-unit@1.0.1': + resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-is-pseudo-class@2.0.7': + resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-nested-calc@1.0.0': + resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-normalize-display-values@1.0.1': + resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-oklab-function@1.1.1': + resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-progressive-custom-properties@1.3.0': + resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + + '@csstools/postcss-stepped-value-functions@1.0.1': + resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-text-decoration-shorthand@1.0.0': + resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-trigonometric-functions@1.0.2': + resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} + engines: {node: ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/postcss-unset-value@1.0.2': + resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + '@csstools/selector-specificity@2.2.0': + resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.10 + + '@electron/get@1.14.1': + resolution: {integrity: sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==} + engines: {node: '>=8.6'} + + '@esbuild/aix-ppc64@0.19.12': + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.19.12': + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.15.18': + resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.19.12': + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.19.12': + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.19.12': + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.12': + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.19.12': + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.19.12': + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.19.12': + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.15.18': + resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.19.12': + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.19.12': + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.19.12': + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.12': + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.19.12': + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.19.12': + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.19.12': + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.19.12': + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.19.12': + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.19.12': + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.19.12': + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.19.12': + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@graphql-tools/merge@8.4.2': + resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/schema@9.0.19': + resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@9.2.1': + resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@headlessui/react@1.7.18': + resolution: {integrity: sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==} + engines: {node: '>=10'} + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + + '@holochain/client@0.16.0': + resolution: {integrity: sha512-GJEl6F3OSlDX71H+rtyUXpEuor7O9MhvNIi+Tq6obrysu71JsbXfR1rtmSBiNb9fttHOZLW60EzY/Lj3I9dv8g==} + engines: {node: '>=16.0.0 || >=18.0.0'} + + '@holochain/client@https://codeload.github.com/coasys/holochain-client-js/tar.gz/2f3a436b6d28344b0aca883ef3dc229cd042c04b': + resolution: {tarball: https://codeload.github.com/coasys/holochain-client-js/tar.gz/2f3a436b6d28344b0aca883ef3dc229cd042c04b} + version: 0.12.5 + engines: {node: ^14.13.1 || >=16.0.0 || >=18.0.0} + + '@holochain/serialization@0.1.0-beta-rc.3': + resolution: {integrity: sha512-DJx4V2KXHVLciyOGjOYKTM/JLBpBEZ3RsPIRCgf7qmwhQdxXvhi2p+oFFRD51yUT5uC1/MzIVeJCl/R60PwFbw==} + + '@honkit/asciidoc@4.0.8': + resolution: {integrity: sha512-wyVBKfX9yM5P8nm81ew1cdTR0hKWFB9hRTvwGXBVS+ipD+WFTQWxVw3qNQapMKRiiVq/L3QA6bpkIDul3EJ43w==} + + '@honkit/honkit-plugin-highlight@4.0.8': + resolution: {integrity: sha512-fu1QFxS/m0X9uIK8vrn9TGN2HLJ8AjK03L4/yZo+ioYG55ALgTE3tNz7CrGPGjUn+uluLMmrvcJQDpPUmTMYdQ==} + engines: {gitbook: '>=2.4.0'} + + '@honkit/honkit-plugin-theme-default@4.0.8': + resolution: {integrity: sha512-1CaoaAZZYWOJGnBsdi63ulKqxNcHXAQZPq1QqUsxE3Ml+YJZnyf/0uq8wuUdxJ/TzG4iyaXA2jT92xHlCkXJ1w==} + engines: {gitbook: '>=3.0.0'} + + '@honkit/html@4.0.8': + resolution: {integrity: sha512-tpMpYrPKT3RqZC8i00oGHuY+BR+6S3stEONEpMQM9xz1Zj266TXZ5GRXkX4n2cb5DA6OmeR5asYxd7gTXNPjqw==} + + '@honkit/markdown-legacy@4.0.8': + resolution: {integrity: sha512-DqLDDzFbyLuBVYDfrhl4b67LdcbmMzRR+U/DwvXOCc8PqNx6nQoLHnAOpLQN/UP4/P6e7mWaJN9iSjfzg4Q0MQ==} + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.2': + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + deprecated: Use @eslint/object-schema instead + + '@ioredis/commands@1.2.0': + resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@26.6.2': + resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} + engines: {node: '>= 10.14.2'} + + '@jest/console@27.5.1': + resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/console@28.1.3': + resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jest/core@26.6.3': + resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} + engines: {node: '>= 10.14.2'} + + '@jest/core@27.5.1': + resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@26.6.2': + resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} + engines: {node: '>= 10.14.2'} + + '@jest/environment@27.5.1': + resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@26.6.2': + resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} + engines: {node: '>= 10.14.2'} + + '@jest/fake-timers@27.5.1': + resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/globals@26.6.2': + resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} + engines: {node: '>= 10.14.2'} + + '@jest/globals@27.5.1': + resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/reporters@26.6.2': + resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} + engines: {node: '>= 10.14.2'} + + '@jest/reporters@27.5.1': + resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@28.1.3': + resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@26.6.2': + resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} + engines: {node: '>= 10.14.2'} + + '@jest/source-map@27.5.1': + resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-result@26.6.2': + resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} + engines: {node: '>= 10.14.2'} + + '@jest/test-result@27.5.1': + resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/test-result@28.1.3': + resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jest/test-sequencer@26.6.3': + resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} + engines: {node: '>= 10.14.2'} + + '@jest/test-sequencer@27.5.1': + resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/transform@26.6.2': + resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} + engines: {node: '>= 10.14.2'} + + '@jest/transform@27.5.1': + resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@26.6.2': + resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} + engines: {node: '>= 10.14.2'} + + '@jest/types@27.5.1': + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + '@jest/types@28.1.3': + resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@josephg/resolvable@1.0.1': + resolution: {integrity: sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==} + + '@jridgewell/gen-mapping@0.3.3': + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.1': + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.1.2': + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.5': + resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.22': + resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@junto-foundation/junto-elements@0.5.5': + resolution: {integrity: sha512-t1B2m8Yg+s92Q/W/Q3qxBcLwtzxMzVRfqovLagrWHqEVwmfFx0zJQm25qFnfkzBxeZonVjibCG6mUoexZ2cjUQ==} + + '@leichtgewicht/ip-codec@2.0.4': + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + + '@lit-labs/ssr-dom-shim@1.1.2': + resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} + + '@lit/reactive-element@1.6.3': + resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} + + '@manypkg/find-root@1.1.0': + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + + '@manypkg/get-packages@1.1.3': + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + + '@mattrglobal/bbs-signatures@0.5.0': + resolution: {integrity: sha512-4te4TpacAmeCM8aa/kHkU0i1IJwsO1x/Tez6/YLUWg6rK6bfGA1NNO7IBc12u9ETkoTsiU32UmsiYWXcw9QwKQ==} + + '@mattrglobal/bls12381-key-pair@0.5.0': + resolution: {integrity: sha512-eXAtke0HOEr9RcT+NEI1MERE50gUnnLm1mYBJkUugk9REP3MfKXtX2Mo4FXyCH/IR4Oxj2jCcfNYW/h0Q3x5sg==} + + '@mattrglobal/node-bbs-signatures@0.11.0': + resolution: {integrity: sha512-V0wcY0ZewrPOiMOrL3wam0oYL1SLbF2ihgAM6JQvLrAKw1MckYiJ8T4vL+nOBs2hf1PA1TZI+USe5mqMWuVKTw==} + engines: {node: '>=10', yarn: 1.x} + + '@mdx-js/mdx@2.3.0': + resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} + + '@mdx-js/react@2.3.0': + resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} + peerDependencies: + react: '>=16' + + '@metamask/safe-event-emitter@2.0.0': + resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==} + + '@metamask/utils@3.6.0': + resolution: {integrity: sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ==} + engines: {node: '>=14.0.0'} + + '@motionone/animation@10.17.0': + resolution: {integrity: sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==} + + '@motionone/dom@10.17.0': + resolution: {integrity: sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==} + + '@motionone/easing@10.17.0': + resolution: {integrity: sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==} + + '@motionone/generators@10.17.0': + resolution: {integrity: sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==} + + '@motionone/svelte@10.16.4': + resolution: {integrity: sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==} + + '@motionone/types@10.17.0': + resolution: {integrity: sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==} + + '@motionone/utils@10.17.0': + resolution: {integrity: sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==} + + '@motionone/vue@10.16.4': + resolution: {integrity: sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==} + deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion + + '@msgpack/msgpack@2.8.0': + resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} + engines: {node: '>= 10'} + + '@msgpack/msgpack@3.0.0-beta2': + resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} + engines: {node: '>= 14'} + + '@napi-rs/simple-git-android-arm-eabi@0.1.11': + resolution: {integrity: sha512-wt4Wu9MxvKzEqT4iwodFs7Nrc31K73gR5hM7VnlO6iLELmUQZ5JVJkYoFWgzLQWtzIC48W2+zFMbBgY6+F2rZg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [android] + + '@napi-rs/simple-git-android-arm64@0.1.11': + resolution: {integrity: sha512-5/Aj6N44CxwhV3TZWRZ4vGqFj4wb2/a2gwvUZJo9Dwik9Spls7As8LaLe7pOptiGPH0GRP3H5kTT7I6twHNgqw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@napi-rs/simple-git-darwin-arm64@0.1.11': + resolution: {integrity: sha512-vdVsJUNcRsGVu0hBmLZdxxgwIbJA/Ias8NKWze8MZkZ3VyBwhg0uAzFgESEL3/USAgeCCHjF3uwVki8E+iPq1w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@napi-rs/simple-git-darwin-x64@0.1.11': + resolution: {integrity: sha512-ufVuZxyJ3LpApk3V101X9qYNX91fnQ4isulz9lWjg90U7Xz0Cav4J3yyFZy6B/cJpYxuiy49R8wV1xDtTeGThA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.11': + resolution: {integrity: sha512-rFafW0Qc/j5we2ghUecB7mFzGcNDtJ5lTiB4I7kffNeL8pEi6Yi7kST8hylswcCowia65d45xsyeNp1mFlFwcg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@napi-rs/simple-git-linux-arm64-gnu@0.1.11': + resolution: {integrity: sha512-HZ4yaqpj/FQ3V9qNQrTGhtXb7pLAARXeRJrwoaGfz3eZ069y2bHReFcNR//5bsVhZ18JaS9EV47F8WjDxtpI5g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/simple-git-linux-arm64-musl@0.1.11': + resolution: {integrity: sha512-b39lJiC3n2+Y6Exjx6qwHoBF++D3k2hN4mZZkvQCFSdLXJ2xtalCatSRWW3pt+mHOHMOgbGektL5v5BYq52hxw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@napi-rs/simple-git-linux-x64-gnu@0.1.11': + resolution: {integrity: sha512-9EPFvY7PZg+oqWi6Jft5WgSsQtvy9Ey1g4NG+LG8y1RbvaNKthxKbR5zgx196pnFVdcLtsuIdOv/OaQlbcTXkw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/simple-git-linux-x64-musl@0.1.11': + resolution: {integrity: sha512-doIt1lPYIGL3UthlEQjdM9s1Wv0v8bz8LVAgbzJMS+UpVZzArwLWkanAJCy1HjgMTUMiE3AVJqACKIF3EfW/TQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@napi-rs/simple-git-win32-arm64-msvc@0.1.11': + resolution: {integrity: sha512-TK3Uvj3Q72ebxfxDT/eLFt8sxCNHo20QMvqJ5BHt4zP1Y9Fl1DXSPRUKLBIhJd0nPcI45ZOMRiZyoT8joxAC9g==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@napi-rs/simple-git-win32-x64-msvc@0.1.11': + resolution: {integrity: sha512-XOgP6kFDXGmB2KCXFQEsCq70n/Do2h7W9o7qZu8APAD+Sc8JGKz4hKG7PKY2ot924v9nIoKSYbHnupnhXSoXkg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@napi-rs/simple-git@0.1.11': + resolution: {integrity: sha512-z14cPCBrtDKKVJ3q4GS5gmXEithGUAt+U8sICgA9i3UFdxJKD4H5rCnO7BVC3htdE9g6OR2w2IcHAL56AjpFbg==} + engines: {node: '>= 10'} + + '@next/env@13.5.6': + resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==} + + '@next/eslint-plugin-next@12.3.4': + resolution: {integrity: sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==} + + '@next/swc-darwin-arm64@13.5.6': + resolution: {integrity: sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@next/swc-darwin-x64@13.5.6': + resolution: {integrity: sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@next/swc-linux-arm64-gnu@13.5.6': + resolution: {integrity: sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-arm64-musl@13.5.6': + resolution: {integrity: sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@next/swc-linux-x64-gnu@13.5.6': + resolution: {integrity: sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-linux-x64-musl@13.5.6': + resolution: {integrity: sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@next/swc-win32-arm64-msvc@13.5.6': + resolution: {integrity: sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@next/swc-win32-ia32-msvc@13.5.6': + resolution: {integrity: sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@next/swc-win32-x64-msvc@13.5.6': + resolution: {integrity: sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + + '@noble/curves@1.2.0': + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + + '@noble/curves@1.3.0': + resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + + '@noble/ed25519@2.0.0': + resolution: {integrity: sha512-/extjhkwFupyopDrt80OMWKdLgP429qLZj+z6sYJz90rF2Iz0gjZh2ArMKPImUl13Kx+0EXI2hN9T/KJV0/Zng==} + + '@noble/hashes@1.3.2': + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} + + '@noble/hashes@1.3.3': + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} + + '@noble/secp256k1@1.7.1': + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@parcel/watcher-android-arm64@2.4.0': + resolution: {integrity: sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.4.0': + resolution: {integrity: sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.4.0': + resolution: {integrity: sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.4.0': + resolution: {integrity: sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.4.0': + resolution: {integrity: sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.4.0': + resolution: {integrity: sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.4.0': + resolution: {integrity: sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.4.0': + resolution: {integrity: sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.4.0': + resolution: {integrity: sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-wasm@2.3.0': + resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} + engines: {node: '>= 10.0.0'} + bundledDependencies: + - napi-wasm + + '@parcel/watcher-win32-arm64@2.4.0': + resolution: {integrity: sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.4.0': + resolution: {integrity: sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.4.0': + resolution: {integrity: sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.4.0': + resolution: {integrity: sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==} + engines: {node: '>= 10.0.0'} + + '@peculiar/asn1-schema@2.3.8': + resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} + + '@peculiar/json-schema@1.1.12': + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} + + '@peculiar/webcrypto@1.4.5': + resolution: {integrity: sha512-oDk93QCDGdxFRM8382Zdminzs44dg3M2+E5Np+JWkpqLDyJC9DviMh8F8mEJkYuUcUOGA5jHO5AJJ10MFWdbZw==} + engines: {node: '>=10.12.0'} + + '@perspect3vism/rollup-plugin-dna@0.0.2': + resolution: {integrity: sha512-+18Prdkzv1dcEzyWIp/DersXHcfpU6rDxDPdXGtfzB/ritepc7ehYSN60E94uNNzuOy7QaK4p2YL3DPPkgsb8g==} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pmmmwh/react-refresh-webpack-plugin@0.5.11': + resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==} + engines: {node: '>= 10.13'} + peerDependencies: + '@types/webpack': 4.x || 5.x + react-refresh: '>=0.10.0 <1.0.0' + sockjs-client: ^1.4.0 + type-fest: '>=0.17.0 <5.0.0' + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + + '@popperjs/core@2.11.8': + resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} + + '@preact/preset-vite@2.8.1': + resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} + peerDependencies: + '@babel/core': 7.x + vite: 2.x || 3.x || 4.x || 5.x + + '@prefresh/babel-plugin@0.5.1': + resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} + + '@prefresh/core@1.5.2': + resolution: {integrity: sha512-A/08vkaM1FogrCII5PZKCrygxSsc11obExBScm3JF1CryK2uDS3ZXeni7FeKCx1nYdUkj4UcJxzPzc1WliMzZA==} + peerDependencies: + preact: ^10.0.0 + + '@prefresh/utils@1.2.0': + resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} + + '@prefresh/vite@2.4.5': + resolution: {integrity: sha512-iForDVJ2M8gQYnm5pHumvTEJjGGc7YNYC0GVKnHFL+GvFfKHfH9Rpq67nUAzNbjuLEpqEOUuQVQajMazWu2ZNQ==} + peerDependencies: + preact: ^10.4.0 + vite: '>=2.0.0' + + '@protobufjs/aspromise@1.1.2': + resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} + + '@protobufjs/base64@1.1.2': + resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} + + '@protobufjs/codegen@2.0.4': + resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} + + '@protobufjs/eventemitter@1.1.0': + resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} + + '@protobufjs/fetch@1.1.0': + resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + + '@protobufjs/float@1.0.2': + resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} + + '@protobufjs/inquire@1.1.0': + resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} + + '@protobufjs/path@1.1.2': + resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} + + '@protobufjs/pool@1.1.0': + resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} + + '@protobufjs/utf8@1.1.0': + resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} + + '@remix-run/router@1.14.2': + resolution: {integrity: sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==} + engines: {node: '>=14.0.0'} + + '@rollup/plugin-alias@3.1.9': + resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} + engines: {node: '>=8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + + '@rollup/plugin-babel@5.3.1': + resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} + engines: {node: '>= 10.0.0'} + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + + '@rollup/plugin-commonjs@14.0.0': + resolution: {integrity: sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^2.3.4 + + '@rollup/plugin-commonjs@17.1.0': + resolution: {integrity: sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^2.30.0 + + '@rollup/plugin-commonjs@20.0.0': + resolution: {integrity: sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^2.38.3 + + '@rollup/plugin-json@4.1.0': + resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + + '@rollup/plugin-node-resolve@11.2.1': + resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + + '@rollup/plugin-node-resolve@13.3.0': + resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} + engines: {node: '>= 10.0.0'} + peerDependencies: + rollup: ^2.42.0 + + '@rollup/plugin-node-resolve@8.4.0': + resolution: {integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + + '@rollup/plugin-replace@2.4.2': + resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + + '@rollup/plugin-typescript@11.1.6': + resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.14.0||^3.0.0||^4.0.0 + tslib: '*' + typescript: '>=3.7.0' + peerDependenciesMeta: + rollup: + optional: true + tslib: + optional: true + + '@rollup/plugin-typescript@4.1.2': + resolution: {integrity: sha512-+7UlGat/99e2JbmGNnIauxwEhYLwrL7adO/tSJxUN57xrrS3Ps+ZzYpLCDGPZJ57j+ZJTZLLN89KXW9JMEB+jg==} + engines: {node: '>=8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + tslib: '*' + typescript: '>=2.1.0' + + '@rollup/pluginutils@3.1.0': + resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} + engines: {node: '>= 8.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0 + + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.9.6': + resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.9.6': + resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.9.6': + resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.9.6': + resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.9.6': + resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.9.6': + resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.9.6': + resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.9.6': + resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.9.6': + resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.9.6': + resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.9.6': + resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.9.6': + resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.9.6': + resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} + cpu: [x64] + os: [win32] + + '@rushstack/eslint-patch@1.7.2': + resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} + + '@safe-global/safe-apps-provider@0.18.2': + resolution: {integrity: sha512-yHHAcppwE7aIUWEeZiYAClQzZCdP5l0Kbd0CBlhKAsTcqZnx4Gh3G3G3frY5LlWcGzp9qmQ5jv+J1GBpaZLDgw==} + + '@safe-global/safe-apps-sdk@8.1.0': + resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==} + + '@safe-global/safe-apps-sdk@9.0.0': + resolution: {integrity: sha512-fEqmQBU3JqTjORSl3XYrcaxdxkUqeeM39qsQjqCzzTHioN8DEfg3JCLq6EBoXzcKTVOYi8SPzLV7KJccdDw+4w==} + + '@safe-global/safe-gateway-typescript-sdk@3.14.0': + resolution: {integrity: sha512-/dqU66RvHw50n+7x3nwnJedq8V6iLQyoWitNdjx5cFTBmae+rpP+LvHq+LqZfXJVkB1qNytMdjFjdyES0t79gQ==} + engines: {node: '>=16'} + + '@samverschueren/stream-to-observable@0.3.1': + resolution: {integrity: sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==} + engines: {node: '>=6'} + peerDependencies: + rxjs: '*' + zen-observable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zen-observable: + optional: true + + '@scure/base@1.1.5': + resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} + + '@scure/bip32@1.3.2': + resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + + '@scure/bip39@1.2.1': + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + + '@sinclair/typebox@0.24.51': + resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sindresorhus/is@0.14.0': + resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} + engines: {node: '>=6'} + + '@sindresorhus/is@2.1.1': + resolution: {integrity: sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==} + engines: {node: '>=10'} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + + '@sinonjs/commons@1.8.6': + resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + + '@sinonjs/commons@2.0.0': + resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@11.2.2': + resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} + + '@sinonjs/fake-timers@6.0.1': + resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} + + '@sinonjs/fake-timers@8.1.0': + resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + + '@sinonjs/samsam@8.0.0': + resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} + + '@sinonjs/text-encoding@0.7.2': + resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} + + '@solana/buffer-layout@4.0.1': + resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} + engines: {node: '>=5.10'} + + '@solana/web3.js@1.89.1': + resolution: {integrity: sha512-t9TTLtPQxtQB3SAf/5E8xPXfVDsC6WGOsgKY02l2cbe0HLymT7ynE8Hu48Lk5qynHCquj6nhISfEHcjMkYpu/A==} + + '@stablelib/aead@1.0.1': + resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} + + '@stablelib/aes-kw@1.0.1': + resolution: {integrity: sha512-KrOkiRex1tQTbWk+hFB5fFw4vqKhNnTUtlCRf1bhUEOFp7hadWe49/sLa/P4X4FBQVoh3Z9Lj0zS1OWu/AHA1w==} + + '@stablelib/aes@1.0.1': + resolution: {integrity: sha512-bMiezJDeFONDHbMEa+Kic26962+bwkZfsHPAmcqTjLaHCAhEQuK3i1H0POPOkcHCdj75oVRIqFCraCA0cyHPvw==} + + '@stablelib/binary@1.0.1': + resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} + + '@stablelib/blockcipher@1.0.1': + resolution: {integrity: sha512-4bkpV8HUAv0CgI1fUqkPUEEvv3RXQ3qBkuZaSWhshXGAz1JCpriesgiO9Qs4f0KzBJkCtvcho5n7d/RKvnHbew==} + + '@stablelib/bytes@1.0.1': + resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} + + '@stablelib/chacha20poly1305@1.0.1': + resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} + + '@stablelib/chacha@1.0.1': + resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} + + '@stablelib/constant-time@1.0.1': + resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} + + '@stablelib/ed25519@1.0.3': + resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} + + '@stablelib/hash@1.0.1': + resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} + + '@stablelib/hkdf@1.0.1': + resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} + + '@stablelib/hmac@1.0.1': + resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==} + + '@stablelib/int@1.0.1': + resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} + + '@stablelib/keyagreement@1.0.1': + resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} + + '@stablelib/poly1305@1.0.1': + resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} + + '@stablelib/random@1.0.2': + resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} + + '@stablelib/sha256@1.0.1': + resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==} + + '@stablelib/sha512@1.0.1': + resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} + + '@stablelib/wipe@1.0.1': + resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} + + '@stablelib/x25519@1.0.3': + resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + + '@stablelib/xchacha20@1.0.1': + resolution: {integrity: sha512-1YkiZnFF4veUwBVhDnDYwo6EHeKzQK4FnLiO7ezCl/zu64uG0bCCAUROJaBkaLH+5BEsO3W7BTXTguMbSLlWSw==} + + '@stablelib/xchacha20poly1305@1.0.1': + resolution: {integrity: sha512-B1Abj0sMJ8h3HNmGnJ7vHBrAvxuNka6cJJoZ1ILN7iuacXp7sUYcgOVEOTLWj+rtQMpspY9tXSCRLPmN1mQNWg==} + + '@surma/rollup-plugin-off-main-thread@2.2.3': + resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + + '@svgr/babel-plugin-add-jsx-attribute@5.4.0': + resolution: {integrity: sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==} + engines: {node: '>=10'} + + '@svgr/babel-plugin-remove-jsx-attribute@5.4.0': + resolution: {integrity: sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==} + engines: {node: '>=10'} + + '@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1': + resolution: {integrity: sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==} + engines: {node: '>=10'} + + '@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1': + resolution: {integrity: sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==} + engines: {node: '>=10'} + + '@svgr/babel-plugin-svg-dynamic-title@5.4.0': + resolution: {integrity: sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==} + engines: {node: '>=10'} + + '@svgr/babel-plugin-svg-em-dimensions@5.4.0': + resolution: {integrity: sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==} + engines: {node: '>=10'} + + '@svgr/babel-plugin-transform-react-native-svg@5.4.0': + resolution: {integrity: sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==} + engines: {node: '>=10'} + + '@svgr/babel-plugin-transform-svg-component@5.5.0': + resolution: {integrity: sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==} + engines: {node: '>=10'} + + '@svgr/babel-preset@5.5.0': + resolution: {integrity: sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==} + engines: {node: '>=10'} + + '@svgr/core@5.5.0': + resolution: {integrity: sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==} + engines: {node: '>=10'} + + '@svgr/hast-util-to-babel-ast@5.5.0': + resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} + engines: {node: '>=10'} + + '@svgr/plugin-jsx@5.5.0': + resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} + engines: {node: '>=10'} + + '@svgr/plugin-svgo@5.5.0': + resolution: {integrity: sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==} + engines: {node: '>=10'} + + '@svgr/webpack@5.5.0': + resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} + engines: {node: '>=10'} + + '@swc/helpers@0.5.2': + resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + + '@szmarczak/http-timer@1.1.2': + resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} + engines: {node: '>=6'} + + '@szmarczak/http-timer@4.0.6': + resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} + engines: {node: '>=10'} + + '@tanstack/query-core@4.36.1': + resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} + + '@tanstack/query-persist-client-core@4.36.1': + resolution: {integrity: sha512-eocgCeI7D7TRv1IUUBMfVwOI0wdSmMkBIbkKhqEdTrnUHUQEeOaYac8oeZk2cumAWJdycu6P/wB+WqGynTnzXg==} + + '@tanstack/query-sync-storage-persister@4.36.1': + resolution: {integrity: sha512-yMEt5hWe2+1eclf1agMtXHnPIkxEida0lYWkfdhR8U6KXk/lO4Vca6piJmhKI85t0NHlx3l/z6zX+t/Fn5O9NA==} + + '@tanstack/react-query-persist-client@4.36.1': + resolution: {integrity: sha512-32I5b9aAu4NCiXZ7Te/KEQLfHbYeTNriVPrKYcvEThnZ9tlW01vLcSoxpUIsMYRsembvJUUAkzYBAiZHLOd6pQ==} + peerDependencies: + '@tanstack/react-query': ^4.36.1 + + '@tanstack/react-query@4.36.1': + resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + + '@tanstack/react-virtual@3.0.2': + resolution: {integrity: sha512-9XbRLPKgnhMwwmuQMnJMv+5a9sitGNCSEtf/AZXzmJdesYk7XsjYHaEDny+IrJzvPNwZliIIDwCRiaUqR3zzCA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + + '@tanstack/virtual-core@3.0.0': + resolution: {integrity: sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==} + + '@tauri-apps/api@1.5.3': + resolution: {integrity: sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==} + engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} + + '@tauri-apps/cli-darwin-arm64@1.5.11': + resolution: {integrity: sha512-2NLSglDb5VfvTbMtmOKWyD+oaL/e8Z/ZZGovHtUFyUSFRabdXc6cZOlcD1BhFvYkHqm+TqGaz5qtPR5UbqDs8A==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tauri-apps/cli-darwin-x64@1.5.11': + resolution: {integrity: sha512-/RQllHiJRH2fJOCudtZlaUIjofkHzP3zZgxi71ZUm7Fy80smU5TDfwpwOvB0wSVh0g/ciDjMArCSTo0MRvL+ag==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tauri-apps/cli-linux-arm-gnueabihf@1.5.11': + resolution: {integrity: sha512-IlBuBPKmMm+a5LLUEK6a21UGr9ZYd6zKuKLq6IGM4tVweQa8Sf2kP2Nqs74dMGIUrLmMs0vuqdURpykQg+z4NQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tauri-apps/cli-linux-arm64-gnu@1.5.11': + resolution: {integrity: sha512-w+k1bNHCU/GbmXshtAhyTwqosThUDmCEFLU4Zkin1vl2fuAtQry2RN7thfcJFepblUGL/J7yh3Q/0+BCjtspKQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-arm64-musl@1.5.11': + resolution: {integrity: sha512-PN6/dl+OfYQ/qrAy4HRAfksJ2AyWQYn2IA/2Wwpaa7SDRz2+hzwTQkvajuvy0sQ5L2WCG7ymFYRYMbpC6Hk9Pg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tauri-apps/cli-linux-x64-gnu@1.5.11': + resolution: {integrity: sha512-MTVXLi89Nj7Apcvjezw92m7ZqIDKT5SFKZtVPCg6RoLUBTzko/BQoXYIRWmdoz2pgkHDUHgO2OMJ8oKzzddXbw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-linux-x64-musl@1.5.11': + resolution: {integrity: sha512-kwzAjqFpz7rvTs7WGZLy/a5nS5t15QKr3E9FG95MNF0exTl3d29YoAUAe1Mn0mOSrTJ9Z+vYYAcI/QdcsGBP+w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tauri-apps/cli-win32-arm64-msvc@1.5.11': + resolution: {integrity: sha512-L+5NZ/rHrSUrMxjj6YpFYCXp6wHnq8c8SfDTBOX8dO8x+5283/vftb4vvuGIsLS4UwUFXFnLt3XQr44n84E67Q==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tauri-apps/cli-win32-ia32-msvc@1.5.11': + resolution: {integrity: sha512-oVlD9IVewrY0lZzTdb71kNXkjdgMqFq+ohb67YsJb4Rf7o8A9DTlFds1XLCe3joqLMm4M+gvBKD7YnGIdxQ9vA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@tauri-apps/cli-win32-x64-msvc@1.5.11': + resolution: {integrity: sha512-1CexcqUFCis5ypUIMOKllxUBrna09McbftWENgvVXMfA+SP+yPDPAVb8fIvUcdTIwR/yHJwcIucmTB4anww4vg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tauri-apps/cli@1.5.11': + resolution: {integrity: sha512-B475D7phZrq5sZ3kDABH4g2mEoUIHtnIO+r4ZGAAfsjMbZCwXxR/jlMGTEL+VO3YzjpF7gQe38IzB4vLBbVppw==} + engines: {node: '>= 10'} + hasBin: true + + '@testing-library/dom@8.20.1': + resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} + engines: {node: '>=12'} + + '@testing-library/dom@9.3.4': + resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} + engines: {node: '>=14'} + + '@testing-library/jest-dom@5.17.0': + resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==} + engines: {node: '>=8', npm: '>=6', yarn: '>=1'} + + '@testing-library/react@12.1.5': + resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} + engines: {node: '>=12'} + peerDependencies: + react: <18.0.0 + react-dom: <18.0.0 + + '@testing-library/user-event@13.5.0': + resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==} + engines: {node: '>=10', npm: '>=6'} + peerDependencies: + '@testing-library/dom': '>=7.21.4' + + '@textlint/ast-node-types@12.6.1': + resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} + + '@textlint/markdown-to-ast@12.6.1': + resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} + + '@theguild/remark-mermaid@0.0.5': + resolution: {integrity: sha512-e+ZIyJkEv9jabI4m7q29wZtZv+2iwPGsXJ2d46Zi7e+QcFudiyuqhLhHG/3gX3ZEB+hxTch+fpItyMS8jwbIcw==} + peerDependencies: + react: ^18.2.0 + + '@theguild/remark-npm2yarn@0.2.1': + resolution: {integrity: sha512-jUTFWwDxtLEFtGZh/TW/w30ySaDJ8atKWH8dq2/IiQF61dPrGfETpl0WxD0VdBfuLOeU14/kop466oBSRO/5CA==} + + '@tootallnate/once@1.1.2': + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + + '@transmute/did-key-bls12381@0.2.1-unstable.42': + resolution: {integrity: sha512-NYe8Sp09+M20BtXEd/GhVeqzVksdl5pKf71nCMpvjZHHKG5FPAcGc5uYpbk/CbY5Xb/2lH76lTndim0IMU6IIQ==} + engines: {node: '>=10'} + + '@transmute/did-key-cipher@0.2.1-unstable.42': + resolution: {integrity: sha512-drD/G7R2yQkK6PnGkmLOlOieL3ybtiEXsubaebaBayoRsWqBRX/IJ0ufGwjRgohTvvlSoKWd4Ustyyhi9kK+Mw==} + engines: {node: '>=10'} + + '@transmute/did-key-common@0.2.1-unstable.42': + resolution: {integrity: sha512-mJ58IKEBxa6SorCrIBSPu0OcEj94Y5+0/qUKqbNTTqfCOsPi6E5BEzMIgpf3Unrb59u+u5JBL0T/Sy7coOSO1A==} + engines: {node: '>=10'} + + '@transmute/did-key-ed25519@0.2.1-unstable.42': + resolution: {integrity: sha512-FObeBtLd5Dl2rng8pBXQ0ddGAUpv9Upl07mDNWanfCWNxsO3csLv1JskLgp5ZTKwDaoWkUMMU+DTOQVVcHKpPw==} + engines: {node: '>=10'} + + '@transmute/did-key-secp256k1@0.2.1-unstable.42': + resolution: {integrity: sha512-pLHsxVEeJYUz2jaUWznGJHRaRE+Fg3A4DiArWYpRSozYaSW5x2AhXELN+08qvU4E8FjiQmqInf8KqeS0hlUJoQ==} + engines: {node: '>=10'} + + '@transmute/did-key-web-crypto@0.2.1-unstable.42': + resolution: {integrity: sha512-GaD320cZxPJAVdQtSrxgTn91T1M/2qwSMQgowVdnY5HKEik2BS3o1kU7DYAJpUPdU2WNKg9W3Rr+C/dRY0Q0rQ==} + engines: {node: '>=10'} + + '@transmute/did-key-x25519@0.2.1-unstable.42': + resolution: {integrity: sha512-pInHZaepvjmfym1fBDrdbL5isUVbYHR1nYBsH3uD9EPn7SwZfEBe0Vg9hUop81b4x/6+VVWuGm2dIhpVBxsRPQ==} + engines: {node: '>=10'} + + '@transmute/did-key.js@0.2.1-unstable.42': + resolution: {integrity: sha512-vqwkJeAIkpekSCszKztIOVGFuWZMF8GJfiSHMv+vsS0cgLqzHer8WCUCudWt76rc2s90uK7FdlkvdwoZgGRl6g==} + engines: {node: '>=10'} + + '@transmute/ld-key-pair@0.6.1-unstable.37': + resolution: {integrity: sha512-DcTpEruAQBfOd2laZkg3uCQ+67Y7dw2hsvo42NAQ5tItCIx5AClP7zccri7T2JUcfDUFaE32z/BLTMEKYt3XZQ==} + + '@transmute/web-crypto-key-pair@0.6.1-unstable.37': + resolution: {integrity: sha512-BVN5ECm3t5ldJiyixsdoXaptr14p2PxOOGWvyBm5eqWlVy/kiWQiVh43wZgEbHtjOkacTfw+BaVAtYkyGn2tpw==} + engines: {node: '>=10'} + + '@trust/keyto@1.0.1': + resolution: {integrity: sha512-OXTmKkrnkwktCX86XA7eWs1TQ6u64enm0syzAfNhjigbuGLy5aLhbhRYWtjt4zzdG/irWudluheRZ9Ic9pCwsA==} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@tsconfig/node10@1.0.9': + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@tsconfig/svelte@1.0.13': + resolution: {integrity: sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==} + + '@types/acorn@4.0.6': + resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + + '@types/aria-query@5.0.4': + resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.5': + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + + '@types/body-parser@1.19.5': + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + + '@types/bonjour@3.5.13': + resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + + '@types/cacheable-request@6.0.3': + resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + + '@types/chai-as-promised@7.1.8': + resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} + + '@types/chai@4.3.11': + resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} + + '@types/connect-history-api-fallback@1.5.4': + resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + + '@types/connect@3.4.38': + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + + '@types/d3-scale-chromatic@3.0.3': + resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} + + '@types/d3-scale@4.0.8': + resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + + '@types/d3-time@3.0.3': + resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} + + '@types/debug@4.1.12': + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + + '@types/eslint@8.56.2': + resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==} + + '@types/estree-jsx@1.0.3': + resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} + + '@types/estree@0.0.39': + resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/expect@24.3.0': + resolution: {integrity: sha512-aq5Z+YFBz5o2b6Sp1jigx5nsmoZMK5Ceurjwy6PZmRv7dEi1jLtkARfvB1ME+OXJUG+7TZUDcv3WoCr/aor6dQ==} + deprecated: This is a stub types definition. expect provides its own type definitions, so you do not need this installed. + + '@types/express-serve-static-core@4.17.42': + resolution: {integrity: sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==} + + '@types/express@4.17.21': + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + + '@types/faker@5.5.9': + resolution: {integrity: sha512-uCx6mP3UY5SIO14XlspxsGjgaemrxpssJI0Ol+GfhxtcKpv9pgRZYsS4eeKeHVLje6Qtc8lGszuBI461+gVZBA==} + + '@types/fs-extra@9.0.13': + resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/hast@2.3.9': + resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} + + '@types/hast@3.0.3': + resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} + + '@types/html-minifier-terser@6.1.0': + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + + '@types/http-cache-semantics@4.0.4': + resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} + + '@types/http-errors@2.0.4': + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + + '@types/http-proxy@1.17.14': + resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@26.0.24': + resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} + + '@types/jest@27.5.2': + resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} + + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json-stable-stringify@1.0.36': + resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/katex@0.16.7': + resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + + '@types/keyv@3.1.4': + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + + '@types/lodash@4.14.202': + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + + '@types/long@4.0.2': + resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} + + '@types/lowdb@1.0.15': + resolution: {integrity: sha512-xaMNIveDCryK4UvnUJOc2BCOH0lPivdvWHrutsLryo9r9Id3RqZq2RDmT4eddiEPYzu7nJMw6nFIcVifcqjWqg==} + + '@types/mdast@3.0.15': + resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + + '@types/mdast@4.0.3': + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + + '@types/mdx@2.0.10': + resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} + + '@types/mime@1.3.5': + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + + '@types/mime@3.0.4': + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + + '@types/minimatch@5.1.2': + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + + '@types/minimist@1.2.5': + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} + + '@types/mocha@10.0.6': + resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} + + '@types/ms@0.7.34': + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + + '@types/node-fetch@2.6.11': + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + + '@types/node-forge@1.3.11': + resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@14.18.63': + resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} + + '@types/node@16.18.76': + resolution: {integrity: sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==} + + '@types/node@18.11.10': + resolution: {integrity: sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/parse-json@4.0.2': + resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + + '@types/prettier@2.7.3': + resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + + '@types/prop-types@15.7.11': + resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + + '@types/pug@2.0.10': + resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} + + '@types/q@1.5.8': + resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} + + '@types/qs@6.9.11': + resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} + + '@types/range-parser@1.2.7': + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + + '@types/react-dom@17.0.25': + resolution: {integrity: sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==} + + '@types/react-dom@18.2.18': + resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} + + '@types/react-dom@18.2.19': + resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} + + '@types/react@17.0.75': + resolution: {integrity: sha512-MSA+NzEzXnQKrqpO63CYqNstFjsESgvJAdAyyJ1n6ZQq/GLgf6nOfIKwk+Twuz0L1N6xPe+qz5xRCJrbhMaLsw==} + + '@types/react@18.2.48': + resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==} + + '@types/react@18.2.55': + resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==} + + '@types/resolve@1.17.1': + resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + + '@types/responselike@1.0.3': + resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + + '@types/retry@0.12.0': + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + '@types/sass@1.45.0': + resolution: {integrity: sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==} + deprecated: This is a stub types definition. sass provides its own type definitions, so you do not need this installed. + + '@types/scheduler@0.16.8': + resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + + '@types/secp256k1@4.0.6': + resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + + '@types/semver@7.5.6': + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + + '@types/send@0.17.4': + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + + '@types/serve-index@1.9.4': + resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + + '@types/serve-static@1.15.5': + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + + '@types/sha256@0.2.2': + resolution: {integrity: sha512-uKMaDzyzfcDYGEwTgLh+hmgDMxXWyIVodY8T+qt7A+NYvikW0lmGLMGbQ7BipCB8dzXHa55C9g+Ii/3Lgt1KmA==} + + '@types/sinon@17.0.3': + resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} + + '@types/sinonjs__fake-timers@8.1.5': + resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} + + '@types/sockjs@0.3.36': + resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/testing-library__jest-dom@5.14.9': + resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} + + '@types/trusted-types@2.0.7': + resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + + '@types/unist@2.0.10': + resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + + '@types/unist@3.0.2': + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + + '@types/uuid@8.3.4': + resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} + + '@types/uuid@9.0.1': + resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} + + '@types/ws@7.4.7': + resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + + '@types/ws@8.5.10': + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@15.0.19': + resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + + '@types/yargs@16.0.9': + resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + '@types/yauzl@2.10.3': + resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} + + '@types/zen-observable@0.8.7': + resolution: {integrity: sha512-LKzNTjj+2j09wAo/vvVjzgw5qckJJzhdGgWHW7j69QIGdq/KnZrMAMIHQiWGl3Ccflh5/CudBAntTPYdprPltA==} + + '@typescript-eslint/eslint-plugin@5.62.0': + resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/experimental-utils@5.62.0': + resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@typescript-eslint/parser@5.62.0': + resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@5.62.0': + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/type-utils@5.62.0': + resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/typescript-estree@5.62.0': + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@5.62.0': + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@typescript-eslint/visitor-keys@5.62.0': + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@undecaf/barcode-detector-polyfill@0.9.20': + resolution: {integrity: sha512-fD/7WjfhhCPJjNzVUyP1TNv29YzrsD6DO9mTdH5Xi9fbpg4VJdsqjiFxkat4//j7Y2xEADXIxzC/SvGdjMxDng==} + + '@undecaf/zbar-wasm@0.9.16': + resolution: {integrity: sha512-T5PcT6g+tLScGjR4WmnRErNvfKqEc3kRg2ux14wHmIDNbvNeXa0BkFK19PRK/jb6zGy5NyWtn4ko6KeNuZc/fQ==} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@vitejs/plugin-react-refresh@1.3.6': + resolution: {integrity: sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA==} + engines: {node: '>=12.0.0'} + deprecated: This package has been deprecated in favor of @vitejs/plugin-react + + '@vitejs/plugin-react@4.2.1': + resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 || ^5.0.0 + + '@vue/compiler-core@3.4.19': + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} + + '@vue/compiler-dom@3.4.19': + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} + + '@vue/compiler-sfc@3.4.19': + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} + + '@vue/compiler-ssr@3.4.19': + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} + + '@vue/reactivity@3.4.19': + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} + + '@vue/runtime-core@3.4.19': + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} + + '@vue/runtime-dom@3.4.19': + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} + + '@vue/server-renderer@3.4.19': + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} + peerDependencies: + vue: 3.4.19 + + '@vue/shared@3.4.19': + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} + + '@wagmi/connectors@3.1.11': + resolution: {integrity: sha512-wzxp9f9PtSUFjDUP/QDjc1t7HON4D8wrVKsw35ejdO8hToDpx1gU9lwH/47Zo/1zExGezQc392sjoHSszYd7OA==} + peerDependencies: + typescript: '>=5.0.4' + viem: '>=0.3.35' + peerDependenciesMeta: + typescript: + optional: true + + '@wagmi/core@1.4.13': + resolution: {integrity: sha512-ytMCvXbBOgfDu9Qw67279wq/jNEe7EZLjLyekX7ROnvHRADqFr3lwZI6ih41UmtRZAmXAx8Ghyuqy154EjB5mQ==} + peerDependencies: + typescript: '>=5.0.4' + viem: '>=0.3.35' + peerDependenciesMeta: + typescript: + optional: true + + '@walletconnect/core@2.11.0': + resolution: {integrity: sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==} + + '@walletconnect/crypto@1.0.3': + resolution: {integrity: sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==} + + '@walletconnect/encoding@1.0.2': + resolution: {integrity: sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==} + + '@walletconnect/environment@1.0.1': + resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} + + '@walletconnect/ethereum-provider@2.11.0': + resolution: {integrity: sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==} + + '@walletconnect/events@1.0.1': + resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} + + '@walletconnect/heartbeat@1.2.1': + resolution: {integrity: sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==} + + '@walletconnect/jsonrpc-http-connection@1.0.7': + resolution: {integrity: sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==} + + '@walletconnect/jsonrpc-provider@1.0.13': + resolution: {integrity: sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==} + + '@walletconnect/jsonrpc-types@1.0.3': + resolution: {integrity: sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==} + + '@walletconnect/jsonrpc-utils@1.0.8': + resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==} + + '@walletconnect/jsonrpc-ws-connection@1.0.14': + resolution: {integrity: sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==} + + '@walletconnect/keyvaluestorage@1.1.1': + resolution: {integrity: sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==} + peerDependencies: + '@react-native-async-storage/async-storage': 1.x + peerDependenciesMeta: + '@react-native-async-storage/async-storage': + optional: true + + '@walletconnect/legacy-client@2.0.0': + resolution: {integrity: sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==} + + '@walletconnect/legacy-modal@2.0.0': + resolution: {integrity: sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==} + + '@walletconnect/legacy-provider@2.0.0': + resolution: {integrity: sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==} + + '@walletconnect/legacy-types@2.0.0': + resolution: {integrity: sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==} + + '@walletconnect/legacy-utils@2.0.0': + resolution: {integrity: sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==} + + '@walletconnect/logger@2.0.1': + resolution: {integrity: sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==} + + '@walletconnect/modal-core@2.6.2': + resolution: {integrity: sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==} + + '@walletconnect/modal-ui@2.6.2': + resolution: {integrity: sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==} + + '@walletconnect/modal@2.6.2': + resolution: {integrity: sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==} + + '@walletconnect/randombytes@1.0.3': + resolution: {integrity: sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==} + + '@walletconnect/relay-api@1.0.9': + resolution: {integrity: sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==} + + '@walletconnect/relay-auth@1.0.4': + resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} + + '@walletconnect/safe-json@1.0.2': + resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} + + '@walletconnect/sign-client@2.11.0': + resolution: {integrity: sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==} + + '@walletconnect/time@1.0.2': + resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} + + '@walletconnect/types@2.11.0': + resolution: {integrity: sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==} + + '@walletconnect/universal-provider@2.11.0': + resolution: {integrity: sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==} + + '@walletconnect/utils@2.11.0': + resolution: {integrity: sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==} + + '@walletconnect/window-getters@1.0.1': + resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} + + '@walletconnect/window-metadata@1.0.1': + resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} + + '@webassemblyjs/ast@1.11.6': + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + + '@webassemblyjs/floating-point-hex-parser@1.11.6': + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + + '@webassemblyjs/helper-api-error@1.11.6': + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + + '@webassemblyjs/helper-buffer@1.11.6': + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + + '@webassemblyjs/helper-numbers@1.11.6': + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + + '@webassemblyjs/helper-wasm-bytecode@1.11.6': + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + + '@webassemblyjs/helper-wasm-section@1.11.6': + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + + '@webassemblyjs/ieee754@1.11.6': + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + + '@webassemblyjs/leb128@1.11.6': + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + + '@webassemblyjs/utf8@1.11.6': + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + + '@webassemblyjs/wasm-edit@1.11.6': + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + + '@webassemblyjs/wasm-gen@1.11.6': + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + + '@webassemblyjs/wasm-opt@1.11.6': + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + + '@webassemblyjs/wasm-parser@1.11.6': + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + + '@webassemblyjs/wast-printer@1.11.6': + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + + '@wry/context@0.4.4': + resolution: {integrity: sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag==} + + '@wry/context@0.7.4': + resolution: {integrity: sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==} + engines: {node: '>=8'} + + '@wry/equality@0.1.11': + resolution: {integrity: sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==} + + '@wry/equality@0.5.7': + resolution: {integrity: sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==} + engines: {node: '>=8'} + + '@wry/trie@0.3.2': + resolution: {integrity: sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==} + engines: {node: '>=8'} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + '@yarnpkg/lockfile@1.1.0': + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + + a-sync-waterfall@1.0.1: + resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} + + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + abitype@0.8.7: + resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + zod: + optional: true + + abitype@0.9.8: + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + + acorn-import-assertions@1.9.0: + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-node@1.8.2: + resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + + acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + + adjust-sourcemap-loader@4.0.0: + resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} + engines: {node: '>=8.9'} + + aes-js@3.1.2: + resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + aloedb-node@1.1.1: + resolution: {integrity: sha512-BH5RP5DvN4LEnfGGR+cX4VFf/asmWa1zwKVMVrAuFj3jjgySt9SBLGXTOsP0Epf1O5lzFQyoPDzmTzE44RmPUw==} + + alphanum-sort@1.0.2: + resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} + + anchor-markdown-header@0.6.0: + resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-colors@4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escape-sequences@4.1.0: + resolution: {integrity: sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==} + engines: {node: '>=8.0.0'} + + ansi-escapes@3.2.0: + resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} + engines: {node: '>=4'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + + ansi-regex@4.1.1: + resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} + engines: {node: '>=6'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-sequence-parser@1.1.1: + resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + any-observable@0.3.0: + resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} + engines: {node: '>=6'} + peerDependencies: + rxjs: '*' + zenObservable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zenObservable: + optional: true + + any-observable@0.5.1: + resolution: {integrity: sha512-8zv01bgDOp9PTmRTNCAHTw64TFP2rvlX4LvtNJLachaXY+AjmIvLT47fABNPCiIe89hKiSCo2n5zmPqI9CElPA==} + engines: {node: '>=8'} + peerDependencies: + rxjs: '*' + zen-observable: '*' + peerDependenciesMeta: + rxjs: + optional: true + zen-observable: + optional: true + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@2.0.0: + resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + apollo-boost@0.4.9: + resolution: {integrity: sha512-05y5BKcDaa8w47f8d81UVwKqrAjn8uKLv6QM9fNdldoNzQ+rnOHgFlnrySUZRz9QIT3vPftQkEz2UEASp1Mi5g==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + apollo-cache-inmemory@1.6.6: + resolution: {integrity: sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + apollo-cache@1.3.5: + resolution: {integrity: sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + apollo-client@2.6.10: + resolution: {integrity: sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + apollo-link-error@1.1.13: + resolution: {integrity: sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg==} + + apollo-link-http-common@0.2.16: + resolution: {integrity: sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + apollo-link-http@1.5.17: + resolution: {integrity: sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + apollo-link@1.2.14: + resolution: {integrity: sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==} + peerDependencies: + graphql: ^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + apollo-utilities@1.3.4: + resolution: {integrity: sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==} + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + aproba@1.2.0: + resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} + + arch@2.2.0: + resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} + + are-we-there-yet@1.1.7: + resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} + + arg@1.0.0: + resolution: {integrity: sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + + array-back@1.0.4: + resolution: {integrity: sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==} + engines: {node: '>=0.12.0'} + + array-back@2.0.0: + resolution: {integrity: sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==} + engines: {node: '>=4'} + + array-back@3.1.0: + resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} + engines: {node: '>=6'} + + array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + + array-difference@0.0.1: + resolution: {integrity: sha512-LMXXDKmRSsO+d7N73LyTBWlT+GiLfNUCWeeWmZivzJ1NxSPOobS+w8bIAAfGEV35oVBsk9u9cXii8dDceU5NPw==} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-includes@3.1.7: + resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + + array.prototype.findlastindex@1.2.3: + resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + array.prototype.reduce@1.0.6: + resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.2: + resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + + arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + asciidoctor-opal-runtime@0.3.3: + resolution: {integrity: sha512-/CEVNiOia8E5BMO9FLooo+Kv18K4+4JBFRJp8vUy/N5dMRAg+fRNV4HA+o6aoSC79jVU/aT5XvUpxSxSsTS8FQ==} + engines: {node: '>=8.11'} + + asciidoctor@2.2.6: + resolution: {integrity: sha512-EXG3+F2pO21B+COfQmV/WgEgGiy7nG/mJiS/o5DXpaT2q82FRZWPVkbMZrpDvpu4pjXe5c754RbZR9Vz0L0Vtw==} + engines: {node: '>=8.11', npm: '>=5.0.0', yarn: '>=1.1.0'} + hasBin: true + + asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + + asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + + asn1js@3.0.5: + resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} + engines: {node: '>=12.0.0'} + + assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + + assert@1.5.1: + resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + + assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + astring@1.8.6: + resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} + hasBin: true + + async-exit-hook@2.0.1: + resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} + engines: {node: '>=0.12.0'} + + async-mutex@0.2.6: + resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} + + async-mutex@0.3.2: + resolution: {integrity: sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==} + + async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + + async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + + asynciterator.prototype@1.0.0: + resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + + atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + + auto-bind@5.0.1: + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + autoprefixer@10.4.17: + resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + + aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + + axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + + axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + + babel-jest@26.6.3: + resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-jest@27.5.1: + resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-loader@8.3.0: + resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} + engines: {node: '>= 8.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@26.6.2: + resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} + engines: {node: '>= 10.14.2'} + + babel-plugin-jest-hoist@27.5.1: + resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + + babel-plugin-named-asset-import@0.3.8: + resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} + peerDependencies: + '@babel/core': ^7.1.0 + + babel-plugin-polyfill-corejs2@0.4.8: + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.9.0: + resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.5.5: + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-transform-hook-names@1.0.2: + resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} + peerDependencies: + '@babel/core': ^7.12.10 + + babel-plugin-transform-react-remove-prop-types@0.4.24: + resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} + + babel-preset-current-node-syntax@1.0.1: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@26.6.2: + resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} + engines: {node: '>= 10.14.2'} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@27.5.1: + resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-react-app@10.0.1: + resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==} + + bail@1.0.5: + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + + bail@2.0.2: + resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@3.0.9: + resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + base64url@3.0.1: + resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} + engines: {node: '>=6.0.0'} + + base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + + bash-color@0.0.4: + resolution: {integrity: sha512-ZNB4525U7BxT6v9C8LEtywyCgB4Pjnm7/bh+ru/Z9Ecxvg3fDjaJ6z305z9a61orQdbB1zqYHh5JbUqx4s4K0g==} + + batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + + bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + + better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + + bfj@7.1.0: + resolution: {integrity: sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==} + engines: {node: '>= 8.0.0'} + + big-integer@1.6.52: + resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} + engines: {node: '>=0.6'} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + bigint-buffer@1.1.5: + resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} + engines: {node: '>= 10.0.0'} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + binary@0.3.0: + resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} + + bind-decorator@1.0.11: + resolution: {integrity: sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==} + + bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + + bluebird@3.4.7: + resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + body@5.1.0: + resolution: {integrity: sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==} + + bonjour-service@1.2.1: + resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + borc@2.1.2: + resolution: {integrity: sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==} + engines: {node: '>=4'} + + borsh@0.7.0: + resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + breakword@1.0.6: + resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-pack@6.1.0: + resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} + hasBin: true + + browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + + browser-resolve@2.0.0: + resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + + browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + + browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + + browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + + browserify-sign@4.2.2: + resolution: {integrity: sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==} + engines: {node: '>= 4'} + + browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + + browserify@17.0.0: + resolution: {integrity: sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==} + engines: {node: '>= 0.8'} + hasBin: true + + browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer-indexof-polyfill@1.0.2: + resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} + engines: {node: '>=0.10'} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@5.2.1: + resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + buffers@0.1.1: + resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} + engines: {node: '>=0.2.0'} + + bufferutil@4.0.8: + resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} + engines: {node: '>=6.14.2'} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + + builtins@1.0.3: + resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + bytes@1.0.0: + resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==} + + bytes@3.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + + cacheable-lookup@2.0.1: + resolution: {integrity: sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==} + engines: {node: '>=10'} + + cacheable-request@6.1.0: + resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + engines: {node: '>=8'} + + cacheable-request@7.0.4: + resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} + engines: {node: '>=8'} + + cached-path-relative@1.1.0: + resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} + + call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + + caller-callsite@2.0.0: + resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} + engines: {node: '>=4'} + + caller-path@2.0.0: + resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} + engines: {node: '>=4'} + + callsites@2.0.0: + resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} + engines: {node: '>=4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase-css@2.0.1: + resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} + engines: {node: '>= 6'} + + camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + + caniuse-lite@1.0.30001580: + resolution: {integrity: sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==} + + canonicalize@1.0.8: + resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} + + canvas-renderer@2.2.1: + resolution: {integrity: sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg==} + + capture-exit@2.0.0: + resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} + engines: {node: 6.* || 8.* || >= 10.*} + + case-sensitive-paths-webpack-plugin@2.4.0: + resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} + engines: {node: '>=4'} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + cbor@5.2.0: + resolution: {integrity: sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==} + engines: {node: '>=6.0.0'} + + ccount@1.1.0: + resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} + + ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + + chai-as-promised@7.1.1: + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} + peerDependencies: + chai: '>= 2.1.2 < 5' + + chai@5.0.3: + resolution: {integrity: sha512-wKGCtYv2kVY5WEjKqQ3fSIZWtTFveZCtzinhTZbx3/trVkxefiwovhpU9kRVCwxvKKCEjTWXPdM1/T7zPoDgow==} + engines: {node: '>=12'} + + chainsaw@0.1.0: + resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@2.1.0: + resolution: {integrity: sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==} + engines: {node: '>=4'} + + chalk@2.3.0: + resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + char-regex@2.0.1: + resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} + engines: {node: '>=12.20'} + + character-entities-html4@2.1.0: + resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} + + character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + + character-entities-legacy@3.0.0: + resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} + + character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + + character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + + character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + + character-reference-invalid@2.0.1: + resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} + + chardet@0.4.2: + resolution: {integrity: sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + check-error@2.0.0: + resolution: {integrity: sha512-tjLAOBHKVxtPoHe/SA7kNOMvhCRdCJ3vETdeY0RuAc9popf+hyaSV6ZEg9hr4cpWF7jmo/JSWEnLDrnijS9Tog==} + engines: {node: '>= 16'} + + check-types@11.2.3: + resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==} + + cheerio-select@1.6.0: + resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} + + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.10: + resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} + engines: {node: '>= 6'} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + + chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + + citty@0.1.5: + resolution: {integrity: sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==} + + cjs-module-lexer@0.6.0: + resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} + + cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + + class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + + class-validator@0.13.2: + resolution: {integrity: sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==} + + clean-css@5.3.3: + resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} + engines: {node: '>= 10.0'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + + cli-cursor@2.1.0: + resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} + engines: {node: '>=4'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-truncate@0.2.1: + resolution: {integrity: sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==} + engines: {node: '>=0.10.0'} + + cli-width@2.2.1: + resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} + + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + client-only@0.0.1: + resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} + + clipboardy@1.2.2: + resolution: {integrity: sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==} + engines: {node: '>=4'} + + clipboardy@4.0.0: + resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} + engines: {node: '>=18'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + clsx@1.2.1: + resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} + engines: {node: '>=6'} + + clsx@2.1.0: + resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} + engines: {node: '>=6'} + + cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + coa@2.0.2: + resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} + engines: {node: '>= 4.0'} + + code-point-at@1.1.0: + resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} + engines: {node: '>=0.10.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combine-source-map@0.8.0: + resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + comma-separated-tokens@2.0.3: + resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} + + command-line-args@4.0.7: + resolution: {integrity: sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==} + hasBin: true + + command-line-commands@2.0.1: + resolution: {integrity: sha512-m8c2p1DrNd2ruIAggxd/y6DgygQayf6r8RHwchhXryaLF8I6koYjoYroVP+emeROE9DXN5b9sP1Gh+WtvTTdtQ==} + engines: {node: '>=4.0.0'} + + command-line-usage@4.1.0: + resolution: {integrity: sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==} + engines: {node: '>=4.0.0'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + + commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + + commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + + common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + + common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + + compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + + compute-scroll-into-view@3.1.0: + resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concat-md@0.5.1: + resolution: {integrity: sha512-iZr6yxlwPQ5IZup2mvqgm+JI0jnu5yGkND2ra5DinBtcevDQPQiAGpf4RXOnor1UpKBUydqegDLfPY8b+FfI+Q==} + engines: {node: '>=10.8.0'} + hasBin: true + + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + + concat-with-sourcemaps@1.1.0: + resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} + + config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + + configstore@5.0.1: + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} + + confusing-browser-globals@1.0.11: + resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + + connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + + console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + + constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + + construct-style-sheets-polyfill@3.1.0: + resolution: {integrity: sha512-HBLKP0chz8BAY6rBdzda11c3wAZeCZ+kIG4weVC2NM3AXzxx09nhe8t0SQNdloAvg5GLuHwq/0SPOOSPvtCcKw==} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + continuable-cache@0.3.1: + resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==} + + convert-hex@0.1.0: + resolution: {integrity: sha512-w20BOb1PiR/sEJdS6wNrUjF5CSfscZFUp7R9NSlXH8h2wynzXVEPFPJECAnkNylZ+cvf3p7TyRUHggDmrwXT9A==} + + convert-source-map@1.1.3: + resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} + + convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + convert-string@0.1.0: + resolution: {integrity: sha512-1KX9ESmtl8xpT2LN2tFnKSbV4NiarbVi8DVb39ZriijvtTklyrT+4dT1wsGMHKD3CJUjXgvJzstm9qL9ICojGA==} + + cookie-es@1.0.0: + resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + + copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + + copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + + core-js-compat@3.35.1: + resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} + + core-js-pure@3.35.1: + resolution: {integrity: sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==} + + core-js@3.35.1: + resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==} + + core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cose-base@1.0.3: + resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + + cose-base@2.2.0: + resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + + cosmiconfig@5.2.1: + resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} + engines: {node: '>=4'} + + cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + + cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + + cp@0.2.0: + resolution: {integrity: sha512-4ftCvShHjIZG/zzomHyunNpBof3sOFTTmU6s6q9DdqAL/ANqrKV3pr6Z6kVfBI4hjn59DFLImrBqn7GuuMqSZA==} + + cpr@3.0.1: + resolution: {integrity: sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==} + hasBin: true + + crc@3.8.0: + resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} + + create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + + cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + + cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + + crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + + crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + + css-blank-pseudo@3.0.3: + resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + + css-color-names@0.0.4: + resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} + + css-declaration-sorter@4.0.1: + resolution: {integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==} + engines: {node: '>4'} + + css-declaration-sorter@6.4.1: + resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + + css-has-pseudo@3.0.4: + resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + + css-loader@6.9.1: + resolution: {integrity: sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + css-minimizer-webpack-plugin@3.4.1: + resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@parcel/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + + css-modules-loader-core@1.1.0: + resolution: {integrity: sha512-XWOBwgy5nwBn76aA+6ybUGL/3JBnCtBX9Ay9/OWIpzKYWlVHMazvJ+WtHumfi+xxdPF440cWK7JCYtt8xDifew==} + + css-prefers-color-scheme@6.0.3: + resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + + css-select-base-adapter@0.1.1: + resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} + + css-select@2.1.0: + resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-selector-tokenizer@0.7.3: + resolution: {integrity: sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==} + + css-tree@1.0.0-alpha.37: + resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} + engines: {node: '>=8.0.0'} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-what@3.4.2: + resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} + engines: {node: '>= 6'} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + cssdb@7.10.0: + resolution: {integrity: sha512-yGZ5tmA57gWh/uvdQBHs45wwFY0IBh3ypABk5sEubPBPSzXzkNgsWReqx7gdx6uhC+QoFBe+V8JwBB9/hQ6cIA==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + cssnano-preset-default@4.0.8: + resolution: {integrity: sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==} + engines: {node: '>=6.9.0'} + + cssnano-preset-default@5.2.14: + resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + cssnano-util-get-arguments@4.0.0: + resolution: {integrity: sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==} + engines: {node: '>=6.9.0'} + + cssnano-util-get-match@4.0.0: + resolution: {integrity: sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==} + engines: {node: '>=6.9.0'} + + cssnano-util-raw-cache@4.0.1: + resolution: {integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==} + engines: {node: '>=6.9.0'} + + cssnano-util-same-parent@4.0.1: + resolution: {integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==} + engines: {node: '>=6.9.0'} + + cssnano-utils@3.1.0: + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + cssnano@4.1.11: + resolution: {integrity: sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==} + engines: {node: '>=6.9.0'} + + cssnano@5.1.15: + resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + + cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + + csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + + csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + + csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + + customize-cra@1.0.0: + resolution: {integrity: sha512-DbtaLuy59224U+xCiukkxSq8clq++MOtJ1Et7LED1fLszWe88EoblEYFBJ895sB1mC6B4uu3xPT/IjClELhMbA==} + + cytoscape-cose-bilkent@4.1.0: + resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape-fcose@2.2.0: + resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} + peerDependencies: + cytoscape: ^3.2.0 + + cytoscape@3.28.1: + resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==} + engines: {node: '>=0.10'} + + d3-array@2.12.1: + resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + + d3-array@3.2.4: + resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} + engines: {node: '>=12'} + + d3-axis@3.0.0: + resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} + engines: {node: '>=12'} + + d3-brush@3.0.0: + resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} + engines: {node: '>=12'} + + d3-chord@3.0.1: + resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} + engines: {node: '>=12'} + + d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + + d3-contour@4.0.2: + resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} + engines: {node: '>=12'} + + d3-delaunay@6.0.4: + resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} + engines: {node: '>=12'} + + d3-dispatch@3.0.1: + resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} + engines: {node: '>=12'} + + d3-drag@3.0.0: + resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} + engines: {node: '>=12'} + + d3-dsv@3.0.1: + resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} + engines: {node: '>=12'} + hasBin: true + + d3-ease@3.0.1: + resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} + engines: {node: '>=12'} + + d3-fetch@3.0.1: + resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} + engines: {node: '>=12'} + + d3-force@3.0.0: + resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} + engines: {node: '>=12'} + + d3-format@3.1.0: + resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} + engines: {node: '>=12'} + + d3-geo@3.1.0: + resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} + engines: {node: '>=12'} + + d3-hierarchy@3.1.2: + resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} + engines: {node: '>=12'} + + d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + + d3-path@1.0.9: + resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} + + d3-path@3.1.0: + resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} + engines: {node: '>=12'} + + d3-polygon@3.0.1: + resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} + engines: {node: '>=12'} + + d3-quadtree@3.0.1: + resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} + engines: {node: '>=12'} + + d3-random@3.0.1: + resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} + engines: {node: '>=12'} + + d3-sankey@0.12.3: + resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + + d3-scale-chromatic@3.0.0: + resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} + engines: {node: '>=12'} + + d3-scale@4.0.2: + resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} + engines: {node: '>=12'} + + d3-selection@3.0.0: + resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} + engines: {node: '>=12'} + + d3-shape@1.3.7: + resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + + d3-shape@3.2.0: + resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} + engines: {node: '>=12'} + + d3-time-format@4.1.0: + resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} + engines: {node: '>=12'} + + d3-time@3.1.0: + resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} + engines: {node: '>=12'} + + d3-timer@3.0.1: + resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} + engines: {node: '>=12'} + + d3-transition@3.0.1: + resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} + engines: {node: '>=12'} + peerDependencies: + d3-selection: 2 - 3 + + d3-zoom@3.0.0: + resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} + engines: {node: '>=12'} + + d3@7.8.5: + resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} + engines: {node: '>=12'} + + dagre-d3-es@7.0.10: + resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + dash-ast@1.0.0: + resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} + + dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + + date-fns@1.30.1: + resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} + + dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + decompress-response@3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + + decompress-response@5.0.0: + resolution: {integrity: sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==} + engines: {node: '>=10'} + + dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + + deep-eql@5.0.1: + resolution: {integrity: sha512-nwQCf6ne2gez3o1MxWifqkciwt0zhl0LO1/UwVu4uMBuPmflWM4oQ70XMqHqnBJA+nhzncaqL9HVL6KkHJ28lw==} + engines: {node: '>=6'} + + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-freeze@0.0.1: + resolution: {integrity: sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + defer-to-connect@1.1.3: + resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + + defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + + define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + + define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + + define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + + define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + + defined@1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + del@6.1.1: + resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} + engines: {node: '>=10'} + + delaunator@5.0.1: + resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + + delay@5.0.0: + resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} + engines: {node: '>=10'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + + delimit-stream@0.1.0: + resolution: {integrity: sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==} + + denque@2.1.0: + resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} + engines: {node: '>=0.10'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + deps-sort@2.0.1: + resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==} + hasBin: true + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + + destr@2.0.2: + resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} + + destroy@1.0.4: + resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-browser@5.3.0: + resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} + + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + + detect-port-alt@1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + + detective@5.2.1: + resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} + engines: {node: '>=0.8.0'} + hasBin: true + + devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + + didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + + diff-sequences@26.6.2: + resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} + engines: {node: '>= 10.14.2'} + + diff-sequences@27.5.1: + resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@3.5.0: + resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} + engines: {node: '>=0.3.1'} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + diff@5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} + + diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + + diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + direction@0.1.5: + resolution: {integrity: sha512-HceXsAluGbXKCz2qCVbXFUH4Vn4eNMWxY5gzydMFMnS1zKSwvDASqLwcrYLIFDpwuZ63FUAqjDLEP1eicHt8DQ==} + hasBin: true + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + + doctoc@2.2.1: + resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} + hasBin: true + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + + dom-serializer@0.1.1: + resolution: {integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==} + + dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domain-browser@1.2.0: + resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} + engines: {node: '>=0.4', npm: '>=1.2'} + + domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + + domhandler@3.3.0: + resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} + engines: {node: '>= 4'} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + dompurify@3.0.8: + resolution: {integrity: sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ==} + + domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + dotenv-expand@5.1.0: + resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + + dotenv@10.0.0: + resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} + engines: {node: '>=10'} + + duplexer2@0.1.4: + resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + + duplexer3@0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + duplexify@4.1.2: + resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + ejs@3.1.9: + resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + electron-to-chromium@1.4.647: + resolution: {integrity: sha512-Z/fTNGwc45WrYQhPaEcz5tAJuZZ8G7S/DBnhS6Kgp4BxnS40Z/HqlJ0hHg3Z79IGVzuVartIlTcjw/cQbPLgOw==} + + electron@20.3.12: + resolution: {integrity: sha512-CuCZKhwdSXaUNIoEuPVZ25YH18zmox3wEM8Acwcy9tlpD8Jiuq3ji3RZ98eVWJalrpqbdE9LtTD/sLC86GIkLg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + elegant-spinner@1.0.1: + resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} + engines: {node: '>=0.10.0'} + + elkjs@0.9.1: + resolution: {integrity: sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ==} + + elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + + email-validator@2.0.4: + resolution: {integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==} + engines: {node: '>4.0'} + + emittery@0.10.2: + resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} + engines: {node: '>=12'} + + emittery@0.7.2: + resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} + engines: {node: '>=10'} + + emittery@0.8.1: + resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} + engines: {node: '>=10'} + + emittery@1.0.1: + resolution: {integrity: sha512-2ID6FdrMD9KDLldGesP6317G78K7km/kMcwItRtVFva7I/cSEOIaLpewaUb+YLXVwdAp3Ctfxh/V5zIl1sj7dQ==} + engines: {node: '>=14.16'} + + emoji-regex@10.1.0: + resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + encode-utf8@1.0.3: + resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@5.15.0: + resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} + engines: {node: '>=10.13.0'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@3.0.1: + resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} + engines: {node: '>=0.12'} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + + error@7.0.2: + resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} + + es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + + es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-iterator-helpers@1.0.15: + resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + + es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + + es-set-tostringtag@2.0.2: + resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + + es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + + es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + + esbuild-android-64@0.15.18: + resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + esbuild-android-arm64@0.15.18: + resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + esbuild-darwin-64@0.15.18: + resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + esbuild-darwin-arm64@0.15.18: + resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + esbuild-freebsd-64@0.15.18: + resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + esbuild-freebsd-arm64@0.15.18: + resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + esbuild-linux-32@0.15.18: + resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + esbuild-linux-64@0.15.18: + resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + esbuild-linux-arm64@0.15.18: + resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + esbuild-linux-arm@0.15.18: + resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + esbuild-linux-mips64le@0.15.18: + resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + esbuild-linux-ppc64le@0.15.18: + resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + esbuild-linux-riscv64@0.15.18: + resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + esbuild-linux-s390x@0.15.18: + resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + esbuild-netbsd-64@0.15.18: + resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + esbuild-openbsd-64@0.15.18: + resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + esbuild-plugin-copy@2.1.1: + resolution: {integrity: sha512-Bk66jpevTcV8KMFzZI1P7MZKZ+uDcrZm2G2egZ2jNIvVnivDpodZI+/KnpL3Jnap0PBdIHU7HwFGB8r+vV5CVw==} + peerDependencies: + esbuild: '>= 0.14.0' + + esbuild-plugin-lit@0.0.10: + resolution: {integrity: sha512-0Vz+TRglIQsV2plsRJw+opO8erTIwXLtKjcFOLOiQDxRvKjFnmlENdB+fL9eLxXQu1HjRZkI9WW0ywWldoymtQ==} + peerDependencies: + esbuild: ^0.15.2 + html-minifier: ^4.0.0 + lit: ^2.3.0 + svgo: ^2.8.0 + txml: ^5.1.1 + peerDependenciesMeta: + html-minifier: + optional: true + lit: + optional: true + svgo: + optional: true + txml: + optional: true + + esbuild-plugin-replace@1.4.0: + resolution: {integrity: sha512-lP3ZAyzyRa5JXoOd59lJbRKNObtK8pJ/RO7o6vdjwLi71GfbL32NR22ZuS7/cLZkr10/L1lutoLma8E4DLngYg==} + + esbuild-sunos-64@0.15.18: + resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + esbuild-windows-32@0.15.18: + resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + esbuild-windows-64@0.15.18: + resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + esbuild-windows-arm64@0.15.18: + resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + esbuild@0.15.18: + resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + escape-goat@2.1.1: + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} + + escape-goat@3.0.0: + resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==} + engines: {node: '>=10'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@1.14.3: + resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} + engines: {node: '>=4.0'} + hasBin: true + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-custom@0.0.0: + resolution: {integrity: sha512-kwCw78yisbgKdJBJ5qooPmpBYDphDfM2oxSROmtfOwBXBwXuRiSV3suO01W3mVLEFpmQZxMWd/qajKpJhkKSug==} + + eslint-config-next@12.3.4: + resolution: {integrity: sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==} + peerDependencies: + eslint: ^7.23.0 || ^8.0.0 + typescript: '>=3.3.1' + peerDependenciesMeta: + typescript: + optional: true + + eslint-config-prettier@8.10.0: + resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-config-react-app@7.0.1: + resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} + engines: {node: '>=14.0.0'} + peerDependencies: + eslint: ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@2.7.1: + resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==} + engines: {node: '>=4'} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + + eslint-module-utils@2.8.0: + resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-flowtype@8.0.3: + resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@babel/plugin-syntax-flow': ^7.14.5 + '@babel/plugin-transform-react-jsx': ^7.14.9 + eslint: ^8.1.0 + + eslint-plugin-import@2.29.1: + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jest@25.7.0: + resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + + eslint-plugin-jsx-a11y@6.8.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-react-hooks@4.6.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + + eslint-plugin-react@7.28.0: + resolution: {integrity: sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-react@7.33.2: + resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-testing-library@5.11.1: + resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-webpack-plugin@3.2.0: + resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + webpack: ^5.0.0 + + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@1.2.2: + resolution: {integrity: sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==} + engines: {node: '>=0.4.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-util-attach-comments@2.1.1: + resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} + + estree-util-build-jsx@2.2.2: + resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} + + estree-util-is-identifier-name@2.1.0: + resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} + + estree-util-to-js@1.2.0: + resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} + + estree-util-value-to-estree@1.3.0: + resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} + engines: {node: '>=12.0.0'} + + estree-util-visit@1.2.1: + resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} + + estree-walker@0.6.1: + resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + + estree-walker@1.0.1: + resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eth-block-tracker@6.1.0: + resolution: {integrity: sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ==} + engines: {node: '>=14.0.0'} + + eth-json-rpc-filters@5.1.0: + resolution: {integrity: sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ==} + engines: {node: '>=14.0.0'} + + eth-query@2.1.2: + resolution: {integrity: sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==} + + eth-rpc-errors@4.0.2: + resolution: {integrity: sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==} + + eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + exec-sh@0.3.6: + resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} + + execa@0.8.0: + resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} + engines: {node: '>=4'} + + execa@1.0.0: + resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} + engines: {node: '>=6'} + + execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + + expect@26.6.2: + resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} + engines: {node: '>= 10.14.2'} + + expect@27.5.1: + resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + + external-editor@2.2.0: + resolution: {integrity: sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==} + engines: {node: '>=0.12'} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + + extract-zip@2.0.1: + resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} + engines: {node: '>= 10.17.0'} + hasBin: true + + extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + + eyes@0.1.8: + resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} + engines: {node: '> 0.1.90'} + + faker@5.5.3: + resolution: {integrity: sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-stable-stringify@1.0.0: + resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} + + fastparse@1.1.2: + resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==} + + fastq@1.16.0: + resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + + fault@1.0.4: + resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + + faye-websocket@0.10.0: + resolution: {integrity: sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==} + engines: {node: '>=0.4.0'} + + faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + figures@1.7.0: + resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} + engines: {node: '>=0.10.0'} + + figures@2.0.0: + resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} + engines: {node: '>=4'} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-loader@6.2.0: + resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + filesize@8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + + fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + + find-replace@1.0.3: + resolution: {integrity: sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA==} + engines: {node: '>=4.0.0'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + + find-yarn-workspace-root@2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + + flat-cache@2.0.1: + resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} + engines: {node: '>=4'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + flatted@2.0.2: + resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + flexsearch@0.7.43: + resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} + + focus-visible@5.2.0: + resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} + + follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + + fork-ts-checker-webpack-plugin@6.5.3: + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + + form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + + form-data@3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + format@0.2.2: + resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} + engines: {node: '>=0.4.x'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + front-matter@2.3.0: + resolution: {integrity: sha512-+gOIDsGWHVAiWSDfg3vpiHwkOrwO4XNS3YQH5DMmneLEPWzdCAnbSQCtxReF4yPK1nszLvAmLeR2SprnDQDnyQ==} + + front-matter@4.0.2: + resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-minipass@1.2.7: + resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} + + fs-monkey@1.0.5: + resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + fstream@1.0.12: + resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} + engines: {node: '>=0.6'} + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gauge@2.7.4: + resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} + + generic-names@2.0.1: + resolution: {integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==} + + generic-names@4.0.0: + resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-assigned-identifiers@1.2.0: + resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-port-please@3.1.2: + resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} + + get-port@5.1.1: + resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} + engines: {node: '>=8'} + + get-stream@3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + + get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + + get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + + getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + + git-config@0.0.7: + resolution: {integrity: sha512-LidZlYZXWzVjS+M3TEwhtYBaYwLeOZrXci1tBgqp/vDdZTBMl02atvwb6G35L64ibscYoPnxfbwwUS+VZAISLA==} + + git-up@7.0.0: + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + + git-url-parse@13.1.1: + resolution: {integrity: sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==} + + gitbook-plugin-fontsettings@2.0.0: + resolution: {integrity: sha512-bZpz/Jev7lL1d3VNp41KHZD67UYqyqdOwbsJE6YEW93R2mGiLfZLpUs86d2nrY61BedhlNck1xF52FNT6sWeig==} + engines: {gitbook: '>=2.4.0'} + + gitbook-plugin-livereload@0.0.1: + resolution: {integrity: sha512-+5xinicId2ZcbP6jBTFfQBnjz8nhoBgcOuQfKTEM6Yg9fBsmo2mxY6ubrx1b5ozuIMyfDLkSihx97A7+X+EtQQ==} + + gitbook-plugin-lunr@1.2.0: + resolution: {integrity: sha512-QBfFLMZmoyOfLzc5aZrlRCkmzb9YcSjzdnyJFiRI/nX+Nd6kK1XyN4DLGnNSMHkRcJchcpWiQ6XGqSqo7e+d+g==} + engines: {gitbook: '>=3.0.0-pre.0'} + + gitbook-plugin-search@2.2.1: + resolution: {integrity: sha512-oP9jhaKFUVPo756G9ywuuI43YdkZClSjfpFzNKe/a/Rcn3oVsrAM/PjdQ+dt65KfZVo3iW1LY4WdiZnNqzRP8g==} + engines: {gitbook: '>=3.0.0-pre.0'} + + github-slugger@2.0.0: + resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} + + github-slugid@1.0.1: + resolution: {integrity: sha512-L5uVRzSM8jyWTgHUtaHwmymZW8S234JrIaOGotPK+0emNz9XsO6qqgw1KiI5YfP1SyBjG0ApNYU0vpb01teM9Q==} + + github-url-from-git@1.5.0: + resolution: {integrity: sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.3.10: + resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@7.1.3: + resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==} + + glob@7.1.7: + resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + + glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} + + global-dirs@2.1.0: + resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} + engines: {node: '>=8'} + + global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + global-tunnel-ng@2.7.1: + resolution: {integrity: sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==} + engines: {node: '>=0.10'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + got@10.7.0: + resolution: {integrity: sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==} + engines: {node: '>=10'} + + got@9.6.0: + resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} + engines: {node: '>=8.6'} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + graphql-query-complexity@0.7.2: + resolution: {integrity: sha512-+VgmrfxGEjHI3zuojWOR8bsz7Ycz/BZjNjxnlUieTz5DsB92WoIrYCSZdWG7UWZ3rfcA1Gb2Nf+wB80GsaZWuQ==} + peerDependencies: + graphql: ^0.13.0 || ^14.0.0 || ^15.0.0 + + graphql-subscriptions@1.2.1: + resolution: {integrity: sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==} + peerDependencies: + graphql: ^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + + graphql-tag@2.12.6: + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + engines: {node: '>=10'} + peerDependencies: + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + graphql-ws@5.12.0: + resolution: {integrity: sha512-PA3ImUp8utrpEjoxBMhvxsjkStvFEdU0E1gEBREt8HZIWkxOUymwJBhFnBL7t/iHhUq1GVPeZevPinkZFENxTw==} + engines: {node: '>=10'} + peerDependencies: + graphql: '>=0.11 <=16' + + graphql-ws@5.14.3: + resolution: {integrity: sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ==} + engines: {node: '>=10'} + peerDependencies: + graphql: '>=0.11 <=16' + + graphql@15.7.2: + resolution: {integrity: sha512-AnnKk7hFQFmU/2I9YSQf3xw44ctnSFCfp3zE0N6W174gqe9fWG/2rKaKxROK7CcI3XtERpjEKFqts8o319Kf7A==} + engines: {node: '>= 10.x'} + + gray-matter@4.0.3: + resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} + engines: {node: '>=6.0'} + + growly@1.3.0: + resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + h3@1.10.1: + resolution: {integrity: sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==} + + handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + + har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + + hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + + harmony-reflect@1.6.2: + resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + + has-flag@2.0.0: + resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} + engines: {node: '>=0.10.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.1: + resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + + has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + + has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + + has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + + has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + + has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + + has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + + has-yarn@2.1.0: + resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} + engines: {node: '>=8'} + + has@1.0.4: + resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} + engines: {node: '>= 0.4.0'} + + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + + hash-obj@4.0.0: + resolution: {integrity: sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==} + engines: {node: '>=12'} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + + hast-util-from-dom@5.0.0: + resolution: {integrity: sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==} + + hast-util-from-html-isomorphic@2.0.0: + resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} + + hast-util-from-html@2.0.1: + resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + + hast-util-from-parse5@8.0.1: + resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + + hast-util-is-element@3.0.0: + resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + + hast-util-parse-selector@4.0.0: + resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + + hast-util-raw@9.0.2: + resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + + hast-util-to-estree@2.3.3: + resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} + + hast-util-to-parse5@8.0.0: + resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + + hast-util-to-text@4.0.0: + resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==} + + hast-util-whitespace@2.0.1: + resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} + + hastscript@8.0.0: + resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + + hex-color-regex@1.1.0: + resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} + + hey-listen@1.0.8: + resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} + + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + honkit@4.0.8: + resolution: {integrity: sha512-CCD6+HTOvgta4VO1HsWUq/Qp+C7PPnwUH5O1xQx0hLjKh5zeBkeu1r1AOa+Ez1QltoAHrdK2RPxkQ5hsnQnDrQ==} + hasBin: true + + hoopy@0.1.4: + resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==} + engines: {node: '>= 6.0.0'} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + hosted-git-info@3.0.8: + resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==} + engines: {node: '>=10'} + + hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + + hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + + hsl-regex@1.0.0: + resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==} + + hsla-regex@1.0.0: + resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} + + html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + + html-entities@1.2.0: + resolution: {integrity: sha512-0md7tlUUyb0BEQGsZzbqty1CgV6RESOoxdivt94AScqhBhYsPCCQCOaGvur/RospMjYpPJ7iFe3zw4Bu4SVA8g==} + engines: {'0': node >= 0.4.0} + + html-entities@2.4.0: + resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + html-escaper@3.0.3: + resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} + + html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + + html-void-elements@3.0.0: + resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} + + html-webpack-plugin@5.6.0: + resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} + engines: {node: '>=10.13.0'} + peerDependencies: + '@rspack/core': 0.x || 1.x + webpack: ^5.20.0 + peerDependenciesMeta: + '@rspack/core': + optional: true + webpack: + optional: true + + htmlescape@1.1.1: + resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==} + engines: {node: '>=0.10'} + + htmlparser2@5.0.1: + resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} + + htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + + htmlparser2@7.2.0: + resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + + http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + + http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + + http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + + http-proxy-middleware@2.0.6: + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + http-shutdown@1.2.2: + resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + + http@0.0.1-security: + resolution: {integrity: sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==} + + https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-id@1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + + human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + + i18n-t@1.0.1: + resolution: {integrity: sha512-2NmZwpsnRTzpZfIP6Rcic16m5QBNVaIwVyU182+iatd6RNbWmGi74LTA/R/oDa58RZ87bHChLgWpmulEAoEruQ==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + icss-replace-symbols@1.1.0: + resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} + + icss-utils@5.1.0: + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + idb-keyval@6.2.1: + resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} + + idb@7.1.1: + resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + + identity-obj-proxy@3.0.0: + resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} + engines: {node: '>=4'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore-walk@3.0.4: + resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} + + ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + immutability-helper@2.9.1: + resolution: {integrity: sha512-r/RmRG8xO06s/k+PIaif2r5rGc3j4Yhc01jSBfwPCXDLYZwp/yxralI37Df1mwmuzcCsen/E/ITKcTEvc1PQmQ==} + + immutable@3.8.2: + resolution: {integrity: sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==} + engines: {node: '>=0.10.0'} + + immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + + import-cwd@2.1.0: + resolution: {integrity: sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==} + engines: {node: '>=4'} + + import-cwd@3.0.0: + resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} + engines: {node: '>=8'} + + import-fresh@2.0.0: + resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} + engines: {node: '>=4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-from@2.1.0: + resolution: {integrity: sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==} + engines: {node: '>=4'} + + import-from@3.0.0: + resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} + engines: {node: '>=8'} + + import-lazy@2.1.0: + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} + engines: {node: '>=4'} + + import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@3.2.0: + resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} + engines: {node: '>=4'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indexes-of@1.0.1: + resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.7: + resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + + iniparser@1.0.5: + resolution: {integrity: sha512-i40MWqgTU6h/70NtMsDVVDLjDYWwcIR1yIEVDPfxZIJno9z9L4s83p/V7vAu2i48Vj0gpByrkGFub7ko9XvPrw==} + + inline-source-map@0.6.2: + resolution: {integrity: sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==} + + inline-style-parser@0.1.1: + resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} + + inquirer-autosubmit-prompt@0.2.0: + resolution: {integrity: sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q==} + + inquirer@3.3.0: + resolution: {integrity: sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==} + + inquirer@6.5.2: + resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} + engines: {node: '>=6.0.0'} + + inquirer@7.3.3: + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} + + insert-module-globals@7.2.1: + resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} + hasBin: true + + internal-slot@1.0.6: + resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} + engines: {node: '>= 0.4'} + + internmap@1.0.1: + resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} + + internmap@2.0.3: + resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} + engines: {node: '>=12'} + + intersection-observer@0.12.2: + resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + ioredis@5.3.2: + resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} + engines: {node: '>=12.22.0'} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + ipaddr.js@2.1.0: + resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} + engines: {node: '>= 10'} + + iron-webcrypto@1.0.0: + resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==} + + is-absolute-url@2.1.0: + resolution: {integrity: sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==} + engines: {node: '>=0.10.0'} + + is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + + is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + + is-alphabetical@2.0.1: + resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} + + is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + + is-alphanumerical@2.0.1: + resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + + is-color-stop@1.1.0: + resolution: {integrity: sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==} + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + + is-decimal@2.0.1: + resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} + + is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + + is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + + is-directory@0.3.1: + resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} + engines: {node: '>=0.10.0'} + + is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + + is-fullwidth-code-point@1.0.0: + resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + + is-hexadecimal@2.0.1: + resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} + + is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + + is-installed-globally@0.3.2: + resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} + engines: {node: '>=8'} + + is-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + + is-module@1.0.0: + resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + + is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + + is-npm@5.0.0: + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-obj@3.0.0: + resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} + engines: {node: '>=12'} + + is-observable@1.1.0: + resolution: {integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==} + engines: {node: '>=4'} + + is-path-cwd@2.2.0: + resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} + engines: {node: '>=6'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + + is-reference@1.2.1: + resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + + is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-resolvable@1.1.0: + resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} + + is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + + is-scoped@2.1.0: + resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} + engines: {node: '>=8'} + + is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + + is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + + is-ssh@1.4.0: + resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + + is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-url-superb@4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + + is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + is-wsl@3.1.0: + resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} + engines: {node: '>=16'} + + is-yarn-global@0.3.0: + resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + + is64bit@2.0.0: + resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} + engines: {node: '>=18'} + + is@3.3.0: + resolution: {integrity: sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + iso-url@0.4.7: + resolution: {integrity: sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==} + engines: {node: '>=10'} + + isobject@0.2.0: + resolution: {integrity: sha512-VaWq6XYAsbvM0wf4dyBO7WH9D7GosB7ZZlqrawI9BBiTMINBeCyqSKBa35m870MY3O4aM31pYyZi9DfGrYMJrQ==} + engines: {node: '>=0.10.0'} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + isomorphic-unfetch@3.1.0: + resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + isomorphic-ws@5.0.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + + isows@1.0.3: + resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} + peerDependencies: + ws: '*' + + isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + + issue-regex@3.1.0: + resolution: {integrity: sha512-0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA==} + engines: {node: '>=10'} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.6: + resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} + engines: {node: '>=8'} + + iterall@1.3.0: + resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} + + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + jake@10.8.7: + resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} + engines: {node: '>=10'} + hasBin: true + + jayson@4.1.0: + resolution: {integrity: sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A==} + engines: {node: '>=8'} + hasBin: true + + jdenticon@3.2.0: + resolution: {integrity: sha512-z6Iq3fTODUMSOiR2nNYrqigS6Y0GvdXfyQWrUby7htDHvX7GNEwaWR4hcaL+FmhEgBe08Xkup/BKxXQhDJByPA==} + engines: {node: '>=6.4.0'} + hasBin: true + + jest-changed-files@26.6.2: + resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} + engines: {node: '>= 10.14.2'} + + jest-changed-files@27.5.1: + resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-circus@27.5.1: + resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-cli@26.6.3: + resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} + engines: {node: '>= 10.14.2'} + hasBin: true + + jest-cli@27.5.1: + resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@26.6.3: + resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} + engines: {node: '>= 10.14.2'} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + + jest-config@27.5.1: + resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + + jest-diff@26.6.2: + resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} + engines: {node: '>= 10.14.2'} + + jest-diff@27.5.1: + resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@26.0.0: + resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} + engines: {node: '>= 10.14.2'} + + jest-docblock@27.5.1: + resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-each@26.6.2: + resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} + engines: {node: '>= 10.14.2'} + + jest-each@27.5.1: + resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-jsdom@26.6.2: + resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} + engines: {node: '>= 10.14.2'} + + jest-environment-jsdom@27.5.1: + resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-environment-node@26.6.2: + resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} + engines: {node: '>= 10.14.2'} + + jest-environment-node@27.5.1: + resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-get-type@26.3.0: + resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} + engines: {node: '>= 10.14.2'} + + jest-get-type@27.5.1: + resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@26.6.2: + resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} + engines: {node: '>= 10.14.2'} + + jest-haste-map@27.5.1: + resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-jasmine2@26.6.3: + resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} + engines: {node: '>= 10.14.2'} + + jest-jasmine2@27.5.1: + resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-leak-detector@26.6.2: + resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} + engines: {node: '>= 10.14.2'} + + jest-leak-detector@27.5.1: + resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-matcher-utils@26.6.2: + resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} + engines: {node: '>= 10.14.2'} + + jest-matcher-utils@27.5.1: + resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@26.6.2: + resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} + engines: {node: '>= 10.14.2'} + + jest-message-util@27.5.1: + resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-message-util@28.1.3: + resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@26.6.2: + resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} + engines: {node: '>= 10.14.2'} + + jest-mock@27.5.1: + resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@26.0.0: + resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} + engines: {node: '>= 10.14.2'} + + jest-regex-util@27.5.1: + resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-regex-util@28.0.2: + resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-resolve-dependencies@26.6.3: + resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} + engines: {node: '>= 10.14.2'} + + jest-resolve-dependencies@27.5.1: + resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-resolve@26.6.2: + resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} + engines: {node: '>= 10.14.2'} + + jest-resolve@27.5.1: + resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runner@26.6.3: + resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} + engines: {node: '>= 10.14.2'} + + jest-runner@27.5.1: + resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-runtime@26.6.3: + resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} + engines: {node: '>= 10.14.2'} + hasBin: true + + jest-runtime@27.5.1: + resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-serializer@26.6.2: + resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} + engines: {node: '>= 10.14.2'} + + jest-serializer@27.5.1: + resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-snapshot@26.6.2: + resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} + engines: {node: '>= 10.14.2'} + + jest-snapshot@27.5.1: + resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-util@26.6.2: + resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} + engines: {node: '>= 10.14.2'} + + jest-util@27.5.1: + resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-util@28.1.3: + resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@26.6.2: + resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} + engines: {node: '>= 10.14.2'} + + jest-validate@27.5.1: + resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-watch-typeahead@1.1.0: + resolution: {integrity: sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + jest: ^27.0.0 || ^28.0.0 + + jest-watcher@26.6.2: + resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} + engines: {node: '>= 10.14.2'} + + jest-watcher@27.5.1: + resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + jest-watcher@28.1.3: + resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest-worker@26.6.2: + resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} + engines: {node: '>= 10.13.0'} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + jest-worker@28.1.3: + resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + jest@26.6.3: + resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} + engines: {node: '>= 10.14.2'} + hasBin: true + + jest@27.5.1: + resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + + js-base64@3.7.6: + resolution: {integrity: sha512-NPrWuHFxFUknr1KqJRDgUQPexQF0uIJWjeT+2KjEePhitQxQEx5EJBG1lVn5/hc8aLycTpXrDOgPQ6Zq+EDiTA==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + + jschardet@3.0.0: + resolution: {integrity: sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==} + engines: {node: '>=0.1.90'} + + jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-rpc-engine@6.1.0: + resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==} + engines: {node: '>=10.0.0'} + + json-rpc-random-id@1.0.1: + resolution: {integrity: sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==} + + json-schema-defaults@0.1.1: + resolution: {integrity: sha512-6Q5YS7pSDCXUbtS9uAFE+uUgvE45dBHCMyhqe6liJmL+oIa4zbACSS6nr6Lh+73mN+MnWBCExtN3C14S7Jrm7w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stable-stringify@1.1.1: + resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} + engines: {node: '>= 0.4'} + + json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + + json-text-sequence@0.1.1: + resolution: {integrity: sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + jsonpath@1.1.1: + resolution: {integrity: sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==} + + jsonpointer@5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + + jsonschema@1.1.0: + resolution: {integrity: sha512-nQhT+ioA1XM8CpxJYlBfcUj6HF3f3f2KbLgV3tcxOt85RKpk2b0Do/C5BnCCCfdAarAjWRSFlln0Uanl4tBCHA==} + + jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + juice@8.1.0: + resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} + engines: {node: '>=10.0.0'} + hasBin: true + + just-extend@6.2.0: + resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} + + katex@0.16.9: + resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} + hasBin: true + + keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + + keyv@3.1.0: + resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + keyvaluestorage-interface@1.0.0: + resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} + + khroma@2.1.0: + resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} + + kill-process-by-name@1.0.5: + resolution: {integrity: sha512-uxgO15GtTsK5ofd/c17saZ7GagZEJrMt5VY4AL5X+vVS3kw5uHfzyIk5+npRD8gowWvx3cB37vrCy/yr0PyD8A==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klaw-sync@6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + kramed@0.5.6: + resolution: {integrity: sha512-V4qwQAp8HPQPU6Ph9Q4bc+P+nKQWEGlWYLRDkK7n+CPaMi8/VRm9/R710tRmag4whLsnKR91CO9Ras/Rnff9bw==} + hasBin: true + + labeled-stream-splicer@2.0.2: + resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==} + + language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + latest-version@5.1.0: + resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} + engines: {node: '>=8'} + + launch-editor@2.6.1: + resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + + layout-base@1.0.2: + resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} + + layout-base@2.0.1: + resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + libphonenumber-js@1.10.54: + resolution: {integrity: sha512-P+38dUgJsmh0gzoRDoM4F5jLbyfztkU6PY6eSK6S5HwTi/LPvnwXqVCQZlAy1FxZ5c48q25QhxGQ0pq+WQcSlQ==} + + libsodium-wrappers@0.7.13: + resolution: {integrity: sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw==} + + libsodium@0.7.13: + resolution: {integrity: sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw==} + + lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + + lilconfig@3.0.0: + resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + linkedom@0.14.26: + resolution: {integrity: sha512-mK6TrydfFA7phrnp+1j57ycBwFI5bGSW6YXlw9acHoqF+mP/y+FooEYYyniOt5Ot57FSKB3iwmnuQ1UUyNLm5A==} + + listenercount@1.0.1: + resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} + + listhen@1.5.6: + resolution: {integrity: sha512-gTpEJhT5L85L0bFgmu+Boqu5rP4DwDtEb4Exq5gdQUxWRwx4jbzdInZkmyLONo5EwIcQB0k7ZpWlpCDPdL77EQ==} + hasBin: true + + listr-input@0.2.1: + resolution: {integrity: sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==} + engines: {node: '>=6'} + + listr-silent-renderer@1.1.1: + resolution: {integrity: sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==} + engines: {node: '>=4'} + + listr-update-renderer@0.5.0: + resolution: {integrity: sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==} + engines: {node: '>=6'} + peerDependencies: + listr: ^0.14.2 + + listr-verbose-renderer@0.5.0: + resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} + engines: {node: '>=4'} + + listr@0.14.3: + resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} + engines: {node: '>=6'} + + lit-element@3.3.3: + resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} + + lit-html@2.8.0: + resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + + lit@2.8.0: + resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + + livereload-js@2.4.0: + resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==} + + load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + + load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + + loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + + loader-utils@3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + engines: {node: '>= 12.13.0'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + lodash.flow@3.5.0: + resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} + + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + + lodash.isarguments@3.1.0: + resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + + lodash.memoize@3.0.4: + resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.padend@4.6.1: + resolution: {integrity: sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==} + + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash.zip@4.2.0: + resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@1.0.2: + resolution: {integrity: sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==} + engines: {node: '>=0.10.0'} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-update@2.3.0: + resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} + engines: {node: '>=4'} + + loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + + long@4.0.0: + resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} + + longest-streak@2.0.4: + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} + + longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + loupe@3.1.0: + resolution: {integrity: sha512-qKl+FrLXUhFuHUoDJG7f8P8gEMHq9NFS0c6ghXG1J0rldmZFQZoNVv/vyirE9qwCIhWZDsvEFd1sbFu3GvRQFg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lowercase-keys@1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + + lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + + lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + + lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + lru_map@0.4.1: + resolution: {integrity: sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==} + + lunr@0.5.12: + resolution: {integrity: sha512-/EtfOyuNP7BLVKhDvLyKJkFvCup2vwcIwQXCuasZEFk7XUJ4/blztVuefeLapUb1I5uMGsosN9A8J9Mu9A6yBg==} + + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + + magic-string@0.30.5: + resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + engines: {node: '>=12'} + + magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-age-cleaner@0.1.3: + resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} + engines: {node: '>=6'} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + + map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + + markdown-extensions@1.1.1: + resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} + engines: {node: '>=0.10.0'} + + markdown-table@2.0.0: + resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + + markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + + marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + + match-sorter@6.3.3: + resolution: {integrity: sha512-sgiXxrRijEe0SzHKGX4HouCpfHRPnqteH42UdMEW7BlWy990ZkzcvonJGv4Uu9WE7Y1f8Yocm91+4qFPCbmNww==} + + matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + + mdast-util-definitions@5.1.2: + resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + + mdast-util-find-and-replace@1.1.1: + resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} + + mdast-util-find-and-replace@2.2.2: + resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + + mdast-util-footnote@0.1.7: + resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} + + mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + + mdast-util-from-markdown@1.3.1: + resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + + mdast-util-frontmatter@0.2.0: + resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} + + mdast-util-gfm-autolink-literal@0.1.3: + resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} + + mdast-util-gfm-autolink-literal@1.0.3: + resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + + mdast-util-gfm-footnote@1.0.2: + resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + + mdast-util-gfm-strikethrough@0.2.3: + resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} + + mdast-util-gfm-strikethrough@1.0.3: + resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + + mdast-util-gfm-table@0.1.6: + resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} + + mdast-util-gfm-table@1.0.7: + resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + + mdast-util-gfm-task-list-item@0.1.6: + resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} + + mdast-util-gfm-task-list-item@1.0.2: + resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + + mdast-util-gfm@0.1.2: + resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} + + mdast-util-gfm@2.0.2: + resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + + mdast-util-math@2.0.2: + resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==} + + mdast-util-mdx-expression@1.3.2: + resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} + + mdast-util-mdx-jsx@2.1.4: + resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==} + + mdast-util-mdx@2.0.1: + resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==} + + mdast-util-mdxjs-esm@1.3.1: + resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} + + mdast-util-phrasing@3.0.1: + resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + + mdast-util-to-hast@12.3.0: + resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + + mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + + mdast-util-to-markdown@0.6.5: + resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} + + mdast-util-to-markdown@1.5.0: + resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + + mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + + mdast-util-to-string@3.2.0: + resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + mdn-data@2.0.4: + resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memfs@3.5.3: + resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} + engines: {node: '>= 4.0.0'} + + memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + mensch@0.3.4: + resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==} + + meow@6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + + meow@8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + + meow@9.0.0: + resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} + engines: {node: '>=10'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + mermaid@10.7.0: + resolution: {integrity: sha512-PsvGupPCkN1vemAAjScyw4pw34p4/0dZkSrqvAB26hUvJulOWGIwt35FZWmT9wPIi4r0QLa5X0PB4YLIGn0/YQ==} + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micromark-core-commonmark@1.1.0: + resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + + micromark-extension-footnote@0.3.2: + resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} + + micromark-extension-frontmatter@0.2.2: + resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} + + micromark-extension-gfm-autolink-literal@0.5.7: + resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} + + micromark-extension-gfm-autolink-literal@1.0.5: + resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + + micromark-extension-gfm-footnote@1.1.2: + resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + + micromark-extension-gfm-strikethrough@0.6.5: + resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} + + micromark-extension-gfm-strikethrough@1.0.7: + resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + + micromark-extension-gfm-table@0.4.3: + resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} + + micromark-extension-gfm-table@1.0.7: + resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + + micromark-extension-gfm-tagfilter@0.3.0: + resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} + + micromark-extension-gfm-tagfilter@1.0.2: + resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + + micromark-extension-gfm-task-list-item@0.3.3: + resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} + + micromark-extension-gfm-task-list-item@1.0.5: + resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + + micromark-extension-gfm@0.3.3: + resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} + + micromark-extension-gfm@2.0.3: + resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + + micromark-extension-math@2.1.2: + resolution: {integrity: sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==} + + micromark-extension-mdx-expression@1.0.8: + resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} + + micromark-extension-mdx-jsx@1.0.5: + resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} + + micromark-extension-mdx-md@1.0.1: + resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} + + micromark-extension-mdxjs-esm@1.0.5: + resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} + + micromark-extension-mdxjs@1.0.1: + resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} + + micromark-factory-destination@1.1.0: + resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + + micromark-factory-label@1.1.0: + resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + + micromark-factory-mdx-expression@1.0.9: + resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} + + micromark-factory-space@1.1.0: + resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + + micromark-factory-title@1.1.0: + resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + + micromark-factory-whitespace@1.1.0: + resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + + micromark-util-character@1.2.0: + resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + + micromark-util-character@2.0.1: + resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + + micromark-util-chunked@1.1.0: + resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + + micromark-util-classify-character@1.1.0: + resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + + micromark-util-combine-extensions@1.1.0: + resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + + micromark-util-decode-numeric-character-reference@1.1.0: + resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + + micromark-util-decode-string@1.1.0: + resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + + micromark-util-encode@1.1.0: + resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} + + micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + + micromark-util-events-to-acorn@1.2.3: + resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} + + micromark-util-html-tag-name@1.2.0: + resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} + + micromark-util-normalize-identifier@1.1.0: + resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + + micromark-util-resolve-all@1.1.0: + resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + + micromark-util-sanitize-uri@1.2.0: + resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + + micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + + micromark-util-subtokenize@1.1.0: + resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + + micromark-util-symbol@1.1.0: + resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} + + micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + + micromark-util-types@1.1.0: + resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} + + micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + + micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + + micromark@3.2.0: + resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + + micromatch@3.1.10: + resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} + engines: {node: '>=0.10.0'} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mime@3.0.0: + resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} + engines: {node: '>=10.0.0'} + hasBin: true + + mimic-fn@1.2.0: + resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} + engines: {node: '>=4'} + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + + mimic-response@2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + mini-css-extract-plugin@2.7.7: + resolution: {integrity: sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@2.9.0: + resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} + + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + minizlib@1.3.3: + resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} + + mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + + mixme@0.5.10: + resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} + engines: {node: '>= 8.0.0'} + + mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + mlly@1.5.0: + resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + + mocha@10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} + engines: {node: '>= 14.0.0'} + hasBin: true + + module-deps@6.2.3: + resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} + engines: {node: '>= 0.8.0'} + hasBin: true + + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + + motion@10.16.2: + resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} + + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + + multiformats@9.9.0: + resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} + + mute-stream@0.0.7: + resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} + + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + + nanoid@3.3.3: + resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + + natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + needle@2.9.1: + resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + neon-cli@0.4.0: + resolution: {integrity: sha512-66HhHb8rk+zHSG64CI6jhyOQqpibBAald8ObdQPCjXcCjzSEVnkQHutUE8dyNlHRNT7xLfrZGkDbtwrYh2p+6w==} + engines: {node: '>=8'} + hasBin: true + + new-github-release-url@1.0.0: + resolution: {integrity: sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A==} + engines: {node: '>=10'} + + next-mdx-remote@4.4.1: + resolution: {integrity: sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==} + engines: {node: '>=14', npm: '>=7'} + peerDependencies: + react: '>=16.x <=18.x' + react-dom: '>=16.x <=18.x' + + next-seo@6.4.0: + resolution: {integrity: sha512-XQFxkOL2hw0YE+P100HbI3EAvcludlHPxuzMgaIjKb7kPK0CvjGvLFjd9hszZFEDc5oiQkGFA8+cuWcnip7eYA==} + peerDependencies: + next: ^8.1.1-canary.54 || >=9.0.0 + react: '>=16.0.0' + react-dom: '>=16.0.0' + + next-themes@0.2.1: + resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} + peerDependencies: + next: '*' + react: '*' + react-dom: '*' + + next@13.5.6: + resolution: {integrity: sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==} + engines: {node: '>=16.14.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + sass: + optional: true + + nextra-theme-docs@2.13.2: + resolution: {integrity: sha512-yE4umXaImp1/kf/sFciPj2+EFrNSwd9Db26hi98sIIiujzGf3+9eUgAz45vF9CwBw50FSXxm1QGRcY+slQ4xQQ==} + peerDependencies: + next: '>=9.5.3' + nextra: 2.13.2 + react: '>=16.13.1' + react-dom: '>=16.13.1' + + nextra@2.13.2: + resolution: {integrity: sha512-pIgOSXNUqTz1laxV4ChFZOU7lzJAoDHHaBPj8L09PuxrLKqU1BU/iZtXAG6bQeKCx8EPdBsoXxEuENnL9QGnGA==} + engines: {node: '>=16'} + peerDependencies: + next: '>=9.5.3' + react: '>=16.13.1' + react-dom: '>=16.13.1' + + nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + + nise@5.1.7: + resolution: {integrity: sha512-wWtNUhkT7k58uvWTB/Gy26eA/EJKtPZFVAhEilN5UYVmmGRYOURbejRUyKm0Uu9XVEW7K5nBOZfR8VMB4QR2RQ==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + + node-addon-api@7.1.0: + resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} + engines: {node: ^16 || ^18 || >= 20} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-fetch-native@1.6.1: + resolution: {integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + + node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + hasBin: true + + node-html-parser@6.1.12: + resolution: {integrity: sha512-/bT/Ncmv+fbMGX96XG9g05vFt43m/+SYKIs9oAemQVYyVcZmDAI2Xq/SbNcpOA35eF0Zk2av3Ksf+Xk8Vt8abA==} + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-notifier@8.0.2: + resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} + + node-pre-gyp@0.14.0: + resolution: {integrity: sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==} + deprecated: 'Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future' + hasBin: true + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + node-wget-js@1.0.1: + resolution: {integrity: sha512-SXzjefvZvJc5kn9kqsZhs0es8aQ1o9pnnIpzA6CPeHb7CaIfl+7OkO1n8uqyVawMzzUfhEXxW6vbqUsWEgSaFw==} + hasBin: true + + nofilter@1.0.4: + resolution: {integrity: sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==} + engines: {node: '>=8'} + + non-layered-tidy-tree-layout@2.0.2: + resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} + + nopt@4.0.3: + resolution: {integrity: sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-url@3.3.0: + resolution: {integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==} + engines: {node: '>=6'} + + normalize-url@4.5.1: + resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} + engines: {node: '>=8'} + + normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + + np@7.7.0: + resolution: {integrity: sha512-G4HfO6JUl7iKOX1qfYHM/kG5ApqqZ4ma8YjtVAJoyS5VdKkGE/OdSG3cOE9Lwr71klNz9n6KIZmPRnh0L7qM1Q==} + engines: {git: '>=2.11.0', node: '>=10', npm: '>=6.8.0', yarn: '>=1.7.0'} + hasBin: true + + npm-bundled@1.1.2: + resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} + + npm-conf@1.1.3: + resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} + engines: {node: '>=4'} + + npm-name@6.0.1: + resolution: {integrity: sha512-fhKRvUAxaYzMEUZim4mXWyfFbVS+M1CbrCLdAo3txWzrctxKka/h+KaBW0O9Cz5uOM00Nldn2JLWhuwnyW3SUw==} + engines: {node: '>=10'} + + npm-normalize-package-bin@1.0.1: + resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} + + npm-packlist@1.4.8: + resolution: {integrity: sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==} + + npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + + npm-run-path@2.0.2: + resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} + engines: {node: '>=4'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + npm-run-path@5.2.0: + resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + npm-to-yarn@2.1.0: + resolution: {integrity: sha512-2C1IgJLdJngq1bSER7K7CGFszRr9s2rijEwvENPEgI0eK9xlD3tNwDc0UJnRj7FIT2aydWm72jB88uVswAhXHA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + npmlog@4.1.2: + resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} + + nth-check@1.0.2: + resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + number-is-nan@1.0.1: + resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} + engines: {node: '>=0.10.0'} + + nunjucks-do@1.0.0: + resolution: {integrity: sha512-GQwENqZdcSbni0iYfEiNi3hs634JBSQdxnbnd9CetGkMYPnpjG1Jn5DT/qgAaC/STwMc7C4MSIJvLSNertclSg==} + + nunjucks@3.2.4: + resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==} + engines: {node: '>= 6.9.0'} + hasBin: true + peerDependencies: + chokidar: ^3.3.0 + peerDependenciesMeta: + chokidar: + optional: true + + nwsapi@2.2.7: + resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + + oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + + object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-path@0.11.8: + resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} + engines: {node: '>= 10.12.0'} + + object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.7: + resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.7: + resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} + engines: {node: '>= 0.4'} + + object.getownpropertydescriptors@2.1.7: + resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} + engines: {node: '>= 0.8'} + + object.groupby@1.0.1: + resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + + object.hasown@1.1.3: + resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + + object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + + object.values@1.1.7: + resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} + engines: {node: '>= 0.4'} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + ofetch@1.3.3: + resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + + ohash@1.1.3: + resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + + omit-keys@0.1.0: + resolution: {integrity: sha512-JfTw3lVL54592o0Vb1frMN6DpS/wT8Uz/IWg1e0w2ZkjF4yyPYHGJAtdcBcUbp/RMf/LbdMzIz6QZ6ycaRCFUA==} + engines: {node: '>=0.10.0'} + + on-exit-leak-free@0.2.0: + resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@2.0.1: + resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} + engines: {node: '>=4'} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + open@7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + + open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + + optimism@0.10.3: + resolution: {integrity: sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw==} + + optimism@0.16.2: + resolution: {integrity: sha512-zWNbgWj+3vLEjZNIh/okkY2EUfX+vB9TJopzIZwT1xxaMqC5hRLLraePod4c5n4He08xuXNH+zhKFFCu390wiQ==} + + optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + org-regex@1.0.0: + resolution: {integrity: sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==} + engines: {node: '>=8'} + + os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + + os-homedir@1.0.2: + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + osenv@0.1.5: + resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} + + outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + + ow@0.21.0: + resolution: {integrity: sha512-dlsoDe39g7mhdsdrC1R/YwjT7yjVqE3svWwOlMGvN690waBkgEZBmKBdkmKvSt5/wZ6E0Jn/nIesPqMZOpPKqw==} + engines: {node: '>=10'} + + p-cancelable@1.1.0: + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} + + p-cancelable@2.1.1: + resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} + engines: {node: '>=8'} + + p-defer@1.0.0: + resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} + engines: {node: '>=4'} + + p-each-series@2.2.0: + resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} + engines: {node: '>=8'} + + p-event@4.2.0: + resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} + engines: {node: '>=8'} + + p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + + p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + + p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-memoize@4.0.4: + resolution: {integrity: sha512-ijdh0DP4Mk6J4FXlOM6vPPoCjPytcEseW8p/k5SDTSSfGV3E9bpt9Yzfifvzp6iohIieoLTkXRb32OWV0fB2Lw==} + engines: {node: '>=10'} + + p-queue@6.6.2: + resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} + engines: {node: '>=8'} + + p-reflect@2.1.0: + resolution: {integrity: sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==} + engines: {node: '>=8'} + + p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + + p-settle@4.1.1: + resolution: {integrity: sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==} + engines: {node: '>=10'} + + p-timeout@3.2.0: + resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} + engines: {node: '>=8'} + + p-timeout@4.1.0: + resolution: {integrity: sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==} + engines: {node: '>=10'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json@6.5.0: + resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} + engines: {node: '>=8'} + + pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + + pako@2.1.0: + resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parents@1.0.1: + resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} + + parse-asn1@5.1.6: + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + + parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + + parse-entities@4.0.1: + resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + + parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-numeric-range@1.3.0: + resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} + + parse-path@7.0.0: + resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + + parse-url@8.1.0: + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5-htmlparser2-tree-adapter@7.0.0: + resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + + patch-package@6.5.1: + resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==} + engines: {node: '>=10', npm: '>5'} + hasBin: true + + patch-package@8.0.0: + resolution: {integrity: sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==} + engines: {node: '>=14', npm: '>5'} + hasBin: true + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-platform@0.11.15: + resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} + engines: {node: '>= 0.8.0'} + + path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + + path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} + + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + + pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + + periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + + picocolors@0.2.1: + resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pify@5.0.0: + resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} + engines: {node: '>=10'} + + pino-abstract-transport@0.5.0: + resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + + pino-std-serializers@4.0.0: + resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + + pino@7.11.0: + resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + hasBin: true + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + + pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + + posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + + postcss-attribute-case-insensitive@5.0.2: + resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-browser-comments@4.0.0: + resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==} + engines: {node: '>=8'} + peerDependencies: + browserslist: '>=4' + postcss: '>=8' + + postcss-calc@7.0.5: + resolution: {integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==} + + postcss-calc@8.2.4: + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + + postcss-clamp@4.1.0: + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + + postcss-color-functional-notation@4.2.4: + resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-color-hex-alpha@8.0.4: + resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-color-rebeccapurple@7.1.1: + resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-colormin@4.0.3: + resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} + engines: {node: '>=6.9.0'} + + postcss-colormin@5.3.1: + resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-convert-values@4.0.1: + resolution: {integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==} + engines: {node: '>=6.9.0'} + + postcss-convert-values@5.1.3: + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-custom-media@8.0.2: + resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + + postcss-custom-properties@12.1.11: + resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-custom-selectors@6.0.3: + resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + + postcss-dir-pseudo-class@6.0.5: + resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-discard-comments@4.0.2: + resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==} + engines: {node: '>=6.9.0'} + + postcss-discard-comments@5.1.2: + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-discard-duplicates@4.0.2: + resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} + engines: {node: '>=6.9.0'} + + postcss-discard-duplicates@5.1.0: + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-discard-empty@4.0.1: + resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} + engines: {node: '>=6.9.0'} + + postcss-discard-empty@5.1.1: + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-discard-overridden@4.0.1: + resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} + engines: {node: '>=6.9.0'} + + postcss-discard-overridden@5.1.0: + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-double-position-gradients@3.1.2: + resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-env-function@4.0.6: + resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-flexbugs-fixes@5.0.2: + resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} + peerDependencies: + postcss: ^8.1.4 + + postcss-focus-visible@6.0.4: + resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-focus-within@5.0.4: + resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-font-variant@5.0.0: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + + postcss-gap-properties@3.0.5: + resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-image-set-function@4.0.7: + resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-import@15.1.0: + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + + postcss-initial@4.0.1: + resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} + peerDependencies: + postcss: ^8.0.0 + + postcss-js@4.0.1: + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + + postcss-lab-function@4.2.1: + resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-load-config@2.1.2: + resolution: {integrity: sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==} + engines: {node: '>= 4'} + + postcss-load-config@3.1.4: + resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} + engines: {node: '>= 10'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-loader@6.2.1: + resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + + postcss-logical@5.0.4: + resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + + postcss-media-minmax@5.0.0: + resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.0 + + postcss-merge-longhand@4.0.11: + resolution: {integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==} + engines: {node: '>=6.9.0'} + + postcss-merge-longhand@5.1.7: + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-merge-rules@4.0.3: + resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} + engines: {node: '>=6.9.0'} + + postcss-merge-rules@5.1.4: + resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-font-values@4.0.2: + resolution: {integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==} + engines: {node: '>=6.9.0'} + + postcss-minify-font-values@5.1.0: + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-gradients@4.0.2: + resolution: {integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==} + engines: {node: '>=6.9.0'} + + postcss-minify-gradients@5.1.1: + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-params@4.0.2: + resolution: {integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==} + engines: {node: '>=6.9.0'} + + postcss-minify-params@5.1.4: + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-minify-selectors@4.0.2: + resolution: {integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==} + engines: {node: '>=6.9.0'} + + postcss-minify-selectors@5.2.1: + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-modules-extract-imports@1.1.0: + resolution: {integrity: sha512-zF9+UIEvtpeqMGxhpeT9XaIevQSrBBCz9fi7SwfkmjVacsSj8DY5eFVgn+wY8I9vvdDDwK5xC8Myq4UkoLFIkA==} + + postcss-modules-extract-imports@3.0.0: + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-local-by-default@1.2.0: + resolution: {integrity: sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==} + + postcss-modules-local-by-default@4.0.4: + resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-scope@1.1.0: + resolution: {integrity: sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==} + + postcss-modules-scope@3.1.1: + resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules-values@1.3.0: + resolution: {integrity: sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==} + + postcss-modules-values@4.0.0: + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + + postcss-modules@2.0.0: + resolution: {integrity: sha512-eqp+Bva+U2cwQO7dECJ8/V+X+uH1HduNeITB0CPPFAu6d/8LKQ32/j+p9rQ2YL1QytVcrNU0X+fBqgGmQIA1Rw==} + + postcss-modules@4.3.1: + resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} + peerDependencies: + postcss: ^8.0.0 + + postcss-nested@6.0.1: + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + + postcss-nesting@10.2.0: + resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-normalize-charset@4.0.1: + resolution: {integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==} + engines: {node: '>=6.9.0'} + + postcss-normalize-charset@5.1.0: + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-display-values@4.0.2: + resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} + engines: {node: '>=6.9.0'} + + postcss-normalize-display-values@5.1.0: + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-positions@4.0.2: + resolution: {integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==} + engines: {node: '>=6.9.0'} + + postcss-normalize-positions@5.1.1: + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-repeat-style@4.0.2: + resolution: {integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==} + engines: {node: '>=6.9.0'} + + postcss-normalize-repeat-style@5.1.1: + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-string@4.0.2: + resolution: {integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==} + engines: {node: '>=6.9.0'} + + postcss-normalize-string@5.1.0: + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-timing-functions@4.0.2: + resolution: {integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==} + engines: {node: '>=6.9.0'} + + postcss-normalize-timing-functions@5.1.0: + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-unicode@4.0.1: + resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} + engines: {node: '>=6.9.0'} + + postcss-normalize-unicode@5.1.1: + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-url@4.0.1: + resolution: {integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==} + engines: {node: '>=6.9.0'} + + postcss-normalize-url@5.1.0: + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize-whitespace@4.0.2: + resolution: {integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==} + engines: {node: '>=6.9.0'} + + postcss-normalize-whitespace@5.1.1: + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-normalize@10.0.1: + resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==} + engines: {node: '>= 12'} + peerDependencies: + browserslist: '>= 4' + postcss: '>= 8' + + postcss-opacity-percentage@1.1.3: + resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-ordered-values@4.1.2: + resolution: {integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==} + engines: {node: '>=6.9.0'} + + postcss-ordered-values@5.1.3: + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-overflow-shorthand@3.0.4: + resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-page-break@3.0.4: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + + postcss-place@7.0.5: + resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-preset-env@7.8.3: + resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-pseudo-class-any-link@7.1.6: + resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-reduce-initial@4.0.3: + resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} + engines: {node: '>=6.9.0'} + + postcss-reduce-initial@5.1.2: + resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-reduce-transforms@4.0.2: + resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} + engines: {node: '>=6.9.0'} + + postcss-reduce-transforms@5.1.0: + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-replace-overflow-wrap@4.0.0: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + + postcss-selector-not@6.0.1: + resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + + postcss-selector-parser@3.1.2: + resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} + engines: {node: '>=8'} + + postcss-selector-parser@6.0.15: + resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} + engines: {node: '>=4'} + + postcss-svgo@4.0.3: + resolution: {integrity: sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==} + engines: {node: '>=6.9.0'} + + postcss-svgo@5.1.0: + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-unique-selectors@4.0.1: + resolution: {integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==} + engines: {node: '>=6.9.0'} + + postcss-unique-selectors@5.1.1: + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + postcss-value-parser@3.3.1: + resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@6.0.1: + resolution: {integrity: sha512-VbGX1LQgQbf9l3cZ3qbUuC3hGqIEOGQFHAEHQ/Diaeo0yLgpgK5Rb8J+OcamIfQ9PbAU/fzBjVtQX3AhJHUvZw==} + engines: {node: '>=4.0.0'} + + postcss@7.0.39: + resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} + engines: {node: '>=6.0.0'} + + postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} + engines: {node: ^10 || ^12 || >=14} + + postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + engines: {node: ^10 || ^12 || >=14} + + preact-compat@3.19.0: + resolution: {integrity: sha512-f83A4hIhH8Uzhb9GbIcGk8SM19ffWlwP9mDaYwQdRnMdekZwcCA7eIAbeV4EMQaV9C0Yuy8iKgBAtyTKPZQt/Q==} + peerDependencies: + preact: <10 + + preact-context@1.1.4: + resolution: {integrity: sha512-gcCjPJ65R0MiW9hDu8W/3WAmyTElIvwLyEO6oLQiM6/TbLKLxCpBCWV8GJjx52TTEyUr60HLDcmoCXZlslelzQ==} + peerDependencies: + preact: ^8.2.7 + + preact-render-to-string@3.8.2: + resolution: {integrity: sha512-przuZPajiurStGgxMoJP0EJeC4xj5CgHv+M7GfF3YxAdhGgEWAkhOSE0xympAFN20uMayntBZpttIZqqLl77fw==} + peerDependencies: + preact: '*' + + preact-transition-group@1.1.1: + resolution: {integrity: sha512-v89XLodCvylf5lMrhI+LqIhDsAjWfiDKV4keAU+L5yDtxmqn8uvjZXn+haKMEG0x0PZz81own19SuNJD5NlOFQ==} + peerDependencies: + preact: '*' + + preact@10.19.3: + resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} + + preferred-pm@3.1.2: + resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} + engines: {node: '>=10'} + + prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prepend-http@2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + + pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + + pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + + pretty-format@26.6.2: + resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} + engines: {node: '>= 10'} + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + pretty-format@28.1.3: + resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} + engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + pretty-format@3.8.0: + resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + promise.series@0.2.0: + resolution: {integrity: sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==} + engines: {node: '>=0.12'} + + promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + property-information@6.4.1: + resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} + + proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + + protocols@2.0.1: + resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-compare@2.5.1: + resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} + + pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pupa@2.1.1: + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} + + pvtsutils@1.3.5: + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + + pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + + q@1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + + qr.js@0.0.0: + resolution: {integrity: sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==} + + qrcode@1.5.3: + resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} + engines: {node: '>=10.13.0'} + hasBin: true + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + qs@6.11.2: + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} + + qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + + query-string@6.14.1: + resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} + engines: {node: '>=6'} + + query-string@7.1.3: + resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} + engines: {node: '>=6'} + + querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + + quickly-copy-file@1.0.0: + resolution: {integrity: sha512-Coy5ADj9Z3iKZ/7Y0Qtf04mBET550LPemwp9rLPE2rROidvuqB42nP7w5SwM6Wl6jPNcrxSSgzco01h1Hu8iIg==} + + radix3@1.1.0: + resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} + + raf@3.4.1: + resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@1.1.7: + resolution: {integrity: sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==} + engines: {node: '>= 0.8.0'} + + raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-app-polyfill@3.0.0: + resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} + engines: {node: '>=14'} + + react-app-rewired@2.2.1: + resolution: {integrity: sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==} + hasBin: true + peerDependencies: + react-scripts: '>=2.1.3' + + react-dev-utils@12.0.1: + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + + react-dom@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + + react-error-overlay@6.0.11: + resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + + react-error-overlay@6.0.9: + resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==} + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + react-qr-code@2.0.12: + resolution: {integrity: sha512-k+pzP5CKLEGBRwZsDPp98/CAJeXlsYRHM2iZn1Sd5Th/HnKhIZCSg27PXO58zk8z02RaEryg+60xa4vyywMJwg==} + peerDependencies: + react: ^16.x || ^17.x || ^18.x + react-native-svg: '*' + peerDependenciesMeta: + react-native-svg: + optional: true + + react-refresh@0.10.0: + resolution: {integrity: sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==} + engines: {node: '>=0.10.0'} + + react-refresh@0.11.0: + resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} + engines: {node: '>=0.10.0'} + + react-refresh@0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} + + react-router-dom@6.21.3: + resolution: {integrity: sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + + react-router@6.21.3: + resolution: {integrity: sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + + react-scripts@5.0.1: + resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} + engines: {node: '>=14.0.0'} + hasBin: true + peerDependencies: + eslint: '*' + react: '>= 16' + typescript: ^3.2.1 || ^4 + peerDependenciesMeta: + typescript: + optional: true + + react@17.0.2: + resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} + engines: {node: '>=0.10.0'} + + react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + + read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + + read-only-stream@2.0.0: + resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + reading-time@1.5.0: + resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} + + readline-sync@1.4.10: + resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==} + engines: {node: '>= 0.8.0'} + + real-require@0.1.0: + resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + engines: {node: '>= 12.13.0'} + + recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + redis-errors@1.2.0: + resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} + engines: {node: '>=4'} + + redis-parser@3.0.0: + resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} + engines: {node: '>=4'} + + reduce-flatten@1.0.1: + resolution: {integrity: sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==} + engines: {node: '>=0.10.0'} + + reflect-metadata@0.1.14: + resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} + + reflect.getprototypeof@1.0.4: + resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} + engines: {node: '>= 0.4'} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + + regex-parser@2.3.0: + resolution: {integrity: sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==} + + regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + registry-auth-token@4.2.2: + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} + engines: {node: '>=6.0.0'} + + registry-url@5.1.0: + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + rehype-katex@7.0.0: + resolution: {integrity: sha512-h8FPkGE00r2XKU+/acgqwWUlyzve1IiOKwsEkg4pDL3k48PiE0Pt+/uLtVHDVkN1yA4iurZN6UES8ivHVEQV6Q==} + + rehype-pretty-code@0.9.11: + resolution: {integrity: sha512-Eq90eCYXQJISktfRZ8PPtwc5SUyH6fJcxS8XOMnHPUQZBtC6RYo67gGlley9X2nR8vlniPj0/7oCDEYHKQa/oA==} + engines: {node: '>=16'} + peerDependencies: + shiki: '*' + + rehype-raw@7.0.0: + resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + + relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + + remark-footnotes@3.0.0: + resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} + + remark-frontmatter@3.0.0: + resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} + + remark-gfm@1.0.0: + resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} + + remark-gfm@3.0.1: + resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + + remark-math@5.1.1: + resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==} + + remark-mdx@2.3.0: + resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} + + remark-parse@10.0.2: + resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + + remark-parse@9.0.0: + resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} + + remark-reading-time@2.0.1: + resolution: {integrity: sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==} + + remark-rehype@10.1.0: + resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + + remove-accents@0.5.0: + resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + require-relative@0.8.7: + resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-url-loader@4.0.0: + resolution: {integrity: sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==} + engines: {node: '>=8.9'} + peerDependencies: + rework: 1.0.1 + rework-visit: 1.0.0 + peerDependenciesMeta: + rework: + optional: true + rework-visit: + optional: true + + resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + + resolve.exports@1.1.1: + resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + response-iterator@0.2.6: + resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} + engines: {node: '>=0.8'} + + responselike@1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + + responselike@2.0.1: + resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + + restore-cursor@2.0.0: + resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} + engines: {node: '>=4'} + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + + retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfc4648@1.4.0: + resolution: {integrity: sha512-3qIzGhHlMHA6PoT6+cdPKZ+ZqtxkIvg8DZGKA5z6PQ33/uuhoJ+Ws/D/J9rXW6gXodgH8QYlz2UCl+sdUDmNIg==} + + rgb-regex@1.0.1: + resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} + + rgba-regex@1.0.0: + resolution: {integrity: sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==} + + rimraf@2.6.3: + resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} + hasBin: true + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + + roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} + + robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + + rollup-plugin-postcss@3.1.8: + resolution: {integrity: sha512-JHnGfW8quNc6ePxEkZ05HEZ1YiRxDgY9RKEetMfsrwxR2kh/d90OVScTc6b1c2Q17Cs/5TRYL+1uddG21lQe3w==} + engines: {node: '>=10'} + + rollup-plugin-postcss@4.0.2: + resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==} + engines: {node: '>=10'} + peerDependencies: + postcss: 8.x + + rollup-plugin-string@3.0.0: + resolution: {integrity: sha512-vqyzgn9QefAgeKi+Y4A7jETeIAU1zQmS6VotH6bzm/zmUQEnYkpIGRaOBPY41oiWYV4JyBoGAaBjYMYuv+6wVw==} + + rollup-plugin-svelte@6.1.1: + resolution: {integrity: sha512-ijnm0pH1ScrY4uxwaNXBpNVejVzpL2769hIEbAlnqNUWZrffLspu5/k9/l/Wsj3NrEHLQ6wCKGagVJonyfN7ow==} + peerDependencies: + rollup: '>=1.19.2' + svelte: '*' + + rollup-plugin-terser@7.0.2: + resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} + deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser + peerDependencies: + rollup: ^2.0.0 + + rollup-pluginutils@2.8.2: + resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + + rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + + rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + + rollup@4.9.6: + resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + rpc-websockets@7.9.0: + resolution: {integrity: sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw==} + + rsvp@3.6.2: + resolution: {integrity: sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==} + engines: {node: 0.12.* || 4.* || 6.* || >= 7.*} + + rsvp@4.8.5: + resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} + engines: {node: 6.* || >= 7.*} + + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + run-script-os@1.1.6: + resolution: {integrity: sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==} + hasBin: true + + rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + + rx-lite-aggregates@4.0.8: + resolution: {integrity: sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==} + + rx-lite@4.0.8: + resolution: {integrity: sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==} + + rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + + safe-array-concat@1.1.0: + resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-identifier@0.4.2: + resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} + + safe-json-parse@1.0.1: + resolution: {integrity: sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==} + + safe-regex-test@1.0.2: + resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} + engines: {node: '>= 0.4'} + + safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + + safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sander@0.5.1: + resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + + sane@4.1.0: + resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} + engines: {node: 6.* || 8.* || >= 10.*} + deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added + hasBin: true + + sanitize.css@13.0.0: + resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==} + + sass-loader@12.6.0: + resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + sass: ^1.3.0 + sass-embedded: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + sass-embedded: + optional: true + + sass@1.70.0: + resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==} + engines: {node: '>=14.0.0'} + hasBin: true + + sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + + sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + + saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + + scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + + schema-utils@2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + + schema-utils@2.7.1: + resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} + engines: {node: '>= 8.9.0'} + + schema-utils@3.3.0: + resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + + scoped-regex@2.1.0: + resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} + engines: {node: '>=8'} + + scroll-into-view-if-needed@3.1.0: + resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + + secp256k1@4.0.3: + resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} + engines: {node: '>=10.0.0'} + + section-matter@1.0.0: + resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} + engines: {node: '>=4'} + + select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + + selfsigned@2.4.1: + resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} + engines: {node: '>=10'} + + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + semver-diff@3.1.1: + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + + send@0.17.2: + resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} + engines: {node: '>= 0.8.0'} + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + serialize-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + + serialize-javascript@4.0.0: + resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + + serialize-javascript@6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.0: + resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + + set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + + sha256@0.2.0: + resolution: {integrity: sha512-kTWMJUaez5iiT9CcMv8jSq6kMhw3ST0uRdcIWl3D77s6AsLXNXRp3heeqqfu5+Dyfu4hwpQnMzhqHh8iNQxw0w==} + + shasum-object@1.0.0: + resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shellwords@0.1.1: + resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} + + shiki@0.14.7: + resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} + + side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + + sinon@17.0.1: + resolution: {integrity: sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slice-ansi@0.0.4: + resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} + engines: {node: '>=0.10.0'} + + slick@1.12.2: + resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} + + smartwrap@2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + + snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + + snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + + snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + + sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + + sonic-boom@2.8.0: + resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + + sorcery@0.10.0: + resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} + hasBin: true + + sort-keys@5.0.0: + resolution: {integrity: sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==} + engines: {node: '>=12'} + + source-list-map@2.0.1: + resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + + source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + source-map-loader@3.0.2: + resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + + source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + + sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + deprecated: Please use @jridgewell/sourcemap-codec instead + + space-separated-tokens@2.0.2: + resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} + + spawndamnit@2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.4.0: + resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.16: + resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + + spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + + spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + + split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + + split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + split@1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + + sshpk@1.18.0: + resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + standalone-react-addons-pure-render-mixin@0.1.1: + resolution: {integrity: sha512-HFkwqpJmvz4vxHyzdeUcjtsp8Am+NauLXdU2/YXT1/InPbszaRo1cLPAy/58H7oOPNNjteqHcv04JEw+d9C+Xw==} + + standard-as-callback@2.1.0: + resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} + + static-eval@2.0.2: + resolution: {integrity: sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==} + + static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + + stream-browserify@3.0.0: + resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + + stream-combiner2@1.1.1: + resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} + + stream-http@3.2.0: + resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + stream-splicer@2.0.1: + resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} + + stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + + string-hash@1.1.3: + resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-length@5.0.1: + resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==} + engines: {node: '>=12.20'} + + string-natural-compare@3.0.1: + resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} + + string-template@0.2.1: + resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} + + string-width@1.0.2: + resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} + engines: {node: '>=0.10.0'} + + string-width@2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.matchall@4.0.10: + resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + + string.prototype.padend@3.1.5: + resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + + string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + + string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-entities@4.0.3: + resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + + strip-ansi@5.2.0: + resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} + engines: {node: '>=6'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom-string@1.0.0: + resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} + engines: {node: '>=0.10.0'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-comments@2.0.1: + resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} + engines: {node: '>=10'} + + strip-eof@1.0.0: + resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} + engines: {node: '>=0.10.0'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + style-inject@0.3.0: + resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} + + style-loader@3.3.4: + resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + + style-to-object@0.4.4: + resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + + styled-jsx@5.1.1: + resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + + stylehacks@4.0.3: + resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} + engines: {node: '>=6.9.0'} + + stylehacks@5.1.1: + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + + stylis@4.3.1: + resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} + + subarg@1.0.0: + resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} + + sucrase@3.35.0: + resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} + + superstruct@0.14.2: + resolution: {integrity: sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==} + + superstruct@1.0.3: + resolution: {integrity: sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==} + engines: {node: '>=14.0.0'} + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + + supports-color@4.5.0: + resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} + engines: {node: '>=4'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svelte-check@1.6.0: + resolution: {integrity: sha512-nQTlbFJWhwoeLY5rkhgbjzGQSwk5F1pRdEXait0EFaQSrE/iJF+PIjrQlk0BjL/ogk9HaR9ZI0DQSYrl7jl3IQ==} + hasBin: true + peerDependencies: + svelte: ^3.24.0 + + svelte-preprocess@4.10.7: + resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} + engines: {node: '>= 9.11.2'} + peerDependencies: + '@babel/core': ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + node-sass: '*' + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 + svelte: ^3.23.0 + typescript: ^3.9.5 || ^4.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + coffeescript: + optional: true + less: + optional: true + node-sass: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + + svelte@3.59.2: + resolution: {integrity: sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==} + engines: {node: '>= 8'} + + svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + + svgo@1.3.2: + resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} + engines: {node: '>=4.0.0'} + deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. + hasBin: true + + svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + + symbol-observable@1.2.0: + resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} + engines: {node: '>=0.10.0'} + + symbol-observable@3.0.0: + resolution: {integrity: sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==} + engines: {node: '>=0.10'} + + symbol-observable@4.0.0: + resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} + engines: {node: '>=0.10'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + syntax-error@1.4.0: + resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} + + system-architecture@0.1.0: + resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} + engines: {node: '>=18'} + + table-layout@0.4.5: + resolution: {integrity: sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==} + engines: {node: '>=4.0.0'} + + tailwindcss@3.4.1: + resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} + engines: {node: '>=14.0.0'} + hasBin: true + + tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar@4.4.19: + resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} + engines: {node: '>=4.5'} + + temp-dir@2.0.0: + resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} + engines: {node: '>=8'} + + tempy@0.6.0: + resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} + engines: {node: '>=10'} + + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + + terminal-link@2.1.1: + resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} + engines: {node: '>=8'} + + terser-webpack-plugin@5.3.10: + resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.27.0: + resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + test-value@2.1.0: + resolution: {integrity: sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==} + engines: {node: '>=0.10.0'} + + text-encoding-utf-8@1.0.2: + resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + + thread-stream@0.15.2: + resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + + throat@5.0.0: + resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} + + throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + + through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + + timers-browserify@1.4.2: + resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} + engines: {node: '>=0.6.0'} + + timsort@0.3.0: + resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} + + tiny-lr@1.1.1: + resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==} + + title@3.5.3: + resolution: {integrity: sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==} + hasBin: true + + titleize@1.0.0: + resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==} + engines: {node: '>=0.10.0'} + + tmp@0.0.28: + resolution: {integrity: sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==} + engines: {node: '>=0.4.0'} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + + to-readable-stream@1.0.0: + resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} + engines: {node: '>=6'} + + to-readable-stream@2.1.0: + resolution: {integrity: sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==} + engines: {node: '>=8'} + + to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + + toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + toml@2.3.6: + resolution: {integrity: sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==} + + tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + + tough-cookie@4.1.3: + resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + + tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + + transform-markdown-links@2.1.0: + resolution: {integrity: sha512-7HWQwQ9US+tJSMMzi1aP+KA3QwfjDs8sB4H5GBMRHFNBMQVdgoF6VfIFy2nJR/UHRTkYoGFwWh2pe+QIwSvfOA==} + engines: {node: '>=4'} + + traverse@0.3.9: + resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} + + traverse@0.6.8: + resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} + engines: {node: '>= 0.4'} + + trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + + trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + + trough@1.0.5: + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + + trough@2.1.0: + resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} + + try-resolve@1.0.1: + resolution: {integrity: sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ==} + + tryer@1.0.1: + resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} + + ts-dedent@2.2.0: + resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} + engines: {node: '>=6.10'} + + ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + + ts-invariant@0.10.3: + resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} + engines: {node: '>=8'} + + ts-invariant@0.4.4: + resolution: {integrity: sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==} + + ts-jest@26.5.6: + resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} + engines: {node: '>= 10'} + hasBin: true + peerDependencies: + jest: '>=26 <27' + typescript: '>=3.8 <5.0' + + ts-mocha@10.0.0: + resolution: {integrity: sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw==} + engines: {node: '>= 6.X.X'} + hasBin: true + peerDependencies: + mocha: ^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X + + ts-node@10.9.1: + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + ts-node@7.0.1: + resolution: {integrity: sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==} + engines: {node: '>=4.2.0'} + hasBin: true + + ts-typed-json@0.2.2: + resolution: {integrity: sha512-9VrASRmfrPbsuXvl9rdq82TzGs3Qg7D8eI5vF6LOLBhFh5sju5wbpE73DzxUtyQ954kfVO9yfF9NNgXAJ16cPw==} + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + tty-browserify@0.0.1: + resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} + + tty-table@4.2.3: + resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} + engines: {node: '>=8.0.0'} + hasBin: true + + tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + + tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + + turbo-darwin-64@1.11.3: + resolution: {integrity: sha512-IsOOg2bVbIt3o/X8Ew9fbQp5t1hTHN3fGNQYrPQwMR2W1kIAC6RfbVD4A9OeibPGyEPUpwOH79hZ9ydFH5kifw==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@1.11.3: + resolution: {integrity: sha512-FsJL7k0SaPbJzI/KCnrf/fi3PgCDCjTliMc/kEFkuWVA6Httc3Q4lxyLIIinz69q6JTx8wzh6yznUMzJRI3+dg==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@1.11.3: + resolution: {integrity: sha512-SvW7pvTVRGsqtSkII5w+wriZXvxqkluw5FO/MNAdFw0qmoov+PZ237+37/NgArqE3zVn1GX9P6nUx9VO+xcQAg==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@1.11.3: + resolution: {integrity: sha512-YhUfBi1deB3m+3M55X458J6B7RsIS7UtM3P1z13cUIhF+pOt65BgnaSnkHLwETidmhRh8Dl3GelaQGrB3RdCDw==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@1.11.3: + resolution: {integrity: sha512-s+vEnuM2TiZuAUUUpmBHDr6vnNbJgj+5JYfnYmVklYs16kXh+EppafYQOAkcRIMAh7GjV3pLq5/uGqc7seZeHA==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@1.11.3: + resolution: {integrity: sha512-ZR5z5Zpc7cASwfdRAV5yNScCZBsgGSbcwiA/u3farCacbPiXsfoWUkz28iyrx21/TRW0bi6dbsB2v17swa8bjw==} + cpu: [arm64] + os: [win32] + + turbo@1.11.3: + resolution: {integrity: sha512-RCJOUFcFMQNIGKSjC9YmA5yVP1qtDiBA0Lv9VIgrXraI5Da1liVvl3VJPsoDNIR9eFMyA/aagx1iyj6UWem5hA==} + hasBin: true + + tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.10.0: + resolution: {integrity: sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==} + engines: {node: '>=8'} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + type-fest@0.16.0: + resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} + engines: {node: '>=10'} + + type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.4.1: + resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==} + engines: {node: '>=6'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + + type-graphql@1.1.1: + resolution: {integrity: sha512-iOOWVn0ehCYMukmnXStbkRwFE9dcjt7/oDcBS1JyQZo9CbhlIll4lHHps54HMEk4A4c8bUPd+DjK8w1/ZrxB4A==} + engines: {node: '>= 10.3'} + peerDependencies: + class-validator: '>=0.12.0' + graphql: ^15.3.0 + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + typedoc-plugin-markdown@3.17.1: + resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} + peerDependencies: + typedoc: '>=0.24.0' + + typedoc@0.24.8: + resolution: {integrity: sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==} + engines: {node: '>= 14.14'} + hasBin: true + peerDependencies: + typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x + + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + typical@2.6.1: + resolution: {integrity: sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==} + + ufo@1.3.2: + resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + + uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + + uhyphen@0.2.0: + resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} + + uint8arrays@3.1.1: + resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==} + + umd@3.0.3: + resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} + hasBin: true + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + uncrypto@0.1.3: + resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} + + undeclared-identifiers@1.1.3: + resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} + hasBin: true + + underscore@1.12.1: + resolution: {integrity: sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==} + + underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + + unenv@1.9.0: + resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} + + unfetch@4.2.0: + resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unified@10.1.2: + resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + + unified@9.2.2: + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + + union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + + uniq@1.0.1: + resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + + uniqs@2.0.0: + resolution: {integrity: sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==} + + unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + + unist-util-find-after@5.0.0: + resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + + unist-util-generated@2.0.1: + resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} + + unist-util-is@4.1.0: + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + + unist-util-is@5.2.1: + resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + + unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + + unist-util-position-from-estree@1.1.2: + resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} + + unist-util-position@4.0.4: + resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + + unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + + unist-util-remove-position@4.0.2: + resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} + + unist-util-remove-position@5.0.0: + resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + + unist-util-remove@4.0.0: + resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} + + unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + + unist-util-stringify-position@3.0.3: + resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + + unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + + unist-util-visit-parents@3.1.1: + resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + + unist-util-visit-parents@4.1.1: + resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} + + unist-util-visit-parents@5.1.3: + resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + + unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + + unist-util-visit@3.1.0: + resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} + + unist-util-visit@4.1.2: + resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + + unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + unquote@1.1.1: + resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + + unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + + unstorage@1.10.1: + resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} + peerDependencies: + '@azure/app-configuration': ^1.4.1 + '@azure/cosmos': ^4.0.0 + '@azure/data-tables': ^13.2.2 + '@azure/identity': ^3.3.2 + '@azure/keyvault-secrets': ^4.7.0 + '@azure/storage-blob': ^12.16.0 + '@capacitor/preferences': ^5.0.6 + '@netlify/blobs': ^6.2.0 + '@planetscale/database': ^1.11.0 + '@upstash/redis': ^1.23.4 + '@vercel/kv': ^0.2.3 + idb-keyval: ^6.2.1 + peerDependenciesMeta: + '@azure/app-configuration': + optional: true + '@azure/cosmos': + optional: true + '@azure/data-tables': + optional: true + '@azure/identity': + optional: true + '@azure/keyvault-secrets': + optional: true + '@azure/storage-blob': + optional: true + '@capacitor/preferences': + optional: true + '@netlify/blobs': + optional: true + '@planetscale/database': + optional: true + '@upstash/redis': + optional: true + '@vercel/kv': + optional: true + idb-keyval: + optional: true + + untun@0.1.3: + resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} + hasBin: true + + unxhr@1.0.1: + resolution: {integrity: sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==} + engines: {node: '>=8.11'} + + unzipper@0.10.14: + resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} + + upath@1.2.0: + resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} + engines: {node: '>=4'} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + update-notifier@5.1.0: + resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} + engines: {node: '>=10'} + + update-section@0.3.3: + resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} + + uqr@0.1.2: + resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urijs@1.19.11: + resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==} + + urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + + url-parse-lax@3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + url@0.11.3: + resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} + + use-sync-external-store@1.2.0: + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + + use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + + utf-8-validate@5.0.10: + resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} + engines: {node: '>=6.14.2'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util.promisify@1.0.1: + resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} + + util@0.10.4: + resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + uvu@0.5.6: + resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} + engines: {node: '>=8'} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-to-istanbul@7.1.2: + resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} + engines: {node: '>=10.10.0'} + + v8-to-istanbul@8.1.1: + resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} + engines: {node: '>=10.12.0'} + + vali-date@1.0.0: + resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} + engines: {node: '>=0.10.0'} + + valid-data-url@3.0.1: + resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} + engines: {node: '>=10'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + validate-npm-package-name@3.0.0: + resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + + validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + + valtio@1.11.2: + resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=16.8' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + react: + optional: true + + value-or-promise@1.0.12: + resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} + engines: {node: '>=12'} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vendors@1.0.4: + resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} + + verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + + vfile-location@5.0.2: + resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + + vfile-matter@3.0.1: + resolution: {integrity: sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==} + + vfile-message@2.0.4: + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + + vfile-message@3.1.4: + resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + + vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + + vfile@4.2.1: + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + + vfile@5.3.7: + resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + + vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + + viem@1.21.4: + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + vite@4.5.2: + resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vite@5.0.12: + resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + + vscode-oniguruma@1.7.0: + resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + + vscode-textmate@8.0.0: + resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + + vue@3.4.19: + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + + w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + + wagmi@1.4.13: + resolution: {integrity: sha512-AScVYFjqNt1wMgL99Bob7MLdhoTZ3XKiOZL5HVBdy4W1sh7QodA3gQ8IsmTuUrQ7oQaTxjiXEhwg7sWNrPBvJA==} + peerDependencies: + react: '>=17.0.0' + typescript: '>=5.0.4' + viem: '>=0.3.35' + peerDependenciesMeta: + typescript: + optional: true + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + + wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-namespaces@2.0.1: + resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + + web-resource-inliner@6.0.1: + resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==} + engines: {node: '>=10.0.0'} + + web-streams-polyfill@3.3.2: + resolution: {integrity: sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==} + engines: {node: '>= 8'} + + web-vitals@2.1.4: + resolution: {integrity: sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==} + + web-worker@1.3.0: + resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} + + webcrypto-core@1.7.8: + resolution: {integrity: sha512-eBR98r9nQXTqXt/yDRtInszPMjTaSAMJAFDg2AHsgrnczawT1asx9YNBX6k5p+MekbPF4+s/UJJrr88zsTqkSg==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + + webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + + webpack-dev-middleware@5.3.3: + resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + + webpack-dev-server@4.15.1: + resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack: + optional: true + webpack-cli: + optional: true + + webpack-manifest-plugin@4.1.1: + resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} + engines: {node: '>=12.22.0'} + peerDependencies: + webpack: ^4.44.2 || ^5.47.0 + + webpack-sources@1.4.3: + resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + + webpack-sources@2.3.1: + resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==} + engines: {node: '>=10.13.0'} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.90.0: + resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + + websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + + whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + + whatwg-fetch@3.6.20: + resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + + whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + + whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + + which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + + which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wordwrapjs@3.0.0: + resolution: {integrity: sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==} + engines: {node: '>=4.0.0'} + + workbox-background-sync@6.6.0: + resolution: {integrity: sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==} + + workbox-broadcast-update@6.6.0: + resolution: {integrity: sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==} + + workbox-build@6.6.0: + resolution: {integrity: sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==} + engines: {node: '>=10.0.0'} + + workbox-cacheable-response@6.6.0: + resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==} + deprecated: workbox-background-sync@6.6.0 + + workbox-core@6.6.0: + resolution: {integrity: sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==} + + workbox-expiration@6.6.0: + resolution: {integrity: sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==} + + workbox-google-analytics@6.6.0: + resolution: {integrity: sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==} + + workbox-navigation-preload@6.6.0: + resolution: {integrity: sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==} + + workbox-precaching@6.6.0: + resolution: {integrity: sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==} + + workbox-range-requests@6.6.0: + resolution: {integrity: sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==} + + workbox-recipes@6.6.0: + resolution: {integrity: sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==} + + workbox-routing@6.6.0: + resolution: {integrity: sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==} + + workbox-strategies@6.6.0: + resolution: {integrity: sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==} + + workbox-streams@6.6.0: + resolution: {integrity: sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==} + + workbox-sw@6.6.0: + resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} + + workbox-webpack-plugin@6.6.0: + resolution: {integrity: sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==} + engines: {node: '>=10.0.0'} + peerDependencies: + webpack: ^4.4.0 || ^5.9.0 + + workbox-window@6.6.0: + resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==} + + workerpool@6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + + wrap-ansi@3.0.1: + resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} + engines: {node: '>=4'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + write@1.0.3: + resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} + engines: {node: '>=4'} + + ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xdg-basedir@4.0.0: + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + + xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + xmlhttprequest@1.8.0: + resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==} + engines: {node: '>=0.4.0'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} + engines: {node: '>= 14'} + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + + yn@2.0.0: + resolution: {integrity: sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==} + engines: {node: '>=4'} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + zen-observable-ts@0.8.21: + resolution: {integrity: sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==} + + zen-observable-ts@1.2.5: + resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} + + zen-observable@0.8.15: + resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} + + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + zustand@4.5.0: + resolution: {integrity: sha512-zlVFqS5TQ21nwijjhJlx4f9iGrXSL0o/+Dpy4txAP22miJ8Ti6c1Ol1RLNN98BMib83lmDH/2KmLwaNXpjrO1A==} + engines: {node: '>=12.7.0'} + peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0.6' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + + zwitch@1.0.5: + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + + zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@adobe/css-tools@4.3.3': {} + + '@adraffy/ens-normalize@1.10.0': {} + + '@alloc/quick-lru@5.2.0': {} + + '@ampproject/remapping@2.2.1': + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + optional: true + + '@apideck/better-ajv-errors@0.3.6(ajv@8.12.0)': + dependencies: + ajv: 8.12.0 + json-schema: 0.4.0 + jsonpointer: 5.0.1 + leven: 3.1.0 + + '@apollo/cache-control-types@1.0.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + + '@apollo/client@3.7.10(graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@wry/context': 0.7.4 + '@wry/equality': 0.5.7 + '@wry/trie': 0.3.2 + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + graphql-tag: 2.12.6(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + hoist-non-react-statics: 3.3.2 + optimism: 0.16.2 + prop-types: 15.8.1 + response-iterator: 0.2.6 + symbol-observable: 4.0.0 + ts-invariant: 0.10.3 + tslib: 2.6.2 + zen-observable-ts: 1.2.5 + optionalDependencies: + graphql-ws: 5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@apollo/client@3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@17.0.2))(react@17.0.2)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@wry/context': 0.7.4 + '@wry/equality': 0.5.7 + '@wry/trie': 0.3.2 + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + graphql-tag: 2.12.6(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + hoist-non-react-statics: 3.3.2 + optimism: 0.16.2 + prop-types: 15.8.1 + response-iterator: 0.2.6 + symbol-observable: 4.0.0 + ts-invariant: 0.10.3 + tslib: 2.6.2 + zen-observable-ts: 1.2.5 + optionalDependencies: + graphql-ws: 5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + react: 17.0.2 + react-dom: 18.2.0(react@17.0.2) + + '@apollo/client@3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@wry/context': 0.7.4 + '@wry/equality': 0.5.7 + '@wry/trie': 0.3.2 + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + graphql-tag: 2.12.6(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + hoist-non-react-statics: 3.3.2 + optimism: 0.16.2 + prop-types: 15.8.1 + response-iterator: 0.2.6 + symbol-observable: 4.0.0 + ts-invariant: 0.10.3 + tslib: 2.6.2 + zen-observable-ts: 1.2.5 + optionalDependencies: + graphql-ws: 5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + '@apollo/protobufjs@1.2.7': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/long': 4.0.2 + long: 4.0.0 + + '@apollo/server-gateway-interface@1.1.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + '@apollo/usage-reporting-protobuf': 4.1.1 + '@apollo/utils.fetcher': 2.0.1 + '@apollo/utils.keyvaluecache': 2.1.1 + '@apollo/utils.logger': 2.0.1 + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + + '@apollo/server@4.10.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + '@apollo/cache-control-types': 1.0.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@apollo/server-gateway-interface': 1.1.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@apollo/usage-reporting-protobuf': 4.1.1 + '@apollo/utils.createhash': 2.0.1 + '@apollo/utils.fetcher': 2.0.1 + '@apollo/utils.isnodelike': 2.0.1 + '@apollo/utils.keyvaluecache': 2.1.1 + '@apollo/utils.logger': 2.0.1 + '@apollo/utils.usagereporting': 2.1.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@apollo/utils.withrequired': 2.0.1 + '@graphql-tools/schema': 9.0.19(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@josephg/resolvable': 1.0.1 + '@types/express': 4.17.21 + '@types/express-serve-static-core': 4.17.42 + '@types/node-fetch': 2.6.11 + async-retry: 1.3.3 + cors: 2.8.5 + express: 4.18.2 + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + loglevel: 1.9.1 + lru-cache: 7.18.3 + negotiator: 0.6.3 + node-abort-controller: 3.1.1 + node-fetch: 2.7.0 + uuid: 9.0.1 + whatwg-mimetype: 3.0.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@apollo/usage-reporting-protobuf@4.1.1': + dependencies: + '@apollo/protobufjs': 1.2.7 + + '@apollo/utils.createhash@2.0.1': + dependencies: + '@apollo/utils.isnodelike': 2.0.1 + sha.js: 2.4.11 + + '@apollo/utils.dropunuseddefinitions@2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + + '@apollo/utils.fetcher@2.0.1': {} + + '@apollo/utils.isnodelike@2.0.1': {} + + '@apollo/utils.keyvaluecache@2.1.1': + dependencies: + '@apollo/utils.logger': 2.0.1 + lru-cache: 7.18.3 + + '@apollo/utils.logger@2.0.1': {} + + '@apollo/utils.printwithreducedwhitespace@2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + + '@apollo/utils.removealiases@2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + + '@apollo/utils.sortast@2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + lodash.sortby: 4.7.0 + + '@apollo/utils.stripsensitiveliterals@2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + + '@apollo/utils.usagereporting@2.1.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': + dependencies: + '@apollo/usage-reporting-protobuf': 4.1.1 + '@apollo/utils.dropunuseddefinitions': 2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@apollo/utils.printwithreducedwhitespace': 2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@apollo/utils.removealiases': 2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@apollo/utils.sortast': 2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@apollo/utils.stripsensitiveliterals': 2.0.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + + '@apollo/utils.withrequired@2.0.1': {} + + '@asciidoctor/cli@3.5.0(@asciidoctor/core@2.2.6)': + dependencies: + '@asciidoctor/core': 2.2.6 + yargs: 16.2.0 + + '@asciidoctor/core@2.2.6': + dependencies: + asciidoctor-opal-runtime: 0.3.3 + unxhr: 1.0.1 + + '@babel/code-frame@7.23.5': + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + + '@babel/code-frame@7.24.2': + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + + '@babel/compat-data@7.23.5': {} + + '@babel/core@7.23.9': + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.24.3': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + optional: true + + '@babel/eslint-parser@7.23.9(@babel/core@7.23.9)(eslint@8.57.0)': + dependencies: + '@babel/core': 7.23.9 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + + '@babel/generator@7.23.6': + dependencies: + '@babel/types': 7.23.9 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.22 + jsesc: 2.5.2 + + '@babel/generator@7.24.1': + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + optional: true + + '@babel/helper-annotate-as-pure@7.22.5': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.22.15': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-compilation-targets@7.23.6': + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.23.9(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + + '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + debug: 4.3.4(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-environment-visitor@7.22.20': {} + + '@babel/helper-function-name@7.23.0': + dependencies: + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 + + '@babel/helper-hoist-variables@7.22.5': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-member-expression-to-functions@7.23.0': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-module-imports@7.22.15': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + optional: true + + '@babel/helper-optimise-call-expression@7.22.5': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-plugin-utils@7.22.5': {} + + '@babel/helper-plugin-utils@7.24.0': {} + + '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.22.20 + + '@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + + '@babel/helper-simple-access@7.22.5': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-split-export-declaration@7.22.6': + dependencies: + '@babel/types': 7.23.9 + + '@babel/helper-string-parser@7.23.4': {} + + '@babel/helper-string-parser@7.24.1': + optional: true + + '@babel/helper-validator-identifier@7.22.20': {} + + '@babel/helper-validator-option@7.23.5': {} + + '@babel/helper-wrap-function@7.22.20': + dependencies: + '@babel/helper-function-name': 7.23.0 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 + + '@babel/helpers@7.23.9': + dependencies: + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.24.1': + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + optional: true + + '@babel/highlight@7.23.4': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + '@babel/highlight@7.24.2': + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + '@babel/parser@7.23.9': + dependencies: + '@babel/types': 7.23.9 + + '@babel/parser@7.24.1': + dependencies: + '@babel/types': 7.24.0 + optional: true + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-proposal-decorators@7.23.9(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.23.9) + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + + '@babel/plugin-proposal-private-property-in-object@7.21.11(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-flow@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.24.0 + + '@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + + '@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + + '@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + + '@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + + '@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/template': 7.23.9 + + '@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.23.9) + + '@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + + '@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + + '@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-simple-access': 7.22.5 + + '@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-identifier': 7.22.20 + + '@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + + '@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) + + '@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) + + '@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + + '@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + + '@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-react-constant-elements@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) + + '@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.23.9) + '@babel/types': 7.23.9 + + '@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-runtime@7.23.9(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.22.5 + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + + '@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-create-class-features-plugin': 7.23.9(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.23.9) + + '@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9)': + dependencies: + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) + '@babel/helper-plugin-utils': 7.22.5 + + '@babel/preset-env@7.23.9(@babel/core@7.23.9)': + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.23.9 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) @@ -2938,21 +15336,14 @@ packages: transitivePeerDependencies: - supports-color - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): - resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/types': 7.23.9 esutils: 2.0.3 - /@babel/preset-react@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/preset-react@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 @@ -2962,11 +15353,7 @@ packages: '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.23.9) - /@babel/preset-typescript@7.23.3(@babel/core@7.23.9): - resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/preset-typescript@7.23.3(@babel/core@7.23.9)': dependencies: '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 @@ -2975,41 +15362,30 @@ packages: '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.23.9) - /@babel/regjsgen@0.8.0: - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + '@babel/regjsgen@0.8.0': {} - /@babel/runtime@7.23.9: - resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} - engines: {node: '>=6.9.0'} + '@babel/runtime@7.23.9': dependencies: regenerator-runtime: 0.14.1 - /@babel/runtime@7.24.1: - resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} - engines: {node: '>=6.9.0'} + '@babel/runtime@7.24.1': dependencies: regenerator-runtime: 0.14.1 - dev: true - /@babel/template@7.23.9: - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} + '@babel/template@7.23.9': dependencies: '@babel/code-frame': 7.23.5 '@babel/parser': 7.23.9 '@babel/types': 7.23.9 - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} + '@babel/template@7.24.0': dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.1 '@babel/types': 7.24.0 + optional: true - /@babel/traverse@7.23.9: - resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} - engines: {node: '>=6.9.0'} + '@babel/traverse@7.23.9': dependencies: '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 @@ -3024,9 +15400,7 @@ packages: transitivePeerDependencies: - supports-color - /@babel/traverse@7.24.1: - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} + '@babel/traverse@7.24.1': dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.1 @@ -3040,32 +15414,26 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color + optional: true - /@babel/types@7.23.9: - resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} - engines: {node: '>=6.9.0'} + '@babel/types@7.23.9': dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} + '@babel/types@7.24.0': dependencies: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 + optional: true - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@bcoe/v8-coverage@0.2.3': {} - /@braintree/sanitize-url@6.0.4: - resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} - dev: false + '@braintree/sanitize-url@6.0.4': {} - /@changesets/apply-release-plan@7.0.0: - resolution: {integrity: sha512-vfi69JR416qC9hWmFGSxj7N6wA5J222XNBmezSVATPWDVPIF7gkd4d8CpbEbXmRWbVrkoli3oerGS6dcL/BGsQ==} + '@changesets/apply-release-plan@7.0.0': dependencies: '@babel/runtime': 7.23.9 '@changesets/config': 3.0.0 @@ -3080,10 +15448,8 @@ packages: prettier: 2.8.8 resolve-from: 5.0.0 semver: 7.5.4 - dev: true - /@changesets/assemble-release-plan@6.0.0: - resolution: {integrity: sha512-4QG7NuisAjisbW4hkLCmGW2lRYdPrKzro+fCtZaILX+3zdUELSvYjpL4GTv0E4aM9Mef3PuIQp89VmHJ4y2bfw==} + '@changesets/assemble-release-plan@6.0.0': dependencies: '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 @@ -3091,17 +15457,12 @@ packages: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 semver: 7.5.4 - dev: true - /@changesets/changelog-git@0.2.0: - resolution: {integrity: sha512-bHOx97iFI4OClIT35Lok3sJAwM31VbUM++gnMBV16fdbtBhgYu4dxsphBF/0AZZsyAHMrnM0yFcj5gZM1py6uQ==} + '@changesets/changelog-git@0.2.0': dependencies: '@changesets/types': 6.0.0 - dev: true - /@changesets/cli@2.27.1: - resolution: {integrity: sha512-iJ91xlvRnnrJnELTp4eJJEOPjgpF3NOh4qeQehM6Ugiz9gJPRZ2t+TsXun6E3AMN4hScZKjqVXl0TX+C7AB3ZQ==} - hasBin: true + '@changesets/cli@2.27.1': dependencies: '@babel/runtime': 7.23.9 '@changesets/apply-release-plan': 7.0.0 @@ -3135,10 +15496,8 @@ packages: spawndamnit: 2.0.0 term-size: 2.2.1 tty-table: 4.2.3 - dev: true - /@changesets/config@3.0.0: - resolution: {integrity: sha512-o/rwLNnAo/+j9Yvw9mkBQOZySDYyOr/q+wptRLcAVGlU6djOeP9v1nlalbL9MFsobuBVQbZCTp+dIzdq+CLQUA==} + '@changesets/config@3.0.0': dependencies: '@changesets/errors': 0.2.0 '@changesets/get-dependents-graph': 2.0.0 @@ -3147,26 +15506,20 @@ packages: '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 micromatch: 4.0.5 - dev: true - /@changesets/errors@0.2.0: - resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==} + '@changesets/errors@0.2.0': dependencies: extendable-error: 0.1.7 - dev: true - /@changesets/get-dependents-graph@2.0.0: - resolution: {integrity: sha512-cafUXponivK4vBgZ3yLu944mTvam06XEn2IZGjjKc0antpenkYANXiiE6GExV/yKdsCnE8dXVZ25yGqLYZmScA==} + '@changesets/get-dependents-graph@2.0.0': dependencies: '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 chalk: 2.4.2 fs-extra: 7.0.1 semver: 7.5.4 - dev: true - /@changesets/get-release-plan@4.0.0: - resolution: {integrity: sha512-9L9xCUeD/Tb6L/oKmpm8nyzsOzhdNBBbt/ZNcjynbHC07WW4E1eX8NMGC5g5SbM5z/V+MOrYsJ4lRW41GCbg3w==} + '@changesets/get-release-plan@4.0.0': dependencies: '@babel/runtime': 7.23.9 '@changesets/assemble-release-plan': 6.0.0 @@ -3175,14 +15528,10 @@ packages: '@changesets/read': 0.6.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 - dev: true - /@changesets/get-version-range-type@0.4.0: - resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==} - dev: true + '@changesets/get-version-range-type@0.4.0': {} - /@changesets/git@3.0.0: - resolution: {integrity: sha512-vvhnZDHe2eiBNRFHEgMiGd2CT+164dfYyrJDhwwxTVD/OW0FUD6G7+4DIx1dNwkwjHyzisxGAU96q0sVNBns0w==} + '@changesets/git@3.0.0': dependencies: '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 @@ -3191,33 +15540,25 @@ packages: is-subdir: 1.2.0 micromatch: 4.0.5 spawndamnit: 2.0.0 - dev: true - /@changesets/logger@0.1.0: - resolution: {integrity: sha512-pBrJm4CQm9VqFVwWnSqKEfsS2ESnwqwH+xR7jETxIErZcfd1u2zBSqrHbRHR7xjhSgep9x2PSKFKY//FAshA3g==} + '@changesets/logger@0.1.0': dependencies: chalk: 2.4.2 - dev: true - /@changesets/parse@0.4.0: - resolution: {integrity: sha512-TS/9KG2CdGXS27S+QxbZXgr8uPsP4yNJYb4BC2/NeFUj80Rni3TeD2qwWmabymxmrLo7JEsytXH1FbpKTbvivw==} + '@changesets/parse@0.4.0': dependencies: '@changesets/types': 6.0.0 js-yaml: 3.14.1 - dev: true - /@changesets/pre@2.0.0: - resolution: {integrity: sha512-HLTNYX/A4jZxc+Sq8D1AMBsv+1qD6rmmJtjsCJa/9MSRybdxh0mjbTvE6JYZQ/ZiQ0mMlDOlGPXTm9KLTU3jyw==} + '@changesets/pre@2.0.0': dependencies: '@babel/runtime': 7.23.9 '@changesets/errors': 0.2.0 '@changesets/types': 6.0.0 '@manypkg/get-packages': 1.1.3 fs-extra: 7.0.1 - dev: true - /@changesets/read@0.6.0: - resolution: {integrity: sha512-ZypqX8+/im1Fm98K4YcZtmLKgjs1kDQ5zHpc2U1qdtNBmZZfo/IBiG162RoP0CUF05tvp2y4IspH11PLnPxuuw==} + '@changesets/read@0.6.0': dependencies: '@babel/runtime': 7.23.9 '@changesets/git': 3.0.0 @@ -3227,61 +15568,83 @@ packages: chalk: 2.4.2 fs-extra: 7.0.1 p-filter: 2.1.0 - dev: true - /@changesets/types@4.1.0: - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} - dev: true + '@changesets/types@4.1.0': {} - /@changesets/types@6.0.0: - resolution: {integrity: sha512-b1UkfNulgKoWfqyHtzKS5fOZYSJO+77adgL7DLRDr+/7jhChN+QcHnbjiQVOz/U+Ts3PGNySq7diAItzDgugfQ==} - dev: true + '@changesets/types@6.0.0': {} - /@changesets/write@0.3.0: - resolution: {integrity: sha512-slGLb21fxZVUYbyea+94uFiD6ntQW0M2hIKNznFizDhZPDgn2c/fv1UzzlW43RVzh1BEDuIqW6hzlJ1OflNmcw==} + '@changesets/write@0.3.0': dependencies: '@babel/runtime': 7.23.9 '@changesets/types': 6.0.0 fs-extra: 7.0.1 human-id: 1.0.2 prettier: 2.8.8 - dev: true - /@cnakazawa/watch@1.0.4: - resolution: {integrity: sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==} - engines: {node: '>=0.1.95'} - hasBin: true + '@cnakazawa/watch@1.0.4': dependencies: exec-sh: 0.3.6 minimist: 1.2.8 - dev: true - /@coasys/ad4m-connect@0.8.1(esbuild@0.15.18): - resolution: {integrity: sha512-pbyeescsVOVAnXjn2Uh4BV0oWbuiseHT0HvGmDISdaJztaFv1MNglka2oOFf9xYmwz7PBExYNprnE5g75YVyNQ==} + '@coasys/ad4m-connect@0.8.1': + dependencies: + '@undecaf/barcode-detector-polyfill': 0.9.20 + '@undecaf/zbar-wasm': 0.9.16 + auto-bind: 5.0.1 + electron: 20.3.12 + esbuild-plugin-copy: 2.1.1(esbuild@0.15.18) + esbuild-plugin-replace: 1.4.0 + lit: 2.8.0 + transitivePeerDependencies: + - esbuild + - supports-color + + '@coasys/ad4m-connect@0.8.1(esbuild@0.19.12)': dependencies: '@undecaf/barcode-detector-polyfill': 0.9.20 '@undecaf/zbar-wasm': 0.9.16 auto-bind: 5.0.1 electron: 20.3.12 - esbuild-plugin-copy: 2.1.1(esbuild@0.15.18) + esbuild-plugin-copy: 2.1.1(esbuild@0.19.12) esbuild-plugin-replace: 1.4.0 lit: 2.8.0 transitivePeerDependencies: - esbuild - supports-color - dev: false - /@coasys/ad4m@0.8.1(react@18.2.0): - resolution: {integrity: sha512-2or0Ykc+F+geDumBABYD/us5Iu9Se2xVRdVcj4h0l7etd9Zx3u5m/Q32YHywJz61DbPQV8Q+zTkYiqF54y9GrA==} + '@coasys/ad4m-executor@0.10.0-rc7(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@coasys/ad4m': link:../core + '@holochain/client': https://codeload.github.com/coasys/holochain-client-js/tar.gz/2f3a436b6d28344b0aca883ef3dc229cd042c04b(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@msgpack/msgpack': 3.0.0-beta2 + '@noble/secp256k1': 1.7.1 + '@transmute/did-key.js': 0.2.1-unstable.42(patch_hash=yak4sespbovyvaboedzatyy2ha) + '@types/json-stable-stringify': 1.0.36 + '@types/mocha': 10.0.6 + aloedb-node: 1.1.1 + async-mutex: 0.3.2 + get-port: 5.1.1(patch_hash=qyyizwcnoypqxlftc4xbpqbjxq) + js-yaml: 4.1.0 + json-stable-stringify: 1.1.1 + linkedom: 0.14.26 + lodash: 4.17.21 + sha256: 0.2.0(patch_hash=jjvpbxfwv27brspghlwzrzih2u) + tmp: 0.2.1 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + - ws + + '@coasys/ad4m@0.8.1(bufferutil@4.0.8)(graphql-ws@5.14.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(utf-8-validate@5.0.10)': dependencies: - '@apollo/client': 3.7.10(graphql-ws@5.12.0)(graphql@15.7.2)(react-dom@18.2.0)(react@18.2.0) - '@holochain/client': 0.16.0 + '@apollo/client': 3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@holochain/client': 0.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/jest': 26.0.24 class-validator: 0.13.2 express: 4.18.2 graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) reflect-metadata: 0.1.14 - type-graphql: 1.1.1(class-validator@0.13.2)(graphql@15.7.2) + type-graphql: 1.1.1(class-validator@0.13.2)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) transitivePeerDependencies: - bufferutil - graphql-ws @@ -3290,13 +15653,49 @@ packages: - subscriptions-transport-ws - supports-color - utf-8-validate - dev: false - /@coasys/hooks-helpers@0.9.0(esbuild@0.15.18)(react@18.2.0): - resolution: {integrity: sha512-21Wrg/LwosKpcSpz/Xq85eTONGHIMF1sJBihdxR3d3De91dz4uZZ1Twy4irLYjetwXMh4J1OS8Z5fNDWcwSigg==} + '@coasys/ad4m@0.8.1(graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@apollo/client': 3.7.10(graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@holochain/client': 0.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@types/jest': 26.0.24 + class-validator: 0.13.2 + express: 4.18.2 + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + reflect-metadata: 0.1.14 + type-graphql: 1.1.1(class-validator@0.13.2)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + transitivePeerDependencies: + - bufferutil + - graphql-ws + - react + - react-dom + - subscriptions-transport-ws + - supports-color + - utf-8-validate + + '@coasys/ad4m@0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@apollo/client': 3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@holochain/client': 0.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@types/jest': 26.0.24 + class-validator: 0.13.2 + express: 4.18.2 + graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) + reflect-metadata: 0.1.14 + type-graphql: 1.1.1(class-validator@0.13.2)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + transitivePeerDependencies: + - bufferutil + - graphql-ws + - react + - react-dom + - subscriptions-transport-ws + - supports-color + - utf-8-validate + + '@coasys/hooks-helpers@0.9.0(esbuild@0.19.12)(graphql-ws@5.14.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@coasys/ad4m': 0.8.1(react@18.2.0) - '@coasys/ad4m-connect': 0.8.1(esbuild@0.15.18) + '@coasys/ad4m': 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@coasys/ad4m-connect': 0.8.1(esbuild@0.19.12) uuid: 9.0.1 transitivePeerDependencies: - bufferutil @@ -3307,14 +15706,26 @@ packages: - subscriptions-transport-ws - supports-color - utf-8-validate - dev: false - /@coinbase/wallet-sdk@3.7.2: - resolution: {integrity: sha512-lIGvXMsgpsQWci/XOMQIJ2nIZ8JUy/L+bvC0wkRaYarr0YylwpXrJ2gRM3hCXPS477pkyO7N/kSiAoRgEXUdJQ==} - engines: {node: '>= 10.0.0'} + '@coasys/hooks-helpers@0.9.0(graphql-ws@5.14.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + dependencies: + '@coasys/ad4m': 0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@coasys/ad4m-connect': 0.8.1 + uuid: 9.0.1 + transitivePeerDependencies: + - bufferutil + - esbuild + - graphql-ws + - react + - react-dom + - subscriptions-transport-ws + - supports-color + - utf-8-validate + + '@coinbase/wallet-sdk@3.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@metamask/safe-event-emitter': 2.0.0 - '@solana/web3.js': 1.89.1 + '@solana/web3.js': 1.89.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) bind-decorator: 1.0.11 bn.js: 5.2.1 buffer: 6.0.3 @@ -3335,159 +15746,92 @@ packages: - encoding - supports-color - utf-8-validate - dev: false - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@csstools/normalize.css@12.1.1: - resolution: {integrity: sha512-YAYeJ+Xqh7fUou1d1j9XHl44BmsuThiTr4iNrgCQ3J27IbhXsxXDGZ1cXv8Qvs99d4rBbLiSKy3+WZiet32PcQ==} + '@csstools/normalize.css@12.1.1': {} - /@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.33): - resolution: {integrity: sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-cascade-layers@1.1.1(postcss@8.4.33)': dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.15) postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /@csstools/postcss-color-function@1.1.1(postcss@8.4.33): - resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-color-function@1.1.1(postcss@8.4.33)': dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.33): - resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.33): - resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-hwb-function@1.0.2(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.33): - resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-ic-unit@1.0.1(postcss@8.4.33)': dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.33): - resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.33)': dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.15) postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /@csstools/postcss-nested-calc@1.0.0(postcss@8.4.33): - resolution: {integrity: sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-nested-calc@1.0.0(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.33): - resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.33): - resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-oklab-function@1.1.1(postcss@8.4.33)': dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.33): - resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.3 + '@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.33): - resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.33): - resolution: {integrity: sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-text-decoration-shorthand@1.0.0(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.33): - resolution: {integrity: sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==} - engines: {node: ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-trigonometric-functions@1.0.2(postcss@8.4.33)': dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /@csstools/postcss-unset-value@1.0.2(postcss@8.4.33): - resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + '@csstools/postcss-unset-value@1.0.2(postcss@8.4.33)': dependencies: postcss: 8.4.33 - /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.15): - resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} - engines: {node: ^14 || ^16 || >=18} - peerDependencies: - postcss-selector-parser: ^6.0.10 + '@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.15)': dependencies: postcss-selector-parser: 6.0.15 - /@electron/get@1.14.1: - resolution: {integrity: sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==} - engines: {node: '>=8.6'} + '@electron/get@1.14.1': dependencies: debug: 4.3.4(supports-color@8.1.1) env-paths: 2.2.1 @@ -3501,423 +15845,156 @@ packages: global-tunnel-ng: 2.7.1 transitivePeerDependencies: - supports-color - dev: false - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true + '@esbuild/aix-ppc64@0.19.12': optional: true - /@esbuild/android-arm64@0.18.20: - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true + '@esbuild/android-arm64@0.18.20': optional: true - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm64@0.19.12': optional: true - /@esbuild/android-arm@0.15.18: - resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true + '@esbuild/android-arm@0.15.18': optional: true - /@esbuild/android-arm@0.18.20: - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true + '@esbuild/android-arm@0.18.20': optional: true - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.19.12': optional: true - /@esbuild/android-x64@0.18.20: - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true + '@esbuild/android-x64@0.18.20': optional: true - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-x64@0.19.12': optional: true - /@esbuild/darwin-arm64@0.18.20: - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true + '@esbuild/darwin-arm64@0.18.20': optional: true - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-arm64@0.19.12': optional: true - /@esbuild/darwin-x64@0.18.20: - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true + '@esbuild/darwin-x64@0.18.20': optional: true - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.19.12': optional: true - /@esbuild/freebsd-arm64@0.18.20: - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true + '@esbuild/freebsd-arm64@0.18.20': optional: true - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-arm64@0.19.12': optional: true - /@esbuild/freebsd-x64@0.18.20: - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true + '@esbuild/freebsd-x64@0.18.20': optional: true - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-x64@0.19.12': optional: true - /@esbuild/linux-arm64@0.18.20: - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true + '@esbuild/linux-arm64@0.18.20': optional: true - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm64@0.19.12': optional: true - /@esbuild/linux-arm@0.18.20: - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true + '@esbuild/linux-arm@0.18.20': optional: true - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm@0.19.12': optional: true - /@esbuild/linux-ia32@0.18.20: - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true + '@esbuild/linux-ia32@0.18.20': optional: true - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ia32@0.19.12': optional: true - /@esbuild/linux-loong64@0.15.18: - resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true + '@esbuild/linux-loong64@0.15.18': optional: true - /@esbuild/linux-loong64@0.18.20: - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true + '@esbuild/linux-loong64@0.18.20': optional: true - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.19.12': optional: true - /@esbuild/linux-mips64el@0.18.20: - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true + '@esbuild/linux-mips64el@0.18.20': optional: true - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-mips64el@0.19.12': optional: true - /@esbuild/linux-ppc64@0.18.20: - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true + '@esbuild/linux-ppc64@0.18.20': optional: true - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ppc64@0.19.12': optional: true - /@esbuild/linux-riscv64@0.18.20: - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true + '@esbuild/linux-riscv64@0.18.20': optional: true - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-riscv64@0.19.12': optional: true - - /@esbuild/linux-s390x@0.18.20: - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true + + '@esbuild/linux-s390x@0.18.20': optional: true - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-s390x@0.19.12': optional: true - /@esbuild/linux-x64@0.18.20: - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true + '@esbuild/linux-x64@0.18.20': optional: true - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-x64@0.19.12': optional: true - /@esbuild/netbsd-x64@0.18.20: - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true + '@esbuild/netbsd-x64@0.18.20': optional: true - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/netbsd-x64@0.19.12': optional: true - /@esbuild/openbsd-x64@0.18.20: - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true + '@esbuild/openbsd-x64@0.18.20': optional: true - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/openbsd-x64@0.19.12': optional: true - /@esbuild/sunos-x64@0.18.20: - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true + '@esbuild/sunos-x64@0.18.20': optional: true - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/sunos-x64@0.19.12': optional: true - /@esbuild/win32-arm64@0.18.20: - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true + '@esbuild/win32-arm64@0.18.20': optional: true - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-arm64@0.19.12': optional: true - /@esbuild/win32-ia32@0.18.20: - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true + '@esbuild/win32-ia32@0.18.20': optional: true - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.19.12': optional: true - /@esbuild/win32-x64@0.18.20: - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true + '@esbuild/win32-x64@0.18.20': optional: true - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.19.12': optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + '@eslint-community/regexpp@4.10.0': {} - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) @@ -3931,72 +16008,47 @@ packages: transitivePeerDependencies: - supports-color - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/js@8.57.0': {} - /@graphql-tools/merge@8.4.2(graphql@15.7.2): - resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/merge@8.4.2(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': dependencies: - '@graphql-tools/utils': 9.2.1(graphql@15.7.2) + '@graphql-tools/utils': 9.2.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) tslib: 2.6.2 - dev: true - /@graphql-tools/schema@9.0.19(graphql@15.7.2): - resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/schema@9.0.19(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': dependencies: - '@graphql-tools/merge': 8.4.2(graphql@15.7.2) - '@graphql-tools/utils': 9.2.1(graphql@15.7.2) + '@graphql-tools/merge': 8.4.2(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + '@graphql-tools/utils': 9.2.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) tslib: 2.6.2 value-or-promise: 1.0.12 - dev: true - /@graphql-tools/utils@9.2.1(graphql@15.7.2): - resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/utils@9.2.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2) + '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) tslib: 2.6.2 - dev: true - /@graphql-typed-document-node/core@3.2.0(graphql@15.7.2): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-typed-document-node/core@3.2.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))': dependencies: graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - /@headlessui/react@1.7.18(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==} - engines: {node: '>=10'} - peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 + '@headlessui/react@1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@tanstack/react-virtual': 3.0.2(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-virtual': 3.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0) client-only: 0.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@holochain/client@0.16.0: - resolution: {integrity: sha512-GJEl6F3OSlDX71H+rtyUXpEuor7O9MhvNIi+Tq6obrysu71JsbXfR1rtmSBiNb9fttHOZLW60EzY/Lj3I9dv8g==} - engines: {node: '>=16.0.0 || >=18.0.0'} + '@holochain/client@0.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@holochain/serialization': 0.1.0-beta-rc.3 '@msgpack/msgpack': 2.8.0 '@noble/ed25519': 2.0.0 '@tauri-apps/api': 1.5.3 emittery: 1.0.1 - isomorphic-ws: 5.0.0(ws@8.13.0) + isomorphic-ws: 5.0.0(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) js-base64: 3.7.6 libsodium-wrappers: 0.7.13 lodash-es: 4.17.21 @@ -4004,52 +16056,47 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /@holochain/serialization@0.1.0-beta-rc.3: - resolution: {integrity: sha512-DJx4V2KXHVLciyOGjOYKTM/JLBpBEZ3RsPIRCgf7qmwhQdxXvhi2p+oFFRD51yUT5uC1/MzIVeJCl/R60PwFbw==} - dev: false + '@holochain/client@https://codeload.github.com/coasys/holochain-client-js/tar.gz/2f3a436b6d28344b0aca883ef3dc229cd042c04b(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + dependencies: + '@holochain/serialization': 0.1.0-beta-rc.3 + '@msgpack/msgpack': 2.8.0 + '@tauri-apps/api': 1.5.3 + emittery: 1.0.1 + isomorphic-ws: 5.0.0(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + js-base64: 3.7.6 + lodash-es: 4.17.21 + tweetnacl: 1.0.3(patch_hash=neqghjkbymv6pdxg4mf33vfzg4) + transitivePeerDependencies: + - ws - /@honkit/asciidoc@4.0.8: - resolution: {integrity: sha512-wyVBKfX9yM5P8nm81ew1cdTR0hKWFB9hRTvwGXBVS+ipD+WFTQWxVw3qNQapMKRiiVq/L3QA6bpkIDul3EJ43w==} + '@holochain/serialization@0.1.0-beta-rc.3': {} + + '@honkit/asciidoc@4.0.8': dependencies: '@honkit/html': 4.0.8 asciidoctor: 2.2.6 lodash: 4.17.21 - dev: true - /@honkit/honkit-plugin-highlight@4.0.8: - resolution: {integrity: sha512-fu1QFxS/m0X9uIK8vrn9TGN2HLJ8AjK03L4/yZo+ioYG55ALgTE3tNz7CrGPGjUn+uluLMmrvcJQDpPUmTMYdQ==} - engines: {gitbook: '>=2.4.0'} + '@honkit/honkit-plugin-highlight@4.0.8': dependencies: highlight.js: 10.7.3 - dev: true - /@honkit/honkit-plugin-theme-default@4.0.8: - resolution: {integrity: sha512-1CaoaAZZYWOJGnBsdi63ulKqxNcHXAQZPq1QqUsxE3Ml+YJZnyf/0uq8wuUdxJ/TzG4iyaXA2jT92xHlCkXJ1w==} - engines: {gitbook: '>=3.0.0'} - dev: true + '@honkit/honkit-plugin-theme-default@4.0.8': {} - /@honkit/html@4.0.8: - resolution: {integrity: sha512-tpMpYrPKT3RqZC8i00oGHuY+BR+6S3stEONEpMQM9xz1Zj266TXZ5GRXkX4n2cb5DA6OmeR5asYxd7gTXNPjqw==} + '@honkit/html@4.0.8': dependencies: cheerio: 1.0.0-rc.12 lodash: 4.17.21 q: 1.5.1 - dev: true - /@honkit/markdown-legacy@4.0.8: - resolution: {integrity: sha512-DqLDDzFbyLuBVYDfrhl4b67LdcbmMzRR+U/DwvXOCc8PqNx6nQoLHnAOpLQN/UP4/P6e7mWaJN9iSjfzg4Q0MQ==} + '@honkit/markdown-legacy@4.0.8': dependencies: '@honkit/html': 4.0.8 kramed: 0.5.6 lodash: 4.17.21 - dev: true - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.2 debug: 4.3.4(supports-color@8.1.1) @@ -4057,32 +16104,22 @@ packages: transitivePeerDependencies: - supports-color - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + '@humanwhocodes/module-importer@1.0.1': {} - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/object-schema@2.0.2': {} - /@ioredis/commands@1.2.0: - resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} - dev: false + '@ioredis/commands@1.2.0': {} - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 + string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@istanbuljs/load-nyc-config@1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 find-up: 4.1.0 @@ -4090,13 +16127,9 @@ packages: js-yaml: 3.14.1 resolve-from: 5.0.0 - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} + '@istanbuljs/schema@0.1.3': {} - /@jest/console@26.6.2: - resolution: {integrity: sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g==} - engines: {node: '>= 10.14.2'} + '@jest/console@26.6.2': dependencies: '@jest/types': 26.6.2 '@types/node': 16.18.76 @@ -4104,11 +16137,8 @@ packages: jest-message-util: 26.6.2 jest-util: 26.6.2 slash: 3.0.0 - dev: true - /@jest/console@27.5.1: - resolution: {integrity: sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/console@27.5.1': dependencies: '@jest/types': 27.5.1 '@types/node': 16.18.76 @@ -4117,9 +16147,7 @@ packages: jest-util: 27.5.1 slash: 3.0.0 - /@jest/console@28.1.3: - resolution: {integrity: sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/console@28.1.3': dependencies: '@jest/types': 28.1.3 '@types/node': 16.18.76 @@ -4128,9 +16156,7 @@ packages: jest-util: 28.1.3 slash: 3.0.0 - /@jest/core@26.6.3: - resolution: {integrity: sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw==} - engines: {node: '>= 10.14.2'} + '@jest/core@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10)': dependencies: '@jest/console': 26.6.2 '@jest/reporters': 26.6.2 @@ -4143,14 +16169,14 @@ packages: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 26.6.2 - jest-config: 26.6.3 + jest-config: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-haste-map: 26.6.2 jest-message-util: 26.6.2 jest-regex-util: 26.0.0 jest-resolve: 26.6.2 jest-resolve-dependencies: 26.6.3 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 + jest-runner: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) + jest-runtime: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-snapshot: 26.6.2 jest-util: 26.6.2 jest-validate: 26.6.2 @@ -4166,19 +16192,11 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /@jest/core@27.5.1: - resolution: {integrity: sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/core@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10)': dependencies: '@jest/console': 27.5.1 - '@jest/reporters': 27.5.1 + '@jest/reporters': 27.5.1(node-notifier@8.0.2) '@jest/test-result': 27.5.1 '@jest/transform': 27.5.1 '@jest/types': 27.5.1 @@ -4189,13 +16207,13 @@ packages: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1 + jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 jest-resolve: 27.5.1 jest-resolve-dependencies: 27.5.1 - jest-runner: 27.5.1 + jest-runner: 27.5.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) jest-runtime: 27.5.1 jest-snapshot: 27.5.1 jest-util: 27.5.1 @@ -4205,6 +16223,8 @@ packages: rimraf: 3.0.2 slash: 3.0.0 strip-ansi: 6.0.1 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - bufferutil - canvas @@ -4212,35 +16232,25 @@ packages: - ts-node - utf-8-validate - /@jest/environment@26.6.2: - resolution: {integrity: sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA==} - engines: {node: '>= 10.14.2'} + '@jest/environment@26.6.2': dependencies: '@jest/fake-timers': 26.6.2 '@jest/types': 26.6.2 '@types/node': 16.18.76 jest-mock: 26.6.2 - dev: true - /@jest/environment@27.5.1: - resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/environment@27.5.1': dependencies: '@jest/fake-timers': 27.5.1 '@jest/types': 27.5.1 '@types/node': 16.18.76 jest-mock: 27.5.1 - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect-utils@29.7.0': dependencies: jest-get-type: 29.6.3 - dev: true - /@jest/fake-timers@26.6.2: - resolution: {integrity: sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA==} - engines: {node: '>= 10.14.2'} + '@jest/fake-timers@26.6.2': dependencies: '@jest/types': 26.6.2 '@sinonjs/fake-timers': 6.0.1 @@ -4248,11 +16258,8 @@ packages: jest-message-util: 26.6.2 jest-mock: 26.6.2 jest-util: 26.6.2 - dev: true - /@jest/fake-timers@27.5.1: - resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/fake-timers@27.5.1': dependencies: '@jest/types': 27.5.1 '@sinonjs/fake-timers': 8.1.0 @@ -4261,26 +16268,19 @@ packages: jest-mock: 27.5.1 jest-util: 27.5.1 - /@jest/globals@26.6.2: - resolution: {integrity: sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA==} - engines: {node: '>= 10.14.2'} + '@jest/globals@26.6.2': dependencies: '@jest/environment': 26.6.2 '@jest/types': 26.6.2 expect: 26.6.2 - dev: true - /@jest/globals@27.5.1: - resolution: {integrity: sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/globals@27.5.1': dependencies: '@jest/environment': 27.5.1 '@jest/types': 27.5.1 expect: 27.5.1 - /@jest/reporters@26.6.2: - resolution: {integrity: sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw==} - engines: {node: '>= 10.14.2'} + '@jest/reporters@26.6.2': dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 26.6.2 @@ -4310,16 +16310,8 @@ packages: node-notifier: 8.0.2 transitivePeerDependencies: - supports-color - dev: true - /@jest/reporters@27.5.1: - resolution: {integrity: sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/reporters@27.5.1(node-notifier@8.0.2)': dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 27.5.1 @@ -4346,87 +16338,67 @@ packages: string-length: 4.0.2 terminal-link: 2.1.1 v8-to-istanbul: 8.1.1 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - supports-color - /@jest/schemas@28.1.3: - resolution: {integrity: sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/schemas@28.1.3': dependencies: '@sinclair/typebox': 0.24.51 - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map@26.6.2: - resolution: {integrity: sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA==} - engines: {node: '>= 10.14.2'} + '@jest/source-map@26.6.2': dependencies: callsites: 3.1.0 graceful-fs: 4.2.11 source-map: 0.6.1 - dev: true - /@jest/source-map@27.5.1: - resolution: {integrity: sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/source-map@27.5.1': dependencies: callsites: 3.1.0 graceful-fs: 4.2.11 source-map: 0.6.1 - /@jest/test-result@26.6.2: - resolution: {integrity: sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ==} - engines: {node: '>= 10.14.2'} + '@jest/test-result@26.6.2': dependencies: '@jest/console': 26.6.2 '@jest/types': 26.6.2 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - dev: true - /@jest/test-result@27.5.1: - resolution: {integrity: sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/test-result@27.5.1': dependencies: '@jest/console': 27.5.1 '@jest/types': 27.5.1 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - /@jest/test-result@28.1.3: - resolution: {integrity: sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/test-result@28.1.3': dependencies: '@jest/console': 28.1.3 '@jest/types': 28.1.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - /@jest/test-sequencer@26.6.3: - resolution: {integrity: sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw==} - engines: {node: '>= 10.14.2'} + '@jest/test-sequencer@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10)': dependencies: '@jest/test-result': 26.6.2 graceful-fs: 4.2.11 jest-haste-map: 26.6.2 - jest-runner: 26.6.3 - jest-runtime: 26.6.3 + jest-runner: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) + jest-runtime: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - canvas - supports-color - ts-node - utf-8-validate - dev: true - /@jest/test-sequencer@27.5.1: - resolution: {integrity: sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/test-sequencer@27.5.1': dependencies: '@jest/test-result': 27.5.1 graceful-fs: 4.2.11 @@ -4435,9 +16407,7 @@ packages: transitivePeerDependencies: - supports-color - /@jest/transform@26.6.2: - resolution: {integrity: sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA==} - engines: {node: '>= 10.14.2'} + '@jest/transform@26.6.2': dependencies: '@babel/core': 7.23.9 '@jest/types': 26.6.2 @@ -4456,11 +16426,8 @@ packages: write-file-atomic: 3.0.3 transitivePeerDependencies: - supports-color - dev: true - /@jest/transform@27.5.1: - resolution: {integrity: sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/transform@27.5.1': dependencies: '@babel/core': 7.23.9 '@jest/types': 27.5.1 @@ -4480,9 +16447,7 @@ packages: transitivePeerDependencies: - supports-color - /@jest/types@26.6.2: - resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==} - engines: {node: '>= 10.14.2'} + '@jest/types@26.6.2': dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 @@ -4490,9 +16455,7 @@ packages: '@types/yargs': 15.0.19 chalk: 4.1.2 - /@jest/types@27.5.1: - resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + '@jest/types@27.5.1': dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 @@ -4500,9 +16463,7 @@ packages: '@types/yargs': 16.0.9 chalk: 4.1.2 - /@jest/types@28.1.3: - resolution: {integrity: sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + '@jest/types@28.1.3': dependencies: '@jest/schemas': 28.1.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -4511,9 +16472,7 @@ packages: '@types/yargs': 17.0.32 chalk: 4.1.2 - /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -4521,103 +16480,78 @@ packages: '@types/node': 16.18.76 '@types/yargs': 17.0.32 chalk: 4.1.2 - dev: true - /@josephg/resolvable@1.0.1: - resolution: {integrity: sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==} - dev: true + '@josephg/resolvable@1.0.1': {} - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.3': dependencies: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.22 - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 + optional: true - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.1': {} - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + '@jridgewell/resolve-uri@3.1.2': + optional: true - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.1.2': {} - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} + '@jridgewell/set-array@1.2.1': + optional: true - /@jridgewell/source-map@0.3.5: - resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==} + '@jridgewell/source-map@0.3.5': dependencies: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.4.15': {} - /@jridgewell/trace-mapping@0.3.22: - resolution: {integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==} + '@jridgewell/trace-mapping@0.3.22': dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + optional: true - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@junto-foundation/junto-elements@0.5.5: - resolution: {integrity: sha512-t1B2m8Yg+s92Q/W/Q3qxBcLwtzxMzVRfqovLagrWHqEVwmfFx0zJQm25qFnfkzBxeZonVjibCG6mUoexZ2cjUQ==} + '@junto-foundation/junto-elements@0.5.5': dependencies: '@popperjs/core': 2.11.8 construct-style-sheets-polyfill: 3.1.0 jdenticon: 3.2.0 lit: 2.8.0 - dev: false - /@leichtgewicht/ip-codec@2.0.4: - resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + '@leichtgewicht/ip-codec@2.0.4': {} - /@lit-labs/ssr-dom-shim@1.1.2: - resolution: {integrity: sha512-jnOD+/+dSrfTWYfSXBXlo5l5f0q1UuJo3tkbMDCYA2lKUYq79jaxqtGEvnRoh049nt1vdo1+45RinipU6FGY2g==} + '@lit-labs/ssr-dom-shim@1.1.2': {} - /@lit/reactive-element@1.6.3: - resolution: {integrity: sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==} + '@lit/reactive-element@1.6.3': dependencies: '@lit-labs/ssr-dom-shim': 1.1.2 - /@manypkg/find-root@1.1.0: - resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + '@manypkg/find-root@1.1.0': dependencies: '@babel/runtime': 7.23.9 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 - dev: true - /@manypkg/get-packages@1.1.3: - resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@manypkg/get-packages@1.1.3': dependencies: '@babel/runtime': 7.23.9 '@changesets/types': 4.1.0 @@ -4625,42 +16559,30 @@ packages: fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - dev: true - /@mattrglobal/bbs-signatures@0.5.0(patch_hash=i6f4fdawxlwk2ulgcpjpsixrei): - resolution: {integrity: sha512-4te4TpacAmeCM8aa/kHkU0i1IJwsO1x/Tez6/YLUWg6rK6bfGA1NNO7IBc12u9ETkoTsiU32UmsiYWXcw9QwKQ==} + '@mattrglobal/bbs-signatures@0.5.0(patch_hash=i6f4fdawxlwk2ulgcpjpsixrei)': optionalDependencies: '@mattrglobal/node-bbs-signatures': 0.11.0(patch_hash=du3euicl4oreiseb3vykbrzjji) transitivePeerDependencies: - supports-color - dev: false - patched: true - /@mattrglobal/bls12381-key-pair@0.5.0: - resolution: {integrity: sha512-eXAtke0HOEr9RcT+NEI1MERE50gUnnLm1mYBJkUugk9REP3MfKXtX2Mo4FXyCH/IR4Oxj2jCcfNYW/h0Q3x5sg==} + '@mattrglobal/bls12381-key-pair@0.5.0': dependencies: '@mattrglobal/bbs-signatures': 0.5.0(patch_hash=i6f4fdawxlwk2ulgcpjpsixrei) bs58: 4.0.1 rfc4648: 1.4.0 transitivePeerDependencies: - supports-color - dev: false - /@mattrglobal/node-bbs-signatures@0.11.0(patch_hash=du3euicl4oreiseb3vykbrzjji): - resolution: {integrity: sha512-V0wcY0ZewrPOiMOrL3wam0oYL1SLbF2ihgAM6JQvLrAKw1MckYiJ8T4vL+nOBs2hf1PA1TZI+USe5mqMWuVKTw==} - engines: {node: '>=10', yarn: 1.x} - requiresBuild: true + '@mattrglobal/node-bbs-signatures@0.11.0(patch_hash=du3euicl4oreiseb3vykbrzjji)': dependencies: neon-cli: 0.4.0 node-pre-gyp: 0.14.0 transitivePeerDependencies: - supports-color - dev: false optional: true - patched: true - /@mdx-js/mdx@2.3.0: - resolution: {integrity: sha512-jLuwRlz8DQfQNiUCJR50Y09CGPq3fLtmtUQfVrj79E0JWu3dvsVcxVIcfhR5h0iXu+/z++zDrYeiJqifRynJkA==} + '@mdx-js/mdx@2.3.0': dependencies: '@types/estree-jsx': 1.0.3 '@types/mdx': 2.0.10 @@ -4681,25 +16603,16 @@ packages: vfile: 5.3.7 transitivePeerDependencies: - supports-color - dev: false - /@mdx-js/react@2.3.0(react@18.2.0): - resolution: {integrity: sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==} - peerDependencies: - react: '>=16' + '@mdx-js/react@2.3.0(react@18.2.0)': dependencies: '@types/mdx': 2.0.10 '@types/react': 18.2.48 react: 18.2.0 - dev: false - /@metamask/safe-event-emitter@2.0.0: - resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==} - dev: false + '@metamask/safe-event-emitter@2.0.0': {} - /@metamask/utils@3.6.0: - resolution: {integrity: sha512-9cIRrfkWvHblSiNDVXsjivqa9Ak0RYo/1H6tqTqTbAx+oBK2Sva0lWDHxGchOqA7bySGUJKAWSNJvH6gdHZ0gQ==} - engines: {node: '>=14.0.0'} + '@metamask/utils@3.6.0': dependencies: '@types/debug': 4.1.12 debug: 4.3.4(supports-color@8.1.1) @@ -4707,19 +16620,15 @@ packages: superstruct: 1.0.3 transitivePeerDependencies: - supports-color - dev: false - /@motionone/animation@10.17.0: - resolution: {integrity: sha512-ANfIN9+iq1kGgsZxs+Nz96uiNcPLGTXwfNo2Xz/fcJXniPYpaz/Uyrfa+7I5BPLxCP82sh7quVDudf1GABqHbg==} + '@motionone/animation@10.17.0': dependencies: '@motionone/easing': 10.17.0 '@motionone/types': 10.17.0 '@motionone/utils': 10.17.0 tslib: 2.6.2 - dev: false - /@motionone/dom@10.17.0: - resolution: {integrity: sha512-cMm33swRlCX/qOPHWGbIlCl0K9Uwi6X5RiL8Ma6OrlJ/TP7Q+Np5GE4xcZkFptysFjMTi4zcZzpnNQGQ5D6M0Q==} + '@motionone/dom@10.17.0': dependencies: '@motionone/animation': 10.17.0 '@motionone/generators': 10.17.0 @@ -4727,162 +16636,74 @@ packages: '@motionone/utils': 10.17.0 hey-listen: 1.0.8 tslib: 2.6.2 - dev: false - /@motionone/easing@10.17.0: - resolution: {integrity: sha512-Bxe2wSuLu/qxqW4rBFS5m9tMLOw+QBh8v5A7Z5k4Ul4sTj5jAOfZG5R0bn5ywmk+Fs92Ij1feZ5pmC4TeXA8Tg==} + '@motionone/easing@10.17.0': dependencies: '@motionone/utils': 10.17.0 tslib: 2.6.2 - dev: false - /@motionone/generators@10.17.0: - resolution: {integrity: sha512-T6Uo5bDHrZWhIfxG/2Aut7qyWQyJIWehk6OB4qNvr/jwA/SRmixwbd7SOrxZi1z5rH3LIeFFBKK1xHnSbGPZSQ==} + '@motionone/generators@10.17.0': dependencies: '@motionone/types': 10.17.0 '@motionone/utils': 10.17.0 tslib: 2.6.2 - dev: false - /@motionone/svelte@10.16.4: - resolution: {integrity: sha512-zRVqk20lD1xqe+yEDZhMYgftsuHc25+9JSo+r0a0OWUJFocjSV9D/+UGhX4xgJsuwB9acPzXLr20w40VnY2PQA==} + '@motionone/svelte@10.16.4': dependencies: '@motionone/dom': 10.17.0 tslib: 2.6.2 - dev: false - /@motionone/types@10.17.0: - resolution: {integrity: sha512-EgeeqOZVdRUTEHq95Z3t8Rsirc7chN5xFAPMYFobx8TPubkEfRSm5xihmMUkbaR2ErKJTUw3347QDPTHIW12IA==} - dev: false + '@motionone/types@10.17.0': {} - /@motionone/utils@10.17.0: - resolution: {integrity: sha512-bGwrki4896apMWIj9yp5rAS2m0xyhxblg6gTB/leWDPt+pb410W8lYWsxyurX+DH+gO1zsQsfx2su/c1/LtTpg==} + '@motionone/utils@10.17.0': dependencies: '@motionone/types': 10.17.0 hey-listen: 1.0.8 tslib: 2.6.2 - dev: false - /@motionone/vue@10.16.4: - resolution: {integrity: sha512-z10PF9JV6SbjFq+/rYabM+8CVlMokgl8RFGvieSGNTmrkQanfHn+15XBrhG3BgUfvmTeSeyShfOHpG0i9zEdcg==} - deprecated: Motion One for Vue is deprecated. Use Oku Motion instead https://oku-ui.com/motion + '@motionone/vue@10.16.4': dependencies: '@motionone/dom': 10.17.0 tslib: 2.6.2 - dev: false - /@msgpack/msgpack@2.8.0: - resolution: {integrity: sha512-h9u4u/jiIRKbq25PM+zymTyW6bhTzELvOoUd+AvYriWOAKpLGnIamaET3pnHYoI5iYphAHBI4ayx0MehR+VVPQ==} - engines: {node: '>= 10'} - dev: false + '@msgpack/msgpack@2.8.0': {} - /@msgpack/msgpack@3.0.0-beta2: - resolution: {integrity: sha512-y+l1PNV0XDyY8sM3YtuMLK5vE3/hkfId+Do8pLo/OPxfxuFAUwcGz3oiiUuV46/aBpwTzZ+mRWVMtlSKbradhw==} - engines: {node: '>= 14'} - dev: false + '@msgpack/msgpack@3.0.0-beta2': {} - /@napi-rs/simple-git-android-arm-eabi@0.1.11: - resolution: {integrity: sha512-wt4Wu9MxvKzEqT4iwodFs7Nrc31K73gR5hM7VnlO6iLELmUQZ5JVJkYoFWgzLQWtzIC48W2+zFMbBgY6+F2rZg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: false + '@napi-rs/simple-git-android-arm-eabi@0.1.11': optional: true - - /@napi-rs/simple-git-android-arm64@0.1.11: - resolution: {integrity: sha512-5/Aj6N44CxwhV3TZWRZ4vGqFj4wb2/a2gwvUZJo9Dwik9Spls7As8LaLe7pOptiGPH0GRP3H5kTT7I6twHNgqw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false + + '@napi-rs/simple-git-android-arm64@0.1.11': optional: true - /@napi-rs/simple-git-darwin-arm64@0.1.11: - resolution: {integrity: sha512-vdVsJUNcRsGVu0hBmLZdxxgwIbJA/Ias8NKWze8MZkZ3VyBwhg0uAzFgESEL3/USAgeCCHjF3uwVki8E+iPq1w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false + '@napi-rs/simple-git-darwin-arm64@0.1.11': optional: true - /@napi-rs/simple-git-darwin-x64@0.1.11: - resolution: {integrity: sha512-ufVuZxyJ3LpApk3V101X9qYNX91fnQ4isulz9lWjg90U7Xz0Cav4J3yyFZy6B/cJpYxuiy49R8wV1xDtTeGThA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false + '@napi-rs/simple-git-darwin-x64@0.1.11': optional: true - /@napi-rs/simple-git-linux-arm-gnueabihf@0.1.11: - resolution: {integrity: sha512-rFafW0Qc/j5we2ghUecB7mFzGcNDtJ5lTiB4I7kffNeL8pEi6Yi7kST8hylswcCowia65d45xsyeNp1mFlFwcg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false + '@napi-rs/simple-git-linux-arm-gnueabihf@0.1.11': optional: true - /@napi-rs/simple-git-linux-arm64-gnu@0.1.11: - resolution: {integrity: sha512-HZ4yaqpj/FQ3V9qNQrTGhtXb7pLAARXeRJrwoaGfz3eZ069y2bHReFcNR//5bsVhZ18JaS9EV47F8WjDxtpI5g==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false + '@napi-rs/simple-git-linux-arm64-gnu@0.1.11': optional: true - /@napi-rs/simple-git-linux-arm64-musl@0.1.11: - resolution: {integrity: sha512-b39lJiC3n2+Y6Exjx6qwHoBF++D3k2hN4mZZkvQCFSdLXJ2xtalCatSRWW3pt+mHOHMOgbGektL5v5BYq52hxw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false + '@napi-rs/simple-git-linux-arm64-musl@0.1.11': optional: true - /@napi-rs/simple-git-linux-x64-gnu@0.1.11: - resolution: {integrity: sha512-9EPFvY7PZg+oqWi6Jft5WgSsQtvy9Ey1g4NG+LG8y1RbvaNKthxKbR5zgx196pnFVdcLtsuIdOv/OaQlbcTXkw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false + '@napi-rs/simple-git-linux-x64-gnu@0.1.11': optional: true - /@napi-rs/simple-git-linux-x64-musl@0.1.11: - resolution: {integrity: sha512-doIt1lPYIGL3UthlEQjdM9s1Wv0v8bz8LVAgbzJMS+UpVZzArwLWkanAJCy1HjgMTUMiE3AVJqACKIF3EfW/TQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false + '@napi-rs/simple-git-linux-x64-musl@0.1.11': optional: true - /@napi-rs/simple-git-win32-arm64-msvc@0.1.11: - resolution: {integrity: sha512-TK3Uvj3Q72ebxfxDT/eLFt8sxCNHo20QMvqJ5BHt4zP1Y9Fl1DXSPRUKLBIhJd0nPcI45ZOMRiZyoT8joxAC9g==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false + '@napi-rs/simple-git-win32-arm64-msvc@0.1.11': optional: true - /@napi-rs/simple-git-win32-x64-msvc@0.1.11: - resolution: {integrity: sha512-XOgP6kFDXGmB2KCXFQEsCq70n/Do2h7W9o7qZu8APAD+Sc8JGKz4hKG7PKY2ot924v9nIoKSYbHnupnhXSoXkg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false + '@napi-rs/simple-git-win32-x64-msvc@0.1.11': optional: true - /@napi-rs/simple-git@0.1.11: - resolution: {integrity: sha512-z14cPCBrtDKKVJ3q4GS5gmXEithGUAt+U8sICgA9i3UFdxJKD4H5rCnO7BVC3htdE9g6OR2w2IcHAL56AjpFbg==} - engines: {node: '>= 10'} + '@napi-rs/simple-git@0.1.11': optionalDependencies: '@napi-rs/simple-git-android-arm-eabi': 0.1.11 '@napi-rs/simple-git-android-arm64': 0.1.11 @@ -4895,274 +16716,114 @@ packages: '@napi-rs/simple-git-linux-x64-musl': 0.1.11 '@napi-rs/simple-git-win32-arm64-msvc': 0.1.11 '@napi-rs/simple-git-win32-x64-msvc': 0.1.11 - dev: false - /@next/env@13.5.6: - resolution: {integrity: sha512-Yac/bV5sBGkkEXmAX5FWPS9Mmo2rthrOPRQQNfycJPkjUAUclomCPH7QFVCDQ4Mp2k2K1SSM6m0zrxYrOwtFQw==} - dev: false + '@next/env@13.5.6': {} - /@next/eslint-plugin-next@12.3.4: - resolution: {integrity: sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==} + '@next/eslint-plugin-next@12.3.4': dependencies: glob: 7.1.7 - dev: true - /@next/swc-darwin-arm64@13.5.6: - resolution: {integrity: sha512-5nvXMzKtZfvcu4BhtV0KH1oGv4XEW+B+jOfmBdpFI3C7FrB/MfujRpWYSBBO64+qbW8pkZiSyQv9eiwnn5VIQA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false + '@next/swc-darwin-arm64@13.5.6': optional: true - /@next/swc-darwin-x64@13.5.6: - resolution: {integrity: sha512-6cgBfxg98oOCSr4BckWjLLgiVwlL3vlLj8hXg2b+nDgm4bC/qVXXLfpLB9FHdoDu4057hzywbxKvmYGmi7yUzA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false + '@next/swc-darwin-x64@13.5.6': optional: true - /@next/swc-linux-arm64-gnu@13.5.6: - resolution: {integrity: sha512-txagBbj1e1w47YQjcKgSU4rRVQ7uF29YpnlHV5xuVUsgCUf2FmyfJ3CPjZUvpIeXCJAoMCFAoGnbtX86BK7+sg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false + '@next/swc-linux-arm64-gnu@13.5.6': optional: true - /@next/swc-linux-arm64-musl@13.5.6: - resolution: {integrity: sha512-cGd+H8amifT86ZldVJtAKDxUqeFyLWW+v2NlBULnLAdWsiuuN8TuhVBt8ZNpCqcAuoruoSWynvMWixTFcroq+Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false + '@next/swc-linux-arm64-musl@13.5.6': optional: true - /@next/swc-linux-x64-gnu@13.5.6: - resolution: {integrity: sha512-Mc2b4xiIWKXIhBy2NBTwOxGD3nHLmq4keFk+d4/WL5fMsB8XdJRdtUlL87SqVCTSaf1BRuQQf1HvXZcy+rq3Nw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false + '@next/swc-linux-x64-gnu@13.5.6': optional: true - /@next/swc-linux-x64-musl@13.5.6: - resolution: {integrity: sha512-CFHvP9Qz98NruJiUnCe61O6GveKKHpJLloXbDSWRhqhkJdZD2zU5hG+gtVJR//tyW897izuHpM6Gtf6+sNgJPQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false + '@next/swc-linux-x64-musl@13.5.6': optional: true - /@next/swc-win32-arm64-msvc@13.5.6: - resolution: {integrity: sha512-aFv1ejfkbS7PUa1qVPwzDHjQWQtknzAZWGTKYIAaS4NMtBlk3VyA6AYn593pqNanlicewqyl2jUhQAaFV/qXsg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false + '@next/swc-win32-arm64-msvc@13.5.6': optional: true - /@next/swc-win32-ia32-msvc@13.5.6: - resolution: {integrity: sha512-XqqpHgEIlBHvzwG8sp/JXMFkLAfGLqkbVsyN+/Ih1mR8INb6YCc2x/Mbwi6hsAgUnqQztz8cvEbHJUbSl7RHDg==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false + '@next/swc-win32-ia32-msvc@13.5.6': optional: true - /@next/swc-win32-x64-msvc@13.5.6: - resolution: {integrity: sha512-Cqfe1YmOS7k+5mGu92nl5ULkzpKuxJrP3+4AEuPmrpFZ3BHxTY3TnHmU1On3bFmFFs6FbTcdF58CCUProGpIGQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false + '@next/swc-win32-x64-msvc@13.5.6': optional: true - /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: - resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': dependencies: eslint-scope: 5.1.1 - /@noble/curves@1.2.0: - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + '@noble/curves@1.2.0': dependencies: '@noble/hashes': 1.3.2 - dev: false - /@noble/curves@1.3.0: - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + '@noble/curves@1.3.0': dependencies: '@noble/hashes': 1.3.3 - dev: false - /@noble/ed25519@2.0.0: - resolution: {integrity: sha512-/extjhkwFupyopDrt80OMWKdLgP429qLZj+z6sYJz90rF2Iz0gjZh2ArMKPImUl13Kx+0EXI2hN9T/KJV0/Zng==} - dev: false + '@noble/ed25519@2.0.0': {} - /@noble/hashes@1.3.2: - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} - dev: false + '@noble/hashes@1.3.2': {} - /@noble/hashes@1.3.3: - resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} - engines: {node: '>= 16'} - dev: false + '@noble/hashes@1.3.3': {} - /@noble/secp256k1@1.7.1: - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - dev: false + '@noble/secp256k1@1.7.1': {} - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.16.0 - /@parcel/watcher-android-arm64@2.4.0: - resolution: {integrity: sha512-+fPtO/GsbYX1LJnCYCaDVT3EOBjvSFdQN9Mrzh9zWAOOfvidPWyScTrHIZHHfJBvlHzNA0Gy0U3NXFA/M7PHUA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false + '@parcel/watcher-android-arm64@2.4.0': optional: true - /@parcel/watcher-darwin-arm64@2.4.0: - resolution: {integrity: sha512-T/At5pansFuQ8VJLRx0C6C87cgfqIYhW2N/kBfLCUvDhCah0EnLLwaD/6MW3ux+rpgkpQAnMELOCTKlbwncwiA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false + '@parcel/watcher-darwin-arm64@2.4.0': optional: true - /@parcel/watcher-darwin-x64@2.4.0: - resolution: {integrity: sha512-vZMv9jl+szz5YLsSqEGCMSllBl1gU1snfbRL5ysJU03MEa6gkVy9OMcvXV1j4g0++jHEcvzhs3Z3LpeEbVmY6Q==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false + '@parcel/watcher-darwin-x64@2.4.0': optional: true - /@parcel/watcher-freebsd-x64@2.4.0: - resolution: {integrity: sha512-dHTRMIplPDT1M0+BkXjtMN+qLtqq24sLDUhmU+UxxLP2TEY2k8GIoqIJiVrGWGomdWsy5IO27aDV1vWyQ6gfHA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false + '@parcel/watcher-freebsd-x64@2.4.0': optional: true - /@parcel/watcher-linux-arm-glibc@2.4.0: - resolution: {integrity: sha512-9NQXD+qk46RwATNC3/UB7HWurscY18CnAPMTFcI9Y8CTbtm63/eex1SNt+BHFinEQuLBjaZwR2Lp+n7pmEJPpQ==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false + '@parcel/watcher-linux-arm-glibc@2.4.0': optional: true - /@parcel/watcher-linux-arm64-glibc@2.4.0: - resolution: {integrity: sha512-QuJTAQdsd7PFW9jNGaV9Pw+ZMWV9wKThEzzlY3Lhnnwy7iW23qtQFPql8iEaSFMCVI5StNNmONUopk+MFKpiKg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false + '@parcel/watcher-linux-arm64-glibc@2.4.0': optional: true - /@parcel/watcher-linux-arm64-musl@2.4.0: - resolution: {integrity: sha512-oyN+uA9xcTDo/45bwsd6TFHa7Lc7hKujyMlvwrCLvSckvWogndCEoVYFNfZ6JJ2KNL/6fFiGPcbjp8jJmEh5Ng==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false + '@parcel/watcher-linux-arm64-musl@2.4.0': optional: true - /@parcel/watcher-linux-x64-glibc@2.4.0: - resolution: {integrity: sha512-KphV8awJmxU3q52JQvJot0QMu07CIyEjV+2Tb2ZtbucEgqyRcxOBDMsqp1JNq5nuDXtcCC0uHQICeiEz38dPBQ==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false + '@parcel/watcher-linux-x64-glibc@2.4.0': optional: true - /@parcel/watcher-linux-x64-musl@2.4.0: - resolution: {integrity: sha512-7jzcOonpXNWcSijPpKD5IbC6xC7yTibjJw9jviVzZostYLGxbz8LDJLUnLzLzhASPlPGgpeKLtFUMjAAzM+gSA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false + '@parcel/watcher-linux-x64-musl@2.4.0': optional: true - /@parcel/watcher-wasm@2.3.0: - resolution: {integrity: sha512-ejBAX8H0ZGsD8lSICDNyMbSEtPMWgDL0WFCt/0z7hyf5v8Imz4rAM8xY379mBsECkq/Wdqa5WEDLqtjZ+6NxfA==} - engines: {node: '>= 10.0.0'} + '@parcel/watcher-wasm@2.3.0': dependencies: is-glob: 4.0.3 micromatch: 4.0.5 - napi-wasm: 1.1.0 - dev: false - bundledDependencies: - - napi-wasm - /@parcel/watcher-win32-arm64@2.4.0: - resolution: {integrity: sha512-NOej2lqlq8bQNYhUMnOD0nwvNql8ToQF+1Zhi9ULZoG+XTtJ9hNnCFfyICxoZLXor4bBPTOnzs/aVVoefYnjIg==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false + '@parcel/watcher-win32-arm64@2.4.0': optional: true - /@parcel/watcher-win32-ia32@2.4.0: - resolution: {integrity: sha512-IO/nM+K2YD/iwjWAfHFMBPz4Zqn6qBDqZxY4j2n9s+4+OuTSRM/y/irksnuqcspom5DjkSeF9d0YbO+qpys+JA==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false + '@parcel/watcher-win32-ia32@2.4.0': optional: true - /@parcel/watcher-win32-x64@2.4.0: - resolution: {integrity: sha512-pAUyUVjfFjWaf/pShmJpJmNxZhbMvJASUpdes9jL6bTEJ+gDxPRSpXTIemNyNsb9AtbiGXs9XduP1reThmd+dA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false + '@parcel/watcher-win32-x64@2.4.0': optional: true - /@parcel/watcher@2.4.0: - resolution: {integrity: sha512-XJLGVL0DEclX5pcWa2N9SX1jCGTDd8l972biNooLFtjneuGqodupPQh6XseXIBBeVIMaaJ7bTcs3qGvXwsp4vg==} - engines: {node: '>= 10.0.0'} + '@parcel/watcher@2.4.0': dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 @@ -5181,66 +16842,31 @@ packages: '@parcel/watcher-win32-arm64': 2.4.0 '@parcel/watcher-win32-ia32': 2.4.0 '@parcel/watcher-win32-x64': 2.4.0 - dev: false - /@peculiar/asn1-schema@2.3.8: - resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} + '@peculiar/asn1-schema@2.3.8': dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 tslib: 2.6.2 - /@peculiar/json-schema@1.1.12: - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} + '@peculiar/json-schema@1.1.12': dependencies: tslib: 2.6.2 - /@peculiar/webcrypto@1.4.5(patch_hash=saeohqf4hlpnnys7brc6umjxqq): - resolution: {integrity: sha512-oDk93QCDGdxFRM8382Zdminzs44dg3M2+E5Np+JWkpqLDyJC9DviMh8F8mEJkYuUcUOGA5jHO5AJJ10MFWdbZw==} - engines: {node: '>=10.12.0'} + '@peculiar/webcrypto@1.4.5(patch_hash=saeohqf4hlpnnys7brc6umjxqq)': dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.5 tslib: 2.6.2 webcrypto-core: 1.7.8 - patched: true - /@perspect3vism/rollup-plugin-dna@0.0.2: - resolution: {integrity: sha512-+18Prdkzv1dcEzyWIp/DersXHcfpU6rDxDPdXGtfzB/ritepc7ehYSN60E94uNNzuOy7QaK4p2YL3DPPkgsb8g==} + '@perspect3vism/rollup-plugin-dna@0.0.2': {} - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true + '@pkgjs/parseargs@0.11.0': optional: true - /@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.90.0): - resolution: {integrity: sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==} - engines: {node: '>= 10.13'} - peerDependencies: - '@types/webpack': 4.x || 5.x - react-refresh: '>=0.10.0 <1.0.0' - sockjs-client: ^1.4.0 - type-fest: '>=0.17.0 <5.0.0' - webpack: '>=4.43.0 <6.0.0' - webpack-dev-server: 3.x || 4.x - webpack-hot-middleware: 2.x - webpack-plugin-serve: 0.x || 1.x - peerDependenciesMeta: - '@types/webpack': - optional: true - sockjs-client: - optional: true - type-fest: - optional: true - webpack-dev-server: - optional: true - webpack-hot-middleware: - optional: true - webpack-plugin-serve: - optional: true + '@pmmmwh/react-refresh-webpack-plugin@0.5.11(react-refresh@0.11.0)(type-fest@1.4.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.90.0))(webpack@5.90.0)': dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 @@ -5253,53 +16879,39 @@ packages: schema-utils: 3.3.0 source-map: 0.7.4 webpack: 5.90.0 - webpack-dev-server: 4.15.1(webpack@5.90.0) + optionalDependencies: + type-fest: 1.4.0 + webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.90.0) - /@popperjs/core@2.11.8: - resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==} - dev: false + '@popperjs/core@2.11.8': {} - /@preact/preset-vite@2.8.1(@babel/core@7.24.3)(preact@10.19.3)(vite@4.5.2): - resolution: {integrity: sha512-a9KV4opdj17X2gOFuGup0aE+sXYABX/tJi/QDptOrleX4FlnoZgDWvz45tHOdVfrZX+3uvVsIYPHxRsTerkDNA==} - peerDependencies: - '@babel/core': 7.x - vite: 2.x || 3.x || 4.x || 5.x + '@preact/preset-vite@2.8.1(@babel/core@7.23.9)(preact@10.19.3)(vite@4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0))': dependencies: - '@babel/core': 7.24.3 - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.3) - '@prefresh/vite': 2.4.5(preact@10.19.3)(vite@4.5.2) + '@babel/core': 7.23.9 + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.23.9) + '@prefresh/vite': 2.4.5(preact@10.19.3)(vite@4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0)) '@rollup/pluginutils': 4.2.1 - babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.24.3) + babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.23.9) debug: 4.3.4(supports-color@8.1.1) kolorist: 1.8.0 magic-string: 0.30.5 node-html-parser: 6.1.12 resolve: 1.22.8 - vite: 4.5.2(@types/node@18.11.10) + vite: 4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - preact - supports-color - dev: false - /@prefresh/babel-plugin@0.5.1: - resolution: {integrity: sha512-uG3jGEAysxWoyG3XkYfjYHgaySFrSsaEb4GagLzYaxlydbuREtaX+FTxuIidp241RaLl85XoHg9Ej6E4+V1pcg==} + '@prefresh/babel-plugin@0.5.1': {} - /@prefresh/core@1.5.2(preact@10.19.3): - resolution: {integrity: sha512-A/08vkaM1FogrCII5PZKCrygxSsc11obExBScm3JF1CryK2uDS3ZXeni7FeKCx1nYdUkj4UcJxzPzc1WliMzZA==} - peerDependencies: - preact: ^10.0.0 + '@prefresh/core@1.5.2(preact@10.19.3)': dependencies: preact: 10.19.3 - /@prefresh/utils@1.2.0: - resolution: {integrity: sha512-KtC/fZw+oqtwOLUFM9UtiitB0JsVX0zLKNyRTA332sqREqSALIIQQxdUCS1P3xR/jT1e2e8/5rwH6gdcMLEmsQ==} + '@prefresh/utils@1.2.0': {} - /@prefresh/vite@2.4.5(preact@10.19.3)(vite@4.5.2): - resolution: {integrity: sha512-iForDVJ2M8gQYnm5pHumvTEJjGGc7YNYC0GVKnHFL+GvFfKHfH9Rpq67nUAzNbjuLEpqEOUuQVQajMazWu2ZNQ==} - peerDependencies: - preact: ^10.4.0 - vite: '>=2.0.0' + '@prefresh/vite@2.4.5(preact@10.19.3)(vite@4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0))': dependencies: '@babel/core': 7.23.9 '@prefresh/babel-plugin': 0.5.1 @@ -5307,89 +16919,50 @@ packages: '@prefresh/utils': 1.2.0 '@rollup/pluginutils': 4.2.1 preact: 10.19.3 - vite: 4.5.2(@types/node@18.11.10) + vite: 4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - supports-color - /@protobufjs/aspromise@1.1.2: - resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - dev: true + '@protobufjs/aspromise@1.1.2': {} - /@protobufjs/base64@1.1.2: - resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - dev: true + '@protobufjs/base64@1.1.2': {} - /@protobufjs/codegen@2.0.4: - resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - dev: true + '@protobufjs/codegen@2.0.4': {} - /@protobufjs/eventemitter@1.1.0: - resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - dev: true + '@protobufjs/eventemitter@1.1.0': {} - /@protobufjs/fetch@1.1.0: - resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} + '@protobufjs/fetch@1.1.0': dependencies: '@protobufjs/aspromise': 1.1.2 '@protobufjs/inquire': 1.1.0 - dev: true - /@protobufjs/float@1.0.2: - resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - dev: true + '@protobufjs/float@1.0.2': {} - /@protobufjs/inquire@1.1.0: - resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - dev: true + '@protobufjs/inquire@1.1.0': {} - /@protobufjs/path@1.1.2: - resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - dev: true + '@protobufjs/path@1.1.2': {} - /@protobufjs/pool@1.1.0: - resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - dev: true + '@protobufjs/pool@1.1.0': {} - /@protobufjs/utf8@1.1.0: - resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - dev: true + '@protobufjs/utf8@1.1.0': {} - /@remix-run/router@1.14.2: - resolution: {integrity: sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==} - engines: {node: '>=14.0.0'} - dev: false + '@remix-run/router@1.14.2': {} - /@rollup/plugin-alias@3.1.9(rollup@2.79.1): - resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==} - engines: {node: '>=8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 + '@rollup/plugin-alias@3.1.9(rollup@2.79.1)': dependencies: rollup: 2.79.1 slash: 3.0.0 - dev: true - /@rollup/plugin-babel@5.3.1(@babel/core@7.23.9)(rollup@2.79.1): - resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==} - engines: {node: '>= 10.0.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@types/babel__core': ^7.1.9 - rollup: ^1.20.0||^2.0.0 - peerDependenciesMeta: - '@types/babel__core': - optional: true + '@rollup/plugin-babel@5.3.1(@babel/core@7.23.9)(@types/babel__core@7.20.5)(rollup@2.79.1)': dependencies: '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 + optionalDependencies: + '@types/babel__core': 7.20.5 - /@rollup/plugin-commonjs@14.0.0(rollup@2.79.1): - resolution: {integrity: sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.3.4 + '@rollup/plugin-commonjs@14.0.0(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) commondir: 1.0.1 @@ -5400,11 +16973,7 @@ packages: resolve: 1.22.8 rollup: 2.79.1 - /@rollup/plugin-commonjs@17.1.0(rollup@2.79.1): - resolution: {integrity: sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.30.0 + '@rollup/plugin-commonjs@17.1.0(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) commondir: 1.0.1 @@ -5414,13 +16983,8 @@ packages: magic-string: 0.25.9 resolve: 1.22.8 rollup: 2.79.1 - dev: true - /@rollup/plugin-commonjs@20.0.0(rollup@2.79.1): - resolution: {integrity: sha512-5K0g5W2Ol8hAcTHqcTBHiA7M58tfmYi1o9KxeJuuRNpGaTa5iLjcyemBitCBcKXaHamOBBEH2dGom6v6Unmqjg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^2.38.3 + '@rollup/plugin-commonjs@20.0.0(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) commondir: 1.0.1 @@ -5430,21 +16994,13 @@ packages: magic-string: 0.25.9 resolve: 1.22.8 rollup: 2.79.1 - dev: true - /@rollup/plugin-json@4.1.0(rollup@2.79.1): - resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + '@rollup/plugin-json@4.1.0(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) rollup: 2.79.1 - /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1): - resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 + '@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@types/resolve': 1.17.1 @@ -5454,11 +17010,7 @@ packages: resolve: 1.22.8 rollup: 2.79.1 - /@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1): - resolution: {integrity: sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==} - engines: {node: '>= 10.0.0'} - peerDependencies: - rollup: ^2.42.0 + '@rollup/plugin-node-resolve@13.3.0(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@types/resolve': 1.17.1 @@ -5467,13 +17019,8 @@ packages: is-module: 1.0.0 resolve: 1.22.8 rollup: 2.79.1 - dev: true - /@rollup/plugin-node-resolve@8.4.0(rollup@2.79.1): - resolution: {integrity: sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 + '@rollup/plugin-node-resolve@8.4.0(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) '@types/resolve': 1.17.1 @@ -5483,43 +17030,23 @@ packages: is-module: 1.0.0 resolve: 1.22.8 rollup: 2.79.1 - - /@rollup/plugin-replace@2.4.2(rollup@2.79.1): - resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} - peerDependencies: - rollup: ^1.20.0 || ^2.0.0 + + '@rollup/plugin-replace@2.4.2(rollup@2.79.1)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) magic-string: 0.25.9 rollup: 2.79.1 - /@rollup/plugin-typescript@11.1.6(rollup@2.79.1)(tslib@2.6.2)(typescript@4.9.5): - resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^2.14.0||^3.0.0||^4.0.0 - tslib: '*' - typescript: '>=3.7.0' - peerDependenciesMeta: - rollup: - optional: true - tslib: - optional: true + '@rollup/plugin-typescript@11.1.6(rollup@2.79.1)(tslib@2.6.2)(typescript@4.9.5)': dependencies: '@rollup/pluginutils': 5.1.0(rollup@2.79.1) resolve: 1.22.8 + typescript: 4.9.5 + optionalDependencies: rollup: 2.79.1 tslib: 2.6.2 - typescript: 4.9.5 - dev: true - /@rollup/plugin-typescript@4.1.2(rollup@2.79.1)(tslib@2.6.2)(typescript@4.9.5): - resolution: {integrity: sha512-+7UlGat/99e2JbmGNnIauxwEhYLwrL7adO/tSJxUN57xrrS3Ps+ZzYpLCDGPZJ57j+ZJTZLLN89KXW9JMEB+jg==} - engines: {node: '>=8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 - tslib: '*' - typescript: '>=2.1.0' + '@rollup/plugin-typescript@4.1.2(rollup@2.79.1)(tslib@2.6.2)(typescript@4.9.5)': dependencies: '@rollup/pluginutils': 3.1.0(rollup@2.79.1) resolve: 1.22.8 @@ -5527,300 +17054,167 @@ packages: tslib: 2.6.2 typescript: 4.9.5 - /@rollup/pluginutils@3.1.0(rollup@2.79.1): - resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} - engines: {node: '>= 8.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0 + '@rollup/pluginutils@3.1.0(rollup@2.79.1)': dependencies: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.1 rollup: 2.79.1 - /@rollup/pluginutils@4.2.1: - resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} - engines: {node: '>= 8.0.0'} + '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - /@rollup/pluginutils@5.1.0(rollup@2.79.1): - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true + '@rollup/pluginutils@5.1.0(rollup@2.79.1)': dependencies: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 + optionalDependencies: rollup: 2.79.1 - dev: true - /@rollup/rollup-android-arm-eabi@4.9.6: - resolution: {integrity: sha512-MVNXSSYN6QXOulbHpLMKYi60ppyO13W9my1qogeiAqtjb2yR4LSmfU2+POvDkLzhjYLXz9Rf9+9a3zFHW1Lecg==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@rollup/rollup-android-arm-eabi@4.9.6': optional: true - /@rollup/rollup-android-arm64@4.9.6: - resolution: {integrity: sha512-T14aNLpqJ5wzKNf5jEDpv5zgyIqcpn1MlwCrUXLrwoADr2RkWA0vOWP4XxbO9aiO3dvMCQICZdKeDrFl7UMClw==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + '@rollup/rollup-android-arm64@4.9.6': optional: true - /@rollup/rollup-darwin-arm64@4.9.6: - resolution: {integrity: sha512-CqNNAyhRkTbo8VVZ5R85X73H3R5NX9ONnKbXuHisGWC0qRbTTxnF1U4V9NafzJbgGM0sHZpdO83pLPzq8uOZFw==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@rollup/rollup-darwin-arm64@4.9.6': optional: true - /@rollup/rollup-darwin-x64@4.9.6: - resolution: {integrity: sha512-zRDtdJuRvA1dc9Mp6BWYqAsU5oeLixdfUvkTHuiYOHwqYuQ4YgSmi6+/lPvSsqc/I0Omw3DdICx4Tfacdzmhog==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@rollup/rollup-darwin-x64@4.9.6': optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.9.6: - resolution: {integrity: sha512-oNk8YXDDnNyG4qlNb6is1ojTOGL/tRhbbKeE/YuccItzerEZT68Z9gHrY3ROh7axDc974+zYAPxK5SH0j/G+QQ==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm-gnueabihf@4.9.6': optional: true - /@rollup/rollup-linux-arm64-gnu@4.9.6: - resolution: {integrity: sha512-Z3O60yxPtuCYobrtzjo0wlmvDdx2qZfeAWTyfOjEDqd08kthDKexLpV97KfAeUXPosENKd8uyJMRDfFMxcYkDQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm64-gnu@4.9.6': optional: true - /@rollup/rollup-linux-arm64-musl@4.9.6: - resolution: {integrity: sha512-gpiG0qQJNdYEVad+1iAsGAbgAnZ8j07FapmnIAQgODKcOTjLEWM9sRb+MbQyVsYCnA0Im6M6QIq6ax7liws6eQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-arm64-musl@4.9.6': optional: true - /@rollup/rollup-linux-riscv64-gnu@4.9.6: - resolution: {integrity: sha512-+uCOcvVmFUYvVDr27aiyun9WgZk0tXe7ThuzoUTAukZJOwS5MrGbmSlNOhx1j80GdpqbOty05XqSl5w4dQvcOA==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-riscv64-gnu@4.9.6': optional: true - /@rollup/rollup-linux-x64-gnu@4.9.6: - resolution: {integrity: sha512-HUNqM32dGzfBKuaDUBqFB7tP6VMN74eLZ33Q9Y1TBqRDn+qDonkAUyKWwF9BR9unV7QUzffLnz9GrnKvMqC/fw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-x64-gnu@4.9.6': optional: true - /@rollup/rollup-linux-x64-musl@4.9.6: - resolution: {integrity: sha512-ch7M+9Tr5R4FK40FHQk8VnML0Szi2KRujUgHXd/HjuH9ifH72GUmw6lStZBo3c3GB82vHa0ZoUfjfcM7JiiMrQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@rollup/rollup-linux-x64-musl@4.9.6': optional: true - /@rollup/rollup-win32-arm64-msvc@4.9.6: - resolution: {integrity: sha512-VD6qnR99dhmTQ1mJhIzXsRcTBvTjbfbGGwKAHcu+52cVl15AC/kplkhxzW/uT0Xl62Y/meBKDZvoJSJN+vTeGA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-arm64-msvc@4.9.6': optional: true - /@rollup/rollup-win32-ia32-msvc@4.9.6: - resolution: {integrity: sha512-J9AFDq/xiRI58eR2NIDfyVmTYGyIZmRcvcAoJ48oDld/NTR8wyiPUu2X/v1navJ+N/FGg68LEbX3Ejd6l8B7MQ==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-ia32-msvc@4.9.6': optional: true - /@rollup/rollup-win32-x64-msvc@4.9.6: - resolution: {integrity: sha512-jqzNLhNDvIZOrt69Ce4UjGRpXJBzhUBzawMwnaDAwyHriki3XollsewxWzOzz+4yOFDkuJHtTsZFwMxhYJWmLQ==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@rollup/rollup-win32-x64-msvc@4.9.6': optional: true - /@rushstack/eslint-patch@1.7.2: - resolution: {integrity: sha512-RbhOOTCNoCrbfkRyoXODZp75MlpiHMgbE5MEBZAnnnLyQNgrigEj4p0lzsMDyc1zVsJDLrivB58tgg3emX0eEA==} + '@rushstack/eslint-patch@1.7.2': {} - /@safe-global/safe-apps-provider@0.18.2(typescript@5.3.3): - resolution: {integrity: sha512-yHHAcppwE7aIUWEeZiYAClQzZCdP5l0Kbd0CBlhKAsTcqZnx4Gh3G3G3frY5LlWcGzp9qmQ5jv+J1GBpaZLDgw==} + '@safe-global/safe-apps-provider@0.18.2(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4)': dependencies: - '@safe-global/safe-apps-sdk': 9.0.0(typescript@5.3.3) + '@safe-global/safe-apps-sdk': 9.0.0(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) events: 3.3.0 transitivePeerDependencies: - bufferutil - typescript - utf-8-validate - zod - dev: false - /@safe-global/safe-apps-sdk@8.1.0(typescript@5.3.3): - resolution: {integrity: sha512-XJbEPuaVc7b9n23MqlF6c+ToYIS3f7P2Sel8f3cSBQ9WORE4xrSuvhMpK9fDSFqJ7by/brc+rmJR/5HViRr0/w==} + '@safe-global/safe-apps-sdk@8.1.0(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.14.0 - viem: 1.21.4(typescript@5.3.3) + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) transitivePeerDependencies: - bufferutil - typescript - utf-8-validate - zod - dev: false - /@safe-global/safe-apps-sdk@9.0.0(typescript@5.3.3): - resolution: {integrity: sha512-fEqmQBU3JqTjORSl3XYrcaxdxkUqeeM39qsQjqCzzTHioN8DEfg3JCLq6EBoXzcKTVOYi8SPzLV7KJccdDw+4w==} + '@safe-global/safe-apps-sdk@9.0.0(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4)': dependencies: '@safe-global/safe-gateway-typescript-sdk': 3.14.0 - viem: 1.21.4(typescript@5.3.3) + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) transitivePeerDependencies: - bufferutil - typescript - utf-8-validate - zod - dev: false - /@safe-global/safe-gateway-typescript-sdk@3.14.0: - resolution: {integrity: sha512-/dqU66RvHw50n+7x3nwnJedq8V6iLQyoWitNdjx5cFTBmae+rpP+LvHq+LqZfXJVkB1qNytMdjFjdyES0t79gQ==} - engines: {node: '>=16'} - dev: false + '@safe-global/safe-gateway-typescript-sdk@3.14.0': {} - /@samverschueren/stream-to-observable@0.3.1(rxjs@6.6.7): - resolution: {integrity: sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==} - engines: {node: '>=6'} - peerDependencies: - rxjs: '*' - zen-observable: '*' - peerDependenciesMeta: - rxjs: - optional: true - zen-observable: - optional: true + '@samverschueren/stream-to-observable@0.3.1(rxjs@6.6.7)': dependencies: any-observable: 0.3.0(rxjs@6.6.7) + optionalDependencies: rxjs: 6.6.7 transitivePeerDependencies: - zenObservable - dev: true - /@scure/base@1.1.5: - resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} - dev: false + '@scure/base@1.1.5': {} - /@scure/bip32@1.3.2: - resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + '@scure/bip32@1.3.2': dependencies: '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/base': 1.1.5 - dev: false - /@scure/bip39@1.2.1: - resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + '@scure/bip39@1.2.1': dependencies: '@noble/hashes': 1.3.2 '@scure/base': 1.1.5 - dev: false - /@sinclair/typebox@0.24.51: - resolution: {integrity: sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==} + '@sinclair/typebox@0.24.51': {} - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true + '@sinclair/typebox@0.27.8': {} - /@sindresorhus/is@0.14.0: - resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} - engines: {node: '>=6'} + '@sindresorhus/is@0.14.0': {} - /@sindresorhus/is@2.1.1: - resolution: {integrity: sha512-/aPsuoj/1Dw/kzhkgz+ES6TxG0zfTMGLwuK2ZG00k/iJzYHTLCE8mVU8EPqEOp/lmxPoq1C1C9RYToRKb2KEfg==} - engines: {node: '>=10'} - dev: true + '@sindresorhus/is@2.1.1': {} - /@sindresorhus/is@4.6.0: - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} - dev: true + '@sindresorhus/is@4.6.0': {} - /@sinonjs/commons@1.8.6: - resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==} + '@sinonjs/commons@1.8.6': dependencies: type-detect: 4.0.8 - /@sinonjs/commons@2.0.0: - resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + '@sinonjs/commons@2.0.0': dependencies: type-detect: 4.0.8 - dev: true - /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - dev: true - /@sinonjs/fake-timers@11.2.2: - resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} + '@sinonjs/fake-timers@11.2.2': dependencies: '@sinonjs/commons': 3.0.1 - dev: true - /@sinonjs/fake-timers@6.0.1: - resolution: {integrity: sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA==} + '@sinonjs/fake-timers@6.0.1': dependencies: '@sinonjs/commons': 1.8.6 - dev: true - /@sinonjs/fake-timers@8.1.0: - resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==} + '@sinonjs/fake-timers@8.1.0': dependencies: '@sinonjs/commons': 1.8.6 - /@sinonjs/samsam@8.0.0: - resolution: {integrity: sha512-Bp8KUVlLp8ibJZrnvq2foVhP0IVX2CIprMJPK0vqGqgrDa0OHVKeZyBykqskkrdxV6yKBPmGasO8LVjAKR3Gew==} + '@sinonjs/samsam@8.0.0': dependencies: '@sinonjs/commons': 2.0.0 lodash.get: 4.4.2 type-detect: 4.0.8 - dev: true - /@sinonjs/text-encoding@0.7.2: - resolution: {integrity: sha512-sXXKG+uL9IrKqViTtao2Ws6dy0znu9sOaP1di/jKGW1M6VssO8vlpXCQcpZ+jisQ1tTFAC5Jo/EOzFbggBagFQ==} - dev: true + '@sinonjs/text-encoding@0.7.2': {} - /@solana/buffer-layout@4.0.1: - resolution: {integrity: sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA==} - engines: {node: '>=5.10'} + '@solana/buffer-layout@4.0.1': dependencies: buffer: 6.0.3 - dev: false - /@solana/web3.js@1.89.1: - resolution: {integrity: sha512-t9TTLtPQxtQB3SAf/5E8xPXfVDsC6WGOsgKY02l2cbe0HLymT7ynE8Hu48Lk5qynHCquj6nhISfEHcjMkYpu/A==} + '@solana/web3.js@1.89.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@babel/runtime': 7.23.9 '@noble/curves': 1.3.0 @@ -5833,7 +17227,7 @@ packages: bs58: 4.0.1 buffer: 6.0.3 fast-stable-stringify: 1.0.0 - jayson: 4.1.0 + jayson: 4.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) node-fetch: 2.7.0 rpc-websockets: 7.9.0 superstruct: 0.14.2 @@ -5841,46 +17235,32 @@ packages: - bufferutil - encoding - utf-8-validate - dev: false - /@stablelib/aead@1.0.1: - resolution: {integrity: sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==} - dev: false + '@stablelib/aead@1.0.1': {} - /@stablelib/aes-kw@1.0.1: - resolution: {integrity: sha512-KrOkiRex1tQTbWk+hFB5fFw4vqKhNnTUtlCRf1bhUEOFp7hadWe49/sLa/P4X4FBQVoh3Z9Lj0zS1OWu/AHA1w==} + '@stablelib/aes-kw@1.0.1': dependencies: '@stablelib/aes': 1.0.1 '@stablelib/binary': 1.0.1 '@stablelib/blockcipher': 1.0.1 '@stablelib/constant-time': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/aes@1.0.1: - resolution: {integrity: sha512-bMiezJDeFONDHbMEa+Kic26962+bwkZfsHPAmcqTjLaHCAhEQuK3i1H0POPOkcHCdj75oVRIqFCraCA0cyHPvw==} + '@stablelib/aes@1.0.1': dependencies: '@stablelib/binary': 1.0.1 '@stablelib/blockcipher': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/binary@1.0.1: - resolution: {integrity: sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==} + '@stablelib/binary@1.0.1': dependencies: '@stablelib/int': 1.0.1 - dev: false - /@stablelib/blockcipher@1.0.1: - resolution: {integrity: sha512-4bkpV8HUAv0CgI1fUqkPUEEvv3RXQ3qBkuZaSWhshXGAz1JCpriesgiO9Qs4f0KzBJkCtvcho5n7d/RKvnHbew==} - dev: false + '@stablelib/blockcipher@1.0.1': {} - /@stablelib/bytes@1.0.1: - resolution: {integrity: sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==} - dev: false + '@stablelib/bytes@1.0.1': {} - /@stablelib/chacha20poly1305@1.0.1: - resolution: {integrity: sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==} + '@stablelib/chacha20poly1305@1.0.1': dependencies: '@stablelib/aead': 1.0.1 '@stablelib/binary': 1.0.1 @@ -5888,161 +17268,108 @@ packages: '@stablelib/constant-time': 1.0.1 '@stablelib/poly1305': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/chacha@1.0.1: - resolution: {integrity: sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==} + '@stablelib/chacha@1.0.1': dependencies: '@stablelib/binary': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/constant-time@1.0.1: - resolution: {integrity: sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==} - dev: false + '@stablelib/constant-time@1.0.1': {} - /@stablelib/ed25519@1.0.3: - resolution: {integrity: sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==} + '@stablelib/ed25519@1.0.3': dependencies: '@stablelib/random': 1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4) '@stablelib/sha512': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/hash@1.0.1: - resolution: {integrity: sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==} - dev: false + '@stablelib/hash@1.0.1': {} - /@stablelib/hkdf@1.0.1: - resolution: {integrity: sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==} + '@stablelib/hkdf@1.0.1': dependencies: '@stablelib/hash': 1.0.1 '@stablelib/hmac': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/hmac@1.0.1: - resolution: {integrity: sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==} + '@stablelib/hmac@1.0.1': dependencies: '@stablelib/constant-time': 1.0.1 '@stablelib/hash': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/int@1.0.1: - resolution: {integrity: sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==} - dev: false + '@stablelib/int@1.0.1': {} - /@stablelib/keyagreement@1.0.1: - resolution: {integrity: sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==} + '@stablelib/keyagreement@1.0.1': dependencies: '@stablelib/bytes': 1.0.1 - dev: false - /@stablelib/poly1305@1.0.1: - resolution: {integrity: sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==} + '@stablelib/poly1305@1.0.1': dependencies: '@stablelib/constant-time': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/random@1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4): - resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} + '@stablelib/random@1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4)': dependencies: '@stablelib/binary': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - patched: true - /@stablelib/sha256@1.0.1: - resolution: {integrity: sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==} + '@stablelib/sha256@1.0.1': dependencies: '@stablelib/binary': 1.0.1 '@stablelib/hash': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/sha512@1.0.1: - resolution: {integrity: sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==} + '@stablelib/sha512@1.0.1': dependencies: '@stablelib/binary': 1.0.1 '@stablelib/hash': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/wipe@1.0.1: - resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} - dev: false + '@stablelib/wipe@1.0.1': {} - /@stablelib/x25519@1.0.3: - resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + '@stablelib/x25519@1.0.3': dependencies: '@stablelib/keyagreement': 1.0.1 '@stablelib/random': 1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4) '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/xchacha20@1.0.1: - resolution: {integrity: sha512-1YkiZnFF4veUwBVhDnDYwo6EHeKzQK4FnLiO7ezCl/zu64uG0bCCAUROJaBkaLH+5BEsO3W7BTXTguMbSLlWSw==} + '@stablelib/xchacha20@1.0.1': dependencies: '@stablelib/binary': 1.0.1 '@stablelib/chacha': 1.0.1 '@stablelib/wipe': 1.0.1 - dev: false - /@stablelib/xchacha20poly1305@1.0.1: - resolution: {integrity: sha512-B1Abj0sMJ8h3HNmGnJ7vHBrAvxuNka6cJJoZ1ILN7iuacXp7sUYcgOVEOTLWj+rtQMpspY9tXSCRLPmN1mQNWg==} + '@stablelib/xchacha20poly1305@1.0.1': dependencies: '@stablelib/aead': 1.0.1 '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/constant-time': 1.0.1 '@stablelib/wipe': 1.0.1 '@stablelib/xchacha20': 1.0.1 - dev: false - /@surma/rollup-plugin-off-main-thread@2.2.3: - resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==} + '@surma/rollup-plugin-off-main-thread@2.2.3': dependencies: ejs: 3.1.9 json5: 2.2.3 magic-string: 0.25.9 string.prototype.matchall: 4.0.10 - /@svgr/babel-plugin-add-jsx-attribute@5.4.0: - resolution: {integrity: sha512-ZFf2gs/8/6B8PnSofI0inYXr2SDNTDScPXhN7k5EqD4aZ3gi6u+rbmZHVB8IM3wDyx8ntKACZbtXSm7oZGRqVg==} - engines: {node: '>=10'} + '@svgr/babel-plugin-add-jsx-attribute@5.4.0': {} - /@svgr/babel-plugin-remove-jsx-attribute@5.4.0: - resolution: {integrity: sha512-yaS4o2PgUtwLFGTKbsiAy6D0o3ugcUhWK0Z45umJ66EPWunAz9fuFw2gJuje6wqQvQWOTJvIahUwndOXb7QCPg==} - engines: {node: '>=10'} + '@svgr/babel-plugin-remove-jsx-attribute@5.4.0': {} - /@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1: - resolution: {integrity: sha512-LA72+88A11ND/yFIMzyuLRSMJ+tRKeYKeQ+mR3DcAZ5I4h5CPWN9AHyUzJbWSYp/u2u0xhmgOe0+E41+GjEueA==} - engines: {node: '>=10'} + '@svgr/babel-plugin-remove-jsx-empty-expression@5.0.1': {} - /@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1: - resolution: {integrity: sha512-PoiE6ZD2Eiy5mK+fjHqwGOS+IXX0wq/YDtNyIgOrc6ejFnxN4b13pRpiIPbtPwHEc+NT2KCjteAcq33/F1Y9KQ==} - engines: {node: '>=10'} + '@svgr/babel-plugin-replace-jsx-attribute-value@5.0.1': {} - /@svgr/babel-plugin-svg-dynamic-title@5.4.0: - resolution: {integrity: sha512-zSOZH8PdZOpuG1ZVx/cLVePB2ibo3WPpqo7gFIjLV9a0QsuQAzJiwwqmuEdTaW2pegyBE17Uu15mOgOcgabQZg==} - engines: {node: '>=10'} + '@svgr/babel-plugin-svg-dynamic-title@5.4.0': {} - /@svgr/babel-plugin-svg-em-dimensions@5.4.0: - resolution: {integrity: sha512-cPzDbDA5oT/sPXDCUYoVXEmm3VIoAWAPT6mSPTJNbQaBNUuEKVKyGH93oDY4e42PYHRW67N5alJx/eEol20abw==} - engines: {node: '>=10'} + '@svgr/babel-plugin-svg-em-dimensions@5.4.0': {} - /@svgr/babel-plugin-transform-react-native-svg@5.4.0: - resolution: {integrity: sha512-3eYP/SaopZ41GHwXma7Rmxcv9uRslRDTY1estspeB1w1ueZWd/tPlMfEOoccYpEMZU3jD4OU7YitnXcF5hLW2Q==} - engines: {node: '>=10'} + '@svgr/babel-plugin-transform-react-native-svg@5.4.0': {} - /@svgr/babel-plugin-transform-svg-component@5.5.0: - resolution: {integrity: sha512-q4jSH1UUvbrsOtlo/tKcgSeiCHRSBdXoIoqX1pgcKK/aU3JD27wmMKwGtpB8qRYUYoyXvfGxUVKchLuR5pB3rQ==} - engines: {node: '>=10'} + '@svgr/babel-plugin-transform-svg-component@5.5.0': {} - /@svgr/babel-preset@5.5.0: - resolution: {integrity: sha512-4FiXBjvQ+z2j7yASeGPEi8VD/5rrGQk4Xrq3EdJmoZgz/tpqChpo5hgXDvmEauwtvOc52q8ghhZK4Oy7qph4ig==} - engines: {node: '>=10'} + '@svgr/babel-preset@5.5.0': dependencies: '@svgr/babel-plugin-add-jsx-attribute': 5.4.0 '@svgr/babel-plugin-remove-jsx-attribute': 5.4.0 @@ -6053,9 +17380,7 @@ packages: '@svgr/babel-plugin-transform-react-native-svg': 5.4.0 '@svgr/babel-plugin-transform-svg-component': 5.5.0 - /@svgr/core@5.5.0: - resolution: {integrity: sha512-q52VOcsJPvV3jO1wkPtzTuKlvX7Y3xIcWRpCMtBF3MrteZJtBfQw/+u0B1BHy5ColpQc1/YVTrPEtSYIMNZlrQ==} - engines: {node: '>=10'} + '@svgr/core@5.5.0': dependencies: '@svgr/plugin-jsx': 5.5.0 camelcase: 6.3.0 @@ -6063,15 +17388,11 @@ packages: transitivePeerDependencies: - supports-color - /@svgr/hast-util-to-babel-ast@5.5.0: - resolution: {integrity: sha512-cAaR/CAiZRB8GP32N+1jocovUtvlj0+e65TB50/6Lcime+EA49m/8l+P2ko+XPJ4dw3xaPS3jOL4F2X4KWxoeQ==} - engines: {node: '>=10'} + '@svgr/hast-util-to-babel-ast@5.5.0': dependencies: '@babel/types': 7.23.9 - /@svgr/plugin-jsx@5.5.0: - resolution: {integrity: sha512-V/wVh33j12hGh05IDg8GpIUXbjAPnTdPTKuP4VNLggnwaHMPNQNae2pRnyTAILWCQdz5GyMqtO488g7CKM8CBA==} - engines: {node: '>=10'} + '@svgr/plugin-jsx@5.5.0': dependencies: '@babel/core': 7.23.9 '@svgr/babel-preset': 5.5.0 @@ -6080,17 +17401,13 @@ packages: transitivePeerDependencies: - supports-color - /@svgr/plugin-svgo@5.5.0: - resolution: {integrity: sha512-r5swKk46GuQl4RrVejVwpeeJaydoxkdwkM1mBKOgJLBUJPGaLci6ylg/IjhrRsREKDkr4kbMWdgOtbXEh0fyLQ==} - engines: {node: '>=10'} + '@svgr/plugin-svgo@5.5.0': dependencies: cosmiconfig: 7.1.0 deepmerge: 4.3.1 svgo: 1.3.2 - /@svgr/webpack@5.5.0: - resolution: {integrity: sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==} - engines: {node: '>=10'} + '@svgr/webpack@5.5.0': dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-react-constant-elements': 7.23.3(@babel/core@7.23.9) @@ -6103,182 +17420,82 @@ packages: transitivePeerDependencies: - supports-color - /@swc/helpers@0.5.2: - resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} + '@swc/helpers@0.5.2': dependencies: tslib: 2.6.2 - dev: false - /@szmarczak/http-timer@1.1.2: - resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} - engines: {node: '>=6'} + '@szmarczak/http-timer@1.1.2': dependencies: defer-to-connect: 1.1.3 - /@szmarczak/http-timer@4.0.6: - resolution: {integrity: sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==} - engines: {node: '>=10'} + '@szmarczak/http-timer@4.0.6': dependencies: defer-to-connect: 2.0.1 - dev: true - /@tanstack/query-core@4.36.1: - resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} - dev: false + '@tanstack/query-core@4.36.1': {} - /@tanstack/query-persist-client-core@4.36.1: - resolution: {integrity: sha512-eocgCeI7D7TRv1IUUBMfVwOI0wdSmMkBIbkKhqEdTrnUHUQEeOaYac8oeZk2cumAWJdycu6P/wB+WqGynTnzXg==} + '@tanstack/query-persist-client-core@4.36.1': dependencies: '@tanstack/query-core': 4.36.1 - dev: false - /@tanstack/query-sync-storage-persister@4.36.1: - resolution: {integrity: sha512-yMEt5hWe2+1eclf1agMtXHnPIkxEida0lYWkfdhR8U6KXk/lO4Vca6piJmhKI85t0NHlx3l/z6zX+t/Fn5O9NA==} + '@tanstack/query-sync-storage-persister@4.36.1': dependencies: '@tanstack/query-persist-client-core': 4.36.1 - dev: false - /@tanstack/react-query-persist-client@4.36.1(@tanstack/react-query@4.36.1): - resolution: {integrity: sha512-32I5b9aAu4NCiXZ7Te/KEQLfHbYeTNriVPrKYcvEThnZ9tlW01vLcSoxpUIsMYRsembvJUUAkzYBAiZHLOd6pQ==} - peerDependencies: - '@tanstack/react-query': ^4.36.1 + '@tanstack/react-query-persist-client@4.36.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0))': dependencies: '@tanstack/query-persist-client-core': 4.36.1 - '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0) - dev: false + '@tanstack/react-query': 4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-native: '*' - peerDependenciesMeta: - react-dom: - optional: true - react-native: - optional: true + '@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tanstack/query-core': 4.36.1 react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) - dev: false + optionalDependencies: + react-dom: 18.2.0(react@18.2.0) - /@tanstack/react-virtual@3.0.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-9XbRLPKgnhMwwmuQMnJMv+5a9sitGNCSEtf/AZXzmJdesYk7XsjYHaEDny+IrJzvPNwZliIIDwCRiaUqR3zzCA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@tanstack/react-virtual@3.0.2(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@tanstack/virtual-core': 3.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /@tanstack/virtual-core@3.0.0: - resolution: {integrity: sha512-SYXOBTjJb05rXa2vl55TTwO40A6wKu0R5i1qQwhJYNDIqaIGF7D0HsLw+pJAyi2OvntlEIVusx3xtbbgSUi6zg==} - dev: false + '@tanstack/virtual-core@3.0.0': {} - /@tauri-apps/api@1.5.3: - resolution: {integrity: sha512-zxnDjHHKjOsrIzZm6nO5Xapb/BxqUq1tc7cGkFXsFkGTsSWgCPH1D8mm0XS9weJY2OaR73I3k3S+b7eSzJDfqA==} - engines: {node: '>= 14.6.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} - dev: false + '@tauri-apps/api@1.5.3': {} - /@tauri-apps/cli-darwin-arm64@1.5.11: - resolution: {integrity: sha512-2NLSglDb5VfvTbMtmOKWyD+oaL/e8Z/ZZGovHtUFyUSFRabdXc6cZOlcD1BhFvYkHqm+TqGaz5qtPR5UbqDs8A==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@tauri-apps/cli-darwin-arm64@1.5.11': optional: true - /@tauri-apps/cli-darwin-x64@1.5.11: - resolution: {integrity: sha512-/RQllHiJRH2fJOCudtZlaUIjofkHzP3zZgxi71ZUm7Fy80smU5TDfwpwOvB0wSVh0g/ciDjMArCSTo0MRvL+ag==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@tauri-apps/cli-darwin-x64@1.5.11': optional: true - /@tauri-apps/cli-linux-arm-gnueabihf@1.5.11: - resolution: {integrity: sha512-IlBuBPKmMm+a5LLUEK6a21UGr9ZYd6zKuKLq6IGM4tVweQa8Sf2kP2Nqs74dMGIUrLmMs0vuqdURpykQg+z4NQ==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@tauri-apps/cli-linux-arm-gnueabihf@1.5.11': optional: true - /@tauri-apps/cli-linux-arm64-gnu@1.5.11: - resolution: {integrity: sha512-w+k1bNHCU/GbmXshtAhyTwqosThUDmCEFLU4Zkin1vl2fuAtQry2RN7thfcJFepblUGL/J7yh3Q/0+BCjtspKQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@tauri-apps/cli-linux-arm64-gnu@1.5.11': optional: true - /@tauri-apps/cli-linux-arm64-musl@1.5.11: - resolution: {integrity: sha512-PN6/dl+OfYQ/qrAy4HRAfksJ2AyWQYn2IA/2Wwpaa7SDRz2+hzwTQkvajuvy0sQ5L2WCG7ymFYRYMbpC6Hk9Pg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@tauri-apps/cli-linux-arm64-musl@1.5.11': optional: true - /@tauri-apps/cli-linux-x64-gnu@1.5.11: - resolution: {integrity: sha512-MTVXLi89Nj7Apcvjezw92m7ZqIDKT5SFKZtVPCg6RoLUBTzko/BQoXYIRWmdoz2pgkHDUHgO2OMJ8oKzzddXbw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@tauri-apps/cli-linux-x64-gnu@1.5.11': optional: true - /@tauri-apps/cli-linux-x64-musl@1.5.11: - resolution: {integrity: sha512-kwzAjqFpz7rvTs7WGZLy/a5nS5t15QKr3E9FG95MNF0exTl3d29YoAUAe1Mn0mOSrTJ9Z+vYYAcI/QdcsGBP+w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@tauri-apps/cli-linux-x64-musl@1.5.11': optional: true - /@tauri-apps/cli-win32-arm64-msvc@1.5.11: - resolution: {integrity: sha512-L+5NZ/rHrSUrMxjj6YpFYCXp6wHnq8c8SfDTBOX8dO8x+5283/vftb4vvuGIsLS4UwUFXFnLt3XQr44n84E67Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@tauri-apps/cli-win32-arm64-msvc@1.5.11': optional: true - /@tauri-apps/cli-win32-ia32-msvc@1.5.11: - resolution: {integrity: sha512-oVlD9IVewrY0lZzTdb71kNXkjdgMqFq+ohb67YsJb4Rf7o8A9DTlFds1XLCe3joqLMm4M+gvBKD7YnGIdxQ9vA==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@tauri-apps/cli-win32-ia32-msvc@1.5.11': optional: true - /@tauri-apps/cli-win32-x64-msvc@1.5.11: - resolution: {integrity: sha512-1CexcqUFCis5ypUIMOKllxUBrna09McbftWENgvVXMfA+SP+yPDPAVb8fIvUcdTIwR/yHJwcIucmTB4anww4vg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@tauri-apps/cli-win32-x64-msvc@1.5.11': optional: true - /@tauri-apps/cli@1.5.11: - resolution: {integrity: sha512-B475D7phZrq5sZ3kDABH4g2mEoUIHtnIO+r4ZGAAfsjMbZCwXxR/jlMGTEL+VO3YzjpF7gQe38IzB4vLBbVppw==} - engines: {node: '>= 10'} - hasBin: true + '@tauri-apps/cli@1.5.11': optionalDependencies: '@tauri-apps/cli-darwin-arm64': 1.5.11 '@tauri-apps/cli-darwin-x64': 1.5.11 @@ -6290,11 +17507,8 @@ packages: '@tauri-apps/cli-win32-arm64-msvc': 1.5.11 '@tauri-apps/cli-win32-ia32-msvc': 1.5.11 '@tauri-apps/cli-win32-x64-msvc': 1.5.11 - dev: true - /@testing-library/dom@8.20.1: - resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==} - engines: {node: '>=12'} + '@testing-library/dom@8.20.1': dependencies: '@babel/code-frame': 7.23.5 '@babel/runtime': 7.23.9 @@ -6304,11 +17518,8 @@ packages: dom-accessibility-api: 0.5.16 lz-string: 1.5.0 pretty-format: 27.5.1 - dev: true - /@testing-library/dom@9.3.4: - resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} - engines: {node: '>=14'} + '@testing-library/dom@9.3.4': dependencies: '@babel/code-frame': 7.24.2 '@babel/runtime': 7.24.1 @@ -6318,11 +17529,8 @@ packages: dom-accessibility-api: 0.5.16 lz-string: 1.5.0 pretty-format: 27.5.1 - dev: true - /@testing-library/jest-dom@5.17.0: - resolution: {integrity: sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==} - engines: {node: '>=8', npm: '>=6', yarn: '>=1'} + '@testing-library/jest-dom@5.17.0': dependencies: '@adobe/css-tools': 4.3.3 '@babel/runtime': 7.23.9 @@ -6333,38 +17541,23 @@ packages: dom-accessibility-api: 0.5.16 lodash: 4.17.21 redent: 3.0.0 - dev: true - /@testing-library/react@12.1.5(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-OfTXCJUFgjd/digLUuPxa0+/3ZxsQmE7ub9kcbW/wi96Bh3o/p5vrETcBGfP17NWPGqeYYl5LTRpwyGoMC4ysg==} - engines: {node: '>=12'} - peerDependencies: - react: <18.0.0 - react-dom: <18.0.0 + '@testing-library/react@12.1.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@babel/runtime': 7.23.9 '@testing-library/dom': 8.20.1 '@types/react-dom': 17.0.25 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true - /@testing-library/user-event@13.5.0(@testing-library/dom@9.3.4): - resolution: {integrity: sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==} - engines: {node: '>=10', npm: '>=6'} - peerDependencies: - '@testing-library/dom': '>=7.21.4' + '@testing-library/user-event@13.5.0(@testing-library/dom@9.3.4)': dependencies: '@babel/runtime': 7.23.9 '@testing-library/dom': 9.3.4 - dev: true - /@textlint/ast-node-types@12.6.1: - resolution: {integrity: sha512-uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==} - dev: true + '@textlint/ast-node-types@12.6.1': {} - /@textlint/markdown-to-ast@12.6.1: - resolution: {integrity: sha512-T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==} + '@textlint/markdown-to-ast@12.6.1': dependencies: '@textlint/ast-node-types': 12.6.1 debug: 4.3.4(supports-color@8.1.1) @@ -6377,34 +17570,23 @@ packages: unified: 9.2.2 transitivePeerDependencies: - supports-color - dev: true - /@theguild/remark-mermaid@0.0.5(react@18.2.0): - resolution: {integrity: sha512-e+ZIyJkEv9jabI4m7q29wZtZv+2iwPGsXJ2d46Zi7e+QcFudiyuqhLhHG/3gX3ZEB+hxTch+fpItyMS8jwbIcw==} - peerDependencies: - react: ^18.2.0 + '@theguild/remark-mermaid@0.0.5(react@18.2.0)': dependencies: mermaid: 10.7.0 react: 18.2.0 unist-util-visit: 5.0.0 transitivePeerDependencies: - supports-color - dev: false - /@theguild/remark-npm2yarn@0.2.1: - resolution: {integrity: sha512-jUTFWwDxtLEFtGZh/TW/w30ySaDJ8atKWH8dq2/IiQF61dPrGfETpl0WxD0VdBfuLOeU14/kop466oBSRO/5CA==} + '@theguild/remark-npm2yarn@0.2.1': dependencies: npm-to-yarn: 2.1.0 unist-util-visit: 5.0.0 - dev: false - /@tootallnate/once@1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} + '@tootallnate/once@1.1.2': {} - /@transmute/did-key-bls12381@0.2.1-unstable.42(patch_hash=lwnbrpvkugamxhcm7dwiz4kgfm): - resolution: {integrity: sha512-NYe8Sp09+M20BtXEd/GhVeqzVksdl5pKf71nCMpvjZHHKG5FPAcGc5uYpbk/CbY5Xb/2lH76lTndim0IMU6IIQ==} - engines: {node: '>=10'} + '@transmute/did-key-bls12381@0.2.1-unstable.42(patch_hash=lwnbrpvkugamxhcm7dwiz4kgfm)': dependencies: '@mattrglobal/bbs-signatures': 0.5.0(patch_hash=i6f4fdawxlwk2ulgcpjpsixrei) '@mattrglobal/bls12381-key-pair': 0.5.0 @@ -6412,35 +17594,23 @@ packages: bs58: 4.0.1 transitivePeerDependencies: - supports-color - dev: false - patched: true - /@transmute/did-key-cipher@0.2.1-unstable.42(patch_hash=vkegaqhvwns3vvylfnwzaea6zq): - resolution: {integrity: sha512-drD/G7R2yQkK6PnGkmLOlOieL3ybtiEXsubaebaBayoRsWqBRX/IJ0ufGwjRgohTvvlSoKWd4Ustyyhi9kK+Mw==} - engines: {node: '>=10'} + '@transmute/did-key-cipher@0.2.1-unstable.42(patch_hash=vkegaqhvwns3vvylfnwzaea6zq)': dependencies: '@peculiar/webcrypto': 1.4.5(patch_hash=saeohqf4hlpnnys7brc6umjxqq) '@stablelib/aes-kw': 1.0.1 '@stablelib/xchacha20poly1305': 1.0.1 '@transmute/did-key-common': 0.2.1-unstable.42(patch_hash=nveg2vh57sqhe26mlbokowgyfy) web-streams-polyfill: 3.3.2 - dev: false - patched: true - /@transmute/did-key-common@0.2.1-unstable.42(patch_hash=nveg2vh57sqhe26mlbokowgyfy): - resolution: {integrity: sha512-mJ58IKEBxa6SorCrIBSPu0OcEj94Y5+0/qUKqbNTTqfCOsPi6E5BEzMIgpf3Unrb59u+u5JBL0T/Sy7coOSO1A==} - engines: {node: '>=10'} + '@transmute/did-key-common@0.2.1-unstable.42(patch_hash=nveg2vh57sqhe26mlbokowgyfy)': dependencies: base64url: 3.0.1 borc: 2.1.2(patch_hash=oufny7gfmlqsrh5jb3zwdyyexi) canonicalize: 1.0.8 cbor: 5.2.0 - dev: false - patched: true - /@transmute/did-key-ed25519@0.2.1-unstable.42(patch_hash=6o2ewrf3potevwpug23wdfezii): - resolution: {integrity: sha512-FObeBtLd5Dl2rng8pBXQ0ddGAUpv9Upl07mDNWanfCWNxsO3csLv1JskLgp5ZTKwDaoWkUMMU+DTOQVVcHKpPw==} - engines: {node: '>=10'} + '@transmute/did-key-ed25519@0.2.1-unstable.42(patch_hash=6o2ewrf3potevwpug23wdfezii)': dependencies: '@stablelib/ed25519': 1.0.3 '@transmute/did-key-common': 0.2.1-unstable.42(patch_hash=nveg2vh57sqhe26mlbokowgyfy) @@ -6449,12 +17619,8 @@ packages: base64url: 3.0.1 bs58: 4.0.1 canonicalize: 1.0.8 - dev: false - patched: true - /@transmute/did-key-secp256k1@0.2.1-unstable.42(patch_hash=ttvfjhlz3v2lg4fsq7rxkml2ai): - resolution: {integrity: sha512-pLHsxVEeJYUz2jaUWznGJHRaRE+Fg3A4DiArWYpRSozYaSW5x2AhXELN+08qvU4E8FjiQmqInf8KqeS0hlUJoQ==} - engines: {node: '>=10'} + '@transmute/did-key-secp256k1@0.2.1-unstable.42(patch_hash=ttvfjhlz3v2lg4fsq7rxkml2ai)': dependencies: '@transmute/did-key-common': 0.2.1-unstable.42(patch_hash=nveg2vh57sqhe26mlbokowgyfy) '@trust/keyto': 1.0.1 @@ -6462,20 +17628,12 @@ packages: bs58: 4.0.1 canonicalize: 1.0.8 secp256k1: 4.0.3 - dev: false - patched: true - /@transmute/did-key-web-crypto@0.2.1-unstable.42(patch_hash=olfpy5z7dknl7ejwh6fesfizey): - resolution: {integrity: sha512-GaD320cZxPJAVdQtSrxgTn91T1M/2qwSMQgowVdnY5HKEik2BS3o1kU7DYAJpUPdU2WNKg9W3Rr+C/dRY0Q0rQ==} - engines: {node: '>=10'} + '@transmute/did-key-web-crypto@0.2.1-unstable.42(patch_hash=olfpy5z7dknl7ejwh6fesfizey)': dependencies: '@transmute/web-crypto-key-pair': 0.6.1-unstable.37(patch_hash=l3ok4bu7fpitf6uppmfqv6etbm) - dev: false - patched: true - /@transmute/did-key-x25519@0.2.1-unstable.42(patch_hash=dj4odftevsg5grytgl46v6mggu): - resolution: {integrity: sha512-pInHZaepvjmfym1fBDrdbL5isUVbYHR1nYBsH3uD9EPn7SwZfEBe0Vg9hUop81b4x/6+VVWuGm2dIhpVBxsRPQ==} - engines: {node: '>=10'} + '@transmute/did-key-x25519@0.2.1-unstable.42(patch_hash=dj4odftevsg5grytgl46v6mggu)': dependencies: '@stablelib/ed25519': 1.0.3 '@stablelib/x25519': 1.0.3 @@ -6485,12 +17643,8 @@ packages: base64url: 3.0.1 bs58: 4.0.1 canonicalize: 1.0.8 - dev: false - patched: true - /@transmute/did-key.js@0.2.1-unstable.42(patch_hash=yak4sespbovyvaboedzatyy2ha): - resolution: {integrity: sha512-vqwkJeAIkpekSCszKztIOVGFuWZMF8GJfiSHMv+vsS0cgLqzHer8WCUCudWt76rc2s90uK7FdlkvdwoZgGRl6g==} - engines: {node: '>=10'} + '@transmute/did-key.js@0.2.1-unstable.42(patch_hash=yak4sespbovyvaboedzatyy2ha)': dependencies: '@transmute/did-key-bls12381': 0.2.1-unstable.42(patch_hash=lwnbrpvkugamxhcm7dwiz4kgfm) '@transmute/did-key-ed25519': 0.2.1-unstable.42(patch_hash=6o2ewrf3potevwpug23wdfezii) @@ -6499,67 +17653,40 @@ packages: '@transmute/did-key-x25519': 0.2.1-unstable.42(patch_hash=dj4odftevsg5grytgl46v6mggu) transitivePeerDependencies: - supports-color - dev: false - patched: true - /@transmute/ld-key-pair@0.6.1-unstable.37(patch_hash=zpnwlkycjaix7vdztq22j7pg4e): - resolution: {integrity: sha512-DcTpEruAQBfOd2laZkg3uCQ+67Y7dw2hsvo42NAQ5tItCIx5AClP7zccri7T2JUcfDUFaE32z/BLTMEKYt3XZQ==} - dev: false - patched: true + '@transmute/ld-key-pair@0.6.1-unstable.37(patch_hash=zpnwlkycjaix7vdztq22j7pg4e)': {} - /@transmute/web-crypto-key-pair@0.6.1-unstable.37(patch_hash=l3ok4bu7fpitf6uppmfqv6etbm): - resolution: {integrity: sha512-BVN5ECm3t5ldJiyixsdoXaptr14p2PxOOGWvyBm5eqWlVy/kiWQiVh43wZgEbHtjOkacTfw+BaVAtYkyGn2tpw==} - engines: {node: '>=10'} + '@transmute/web-crypto-key-pair@0.6.1-unstable.37(patch_hash=l3ok4bu7fpitf6uppmfqv6etbm)': dependencies: '@peculiar/webcrypto': 1.4.5(patch_hash=saeohqf4hlpnnys7brc6umjxqq) '@transmute/ld-key-pair': 0.6.1-unstable.37(patch_hash=zpnwlkycjaix7vdztq22j7pg4e) big-integer: 1.6.52 - dev: false - patched: true - /@trust/keyto@1.0.1: - resolution: {integrity: sha512-OXTmKkrnkwktCX86XA7eWs1TQ6u64enm0syzAfNhjigbuGLy5aLhbhRYWtjt4zzdG/irWudluheRZ9Ic9pCwsA==} + '@trust/keyto@1.0.1': dependencies: asn1.js: 5.4.1 base64url: 3.0.1 elliptic: 6.5.4 - dev: false - /@trysound/sax@0.2.0: - resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} - engines: {node: '>=10.13.0'} + '@trysound/sax@0.2.0': {} - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: true + '@tsconfig/node10@1.0.9': {} - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true + '@tsconfig/node12@1.0.11': {} - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true + '@tsconfig/node14@1.0.3': {} - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true + '@tsconfig/node16@1.0.4': {} - /@tsconfig/svelte@1.0.13: - resolution: {integrity: sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==} + '@tsconfig/svelte@1.0.13': {} - /@types/acorn@4.0.6: - resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} + '@types/acorn@4.0.6': dependencies: '@types/estree': 1.0.5 - dev: false - /@types/aria-query@5.0.4: - resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - dev: true + '@types/aria-query@5.0.4': {} - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.23.9 '@babel/types': 7.23.9 @@ -6567,515 +17694,355 @@ packages: '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.5 - /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + '@types/babel__generator@7.6.8': dependencies: '@babel/types': 7.23.9 - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.23.9 '@babel/types': 7.23.9 - /@types/babel__traverse@7.20.5: - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + '@types/babel__traverse@7.20.5': dependencies: '@babel/types': 7.23.9 - /@types/body-parser@1.19.5: - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 '@types/node': 16.18.76 - /@types/bonjour@3.5.13: - resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==} + '@types/bonjour@3.5.13': dependencies: '@types/node': 16.18.76 - /@types/cacheable-request@6.0.3: - resolution: {integrity: sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==} + '@types/cacheable-request@6.0.3': dependencies: '@types/http-cache-semantics': 4.0.4 '@types/keyv': 3.1.4 '@types/node': 16.18.76 '@types/responselike': 1.0.3 - dev: true - /@types/chai-as-promised@7.1.8: - resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} + '@types/chai-as-promised@7.1.8': dependencies: '@types/chai': 4.3.11 - dev: true - /@types/chai@4.3.11: - resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} - dev: true + '@types/chai@4.3.11': {} - /@types/connect-history-api-fallback@1.5.4: - resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==} + '@types/connect-history-api-fallback@1.5.4': dependencies: '@types/express-serve-static-core': 4.17.42 '@types/node': 16.18.76 - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + '@types/connect@3.4.38': dependencies: '@types/node': 16.18.76 - /@types/d3-scale-chromatic@3.0.3: - resolution: {integrity: sha512-laXM4+1o5ImZv3RpFAsTRn3TEkzqkytiOY0Dz0sq5cnd1dtNlk6sHLon4OvqaiJb28T0S/TdsBI3Sjsy+keJrw==} - dev: false + '@types/d3-scale-chromatic@3.0.3': {} - /@types/d3-scale@4.0.8: - resolution: {integrity: sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==} + '@types/d3-scale@4.0.8': dependencies: '@types/d3-time': 3.0.3 - dev: false - /@types/d3-time@3.0.3: - resolution: {integrity: sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==} - dev: false + '@types/d3-time@3.0.3': {} - /@types/debug@4.1.12: - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 - dev: false - /@types/eslint-scope@3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 8.56.2 '@types/estree': 1.0.5 - /@types/eslint@8.56.2: - resolution: {integrity: sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==} + '@types/eslint@8.56.2': dependencies: '@types/estree': 1.0.5 '@types/json-schema': 7.0.15 - /@types/estree-jsx@1.0.3: - resolution: {integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==} + '@types/estree-jsx@1.0.3': dependencies: '@types/estree': 1.0.5 - dev: false - /@types/estree@0.0.39: - resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} + '@types/estree@0.0.39': {} - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.5': {} - /@types/expect@24.3.0: - resolution: {integrity: sha512-aq5Z+YFBz5o2b6Sp1jigx5nsmoZMK5Ceurjwy6PZmRv7dEi1jLtkARfvB1ME+OXJUG+7TZUDcv3WoCr/aor6dQ==} - deprecated: This is a stub types definition. expect provides its own type definitions, so you do not need this installed. + '@types/expect@24.3.0': dependencies: expect: 29.7.0 - dev: true - /@types/express-serve-static-core@4.17.42: - resolution: {integrity: sha512-ckM3jm2bf/MfB3+spLPWYPUH573plBFwpOhqQ2WottxYV85j1HQFlxmnTq57X1yHY9awZPig06hL/cLMgNWHIQ==} + '@types/express-serve-static-core@4.17.42': dependencies: '@types/node': 16.18.76 '@types/qs': 6.9.11 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 - /@types/express@4.17.21: - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + '@types/express@4.17.21': dependencies: '@types/body-parser': 1.19.5 '@types/express-serve-static-core': 4.17.42 '@types/qs': 6.9.11 '@types/serve-static': 1.15.5 - /@types/faker@5.5.9: - resolution: {integrity: sha512-uCx6mP3UY5SIO14XlspxsGjgaemrxpssJI0Ol+GfhxtcKpv9pgRZYsS4eeKeHVLje6Qtc8lGszuBI461+gVZBA==} - dev: true + '@types/faker@5.5.9': {} - /@types/fs-extra@9.0.13: - resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} + '@types/fs-extra@9.0.13': dependencies: '@types/node': 16.18.76 - dev: true - /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 '@types/node': 16.18.76 - dev: false - /@types/graceful-fs@4.1.9: - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + '@types/graceful-fs@4.1.9': dependencies: '@types/node': 16.18.76 - /@types/hast@2.3.9: - resolution: {integrity: sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==} + '@types/hast@2.3.9': dependencies: '@types/unist': 2.0.10 - dev: false - /@types/hast@3.0.3: - resolution: {integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==} + '@types/hast@3.0.3': dependencies: '@types/unist': 3.0.2 - dev: false - /@types/html-minifier-terser@6.1.0: - resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + '@types/html-minifier-terser@6.1.0': {} - /@types/http-cache-semantics@4.0.4: - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - dev: true + '@types/http-cache-semantics@4.0.4': {} - /@types/http-errors@2.0.4: - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/http-errors@2.0.4': {} - /@types/http-proxy@1.17.14: - resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==} + '@types/http-proxy@1.17.14': dependencies: '@types/node': 16.18.76 - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + '@types/istanbul-lib-coverage@2.0.6': {} - /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + '@types/istanbul-lib-report@3.0.3': dependencies: '@types/istanbul-lib-coverage': 2.0.6 - /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/istanbul-reports@3.0.4': dependencies: '@types/istanbul-lib-report': 3.0.3 - /@types/jest@26.0.24: - resolution: {integrity: sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w==} + '@types/jest@26.0.24': dependencies: jest-diff: 26.6.2 pretty-format: 26.6.2 - dev: false - /@types/jest@27.5.2: - resolution: {integrity: sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==} + '@types/jest@27.5.2': dependencies: jest-matcher-utils: 27.5.1 pretty-format: 27.5.1 - dev: true - /@types/js-yaml@4.0.9: - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + '@types/js-yaml@4.0.9': {} - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/json-schema@7.0.15': {} - /@types/json-stable-stringify@1.0.36: - resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} + '@types/json-stable-stringify@1.0.36': {} - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - requiresBuild: true + '@types/json5@0.0.29': {} - /@types/katex@0.16.7: - resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} - dev: false + '@types/katex@0.16.7': {} - /@types/keyv@3.1.4: - resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + '@types/keyv@3.1.4': dependencies: '@types/node': 16.18.76 - /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} - dev: true + '@types/lodash@4.14.202': {} - /@types/long@4.0.2: - resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} - dev: true + '@types/long@4.0.2': {} - /@types/lowdb@1.0.15: - resolution: {integrity: sha512-xaMNIveDCryK4UvnUJOc2BCOH0lPivdvWHrutsLryo9r9Id3RqZq2RDmT4eddiEPYzu7nJMw6nFIcVifcqjWqg==} + '@types/lowdb@1.0.15': dependencies: '@types/lodash': 4.14.202 - dev: true - /@types/mdast@3.0.15: - resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==} + '@types/mdast@3.0.15': dependencies: '@types/unist': 2.0.10 - /@types/mdast@4.0.3: - resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + '@types/mdast@4.0.3': dependencies: '@types/unist': 3.0.2 - dev: false - /@types/mdx@2.0.10: - resolution: {integrity: sha512-Rllzc5KHk0Al5/WANwgSPl1/CwjqCy+AZrGd78zuK+jO9aDM6ffblZ+zIjgPNAaEBmlO0RYDvLNh7wD0zKVgEg==} - dev: false + '@types/mdx@2.0.10': {} - /@types/mime@1.3.5: - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + '@types/mime@1.3.5': {} - /@types/mime@3.0.4: - resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + '@types/mime@3.0.4': {} - /@types/minimatch@5.1.2: - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - dev: false + '@types/minimatch@5.1.2': {} - /@types/minimist@1.2.5: - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - dev: true + '@types/minimist@1.2.5': {} - /@types/mocha@10.0.6: - resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} + '@types/mocha@10.0.6': {} - /@types/ms@0.7.34: - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - dev: false + '@types/ms@0.7.34': {} - /@types/node-fetch@2.6.11: - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + '@types/node-fetch@2.6.11': dependencies: '@types/node': 16.18.76 form-data: 4.0.0 - dev: true - /@types/node-forge@1.3.11: - resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==} + '@types/node-forge@1.3.11': dependencies: '@types/node': 16.18.76 - /@types/node@12.20.55: - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + '@types/node@12.20.55': {} - /@types/node@14.18.63: - resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==} - dev: true + '@types/node@14.18.63': {} - /@types/node@16.18.76: - resolution: {integrity: sha512-/GsO2uv1Z6R42lBr59dtem56gVF/yHKQaScggwU+gLU6DXE25sDmOar4c4IfWb3h+X/7OYZznPOFk7oGF3jQSA==} + '@types/node@16.18.76': {} - /@types/node@18.11.10: - resolution: {integrity: sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==} + '@types/node@18.11.10': {} - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true + '@types/normalize-package-data@2.4.4': {} - /@types/parse-json@4.0.2: - resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} + '@types/parse-json@4.0.2': {} - /@types/prettier@2.7.3: - resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} + '@types/prettier@2.7.3': {} - /@types/prop-types@15.7.11: - resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==} + '@types/prop-types@15.7.11': {} - /@types/pug@2.0.10: - resolution: {integrity: sha512-Sk/uYFOBAB7mb74XcpizmH0KOR2Pv3D2Hmrh1Dmy5BmK3MpdSa5kqZcg6EKBdklU0bFXX9gCfzvpnyUehrPIuA==} + '@types/pug@2.0.10': {} - /@types/q@1.5.8: - resolution: {integrity: sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==} + '@types/q@1.5.8': {} - /@types/qs@6.9.11: - resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} + '@types/qs@6.9.11': {} - /@types/range-parser@1.2.7: - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + '@types/range-parser@1.2.7': {} - /@types/react-dom@17.0.25: - resolution: {integrity: sha512-urx7A7UxkZQmThYA4So0NelOVjx3V4rNFVJwp0WZlbIK5eM4rNJDiN3R/E9ix0MBh6kAEojk/9YL+Te6D9zHNA==} + '@types/react-dom@17.0.25': dependencies: '@types/react': 17.0.75 - dev: true - /@types/react-dom@18.2.18: - resolution: {integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==} + '@types/react-dom@18.2.18': dependencies: '@types/react': 18.2.48 - /@types/react-dom@18.2.19: - resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==} + '@types/react-dom@18.2.19': dependencies: '@types/react': 18.2.55 - dev: false - /@types/react@17.0.75: - resolution: {integrity: sha512-MSA+NzEzXnQKrqpO63CYqNstFjsESgvJAdAyyJ1n6ZQq/GLgf6nOfIKwk+Twuz0L1N6xPe+qz5xRCJrbhMaLsw==} + '@types/react@17.0.75': dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 csstype: 3.1.3 - dev: true - /@types/react@18.2.48: - resolution: {integrity: sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==} + '@types/react@18.2.48': dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 csstype: 3.1.3 - /@types/react@18.2.55: - resolution: {integrity: sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==} + '@types/react@18.2.55': dependencies: '@types/prop-types': 15.7.11 '@types/scheduler': 0.16.8 csstype: 3.1.3 - dev: false - /@types/resolve@1.17.1: - resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} + '@types/resolve@1.17.1': dependencies: '@types/node': 16.18.76 - /@types/responselike@1.0.3: - resolution: {integrity: sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==} + '@types/responselike@1.0.3': dependencies: '@types/node': 16.18.76 - /@types/retry@0.12.0: - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + '@types/retry@0.12.0': {} - /@types/sass@1.45.0: - resolution: {integrity: sha512-jn7qwGFmJHwUSphV8zZneO3GmtlgLsmhs/LQyVvQbIIa+fzGMUiHI4HXJZL3FT8MJmgXWbLGiVVY7ElvHq6vDA==} - deprecated: This is a stub types definition. sass provides its own type definitions, so you do not need this installed. + '@types/sass@1.45.0': dependencies: sass: 1.70.0 - /@types/scheduler@0.16.8: - resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==} + '@types/scheduler@0.16.8': {} - /@types/secp256k1@4.0.6: - resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + '@types/secp256k1@4.0.6': dependencies: '@types/node': 16.18.76 - dev: true - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + '@types/semver@7.5.6': {} - /@types/send@0.17.4: - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 '@types/node': 16.18.76 - /@types/serve-index@1.9.4: - resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==} + '@types/serve-index@1.9.4': dependencies: '@types/express': 4.17.21 - /@types/serve-static@1.15.5: - resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 '@types/node': 16.18.76 - /@types/sha256@0.2.2: - resolution: {integrity: sha512-uKMaDzyzfcDYGEwTgLh+hmgDMxXWyIVodY8T+qt7A+NYvikW0lmGLMGbQ7BipCB8dzXHa55C9g+Ii/3Lgt1KmA==} + '@types/sha256@0.2.2': dependencies: '@types/node': 16.18.76 - dev: true - /@types/sinon@17.0.3: - resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} + '@types/sinon@17.0.3': dependencies: '@types/sinonjs__fake-timers': 8.1.5 - dev: true - /@types/sinonjs__fake-timers@8.1.5: - resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - dev: true + '@types/sinonjs__fake-timers@8.1.5': {} - /@types/sockjs@0.3.36: - resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} + '@types/sockjs@0.3.36': dependencies: '@types/node': 16.18.76 - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + '@types/stack-utils@2.0.3': {} - /@types/testing-library__jest-dom@5.14.9: - resolution: {integrity: sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==} + '@types/testing-library__jest-dom@5.14.9': dependencies: '@types/jest': 27.5.2 - dev: true - /@types/trusted-types@2.0.7: - resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} + '@types/trusted-types@2.0.7': {} - /@types/unist@2.0.10: - resolution: {integrity: sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==} + '@types/unist@2.0.10': {} - /@types/unist@3.0.2: - resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} - dev: false + '@types/unist@3.0.2': {} - /@types/uuid@8.3.4: - resolution: {integrity: sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==} - dev: true + '@types/uuid@8.3.4': {} - /@types/uuid@9.0.1: - resolution: {integrity: sha512-rFT3ak0/2trgvp4yYZo5iKFEPsET7vKydKF+VRCxlQ9bpheehyAJH89dAkaLEq/j/RZXJIqcgsmPJKUP1Z28HA==} - dev: true + '@types/uuid@9.0.1': {} - /@types/ws@7.4.7: - resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} + '@types/ws@7.4.7': dependencies: '@types/node': 16.18.76 - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + '@types/ws@8.5.10': dependencies: '@types/node': 16.18.76 - /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + '@types/yargs-parser@21.0.3': {} - /@types/yargs@15.0.19: - resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==} + '@types/yargs@15.0.19': dependencies: '@types/yargs-parser': 21.0.3 - /@types/yargs@16.0.9: - resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==} + '@types/yargs@16.0.9': dependencies: '@types/yargs-parser': 21.0.3 - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 - /@types/yauzl@2.10.3: - resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} - requiresBuild: true + '@types/yauzl@2.10.3': dependencies: '@types/node': 16.18.76 - dev: false optional: true - /@types/zen-observable@0.8.7: - resolution: {integrity: sha512-LKzNTjj+2j09wAo/vvVjzgw5qckJJzhdGgWHW7j69QIGdq/KnZrMAMIHQiWGl3Ccflh5/CudBAntTPYdprPltA==} - dev: false + '@types/zen-observable@0.8.7': {} - /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/parser': ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) @@ -7089,15 +18056,12 @@ packages: natural-compare-lite: 1.4.0 semver: 7.5.4 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.0)(typescript@4.9.5)': dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) eslint: 8.57.0 @@ -7105,63 +18069,50 @@ packages: - supports-color - typescript - /@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/scope-manager': 5.62.0 + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.3.3) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.57.0 + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - /@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '*' - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/type-utils@5.62.0(eslint@8.57.0)(typescript@4.9.5)': dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@5.62.0': {} - /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.5)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -7170,15 +18121,26 @@ packages: is-glob: 4.0.3 semver: 7.5.4 tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - supports-color - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3)': + dependencies: + '@typescript-eslint/types': 5.62.0 + '@typescript-eslint/visitor-keys': 5.62.0 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@4.9.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 @@ -7193,32 +18155,22 @@ packages: - supports-color - typescript - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - /@undecaf/barcode-detector-polyfill@0.9.20: - resolution: {integrity: sha512-fD/7WjfhhCPJjNzVUyP1TNv29YzrsD6DO9mTdH5Xi9fbpg4VJdsqjiFxkat4//j7Y2xEADXIxzC/SvGdjMxDng==} + '@undecaf/barcode-detector-polyfill@0.9.20': dependencies: '@undecaf/zbar-wasm': 0.9.16 - dev: false - /@undecaf/zbar-wasm@0.9.16: - resolution: {integrity: sha512-T5PcT6g+tLScGjR4WmnRErNvfKqEc3kRg2ux14wHmIDNbvNeXa0BkFK19PRK/jb6zGy5NyWtn4ko6KeNuZc/fQ==} + '@undecaf/zbar-wasm@0.9.16': dependencies: jschardet: 3.0.0 - dev: false - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + '@ungap/structured-clone@1.2.0': {} - /@vitejs/plugin-react-refresh@1.3.6: - resolution: {integrity: sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA==} - engines: {node: '>=12.0.0'} - deprecated: This package has been deprecated in favor of @vitejs/plugin-react + '@vitejs/plugin-react-refresh@1.3.6': dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) @@ -7227,43 +18179,32 @@ packages: react-refresh: 0.10.0 transitivePeerDependencies: - supports-color - dev: true - /@vitejs/plugin-react@4.2.1(vite@5.0.12): - resolution: {integrity: sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - vite: ^4.2.0 || ^5.0.0 + '@vitejs/plugin-react@4.2.1(vite@5.0.12(@types/node@16.18.76)(sass@1.70.0)(terser@5.27.0))': dependencies: '@babel/core': 7.23.9 '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.23.9) '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.23.9) '@types/babel__core': 7.20.5 react-refresh: 0.14.0 - vite: 5.0.12(@types/node@16.18.76) + vite: 5.0.12(@types/node@16.18.76)(sass@1.70.0)(terser@5.27.0) transitivePeerDependencies: - supports-color - dev: true - /@vue/compiler-core@3.4.19: - resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} + '@vue/compiler-core@3.4.19': dependencies: '@babel/parser': 7.23.9 '@vue/shared': 3.4.19 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 - dev: false - /@vue/compiler-dom@3.4.19: - resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} + '@vue/compiler-dom@3.4.19': dependencies: '@vue/compiler-core': 3.4.19 '@vue/shared': 3.4.19 - dev: false - /@vue/compiler-sfc@3.4.19: - resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} + '@vue/compiler-sfc@3.4.19': dependencies: '@babel/parser': 7.23.9 '@vue/compiler-core': 3.4.19 @@ -7274,70 +18215,49 @@ packages: magic-string: 0.30.7 postcss: 8.4.33 source-map-js: 1.0.2 - dev: false - /@vue/compiler-ssr@3.4.19: - resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} + '@vue/compiler-ssr@3.4.19': dependencies: '@vue/compiler-dom': 3.4.19 '@vue/shared': 3.4.19 - dev: false - /@vue/reactivity@3.4.19: - resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} + '@vue/reactivity@3.4.19': dependencies: '@vue/shared': 3.4.19 - dev: false - /@vue/runtime-core@3.4.19: - resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} + '@vue/runtime-core@3.4.19': dependencies: '@vue/reactivity': 3.4.19 '@vue/shared': 3.4.19 - dev: false - /@vue/runtime-dom@3.4.19: - resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} + '@vue/runtime-dom@3.4.19': dependencies: '@vue/runtime-core': 3.4.19 '@vue/shared': 3.4.19 csstype: 3.1.3 - dev: false - /@vue/server-renderer@3.4.19(vue@3.4.19): - resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} - peerDependencies: - vue: 3.4.19 + '@vue/server-renderer@3.4.19(vue@3.4.19(typescript@5.3.3))': dependencies: '@vue/compiler-ssr': 3.4.19 '@vue/shared': 3.4.19 - vue: 3.4.19(typescript@4.9.5) - dev: false + vue: 3.4.19(typescript@5.3.3) - /@vue/shared@3.4.19: - resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} - dev: false + '@vue/shared@3.4.19': {} - /@wagmi/connectors@3.1.11(@types/react@18.2.48)(react@18.2.0)(typescript@5.3.3)(viem@1.21.4): - resolution: {integrity: sha512-wzxp9f9PtSUFjDUP/QDjc1t7HON4D8wrVKsw35ejdO8hToDpx1gU9lwH/47Zo/1zExGezQc392sjoHSszYd7OA==} - peerDependencies: - typescript: '>=5.0.4' - viem: '>=0.3.35' - peerDependenciesMeta: - typescript: - optional: true + '@wagmi/connectors@3.1.11(@types/react@18.2.48)(bufferutil@4.0.8)(react@18.2.0)(typescript@5.3.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4)': dependencies: - '@coinbase/wallet-sdk': 3.7.2 - '@safe-global/safe-apps-provider': 0.18.2(typescript@5.3.3) - '@safe-global/safe-apps-sdk': 8.1.0(typescript@5.3.3) - '@walletconnect/ethereum-provider': 2.11.0(@types/react@18.2.48)(react@18.2.0) + '@coinbase/wallet-sdk': 3.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) + '@safe-global/safe-apps-provider': 0.18.2(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) + '@safe-global/safe-apps-sdk': 8.1.0(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) + '@walletconnect/ethereum-provider': 2.11.0(@types/react@18.2.48)(bufferutil@4.0.8)(react@18.2.0)(utf-8-validate@5.0.10) '@walletconnect/legacy-provider': 2.0.0 '@walletconnect/modal': 2.6.2(@types/react@18.2.48)(react@18.2.0) '@walletconnect/utils': 2.11.0 - abitype: 0.8.7(typescript@5.3.3) + abitype: 0.8.7(typescript@5.3.3)(zod@3.22.4) eventemitter3: 4.0.7 + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) + optionalDependencies: typescript: 5.3.3 - viem: 1.21.4(typescript@5.3.3) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -7353,28 +18273,21 @@ packages: - '@upstash/redis' - '@vercel/kv' - bufferutil - - encoding - - react - - supports-color - - utf-8-validate - - zod - dev: false - - /@wagmi/core@1.4.13(@types/react@18.2.48)(react@18.2.0)(typescript@5.3.3)(viem@1.21.4): - resolution: {integrity: sha512-ytMCvXbBOgfDu9Qw67279wq/jNEe7EZLjLyekX7ROnvHRADqFr3lwZI6ih41UmtRZAmXAx8Ghyuqy154EjB5mQ==} - peerDependencies: - typescript: '>=5.0.4' - viem: '>=0.3.35' - peerDependenciesMeta: - typescript: - optional: true + - encoding + - react + - supports-color + - utf-8-validate + - zod + + '@wagmi/core@1.4.13(@types/react@18.2.48)(bufferutil@4.0.8)(immer@9.0.21)(react@18.2.0)(typescript@5.3.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4)': dependencies: - '@wagmi/connectors': 3.1.11(@types/react@18.2.48)(react@18.2.0)(typescript@5.3.3)(viem@1.21.4) - abitype: 0.8.7(typescript@5.3.3) + '@wagmi/connectors': 3.1.11(@types/react@18.2.48)(bufferutil@4.0.8)(react@18.2.0)(typescript@5.3.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4) + abitype: 0.8.7(typescript@5.3.3)(zod@3.22.4) eventemitter3: 4.0.7 + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) + zustand: 4.5.0(@types/react@18.2.48)(immer@9.0.21)(react@18.2.0) + optionalDependencies: typescript: 5.3.3 - viem: 1.21.4(typescript@5.3.3) - zustand: 4.5.0(@types/react@18.2.48)(react@18.2.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -7396,16 +18309,14 @@ packages: - supports-color - utf-8-validate - zod - dev: false - /@walletconnect/core@2.11.0: - resolution: {integrity: sha512-2Tjp5BCevI7dbmqo/OrCjX4tqgMqwJNQLlQAlphqPfvwlF9+tIu6pGcVbSN3U9zyXzWIZCeleqEaWUeSeET4Ew==} + '@walletconnect/core@2.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 - '@walletconnect/jsonrpc-ws-connection': 1.0.14 + '@walletconnect/jsonrpc-ws-connection': 1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/keyvaluestorage': 1.1.1 '@walletconnect/logger': 2.0.1 '@walletconnect/relay-api': 1.0.9 @@ -7435,10 +18346,8 @@ packages: - encoding - supports-color - utf-8-validate - dev: false - /@walletconnect/crypto@1.0.3: - resolution: {integrity: sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==} + '@walletconnect/crypto@1.0.3': dependencies: '@walletconnect/encoding': 1.0.2 '@walletconnect/environment': 1.0.1 @@ -7446,33 +18355,27 @@ packages: aes-js: 3.1.2 hash.js: 1.1.7 tslib: 1.14.1 - dev: false - /@walletconnect/encoding@1.0.2: - resolution: {integrity: sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==} + '@walletconnect/encoding@1.0.2': dependencies: is-typedarray: 1.0.0 tslib: 1.14.1 typedarray-to-buffer: 3.1.5 - dev: false - /@walletconnect/environment@1.0.1: - resolution: {integrity: sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==} + '@walletconnect/environment@1.0.1': dependencies: tslib: 1.14.1 - dev: false - /@walletconnect/ethereum-provider@2.11.0(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-YrTeHVjuSuhlUw7SQ6xBJXDuJ6iAC+RwINm9nVhoKYJSHAy3EVSJZOofMKrnecL0iRMtD29nj57mxAInIBRuZA==} + '@walletconnect/ethereum-provider@2.11.0(@types/react@18.2.48)(bufferutil@4.0.8)(react@18.2.0)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.7 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/modal': 2.6.2(@types/react@18.2.48)(react@18.2.0) - '@walletconnect/sign-client': 2.11.0 + '@walletconnect/sign-client': 2.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/types': 2.11.0 - '@walletconnect/universal-provider': 2.11.0 + '@walletconnect/universal-provider': 2.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/utils': 2.11.0 events: 3.3.0 transitivePeerDependencies: @@ -7494,25 +18397,19 @@ packages: - react - supports-color - utf-8-validate - dev: false - /@walletconnect/events@1.0.1: - resolution: {integrity: sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==} + '@walletconnect/events@1.0.1': dependencies: keyvaluestorage-interface: 1.0.0 tslib: 1.14.1 - dev: false - /@walletconnect/heartbeat@1.2.1: - resolution: {integrity: sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==} + '@walletconnect/heartbeat@1.2.1': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/time': 1.0.2 tslib: 1.14.1 - dev: false - /@walletconnect/jsonrpc-http-connection@1.0.7: - resolution: {integrity: sha512-qlfh8fCfu8LOM9JRR9KE0s0wxP6ZG9/Jom8M0qsoIQeKF3Ni0FyV4V1qy/cc7nfI46SLQLSl4tgWSfLiE1swyQ==} + '@walletconnect/jsonrpc-http-connection@1.0.7': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 @@ -7520,50 +18417,35 @@ packages: tslib: 1.14.1 transitivePeerDependencies: - encoding - dev: false - /@walletconnect/jsonrpc-provider@1.0.13: - resolution: {integrity: sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==} + '@walletconnect/jsonrpc-provider@1.0.13': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 tslib: 1.14.1 - dev: false - /@walletconnect/jsonrpc-types@1.0.3: - resolution: {integrity: sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==} + '@walletconnect/jsonrpc-types@1.0.3': dependencies: keyvaluestorage-interface: 1.0.0 tslib: 1.14.1 - dev: false - /@walletconnect/jsonrpc-utils@1.0.8: - resolution: {integrity: sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==} + '@walletconnect/jsonrpc-utils@1.0.8': dependencies: '@walletconnect/environment': 1.0.1 '@walletconnect/jsonrpc-types': 1.0.3 tslib: 1.14.1 - dev: false - /@walletconnect/jsonrpc-ws-connection@1.0.14: - resolution: {integrity: sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==} + '@walletconnect/jsonrpc-ws-connection@1.0.14(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/safe-json': 1.0.2 events: 3.3.0 - ws: 7.5.9 + ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /@walletconnect/keyvaluestorage@1.1.1: - resolution: {integrity: sha512-V7ZQq2+mSxAq7MrRqDxanTzu2RcElfK1PfNYiaVnJgJ7Q7G7hTVwF8voIBx92qsRyGHZihrwNPHuZd1aKkd0rA==} - peerDependencies: - '@react-native-async-storage/async-storage': 1.x - peerDependenciesMeta: - '@react-native-async-storage/async-storage': - optional: true + '@walletconnect/keyvaluestorage@1.1.1': dependencies: '@walletconnect/safe-json': 1.0.2 idb-keyval: 6.2.1 @@ -7581,10 +18463,8 @@ packages: - '@upstash/redis' - '@vercel/kv' - supports-color - dev: false - /@walletconnect/legacy-client@2.0.0: - resolution: {integrity: sha512-v5L7rYk9loVnfvUf0mF+76bUPFaU5/Vh7mzL6/950CD/yoGdzYZ3Kj+L7mkC6HPMEGeQsBP1+sqBuiVGZ/aODA==} + '@walletconnect/legacy-client@2.0.0': dependencies: '@walletconnect/crypto': 1.0.3 '@walletconnect/encoding': 1.0.2 @@ -7596,20 +18476,16 @@ packages: '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 query-string: 6.14.1 - dev: false - /@walletconnect/legacy-modal@2.0.0: - resolution: {integrity: sha512-jckNd8lMhm4X7dX9TDdxM3bXKJnaqkRs6K2Mo5j6GmbIF9Eyx40jZ5+q457RVxvM6ciZEDT5s1wBHWdWoOo+9Q==} + '@walletconnect/legacy-modal@2.0.0': dependencies: '@walletconnect/legacy-types': 2.0.0 '@walletconnect/legacy-utils': 2.0.0 copy-to-clipboard: 3.3.3 preact: 10.19.3 qrcode: 1.5.3 - dev: false - /@walletconnect/legacy-provider@2.0.0: - resolution: {integrity: sha512-A8xPebMI1A+50HbWwTpFCbwP7G+1NGKdTKyg8BUUg3h3Y9JucpC1W6w/x0v1Xw7qFEqQnz74LoIN/A3ytH9xrQ==} + '@walletconnect/legacy-provider@2.0.0': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.7 '@walletconnect/jsonrpc-provider': 1.0.13 @@ -7619,16 +18495,12 @@ packages: '@walletconnect/legacy-utils': 2.0.0 transitivePeerDependencies: - encoding - dev: false - /@walletconnect/legacy-types@2.0.0: - resolution: {integrity: sha512-sOVrA7HUdbI1OwKyPOQU0/DdvTSVFlsXWpAk2K2WvP2erTkBWPMTJq6cv2BmKdoJ3p6gLApT7sd+jHi3OF71uw==} + '@walletconnect/legacy-types@2.0.0': dependencies: '@walletconnect/jsonrpc-types': 1.0.3 - dev: false - /@walletconnect/legacy-utils@2.0.0: - resolution: {integrity: sha512-CPWxSVVXw0kgNCxvU126g4GiV3mzXmC8IPJ15twE46aJ1FX+RHEIfAzFMFz2F2+fEhBxL63A7dwNQKDXorRPcQ==} + '@walletconnect/legacy-utils@2.0.0': dependencies: '@walletconnect/encoding': 1.0.2 '@walletconnect/jsonrpc-utils': 1.0.8 @@ -7638,26 +18510,20 @@ packages: '@walletconnect/window-metadata': 1.0.1 detect-browser: 5.3.0 query-string: 6.14.1 - dev: false - /@walletconnect/logger@2.0.1: - resolution: {integrity: sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==} + '@walletconnect/logger@2.0.1': dependencies: pino: 7.11.0 tslib: 1.14.1 - dev: false - /@walletconnect/modal-core@2.6.2(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-cv8ibvdOJQv2B+nyxP9IIFdxvQznMz8OOr/oR/AaUZym4hjXNL/l1a2UlSQBXrVjo3xxbouMxLb3kBsHoYP2CA==} + '@walletconnect/modal-core@2.6.2(@types/react@18.2.48)(react@18.2.0)': dependencies: valtio: 1.11.2(@types/react@18.2.48)(react@18.2.0) transitivePeerDependencies: - '@types/react' - react - dev: false - /@walletconnect/modal-ui@2.6.2(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-rbdstM1HPGvr7jprQkyPggX7rP4XiCG85ZA+zWBEX0dVQg8PpAgRUqpeub4xQKDgY7pY/xLRXSiCVdWGqvG2HA==} + '@walletconnect/modal-ui@2.6.2(@types/react@18.2.48)(react@18.2.0)': dependencies: '@walletconnect/modal-core': 2.6.2(@types/react@18.2.48)(react@18.2.0) lit: 2.8.0 @@ -7666,36 +18532,28 @@ packages: transitivePeerDependencies: - '@types/react' - react - dev: false - /@walletconnect/modal@2.6.2(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-eFopgKi8AjKf/0U4SemvcYw9zlLpx9njVN8sf6DAkowC2Md0gPU/UNEbH1Wwj407pEKnEds98pKWib1NN1ACoA==} + '@walletconnect/modal@2.6.2(@types/react@18.2.48)(react@18.2.0)': dependencies: '@walletconnect/modal-core': 2.6.2(@types/react@18.2.48)(react@18.2.0) '@walletconnect/modal-ui': 2.6.2(@types/react@18.2.48)(react@18.2.0) transitivePeerDependencies: - '@types/react' - react - dev: false - /@walletconnect/randombytes@1.0.3: - resolution: {integrity: sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==} + '@walletconnect/randombytes@1.0.3': dependencies: '@walletconnect/encoding': 1.0.2 '@walletconnect/environment': 1.0.1 randombytes: 2.1.0 tslib: 1.14.1 - dev: false - /@walletconnect/relay-api@1.0.9: - resolution: {integrity: sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==} + '@walletconnect/relay-api@1.0.9': dependencies: '@walletconnect/jsonrpc-types': 1.0.3 tslib: 1.14.1 - dev: false - /@walletconnect/relay-auth@1.0.4: - resolution: {integrity: sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==} + '@walletconnect/relay-auth@1.0.4': dependencies: '@stablelib/ed25519': 1.0.3 '@stablelib/random': 1.0.2(patch_hash=h7p5ew3cy6mtkpd6srifcp63w4) @@ -7703,18 +18561,14 @@ packages: '@walletconnect/time': 1.0.2 tslib: 1.14.1 uint8arrays: 3.1.1 - dev: false - /@walletconnect/safe-json@1.0.2: - resolution: {integrity: sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==} + '@walletconnect/safe-json@1.0.2': dependencies: tslib: 1.14.1 - dev: false - /@walletconnect/sign-client@2.11.0: - resolution: {integrity: sha512-H2ukscibBS+6WrzQWh+WyVBqO5z4F5et12JcwobdwgHnJSlqIoZxqnUYYWNCI5rUR5UKsKWaUyto4AE9N5dw4Q==} + '@walletconnect/sign-client@2.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: - '@walletconnect/core': 2.11.0 + '@walletconnect/core': 2.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 '@walletconnect/jsonrpc-utils': 1.0.8 @@ -7740,16 +18594,12 @@ packages: - encoding - supports-color - utf-8-validate - dev: false - /@walletconnect/time@1.0.2: - resolution: {integrity: sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==} + '@walletconnect/time@1.0.2': dependencies: tslib: 1.14.1 - dev: false - /@walletconnect/types@2.11.0: - resolution: {integrity: sha512-AB5b1lrEbCGHxqS2vqfCkIoODieH+ZAUp9rA1O2ftrhnqDJiJK983Df87JhYhECsQUBHHfALphA8ydER0q+9sw==} + '@walletconnect/types@2.11.0': dependencies: '@walletconnect/events': 1.0.1 '@walletconnect/heartbeat': 1.2.1 @@ -7771,17 +18621,15 @@ packages: - '@upstash/redis' - '@vercel/kv' - supports-color - dev: false - /@walletconnect/universal-provider@2.11.0: - resolution: {integrity: sha512-zgJv8jDvIMP4Qse/D9oIRXGdfoNqonsrjPZanQ/CHNe7oXGOBiQND2IIeX+tS0H7uNA0TPvctljCLiIN9nw4eA==} + '@walletconnect/universal-provider@2.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)': dependencies: '@walletconnect/jsonrpc-http-connection': 1.0.7 '@walletconnect/jsonrpc-provider': 1.0.13 '@walletconnect/jsonrpc-types': 1.0.3 '@walletconnect/jsonrpc-utils': 1.0.8 '@walletconnect/logger': 2.0.1 - '@walletconnect/sign-client': 2.11.0 + '@walletconnect/sign-client': 2.11.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@walletconnect/types': 2.11.0 '@walletconnect/utils': 2.11.0 events: 3.3.0 @@ -7802,10 +18650,8 @@ packages: - encoding - supports-color - utf-8-validate - dev: false - /@walletconnect/utils@2.11.0: - resolution: {integrity: sha512-hxkHPlTlDQILHfIKXlmzgNJau/YcSBC3XHUSuZuKZbNEw3duFT6h6pm3HT/1+j1a22IG05WDsNBuTCRkwss+BQ==} + '@walletconnect/utils@2.11.0': dependencies: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 @@ -7835,69 +18681,53 @@ packages: - '@upstash/redis' - '@vercel/kv' - supports-color - dev: false - /@walletconnect/window-getters@1.0.1: - resolution: {integrity: sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==} + '@walletconnect/window-getters@1.0.1': dependencies: tslib: 1.14.1 - dev: false - /@walletconnect/window-metadata@1.0.1: - resolution: {integrity: sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==} + '@walletconnect/window-metadata@1.0.1': dependencies: '@walletconnect/window-getters': 1.0.1 tslib: 1.14.1 - dev: false - /@webassemblyjs/ast@1.11.6: - resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + '@webassemblyjs/ast@1.11.6': dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - /@webassemblyjs/floating-point-hex-parser@1.11.6: - resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + '@webassemblyjs/floating-point-hex-parser@1.11.6': {} - /@webassemblyjs/helper-api-error@1.11.6: - resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + '@webassemblyjs/helper-api-error@1.11.6': {} - /@webassemblyjs/helper-buffer@1.11.6: - resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + '@webassemblyjs/helper-buffer@1.11.6': {} - /@webassemblyjs/helper-numbers@1.11.6: - resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + '@webassemblyjs/helper-numbers@1.11.6': dependencies: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - /@webassemblyjs/helper-wasm-bytecode@1.11.6: - resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + '@webassemblyjs/helper-wasm-bytecode@1.11.6': {} - /@webassemblyjs/helper-wasm-section@1.11.6: - resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + '@webassemblyjs/helper-wasm-section@1.11.6': dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.11.6 - /@webassemblyjs/ieee754@1.11.6: - resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + '@webassemblyjs/ieee754@1.11.6': dependencies: '@xtuc/ieee754': 1.2.0 - /@webassemblyjs/leb128@1.11.6: - resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + '@webassemblyjs/leb128@1.11.6': dependencies: '@xtuc/long': 4.2.2 - /@webassemblyjs/utf8@1.11.6: - resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + '@webassemblyjs/utf8@1.11.6': {} - /@webassemblyjs/wasm-edit@1.11.6: - resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + '@webassemblyjs/wasm-edit@1.11.6': dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-buffer': 1.11.6 @@ -7908,8 +18738,7 @@ packages: '@webassemblyjs/wasm-parser': 1.11.6 '@webassemblyjs/wast-printer': 1.11.6 - /@webassemblyjs/wasm-gen@1.11.6: - resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + '@webassemblyjs/wasm-gen@1.11.6': dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 @@ -7917,16 +18746,14 @@ packages: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wasm-opt@1.11.6: - resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + '@webassemblyjs/wasm-opt@1.11.6': dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-buffer': 1.11.6 '@webassemblyjs/wasm-gen': 1.11.6 '@webassemblyjs/wasm-parser': 1.11.6 - /@webassemblyjs/wasm-parser@1.11.6: - resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + '@webassemblyjs/wasm-parser@1.11.6': dependencies: '@webassemblyjs/ast': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 @@ -7935,600 +18762,359 @@ packages: '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - /@webassemblyjs/wast-printer@1.11.6: - resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + '@webassemblyjs/wast-printer@1.11.6': dependencies: '@webassemblyjs/ast': 1.11.6 '@xtuc/long': 4.2.2 - /@wry/context@0.4.4: - resolution: {integrity: sha512-LrKVLove/zw6h2Md/KZyWxIkFM6AoyKp71OqpH9Hiip1csjPVoD3tPxlbQUNxEnHENks3UGgNpSBCAfq9KWuag==} + '@wry/context@0.4.4': dependencies: '@types/node': 16.18.76 tslib: 1.14.1 - dev: false - /@wry/context@0.7.4: - resolution: {integrity: sha512-jmT7Sb4ZQWI5iyu3lobQxICu2nC/vbUhP0vIdd6tHC9PTfenmRmuIFqktc6GH9cgi+ZHnsLWPvfSvc4DrYmKiQ==} - engines: {node: '>=8'} + '@wry/context@0.7.4': dependencies: tslib: 2.6.2 - /@wry/equality@0.1.11: - resolution: {integrity: sha512-mwEVBDUVODlsQQ5dfuLUS5/Tf7jqUKyhKYHmVi4fPB6bDMOfWvUPJmKgS1Z7Za/sOI3vzWt4+O7yCiL/70MogA==} + '@wry/equality@0.1.11': dependencies: tslib: 1.14.1 - dev: false - /@wry/equality@0.5.7: - resolution: {integrity: sha512-BRFORjsTuQv5gxcXsuDXx6oGRhuVsEGwZy6LOzRRfgu+eSfxbhUQ9L9YtSEIuIjY/o7g3iWFjrc5eSY1GXP2Dw==} - engines: {node: '>=8'} + '@wry/equality@0.5.7': dependencies: tslib: 2.6.2 - /@wry/trie@0.3.2: - resolution: {integrity: sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==} - engines: {node: '>=8'} + '@wry/trie@0.3.2': dependencies: tslib: 2.6.2 - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + '@xtuc/ieee754@1.2.0': {} - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + '@xtuc/long@4.2.2': {} - /@yarnpkg/lockfile@1.1.0: - resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - dev: true + '@yarnpkg/lockfile@1.1.0': {} - /JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true + JSONStream@1.3.5: dependencies: jsonparse: 1.3.1 through: 2.3.8 - /a-sync-waterfall@1.0.1: - resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} - dev: true + a-sync-waterfall@1.0.1: {} - /abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead + abab@2.0.6: {} - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - requiresBuild: true - dev: false + abbrev@1.1.1: optional: true - /abitype@0.8.7(typescript@5.3.3): - resolution: {integrity: sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - zod: - optional: true + abitype@0.8.7(typescript@5.3.3)(zod@3.22.4): dependencies: typescript: 5.3.3 - dev: false + optionalDependencies: + zod: 3.22.4 - /abitype@0.9.8(typescript@5.3.3): - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - dependencies: + abitype@0.9.8(typescript@5.3.3)(zod@3.22.4): + optionalDependencies: typescript: 5.3.3 - dev: false + zod: 3.22.4 - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + accepts@1.3.8: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - /acorn-globals@6.0.0: - resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + acorn-globals@6.0.0: dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 - /acorn-import-assertions@1.9.0(acorn@8.11.3): - resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} - peerDependencies: - acorn: ^8 + acorn-import-assertions@1.9.0(acorn@8.11.3): dependencies: acorn: 8.11.3 - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 - /acorn-node@1.8.2: - resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} + acorn-node@1.8.2: dependencies: acorn: 7.4.1 acorn-walk: 7.2.0 xtend: 4.0.2 - dev: true - /acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} + acorn-walk@7.2.0: {} - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true + acorn-walk@8.3.2: {} - /acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true + acorn@7.4.1: {} - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true + acorn@8.11.3: {} - /address@1.2.2: - resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} - engines: {node: '>= 10.0.0'} + address@1.2.2: {} - /adjust-sourcemap-loader@4.0.0: - resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} - engines: {node: '>=8.9'} + adjust-sourcemap-loader@4.0.0: dependencies: loader-utils: 2.0.4 regex-parser: 2.3.0 - /aes-js@3.1.2: - resolution: {integrity: sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==} - dev: false + aes-js@3.1.2: {} - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + agent-base@6.0.2: dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} - engines: {node: '>= 8.0.0'} + agentkeepalive@4.5.0: dependencies: humanize-ms: 1.2.1 - dev: false - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: true - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: + ajv-formats@2.1.1(ajv@8.12.0): + optionalDependencies: ajv: 8.12.0 - /ajv-keywords@3.5.2(ajv@6.12.6): - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 + ajv-keywords@3.5.2(ajv@6.12.6): dependencies: ajv: 6.12.6 - /ajv-keywords@5.1.0(ajv@8.12.0): - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 + ajv-keywords@5.1.0(ajv@8.12.0): dependencies: ajv: 8.12.0 fast-deep-equal: 3.1.3 - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.12.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - /aloedb-node@1.1.1: - resolution: {integrity: sha512-BH5RP5DvN4LEnfGGR+cX4VFf/asmWa1zwKVMVrAuFj3jjgySt9SBLGXTOsP0Epf1O5lzFQyoPDzmTzE44RmPUw==} - dev: false + aloedb-node@1.1.1: {} - /alphanum-sort@1.0.2: - resolution: {integrity: sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==} + alphanum-sort@1.0.2: {} - /anchor-markdown-header@0.6.0: - resolution: {integrity: sha512-v7HJMtE1X7wTpNFseRhxsY/pivP4uAJbidVhPT+yhz4i/vV1+qx371IXuV9V7bN6KjFtheLJxqaSm0Y/8neJTA==} + anchor-markdown-header@0.6.0: dependencies: emoji-regex: 10.1.0 - dev: true - /ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-align@3.0.1: dependencies: string-width: 4.2.3 - dev: true - /ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.1: {} - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.3: {} - /ansi-escape-sequences@4.1.0: - resolution: {integrity: sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==} - engines: {node: '>=8.0.0'} - requiresBuild: true + ansi-escape-sequences@4.1.0: dependencies: array-back: 3.1.0 - dev: false optional: true - /ansi-escapes@3.2.0: - resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} - engines: {node: '>=4'} + ansi-escapes@3.2.0: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - /ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true + ansi-html-community@0.0.8: {} - /ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} + ansi-regex@2.1.1: {} - /ansi-regex@3.0.1: - resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} - engines: {node: '>=4'} + ansi-regex@3.0.1: {} - /ansi-regex@4.1.1: - resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} - engines: {node: '>=6'} - dev: true + ansi-regex@4.1.1: {} - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + ansi-regex@6.0.1: {} - /ansi-sequence-parser@1.1.1: - resolution: {integrity: sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==} + ansi-sequence-parser@1.1.1: {} - /ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} + ansi-styles@2.2.1: {} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} + ansi-styles@5.2.0: {} - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + ansi-styles@6.2.1: {} - /any-observable@0.3.0(rxjs@6.6.7): - resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} - engines: {node: '>=6'} - peerDependencies: - rxjs: '*' - zenObservable: '*' - peerDependenciesMeta: - rxjs: - optional: true - zenObservable: - optional: true - dependencies: + any-observable@0.3.0(rxjs@6.6.7): + optionalDependencies: rxjs: 6.6.7 - dev: true - /any-observable@0.5.1(rxjs@6.6.7): - resolution: {integrity: sha512-8zv01bgDOp9PTmRTNCAHTw64TFP2rvlX4LvtNJLachaXY+AjmIvLT47fABNPCiIe89hKiSCo2n5zmPqI9CElPA==} - engines: {node: '>=8'} - peerDependencies: - rxjs: '*' - zen-observable: '*' - peerDependenciesMeta: - rxjs: - optional: true - zen-observable: - optional: true - dependencies: + any-observable@0.5.1(rxjs@6.6.7): + optionalDependencies: rxjs: 6.6.7 - dev: true - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + any-promise@1.3.0: {} - /anymatch@2.0.0: - resolution: {integrity: sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==} + anymatch@2.0.0: dependencies: micromatch: 3.1.10 normalize-path: 2.1.1 transitivePeerDependencies: - supports-color - dev: true - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - /apollo-boost@0.4.9(graphql@15.7.2): - resolution: {integrity: sha512-05y5BKcDaa8w47f8d81UVwKqrAjn8uKLv6QM9fNdldoNzQ+rnOHgFlnrySUZRz9QIT3vPftQkEz2UEASp1Mi5g==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-boost@0.4.9(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: - apollo-cache: 1.3.5(graphql@15.7.2) - apollo-cache-inmemory: 1.6.6(graphql@15.7.2) - apollo-client: 2.6.10(graphql@15.7.2) - apollo-link: 1.2.14(graphql@15.7.2) - apollo-link-error: 1.1.13(graphql@15.7.2) - apollo-link-http: 1.5.17(graphql@15.7.2) + apollo-cache: 1.3.5(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-cache-inmemory: 1.6.6(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-client: 2.6.10(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-link: 1.2.14(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-link-error: 1.1.13(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-link-http: 1.5.17(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - graphql-tag: 2.12.6(graphql@15.7.2) + graphql-tag: 2.12.6(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) ts-invariant: 0.4.4 tslib: 1.14.1 - dev: false - /apollo-cache-inmemory@1.6.6(graphql@15.7.2): - resolution: {integrity: sha512-L8pToTW/+Xru2FFAhkZ1OA9q4V4nuvfoPecBM34DecAugUZEBhI2Hmpgnzq2hTKZ60LAMrlqiASm0aqAY6F8/A==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-cache-inmemory@1.6.6(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: - apollo-cache: 1.3.5(graphql@15.7.2) - apollo-utilities: 1.3.4(graphql@15.7.2) + apollo-cache: 1.3.5(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-utilities: 1.3.4(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) optimism: 0.10.3 ts-invariant: 0.4.4 tslib: 1.14.1 - dev: false - /apollo-cache@1.3.5(graphql@15.7.2): - resolution: {integrity: sha512-1XoDy8kJnyWY/i/+gLTEbYLnoiVtS8y7ikBr/IfmML4Qb+CM7dEEbIUOjnY716WqmZ/UpXIxTfJsY7rMcqiCXA==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-cache@1.3.5(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: - apollo-utilities: 1.3.4(graphql@15.7.2) + apollo-utilities: 1.3.4(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) tslib: 1.14.1 - dev: false - /apollo-client@2.6.10(graphql@15.7.2): - resolution: {integrity: sha512-jiPlMTN6/5CjZpJOkGeUV0mb4zxx33uXWdj/xQCfAMkuNAC3HN7CvYDyMHHEzmcQ5GV12LszWoQ/VlxET24CtA==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-client@2.6.10(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: '@types/zen-observable': 0.8.7 - apollo-cache: 1.3.5(graphql@15.7.2) - apollo-link: 1.2.14(graphql@15.7.2) - apollo-utilities: 1.3.4(graphql@15.7.2) + apollo-cache: 1.3.5(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-link: 1.2.14(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-utilities: 1.3.4(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) symbol-observable: 1.2.0 ts-invariant: 0.4.4 tslib: 1.14.1 zen-observable: 0.8.15 - dev: false - /apollo-link-error@1.1.13(graphql@15.7.2): - resolution: {integrity: sha512-jAZOOahJU6bwSqb2ZyskEK1XdgUY9nkmeclCrW7Gddh1uasHVqmoYc4CKdb0/H0Y1J9lvaXKle2Wsw/Zx1AyUg==} + apollo-link-error@1.1.13(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: - apollo-link: 1.2.14(graphql@15.7.2) - apollo-link-http-common: 0.2.16(graphql@15.7.2) + apollo-link: 1.2.14(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-link-http-common: 0.2.16(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) tslib: 1.14.1 transitivePeerDependencies: - graphql - dev: false - /apollo-link-http-common@0.2.16(graphql@15.7.2): - resolution: {integrity: sha512-2tIhOIrnaF4UbQHf7kjeQA/EmSorB7+HyJIIrUjJOKBgnXwuexi8aMecRlqTIDWcyVXCeqLhUnztMa6bOH/jTg==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-link-http-common@0.2.16(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: - apollo-link: 1.2.14(graphql@15.7.2) + apollo-link: 1.2.14(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) ts-invariant: 0.4.4 tslib: 1.14.1 - dev: false - /apollo-link-http@1.5.17(graphql@15.7.2): - resolution: {integrity: sha512-uWcqAotbwDEU/9+Dm9e1/clO7hTB2kQ/94JYcGouBVLjoKmTeJTUPQKcJGpPwUjZcSqgYicbFqQSoJIW0yrFvg==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-link-http@1.5.17(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: - apollo-link: 1.2.14(graphql@15.7.2) - apollo-link-http-common: 0.2.16(graphql@15.7.2) + apollo-link: 1.2.14(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + apollo-link-http-common: 0.2.16(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) tslib: 1.14.1 - dev: false - /apollo-link@1.2.14(graphql@15.7.2): - resolution: {integrity: sha512-p67CMEFP7kOG1JZ0ZkYZwRDa369w5PIjtMjvrQd/HnIV8FRsHRqLqK+oAZQnFa1DDdZtOtHTi+aMIW6EatC2jg==} - peerDependencies: - graphql: ^0.11.3 || ^0.12.3 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-link@1.2.14(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: - apollo-utilities: 1.3.4(graphql@15.7.2) + apollo-utilities: 1.3.4(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) ts-invariant: 0.4.4 tslib: 1.14.1 zen-observable-ts: 0.8.21 - dev: false - /apollo-utilities@1.3.4(graphql@15.7.2): - resolution: {integrity: sha512-pk2hiWrCXMAy2fRPwEyhvka+mqwzeP60Jr1tRYi5xru+3ko94HI9o6lK0CT33/w4RDlxWchmdhDCrvdr+pHCig==} - peerDependencies: - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + apollo-utilities@1.3.4(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: '@wry/equality': 0.1.11 fast-json-stable-stringify: 2.1.0 graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) ts-invariant: 0.4.4 tslib: 1.14.1 - dev: false - /aproba@1.2.0: - resolution: {integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==} - requiresBuild: true - dev: false + aproba@1.2.0: optional: true - /arch@2.2.0: - resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} - dev: false + arch@2.2.0: {} - /are-we-there-yet@1.1.7: - resolution: {integrity: sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==} - requiresBuild: true + are-we-there-yet@1.1.7: dependencies: delegates: 1.0.0 readable-stream: 2.3.8 - dev: false optional: true - /arg@1.0.0: - resolution: {integrity: sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==} - dev: false + arg@1.0.0: {} - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + arg@4.1.3: {} - /arg@5.0.2: - resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + arg@5.0.2: {} - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + argparse@2.0.1: {} - /aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + aria-query@5.1.3: dependencies: deep-equal: 2.2.3 - dev: true - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.0: dependencies: dequal: 2.0.3 - /arr-diff@4.0.0: - resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} - engines: {node: '>=0.10.0'} - dev: true + arr-diff@4.0.0: {} - /arr-flatten@1.1.0: - resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} - engines: {node: '>=0.10.0'} - dev: true + arr-flatten@1.1.0: {} - /arr-union@3.1.0: - resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} - engines: {node: '>=0.10.0'} - dev: true + arr-union@3.1.0: {} - /array-back@1.0.4: - resolution: {integrity: sha512-1WxbZvrmyhkNoeYcizokbmh5oiOCIfyvGtcqbK3Ls1v1fKcquzxnQSceOx6tzq7jmai2kFLWIpGND2cLhH6TPw==} - engines: {node: '>=0.12.0'} - requiresBuild: true + array-back@1.0.4: dependencies: typical: 2.6.1 - dev: false optional: true - /array-back@2.0.0: - resolution: {integrity: sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==} - engines: {node: '>=4'} - requiresBuild: true + array-back@2.0.0: dependencies: typical: 2.6.1 - dev: false optional: true - /array-back@3.1.0: - resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} - engines: {node: '>=6'} - requiresBuild: true - dev: false + array-back@3.1.0: optional: true - /array-buffer-byte-length@1.0.0: - resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + array-buffer-byte-length@1.0.0: dependencies: call-bind: 1.0.5 is-array-buffer: 3.0.2 - /array-difference@0.0.1: - resolution: {integrity: sha512-LMXXDKmRSsO+d7N73LyTBWlT+GiLfNUCWeeWmZivzJ1NxSPOobS+w8bIAAfGEV35oVBsk9u9cXii8dDceU5NPw==} - dev: true + array-difference@0.0.1: {} - /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + array-flatten@1.1.1: {} - /array-includes@3.1.7: - resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==} - engines: {node: '>= 0.4'} + array-includes@3.1.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 @@ -8536,18 +19122,11 @@ packages: get-intrinsic: 1.2.2 is-string: 1.0.7 - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + array-union@2.1.0: {} - /array-unique@0.3.2: - resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} - engines: {node: '>=0.10.0'} - dev: true + array-unique@0.3.2: {} - /array.prototype.findlastindex@1.2.3: - resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==} - engines: {node: '>= 0.4'} + array.prototype.findlastindex@1.2.3: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 @@ -8555,27 +19134,21 @@ packages: es-shim-unscopables: 1.0.2 get-intrinsic: 1.2.2 - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} + array.prototype.flat@1.3.2: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} + array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 es-shim-unscopables: 1.0.2 - /array.prototype.reduce@1.0.6: - resolution: {integrity: sha512-UW+Mz8LG/sPSU8jRDCjVr6J/ZKAGpHfwrZ6kWTG5qCxIEiXdVshqGnu5vEZA8S1y6X4aCSbQZ0/EEsfvEvBiSg==} - engines: {node: '>= 0.4'} + array.prototype.reduce@1.0.6: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 @@ -8583,8 +19156,7 @@ packages: es-array-method-boxes-properly: 1.0.0 is-string: 1.0.7 - /array.prototype.tosorted@1.1.2: - resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==} + array.prototype.tosorted@1.1.2: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 @@ -8592,9 +19164,7 @@ packages: es-shim-unscopables: 1.0.2 get-intrinsic: 1.2.2 - /arraybuffer.prototype.slice@1.0.2: - resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} - engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.2: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.5 @@ -8604,143 +19174,83 @@ packages: is-array-buffer: 3.0.2 is-shared-array-buffer: 1.0.2 - /arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: true + arrify@1.0.1: {} - /asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + asap@2.0.6: {} - /asciidoctor-opal-runtime@0.3.3: - resolution: {integrity: sha512-/CEVNiOia8E5BMO9FLooo+Kv18K4+4JBFRJp8vUy/N5dMRAg+fRNV4HA+o6aoSC79jVU/aT5XvUpxSxSsTS8FQ==} - engines: {node: '>=8.11'} + asciidoctor-opal-runtime@0.3.3: dependencies: glob: 7.1.3 unxhr: 1.0.1 - dev: true - /asciidoctor@2.2.6: - resolution: {integrity: sha512-EXG3+F2pO21B+COfQmV/WgEgGiy7nG/mJiS/o5DXpaT2q82FRZWPVkbMZrpDvpu4pjXe5c754RbZR9Vz0L0Vtw==} - engines: {node: '>=8.11', npm: '>=5.0.0', yarn: '>=1.1.0'} - hasBin: true + asciidoctor@2.2.6: dependencies: '@asciidoctor/cli': 3.5.0(@asciidoctor/core@2.2.6) '@asciidoctor/core': 2.2.6 - dev: true - /asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + asn1.js@5.4.1: dependencies: bn.js: 4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q) inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza) - /asn1@0.2.6: - resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + asn1@0.2.6: dependencies: safer-buffer: 2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza) - dev: true - /asn1js@3.0.5: - resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} - engines: {node: '>=12.0.0'} + asn1js@3.0.5: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 tslib: 2.6.2 - /assert-plus@1.0.0: - resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} - engines: {node: '>=0.8'} - dev: true + assert-plus@1.0.0: {} - /assert@1.5.1: - resolution: {integrity: sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==} + assert@1.5.1: dependencies: object.assign: 4.1.5 util: 0.10.4 - dev: true - /assertion-error@2.0.1: - resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} - engines: {node: '>=12'} - dev: true + assertion-error@2.0.1: {} - /assign-symbols@1.0.0: - resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} - engines: {node: '>=0.10.0'} - dev: true + assign-symbols@1.0.0: {} - /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + ast-types-flow@0.0.8: {} - /astring@1.8.6: - resolution: {integrity: sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==} - hasBin: true - dev: false + astring@1.8.6: {} - /async-exit-hook@2.0.1: - resolution: {integrity: sha512-NW2cX8m1Q7KPA7a5M2ULQeZ2wR5qI5PAbw5L0UOMxdioVk9PMZ0h1TmyZEkPYrCvYjDlFICusOu1dlEKAAeXBw==} - engines: {node: '>=0.12.0'} - dev: true + async-exit-hook@2.0.1: {} - /async-mutex@0.2.6: - resolution: {integrity: sha512-Hs4R+4SPgamu6rSGW8C7cV9gaWUKEHykfzCCvIRuaVv636Ju10ZdeUbvb4TBEW0INuq2DHZqXbK4Nd3yG4RaRw==} + async-mutex@0.2.6: dependencies: tslib: 2.6.2 - dev: false - /async-mutex@0.3.2: - resolution: {integrity: sha512-HuTK7E7MT7jZEh1P9GtRW9+aTWiDWWi9InbZ5hjxrnRa39KS4BW04+xLBhYNS2aXhHUIKZSw3gj4Pn1pj+qGAA==} + async-mutex@0.3.2: dependencies: tslib: 2.6.2 - dev: false - /async-retry@1.3.3: - resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + async-retry@1.3.3: dependencies: retry: 0.13.1 - dev: true - /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + async@3.2.5: {} - /asynciterator.prototype@1.0.0: - resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==} + asynciterator.prototype@1.0.0: dependencies: has-symbols: 1.0.3 - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + asynckit@0.4.0: {} - /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} + at-least-node@1.0.0: {} - /atob@2.1.2: - resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} - engines: {node: '>= 4.5.0'} - hasBin: true - dev: true + atob@2.1.2: {} - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false + atomic-sleep@1.0.0: {} - /auto-bind@5.0.1: - resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false + auto-bind@5.0.1: {} - /autoprefixer@10.4.17(postcss@8.4.33): - resolution: {integrity: sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 + autoprefixer@10.4.17(postcss@8.4.33): dependencies: browserslist: 4.22.2 caniuse-lite: 1.0.30001580 @@ -8750,32 +19260,19 @@ packages: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} + available-typed-arrays@1.0.5: {} - /aws-sign2@0.7.0: - resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} - dev: true + aws-sign2@0.7.0: {} - /aws4@1.12.0: - resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} - dev: true + aws4@1.12.0: {} - /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} + axe-core@4.7.0: {} - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + axobject-query@3.2.1: dependencies: dequal: 2.0.3 - /babel-jest@26.6.3(@babel/core@7.23.9): - resolution: {integrity: sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 + babel-jest@26.6.3(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 '@jest/transform': 26.6.2 @@ -8788,13 +19285,8 @@ packages: slash: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-jest@27.5.1(@babel/core@7.23.9): - resolution: {integrity: sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.8.0 + babel-jest@27.5.1(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 '@jest/transform': 27.5.1 @@ -8808,12 +19300,7 @@ packages: transitivePeerDependencies: - supports-color - /babel-loader@8.3.0(@babel/core@7.23.9)(webpack@5.90.0): - resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} - engines: {node: '>= 8.9'} - peerDependencies: - '@babel/core': ^7.0.0 - webpack: '>=2' + babel-loader@8.3.0(@babel/core@7.23.9)(webpack@5.90.0): dependencies: '@babel/core': 7.23.9 find-cache-dir: 3.3.2 @@ -8822,9 +19309,7 @@ packages: schema-utils: 2.7.1 webpack: 5.90.0 - /babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + babel-plugin-istanbul@6.1.1: dependencies: '@babel/helper-plugin-utils': 7.22.5 '@istanbuljs/load-nyc-config': 1.1.0 @@ -8834,44 +19319,31 @@ packages: transitivePeerDependencies: - supports-color - /babel-plugin-jest-hoist@26.6.2: - resolution: {integrity: sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw==} - engines: {node: '>= 10.14.2'} + babel-plugin-jest-hoist@26.6.2: dependencies: '@babel/template': 7.23.9 '@babel/types': 7.23.9 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.5 - dev: true - /babel-plugin-jest-hoist@27.5.1: - resolution: {integrity: sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + babel-plugin-jest-hoist@27.5.1: dependencies: '@babel/template': 7.23.9 '@babel/types': 7.23.9 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.5 - /babel-plugin-macros@3.1.0: - resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} - engines: {node: '>=10', npm: '>=6'} + babel-plugin-macros@3.1.0: dependencies: '@babel/runtime': 7.23.9 cosmiconfig: 7.1.0 resolve: 1.22.8 - /babel-plugin-named-asset-import@0.3.8(@babel/core@7.23.9): - resolution: {integrity: sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==} - peerDependencies: - '@babel/core': ^7.1.0 + babel-plugin-named-asset-import@0.3.8(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): dependencies: '@babel/compat-data': 7.23.5 '@babel/core': 7.23.9 @@ -8880,10 +19352,7 @@ packages: transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) @@ -8891,31 +19360,20 @@ packages: transitivePeerDependencies: - supports-color - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} - peerDependencies: - '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) transitivePeerDependencies: - supports-color - /babel-plugin-transform-hook-names@1.0.2(@babel/core@7.24.3): - resolution: {integrity: sha512-5gafyjyyBTTdX/tQQ0hRgu4AhNHG/hqWi0ZZmg2xvs2FgRkJXzDNKBZCyoYqgFkovfDrgM8OoKg8karoUvWeCw==} - peerDependencies: - '@babel/core': ^7.12.10 + babel-plugin-transform-hook-names@1.0.2(@babel/core@7.23.9): dependencies: - '@babel/core': 7.24.3 - dev: false + '@babel/core': 7.23.9 - /babel-plugin-transform-react-remove-prop-types@0.4.24: - resolution: {integrity: sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==} + babel-plugin-transform-react-remove-prop-types@0.4.24: {} - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.9): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) @@ -8931,29 +19389,19 @@ packages: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) - /babel-preset-jest@26.6.2(@babel/core@7.23.9): - resolution: {integrity: sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ==} - engines: {node: '>= 10.14.2'} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-jest@26.6.2(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 babel-plugin-jest-hoist: 26.6.2 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.9) - dev: true - /babel-preset-jest@27.5.1(@babel/core@7.23.9): - resolution: {integrity: sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-jest@27.5.1(@babel/core@7.23.9): dependencies: '@babel/core': 7.23.9 babel-plugin-jest-hoist: 27.5.1 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.9) - /babel-preset-react-app@10.0.1: - resolution: {integrity: sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==} + babel-preset-react-app@10.0.1: dependencies: '@babel/core': 7.23.9 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.23.9) @@ -8975,38 +19423,21 @@ packages: transitivePeerDependencies: - supports-color - /bail@1.0.5: - resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} - dev: true + bail@1.0.5: {} - /bail@2.0.2: - resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - dev: false + bail@2.0.2: {} - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + balanced-match@1.0.2: {} - /base-x@3.0.9: - resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + base-x@3.0.9: dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: false - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - /base64js@1.0.1: - resolution: {integrity: sha512-jxGN7DS7e+HHO5u+UT9NzK2BMKJByQPmmdXyvad7TN0mPKGC4kRMTnnV7g7HqhLlW51AFmtbRM4IDGxysBYuVg==} - dev: false + base64-js@1.5.1: {} - /base64url@3.0.1: - resolution: {integrity: sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==} - engines: {node: '>=6.0.0'} - dev: false + base64url@3.0.1: {} - /base@0.11.2: - resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} - engines: {node: '>=0.10.0'} + base@0.11.2: dependencies: cache-base: 1.0.1 class-utils: 0.3.6 @@ -9015,31 +19446,20 @@ packages: isobject: 3.0.1 mixin-deep: 1.3.2 pascalcase: 0.1.1 - dev: true - /bash-color@0.0.4: - resolution: {integrity: sha512-ZNB4525U7BxT6v9C8LEtywyCgB4Pjnm7/bh+ru/Z9Ecxvg3fDjaJ6z305z9a61orQdbB1zqYHh5JbUqx4s4K0g==} - dev: true + bash-color@0.0.4: {} - /batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + batch@0.6.1: {} - /bcrypt-pbkdf@1.0.2: - resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + bcrypt-pbkdf@1.0.2: dependencies: tweetnacl: 0.14.5 - dev: true - /better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} + better-path-resolve@1.0.0: dependencies: is-windows: 1.0.2 - dev: true - /bfj@7.1.0: - resolution: {integrity: sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==} - engines: {node: '>= 8.0.0'} + bfj@7.1.0: dependencies: bluebird: 3.7.2 check-types: 11.2.3 @@ -9047,63 +19467,38 @@ packages: jsonpath: 1.1.1 tryer: 1.0.1 - /big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} + big-integer@1.6.52: {} - /big.js@5.2.2: - resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + big.js@5.2.2: {} - /bigint-buffer@1.1.5: - resolution: {integrity: sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA==} - engines: {node: '>= 10.0.0'} - requiresBuild: true + bigint-buffer@1.1.5: dependencies: bindings: 1.5.0 - dev: false - /bignumber.js@9.1.2: - resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - dev: false + bignumber.js@9.1.2: {} - /binary-extensions@2.2.0: - resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} - engines: {node: '>=8'} + binary-extensions@2.2.0: {} - /binary@0.3.0: - resolution: {integrity: sha512-D4H1y5KYwpJgK8wk1Cue5LLPgmwHKYSChkbspQg5JtVuR5ulGckxfR62H3AE9UDkdMC8yyXlqYihuz3Aqg2XZg==} + binary@0.3.0: dependencies: buffers: 0.1.1 chainsaw: 0.1.0 - dev: true - /bind-decorator@1.0.11: - resolution: {integrity: sha512-yzkH0uog6Vv/vQ9+rhSKxecnqGUZHYncg7qS7voz3Q76+TAi1SGiOKk2mlOvusQnFz9Dc4BC/NMkeXu11YgjJg==} - dev: false + bind-decorator@1.0.11: {} - /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 - dev: false - /bluebird@3.4.7: - resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==} - dev: true + bluebird@3.4.7: {} - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + bluebird@3.7.2: {} - /bn.js@4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q): - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - patched: true + bn.js@4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q): {} - /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + bn.js@5.2.1: {} - /body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.1: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -9120,9 +19515,7 @@ packages: transitivePeerDependencies: - supports-color - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.2: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -9138,35 +19531,25 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /body@5.1.0: - resolution: {integrity: sha512-chUsBxGRtuElD6fmw1gHLpvnKdVLK302peeFa9ZqAEk8TyzZ3fygLyUEDDPTJvL9+Bor0dIwn6ePOsRM2y0zQQ==} + body@5.1.0: dependencies: continuable-cache: 0.3.1 error: 7.0.2 raw-body: 1.1.7 safe-json-parse: 1.0.1 - dev: true - /bonjour-service@1.2.1: - resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==} + bonjour-service@1.2.1: dependencies: fast-deep-equal: 3.1.3 multicast-dns: 7.2.5 - /boolbase@1.0.0: - resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + boolbase@1.0.0: {} - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - requiresBuild: true - dev: false + boolean@3.2.0: optional: true - /borc@2.1.2(patch_hash=oufny7gfmlqsrh5jb3zwdyyexi): - resolution: {integrity: sha512-Sy9eoUi4OiKzq7VovMn246iTo17kzuyHJKomCfpWMlI6RpfN1gk95w7d7gH264nApVLg0HZfcpz62/g4VH1Y4w==} - engines: {node: '>=4'} + borc@2.1.2(patch_hash=oufny7gfmlqsrh5jb3zwdyyexi): dependencies: bignumber.js: 9.1.2 buffer: 5.7.1 @@ -9175,20 +19558,14 @@ packages: iso-url: 0.4.7(patch_hash=436asxcee6selccg7sdh7lg6f4) json-text-sequence: 0.1.1 readable-stream: 3.6.2 - dev: false - patched: true - /borsh@0.7.0: - resolution: {integrity: sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA==} + borsh@0.7.0: dependencies: bn.js: 5.2.1 bs58: 4.0.1 text-encoding-utf-8: 1.0.2 - dev: false - /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} + boxen@5.1.2: dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -9198,22 +19575,17 @@ packages: type-fest: 0.20.2 widest-line: 3.1.0 wrap-ansi: 7.0.0 - dev: true - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - /braces@2.3.2: - resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} - engines: {node: '>=0.10.0'} + braces@2.3.2: dependencies: arr-flatten: 1.1.0 array-unique: 0.3.2 @@ -9227,27 +19599,18 @@ packages: to-regex: 3.0.2 transitivePeerDependencies: - supports-color - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + braces@3.0.2: dependencies: fill-range: 7.0.1 - /breakword@1.0.6: - resolution: {integrity: sha512-yjxDAYyK/pBvws9H4xKYpLDpYKEH6CzrBPAuXq3x18I+c/2MkVtT3qAr7Oloi6Dss9qNhPVueAAVU1CSeNDIXw==} + breakword@1.0.6: dependencies: wcwidth: 1.0.1 - dev: true - /brorand@1.1.0(patch_hash=coni6w7ml52xq7hk7pjg56sj54): - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - patched: true + brorand@1.1.0(patch_hash=coni6w7ml52xq7hk7pjg56sj54): {} - /browser-pack@6.1.0: - resolution: {integrity: sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==} - hasBin: true + browser-pack@6.1.0: dependencies: JSONStream: 1.3.5 combine-source-map: 0.8.0 @@ -9255,23 +19618,16 @@ packages: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) through2: 2.0.5 umd: 3.0.3 - dev: true - /browser-process-hrtime@1.0.0: - resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + browser-process-hrtime@1.0.0: {} - /browser-resolve@2.0.0: - resolution: {integrity: sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==} + browser-resolve@2.0.0: dependencies: resolve: 1.22.8 - dev: true - /browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true + browser-stdout@1.3.1: {} - /browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -9279,35 +19635,26 @@ packages: evp_bytestokey: 1.0.3 inherits: 2.0.4 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /browserify-cipher@1.0.1: - resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + browserify-cipher@1.0.1: dependencies: browserify-aes: 1.2.0 browserify-des: 1.0.2 evp_bytestokey: 1.0.3 - dev: true - /browserify-des@1.0.2: - resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + browserify-des@1.0.2: dependencies: cipher-base: 1.0.4 des.js: 1.1.0 inherits: 2.0.4 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /browserify-rsa@4.1.0: - resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + browserify-rsa@4.1.0: dependencies: bn.js: 5.2.1 randombytes: 2.1.0 - dev: true - /browserify-sign@4.2.2: - resolution: {integrity: sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==} - engines: {node: '>= 4'} + browserify-sign@4.2.2: dependencies: bn.js: 5.2.1 browserify-rsa: 4.1.0 @@ -9318,18 +19665,12 @@ packages: parse-asn1: 5.1.6 readable-stream: 3.6.2 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /browserify-zlib@0.2.0: - resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + browserify-zlib@0.2.0: dependencies: pako: 1.0.11 - dev: true - /browserify@17.0.0: - resolution: {integrity: sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==} - engines: {node: '>= 0.8'} - hasBin: true + browserify@17.0.0: dependencies: JSONStream: 1.3.5 assert: 1.5.1 @@ -9379,116 +19720,73 @@ packages: util: 0.12.5 vm-browserify: 1.1.2 xtend: 4.0.2 - dev: true - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.22.2: dependencies: caniuse-lite: 1.0.30001580 electron-to-chromium: 1.4.647 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.22.2) - /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 - dev: true - /bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + bs58@4.0.1: dependencies: base-x: 3.0.9 - dev: false - /bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + bser@2.1.1: dependencies: node-int64: 0.4.0 - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + buffer-crc32@0.2.13: {} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + buffer-from@1.1.2: {} - /buffer-indexof-polyfill@1.0.2: - resolution: {integrity: sha512-I7wzHwA3t1/lwXQh+A5PbNvJxgfo5r3xulgpYDB5zckTu/Z9oUK9biouBKQUjEqzaz3HnAT6TYoovmE+GqSf7A==} - engines: {node: '>=0.10'} - dev: true + buffer-indexof-polyfill@1.0.2: {} - /buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - dev: true + buffer-xor@1.0.3: {} - /buffer@5.2.1: - resolution: {integrity: sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==} + buffer@5.2.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: false - /buffers@0.1.1: - resolution: {integrity: sha512-9q/rDEGSb/Qsvv2qvzIzdluL5k7AaJOTrw23z9reQthrbF7is4CtlT0DXyO1oei2DCp4uojjzQ7igaSHp1kAEQ==} - engines: {node: '>=0.2.0'} - dev: true + buffers@0.1.1: {} - /bufferutil@4.0.8: - resolution: {integrity: sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==} - engines: {node: '>=6.14.2'} - requiresBuild: true + bufferutil@4.0.8: dependencies: node-gyp-build: 4.8.0(patch_hash=tidq6bjknpovdjep75bj5ccgke) + optional: true - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} + builtin-modules@3.3.0: {} - /builtin-status-codes@3.0.0: - resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} - dev: true + builtin-status-codes@3.0.0: {} - /builtins@1.0.3: - resolution: {integrity: sha512-uYBjakWipfaO/bXI7E8rq6kpwHRZK5cNYrUv2OzZSI/FvmdMyXJ2tG9dKcjEC5YHmHpUAwsargWIZNWdxb/bnQ==} + builtins@1.0.3: {} - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} + busboy@1.6.0: dependencies: streamsearch: 1.1.0 - dev: false - /bytes@1.0.0: - resolution: {integrity: sha512-/x68VkHLeTl3/Ll8IvxdwzhrT+IyKc52e/oyHhA2RwqPqswSnjVbSddfPRwAsJtbilMAPSRWwAlpxdYsSWOTKQ==} - dev: true + bytes@1.0.0: {} - /bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} + bytes@3.0.0: {} - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + bytes@3.1.2: {} - /cache-base@1.0.1: - resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} - engines: {node: '>=0.10.0'} + cache-base@1.0.1: dependencies: collection-visit: 1.0.0 component-emitter: 1.3.1 @@ -9499,19 +19797,13 @@ packages: to-object-path: 0.3.0 union-value: 1.0.1 unset-value: 1.0.0 - dev: true - /cacheable-lookup@2.0.1: - resolution: {integrity: sha512-EMMbsiOTcdngM/K6gV/OxF2x0t07+vMOWxZNSCRQMjO2MY2nhZQ6OYhOOpyQrbhqsgtvKGI7hcq6xjnA92USjg==} - engines: {node: '>=10'} + cacheable-lookup@2.0.1: dependencies: '@types/keyv': 3.1.4 keyv: 4.5.4 - dev: true - /cacheable-request@6.1.0: - resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} - engines: {node: '>=8'} + cacheable-request@6.1.0: dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -9521,9 +19813,7 @@ packages: normalize-url: 4.5.1 responselike: 1.0.2 - /cacheable-request@7.0.4: - resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} - engines: {node: '>=8'} + cacheable-request@7.0.4: dependencies: clone-response: 1.0.3 get-stream: 5.2.0 @@ -9532,147 +19822,94 @@ packages: lowercase-keys: 2.0.0 normalize-url: 6.1.0 responselike: 2.0.1 - dev: true - /cached-path-relative@1.1.0: - resolution: {integrity: sha512-WF0LihfemtesFcJgO7xfOoOcnWzY/QHR4qeDqV44jPU3HTI54+LnfXK3SA27AVVGCdZFgjjFFaqUA9Jx7dMJZA==} - dev: true + cached-path-relative@1.1.0: {} - /call-bind@1.0.5: - resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + call-bind@1.0.5: dependencies: function-bind: 1.1.2 get-intrinsic: 1.2.2 set-function-length: 1.2.0 - /caller-callsite@2.0.0: - resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==} - engines: {node: '>=4'} + caller-callsite@2.0.0: dependencies: callsites: 2.0.0 - /caller-path@2.0.0: - resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==} - engines: {node: '>=4'} + caller-path@2.0.0: dependencies: caller-callsite: 2.0.0 - /callsites@2.0.0: - resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==} - engines: {node: '>=4'} + callsites@2.0.0: {} - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + callsites@3.1.0: {} - /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camel-case@4.1.2: dependencies: pascal-case: 3.1.2 tslib: 2.6.2 - /camelcase-css@2.0.1: - resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} - engines: {node: '>= 6'} + camelcase-css@2.0.1: {} - /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} + camelcase-keys@6.2.2: dependencies: camelcase: 5.3.1 map-obj: 4.3.0 quick-lru: 4.0.1 - dev: true - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + camelcase@5.3.1: {} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + camelcase@6.3.0: {} - /caniuse-api@3.0.0: - resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + caniuse-api@3.0.0: dependencies: browserslist: 4.22.2 caniuse-lite: 1.0.30001580 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - /caniuse-lite@1.0.30001580: - resolution: {integrity: sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==} + caniuse-lite@1.0.30001580: {} - /canonicalize@1.0.8: - resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} - dev: false + canonicalize@1.0.8: {} - /canvas-renderer@2.2.1: - resolution: {integrity: sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg==} + canvas-renderer@2.2.1: dependencies: '@types/node': 16.18.76 - dev: false - /capture-exit@2.0.0: - resolution: {integrity: sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g==} - engines: {node: 6.* || 8.* || >= 10.*} + capture-exit@2.0.0: dependencies: rsvp: 4.8.5 - dev: true - /case-sensitive-paths-webpack-plugin@2.4.0: - resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} - engines: {node: '>=4'} + case-sensitive-paths-webpack-plugin@2.4.0: {} - /caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: true + caseless@0.12.0: {} - /cbor@5.2.0: - resolution: {integrity: sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A==} - engines: {node: '>=6.0.0'} + cbor@5.2.0: dependencies: bignumber.js: 9.1.2 nofilter: 1.0.4 - dev: false - /ccount@1.1.0: - resolution: {integrity: sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==} - dev: true + ccount@1.1.0: {} - /ccount@2.0.1: - resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - dev: false + ccount@2.0.1: {} - /chai-as-promised@7.1.1(chai@5.0.3): - resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} - peerDependencies: - chai: '>= 2.1.2 < 5' + chai-as-promised@7.1.1(chai@5.0.3): dependencies: chai: 5.0.3 check-error: 1.0.3 - dev: true - /chai@5.0.3: - resolution: {integrity: sha512-wKGCtYv2kVY5WEjKqQ3fSIZWtTFveZCtzinhTZbx3/trVkxefiwovhpU9kRVCwxvKKCEjTWXPdM1/T7zPoDgow==} - engines: {node: '>=12'} + chai@5.0.3: dependencies: assertion-error: 2.0.1 check-error: 2.0.0 deep-eql: 5.0.1 loupe: 3.1.0 pathval: 2.0.0 - dev: true - /chainsaw@0.1.0: - resolution: {integrity: sha512-75kWfWt6MEKNC8xYXIdRpDehRYY/tNSgwKaJq+dbbDcxORuVrrQ+SEHoWsniVn9XPYfP4gmdWIeDk/4YNp1rNQ==} + chainsaw@0.1.0: dependencies: traverse: 0.3.9 - dev: true - /chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} + chalk@1.1.3: dependencies: ansi-styles: 2.2.1 escape-string-regexp: 1.0.5 @@ -9680,125 +19917,77 @@ packages: strip-ansi: 3.0.1 supports-color: 2.0.0 - /chalk@2.1.0: - resolution: {integrity: sha512-LUHGS/dge4ujbXMJrnihYMcL4AoOweGnw9Tp3kQuqy1Kx5c1qKjqvMJZ6nVJPMWJtKCTN72ZogH3oeSO9g9rXQ==} - engines: {node: '>=4'} - requiresBuild: true + chalk@2.1.0: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 4.5.0 - dev: false optional: true - /chalk@2.3.0: - resolution: {integrity: sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==} - engines: {node: '>=4'} + chalk@2.3.0: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 4.5.0 - dev: false - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} + chalk@3.0.0: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} + char-regex@1.0.2: {} - /char-regex@2.0.1: - resolution: {integrity: sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==} - engines: {node: '>=12.20'} + char-regex@2.0.1: {} - /character-entities-html4@2.1.0: - resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==} - dev: false + character-entities-html4@2.1.0: {} - /character-entities-legacy@1.1.4: - resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} - dev: true + character-entities-legacy@1.1.4: {} - /character-entities-legacy@3.0.0: - resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==} - dev: false + character-entities-legacy@3.0.0: {} - /character-entities@1.2.4: - resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} - dev: true + character-entities@1.2.4: {} - /character-entities@2.0.2: - resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} - dev: false + character-entities@2.0.2: {} - /character-reference-invalid@1.1.4: - resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} - dev: true + character-reference-invalid@1.1.4: {} - /character-reference-invalid@2.0.1: - resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - dev: false + character-reference-invalid@2.0.1: {} - /chardet@0.4.2: - resolution: {integrity: sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==} - requiresBuild: true - dev: false + chardet@0.4.2: optional: true - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - dev: true + chardet@0.7.0: {} - /charenc@0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - dev: false + charenc@0.0.2: {} - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 - dev: true - /check-error@2.0.0: - resolution: {integrity: sha512-tjLAOBHKVxtPoHe/SA7kNOMvhCRdCJ3vETdeY0RuAc9popf+hyaSV6ZEg9hr4cpWF7jmo/JSWEnLDrnijS9Tog==} - engines: {node: '>= 16'} - dev: true + check-error@2.0.0: {} - /check-types@11.2.3: - resolution: {integrity: sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==} + check-types@11.2.3: {} - /cheerio-select@1.6.0: - resolution: {integrity: sha512-eq0GdBvxVFbqWgmCm7M3XGs1I8oLy/nExUnh6oLqmBditPO9AqQJrkslDpMun/hZ0yyTs8L0m85OHp4ho6Qm9g==} + cheerio-select@1.6.0: dependencies: css-select: 4.3.0 css-what: 6.1.0 domelementtype: 2.3.0 domhandler: 4.3.1 domutils: 2.8.0 - dev: true - /cheerio-select@2.1.0: - resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + cheerio-select@2.1.0: dependencies: boolbase: 1.0.0 css-select: 5.1.0 @@ -9806,11 +19995,8 @@ packages: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.1.0 - dev: true - /cheerio@1.0.0-rc.10: - resolution: {integrity: sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==} - engines: {node: '>= 6'} + cheerio@1.0.0-rc.10: dependencies: cheerio-select: 1.6.0 dom-serializer: 1.4.1 @@ -9819,11 +20005,8 @@ packages: parse5: 6.0.1 parse5-htmlparser2-tree-adapter: 6.0.1 tslib: 2.6.2 - dev: true - /cheerio@1.0.0-rc.12: - resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} - engines: {node: '>= 6'} + cheerio@1.0.0-rc.12: dependencies: cheerio-select: 2.1.0 dom-serializer: 2.0.0 @@ -9832,11 +20015,8 @@ packages: htmlparser2: 8.0.2 parse5: 7.1.2 parse5-htmlparser2-tree-adapter: 7.0.0 - dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@3.5.3: dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -9848,336 +20028,209 @@ packages: optionalDependencies: fsevents: 2.3.3 - /chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - requiresBuild: true - dev: false + chownr@1.1.4: optional: true - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} + chrome-trace-event@1.0.3: {} - /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: true + ci-info@2.0.0: {} - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} + ci-info@3.9.0: {} - /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + cipher-base@1.0.4: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /citty@0.1.5: - resolution: {integrity: sha512-AS7n5NSc0OQVMV9v6wt3ByujNIrne0/cTjiC2MYqhvao57VNfiuVksTSr2p17nVOhEr2KtqiAkGwHcgMC/qUuQ==} + citty@0.1.5: dependencies: consola: 3.2.3 - dev: false - /cjs-module-lexer@0.6.0: - resolution: {integrity: sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw==} - dev: true + cjs-module-lexer@0.6.0: {} - /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + cjs-module-lexer@1.2.3: {} - /class-utils@0.3.6: - resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} - engines: {node: '>=0.10.0'} + class-utils@0.3.6: dependencies: arr-union: 3.1.0 define-property: 0.2.5 isobject: 3.0.1 static-extend: 0.1.2 - dev: true - /class-validator@0.13.2: - resolution: {integrity: sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==} + class-validator@0.13.2: dependencies: libphonenumber-js: 1.10.54 validator: 13.11.0 - dev: false - /clean-css@5.3.3: - resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} - engines: {node: '>= 10.0'} + clean-css@5.3.3: dependencies: source-map: 0.6.1 - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true + clean-stack@2.2.0: {} - /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: true + cli-boxes@2.2.1: {} - /cli-cursor@2.1.0: - resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} - engines: {node: '>=4'} + cli-cursor@2.1.0: dependencies: restore-cursor: 2.0.0 - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - dev: true - /cli-truncate@0.2.1: - resolution: {integrity: sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==} - engines: {node: '>=0.10.0'} + cli-truncate@0.2.1: dependencies: slice-ansi: 0.0.4 string-width: 1.0.2 - dev: true - /cli-width@2.2.1: - resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} + cli-width@2.2.1: {} - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true + cli-width@3.0.0: {} - /client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - dev: false + client-only@0.0.1: {} - /clipboardy@1.2.2: - resolution: {integrity: sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==} - engines: {node: '>=4'} + clipboardy@1.2.2: dependencies: arch: 2.2.0 execa: 0.8.0 - dev: false - /clipboardy@4.0.0: - resolution: {integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==} - engines: {node: '>=18'} + clipboardy@4.0.0: dependencies: execa: 8.0.1 is-wsl: 3.1.0 is64bit: 2.0.0 - dev: false - /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@6.0.0: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@7.0.4: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /clone-response@1.0.3: - resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + clone-response@1.0.3: dependencies: mimic-response: 1.0.1 - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true + clone@1.0.4: {} - /clsx@1.2.1: - resolution: {integrity: sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==} - engines: {node: '>=6'} - dev: false + clsx@1.2.1: {} - /clsx@2.1.0: - resolution: {integrity: sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==} - engines: {node: '>=6'} - dev: false + clsx@2.1.0: {} - /cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} - dev: false + cluster-key-slot@1.1.2: {} - /co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + co@4.6.0: {} - /coa@2.0.2: - resolution: {integrity: sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==} - engines: {node: '>= 4.0'} + coa@2.0.2: dependencies: '@types/q': 1.5.8 chalk: 2.4.2 q: 1.5.1 - /code-point-at@1.1.0: - resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} - engines: {node: '>=0.10.0'} + code-point-at@1.1.0: {} - /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + collect-v8-coverage@1.0.2: {} - /collection-visit@1.0.0: - resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} - engines: {node: '>=0.10.0'} + collection-visit@1.0.0: dependencies: map-visit: 1.0.0 object-visit: 1.0.1 - dev: true - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /color-string@1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + color-string@1.9.1: dependencies: color-name: 1.1.4 simple-swizzle: 0.2.2 - /color@3.2.1: - resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + color@3.2.1: dependencies: color-convert: 1.9.3 color-string: 1.9.1 - /colord@2.9.3: - resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + colord@2.9.3: {} - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + colorette@2.0.20: {} - /combine-source-map@0.8.0: - resolution: {integrity: sha512-UlxQ9Vw0b/Bt/KYwCFqdEwsQ1eL8d1gibiFb7lxQJFdvTgc2hIZi6ugsg+kyhzhPV+QEpUiEIwInIAIrgoEkrg==} + combine-source-map@0.8.0: dependencies: convert-source-map: 1.1.3 inline-source-map: 0.6.2 lodash.memoize: 3.0.4 source-map: 0.5.7 - dev: true - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - /comma-separated-tokens@2.0.3: - resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - dev: false + comma-separated-tokens@2.0.3: {} - /command-line-args@4.0.7: - resolution: {integrity: sha512-aUdPvQRAyBvQd2n7jXcsMDz68ckBJELXNzBybCHOibUWEg0mWTnaYCSRU8h9R+aNRSvDihJtssSRCiDRpLaezA==} - hasBin: true - requiresBuild: true + command-line-args@4.0.7: dependencies: array-back: 2.0.0 find-replace: 1.0.3 typical: 2.6.1 - dev: false optional: true - /command-line-commands@2.0.1: - resolution: {integrity: sha512-m8c2p1DrNd2ruIAggxd/y6DgygQayf6r8RHwchhXryaLF8I6koYjoYroVP+emeROE9DXN5b9sP1Gh+WtvTTdtQ==} - engines: {node: '>=4.0.0'} - requiresBuild: true + command-line-commands@2.0.1: dependencies: array-back: 2.0.0 - dev: false optional: true - /command-line-usage@4.1.0: - resolution: {integrity: sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==} - engines: {node: '>=4.0.0'} - requiresBuild: true + command-line-usage@4.1.0: dependencies: ansi-escape-sequences: 4.1.0 array-back: 2.0.0 table-layout: 0.4.5 typical: 2.6.1 - dev: false optional: true - /commander@2.20.3: - resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + commander@2.20.3: {} - /commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} + commander@4.1.1: {} - /commander@5.1.0: - resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} - engines: {node: '>= 6'} - dev: true + commander@5.1.0: {} - /commander@6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} - engines: {node: '>= 6'} - dev: true + commander@6.2.1: {} - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + commander@7.2.0: {} - /commander@8.3.0: - resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} - engines: {node: '>= 12'} + commander@8.3.0: {} - /common-path-prefix@3.0.0: - resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + common-path-prefix@3.0.0: {} - /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} + common-tags@1.8.2: {} - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + commondir@1.0.1: {} - /component-emitter@1.3.1: - resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} - dev: true + component-emitter@1.3.1: {} - /compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} + compressible@2.0.18: dependencies: mime-db: 1.52.0 - /compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} + compression@1.7.4: dependencies: accepts: 1.3.8 bytes: 3.0.0 @@ -10189,17 +20242,11 @@ packages: transitivePeerDependencies: - supports-color - /compute-scroll-into-view@3.1.0: - resolution: {integrity: sha512-rj8l8pD4bJ1nx+dAkMhV1xB5RuZEyVysfxJqB1pRchh1KVvwOv9b7CGB8ZfjTImVv2oF+sYMUkMZq6Na5Ftmbg==} - dev: false + compute-scroll-into-view@3.1.0: {} - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + concat-map@0.0.1: {} - /concat-md@0.5.1: - resolution: {integrity: sha512-iZr6yxlwPQ5IZup2mvqgm+JI0jnu5yGkND2ra5DinBtcevDQPQiAGpf4RXOnor1UpKBUydqegDLfPY8b+FfI+Q==} - engines: {node: '>=10.8.0'} - hasBin: true + concat-md@0.5.1: dependencies: doctoc: 2.2.1 front-matter: 4.0.2 @@ -10209,35 +20256,25 @@ packages: transform-markdown-links: 2.1.0 transitivePeerDependencies: - supports-color - dev: true - /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} + concat-stream@1.6.2: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 readable-stream: 2.3.8 typedarray: 0.0.6 - dev: true - /concat-with-sourcemaps@1.1.0: - resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==} + concat-with-sourcemaps@1.1.0: dependencies: source-map: 0.6.1 - /config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - requiresBuild: true + config-chain@1.1.13: dependencies: ini: 1.3.8 proto-list: 1.2.4 - dev: false optional: true - /configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} + configstore@5.0.1: dependencies: dot-prop: 5.3.0 graceful-fs: 4.2.11 @@ -10245,144 +20282,85 @@ packages: unique-string: 2.0.0 write-file-atomic: 3.0.3 xdg-basedir: 4.0.0 - dev: true - /confusing-browser-globals@1.0.11: - resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==} + confusing-browser-globals@1.0.11: {} - /connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} + connect-history-api-fallback@2.0.0: {} - /consola@3.2.3: - resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} - engines: {node: ^14.18.0 || >=16.10.0} - dev: false + consola@3.2.3: {} - /console-browserify@1.2.0: - resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} - dev: true + console-browserify@1.2.0: {} - /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - requiresBuild: true - dev: false + console-control-strings@1.1.0: optional: true - /constants-browserify@1.0.0: - resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} - dev: true + constants-browserify@1.0.0: {} - /construct-style-sheets-polyfill@3.1.0: - resolution: {integrity: sha512-HBLKP0chz8BAY6rBdzda11c3wAZeCZ+kIG4weVC2NM3AXzxx09nhe8t0SQNdloAvg5GLuHwq/0SPOOSPvtCcKw==} - dev: false + construct-style-sheets-polyfill@3.1.0: {} - /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + content-type@1.0.5: {} - /continuable-cache@0.3.1: - resolution: {integrity: sha512-TF30kpKhTH8AGCG3dut0rdd/19B7Z+qCnrMoBLpyQu/2drZdNrrpcjPEoJeSVsQM+8KmWG5O56oPDjSSUsuTyA==} - dev: true + continuable-cache@0.3.1: {} - /convert-hex@0.1.0: - resolution: {integrity: sha512-w20BOb1PiR/sEJdS6wNrUjF5CSfscZFUp7R9NSlXH8h2wynzXVEPFPJECAnkNylZ+cvf3p7TyRUHggDmrwXT9A==} - dev: false + convert-hex@0.1.0: {} - /convert-source-map@1.1.3: - resolution: {integrity: sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg==} - dev: true + convert-source-map@1.1.3: {} - /convert-source-map@1.9.0: - resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + convert-source-map@1.9.0: {} - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + convert-source-map@2.0.0: {} - /convert-string@0.1.0: - resolution: {integrity: sha512-1KX9ESmtl8xpT2LN2tFnKSbV4NiarbVi8DVb39ZriijvtTklyrT+4dT1wsGMHKD3CJUjXgvJzstm9qL9ICojGA==} - dev: false + convert-string@0.1.0: {} - /cookie-es@1.0.0: - resolution: {integrity: sha512-mWYvfOLrfEc996hlKcdABeIiPHUPC6DM2QYZdGGOvhOTbA3tjm2eBwqlJpoFdjC89NI4Qt6h0Pu06Mp+1Pj5OQ==} - dev: false + cookie-es@1.0.0: {} - /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + cookie-signature@1.0.6: {} - /cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} + cookie@0.5.0: {} - /copy-descriptor@0.1.1: - resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} - engines: {node: '>=0.10.0'} - dev: true + copy-descriptor@0.1.1: {} - /copy-to-clipboard@3.3.3: - resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + copy-to-clipboard@3.3.3: dependencies: toggle-selection: 1.0.6 - dev: false - /core-js-compat@3.35.1: - resolution: {integrity: sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==} + core-js-compat@3.35.1: dependencies: browserslist: 4.22.2 - /core-js-pure@3.35.1: - resolution: {integrity: sha512-zcIdi/CL3MWbBJYo5YCeVAAx+Sy9yJE9I3/u9LkFABwbeaPhTMRWraM8mYFp9jW5Z50hOy7FVzCc8dCrpZqtIQ==} - requiresBuild: true + core-js-pure@3.35.1: {} - /core-js@3.35.1: - resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==} - requiresBuild: true + core-js@3.35.1: {} - /core-util-is@1.0.2: - resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} - dev: true + core-util-is@1.0.2: {} - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + core-util-is@1.0.3: {} - /cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + cors@2.8.5: dependencies: object-assign: 4.1.1 vary: 1.1.2 - dev: true - /cose-base@1.0.3: - resolution: {integrity: sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==} + cose-base@1.0.3: dependencies: layout-base: 1.0.2 - dev: false - /cose-base@2.2.0: - resolution: {integrity: sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==} + cose-base@2.2.0: dependencies: layout-base: 2.0.1 - dev: false - /cosmiconfig@5.2.1: - resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==} - engines: {node: '>=4'} + cosmiconfig@5.2.1: dependencies: import-fresh: 2.0.0 is-directory: 0.3.1 js-yaml: 3.14.1 parse-json: 4.0.0 - /cosmiconfig@6.0.0: - resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} - engines: {node: '>=8'} + cosmiconfig@6.0.0: dependencies: '@types/parse-json': 4.0.2 import-fresh: 3.3.0 @@ -10390,9 +20368,7 @@ packages: path-type: 4.0.0 yaml: 1.10.2 - /cosmiconfig@7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} + cosmiconfig@7.1.0: dependencies: '@types/parse-json': 4.0.2 import-fresh: 3.3.0 @@ -10400,45 +20376,33 @@ packages: path-type: 4.0.0 yaml: 1.10.2 - /cp@0.2.0: - resolution: {integrity: sha512-4ftCvShHjIZG/zzomHyunNpBof3sOFTTmU6s6q9DdqAL/ANqrKV3pr6Z6kVfBI4hjn59DFLImrBqn7GuuMqSZA==} - dev: true + cp@0.2.0: {} - /cpr@3.0.1: - resolution: {integrity: sha512-Xch4PXQ/KC8lJ+KfJ9JI6eG/nmppLrPPWg5Q+vh65Qr9EjuJEubxh/H/Le1TmCZ7+Xv7iJuNRqapyOFZB+wsxA==} - hasBin: true + cpr@3.0.1: dependencies: graceful-fs: 4.2.11 minimist: 1.2.8 mkdirp: 0.5.6 rimraf: 2.7.1 - dev: true - /crc@3.8.0: - resolution: {integrity: sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==} + crc@3.8.0: dependencies: buffer: 5.7.1 - dev: true - /create-ecdh@4.0.4: - resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + create-ecdh@4.0.4: dependencies: bn.js: 4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q) elliptic: 6.5.4 - dev: true - /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + create-hash@1.2.0: dependencies: cipher-base: 1.0.4 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 sha.js: 2.4.11 - dev: true - /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-hmac@1.1.7: dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -10446,51 +20410,38 @@ packages: ripemd160: 2.0.2 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) sha.js: 2.4.11 - dev: true - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + create-require@1.1.1: {} - /cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + cross-fetch@3.1.8: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding - /cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + cross-spawn@5.1.0: dependencies: lru-cache: 4.1.5 shebang-command: 1.2.0 which: 1.3.1 - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} + cross-spawn@6.0.5: dependencies: nice-try: 1.0.5 path-key: 2.0.1 semver: 5.7.2 shebang-command: 1.2.0 which: 1.3.1 - dev: true - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - /crypt@0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - dev: false + crypt@0.0.2: {} - /crypto-browserify@3.12.0: - resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + crypto-browserify@3.12.0: dependencies: browserify-cipher: 1.0.1 browserify-sign: 4.2.2 @@ -10503,55 +20454,31 @@ packages: public-encrypt: 4.0.3 randombytes: 2.1.0 randomfill: 1.0.4 - dev: true - /crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} + crypto-random-string@2.0.0: {} - /css-blank-pseudo@3.0.3(postcss@8.4.33): - resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} - engines: {node: ^12 || ^14 || >=16} - hasBin: true - peerDependencies: - postcss: ^8.4 + css-blank-pseudo@3.0.3(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /css-color-names@0.0.4: - resolution: {integrity: sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==} + css-color-names@0.0.4: {} - /css-declaration-sorter@4.0.1: - resolution: {integrity: sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==} - engines: {node: '>4'} + css-declaration-sorter@4.0.1: dependencies: postcss: 7.0.39 timsort: 0.3.0 - /css-declaration-sorter@6.4.1(postcss@8.4.33): - resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==} - engines: {node: ^10 || ^12 || >=14} - peerDependencies: - postcss: ^8.0.9 + css-declaration-sorter@6.4.1(postcss@8.4.33): dependencies: postcss: 8.4.33 - /css-has-pseudo@3.0.4(postcss@8.4.33): - resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} - engines: {node: ^12 || ^14 || >=16} - hasBin: true - peerDependencies: - postcss: ^8.4 + css-has-pseudo@3.0.4(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /css-loader@6.9.1(webpack@5.90.0): - resolution: {integrity: sha512-OzABOh0+26JKFdMzlK6PY1u5Zx8+Ck7CVRlcGNZoY9qwJjdfu2VWFuprTIpPW+Av5TZTVViYWcFQaEEQURLknQ==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 + css-loader@6.9.1(webpack@5.90.0): dependencies: icss-utils: 5.1.0(postcss@8.4.33) postcss: 8.4.33 @@ -10560,27 +20487,10 @@ packages: postcss-modules-scope: 3.1.1(postcss@8.4.33) postcss-modules-values: 4.0.0(postcss@8.4.33) postcss-value-parser: 4.2.0 - semver: 7.5.4 - webpack: 5.90.0 - - /css-minimizer-webpack-plugin@3.4.1(webpack@5.90.0): - resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@parcel/css': '*' - clean-css: '*' - csso: '*' - esbuild: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - '@parcel/css': - optional: true - clean-css: - optional: true - csso: - optional: true - esbuild: - optional: true + semver: 7.5.4 + webpack: 5.90.0 + + css-minimizer-webpack-plugin@3.4.1(webpack@5.90.0): dependencies: cssnano: 5.1.15(postcss@8.4.33) jest-worker: 27.5.1 @@ -10590,8 +20500,7 @@ packages: source-map: 0.6.1 webpack: 5.90.0 - /css-modules-loader-core@1.1.0: - resolution: {integrity: sha512-XWOBwgy5nwBn76aA+6ybUGL/3JBnCtBX9Ay9/OWIpzKYWlVHMazvJ+WtHumfi+xxdPF440cWK7JCYtt8xDifew==} + css-modules-loader-core@1.1.0: dependencies: icss-replace-symbols: 1.1.0 postcss: 6.0.1 @@ -10600,28 +20509,20 @@ packages: postcss-modules-scope: 1.1.0 postcss-modules-values: 1.3.0 - /css-prefers-color-scheme@6.0.3(postcss@8.4.33): - resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} - engines: {node: ^12 || ^14 || >=16} - hasBin: true - peerDependencies: - postcss: ^8.4 + css-prefers-color-scheme@6.0.3(postcss@8.4.33): dependencies: postcss: 8.4.33 - /css-select-base-adapter@0.1.1: - resolution: {integrity: sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==} + css-select-base-adapter@0.1.1: {} - /css-select@2.1.0: - resolution: {integrity: sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==} + css-select@2.1.0: dependencies: boolbase: 1.0.0 css-what: 3.4.2 domutils: 1.7.0 nth-check: 1.0.2 - /css-select@4.3.0: - resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + css-select@4.3.0: dependencies: boolbase: 1.0.0 css-what: 6.1.0 @@ -10629,8 +20530,7 @@ packages: domutils: 2.8.0 nth-check: 2.1.1 - /css-select@5.1.0: - resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + css-select@5.1.0: dependencies: boolbase: 1.0.0 css-what: 6.1.0 @@ -10638,49 +20538,32 @@ packages: domutils: 3.1.0 nth-check: 2.1.1 - /css-selector-tokenizer@0.7.3: - resolution: {integrity: sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==} + css-selector-tokenizer@0.7.3: dependencies: cssesc: 3.0.0 fastparse: 1.1.2 - /css-tree@1.0.0-alpha.37: - resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} - engines: {node: '>=8.0.0'} + css-tree@1.0.0-alpha.37: dependencies: mdn-data: 2.0.4 source-map: 0.6.1 - /css-tree@1.1.3: - resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} - engines: {node: '>=8.0.0'} + css-tree@1.1.3: dependencies: mdn-data: 2.0.14 source-map: 0.6.1 - /css-what@3.4.2: - resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} - engines: {node: '>= 6'} + css-what@3.4.2: {} - /css-what@6.1.0: - resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} - engines: {node: '>= 6'} + css-what@6.1.0: {} - /css.escape@1.5.1: - resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} - dev: true + css.escape@1.5.1: {} - /cssdb@7.10.0: - resolution: {integrity: sha512-yGZ5tmA57gWh/uvdQBHs45wwFY0IBh3ypABk5sEubPBPSzXzkNgsWReqx7gdx6uhC+QoFBe+V8JwBB9/hQ6cIA==} + cssdb@7.10.0: {} - /cssesc@3.0.0: - resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} - engines: {node: '>=4'} - hasBin: true + cssesc@3.0.0: {} - /cssnano-preset-default@4.0.8: - resolution: {integrity: sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==} - engines: {node: '>=6.9.0'} + cssnano-preset-default@4.0.8: dependencies: css-declaration-sorter: 4.0.1 cssnano-util-raw-cache: 4.0.1 @@ -10713,11 +20596,7 @@ packages: postcss-svgo: 4.0.3 postcss-unique-selectors: 4.0.1 - /cssnano-preset-default@5.2.14(postcss@8.4.33): - resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + cssnano-preset-default@5.2.14(postcss@8.4.33): dependencies: css-declaration-sorter: 6.4.1(postcss@8.4.33) cssnano-utils: 3.1.0(postcss@8.4.33) @@ -10750,346 +20629,200 @@ packages: postcss-svgo: 5.1.0(postcss@8.4.33) postcss-unique-selectors: 5.1.1(postcss@8.4.33) - /cssnano-util-get-arguments@4.0.0: - resolution: {integrity: sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==} - engines: {node: '>=6.9.0'} + cssnano-util-get-arguments@4.0.0: {} - /cssnano-util-get-match@4.0.0: - resolution: {integrity: sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==} - engines: {node: '>=6.9.0'} + cssnano-util-get-match@4.0.0: {} - /cssnano-util-raw-cache@4.0.1: - resolution: {integrity: sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==} - engines: {node: '>=6.9.0'} + cssnano-util-raw-cache@4.0.1: dependencies: postcss: 7.0.39 - /cssnano-util-same-parent@4.0.1: - resolution: {integrity: sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==} - engines: {node: '>=6.9.0'} + cssnano-util-same-parent@4.0.1: {} - /cssnano-utils@3.1.0(postcss@8.4.33): - resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + cssnano-utils@3.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /cssnano@4.1.11: - resolution: {integrity: sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==} - engines: {node: '>=6.9.0'} + cssnano@4.1.11: dependencies: cosmiconfig: 5.2.1 cssnano-preset-default: 4.0.8 is-resolvable: 1.1.0 postcss: 7.0.39 - /cssnano@5.1.15(postcss@8.4.33): - resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + cssnano@5.1.15(postcss@8.4.33): dependencies: cssnano-preset-default: 5.2.14(postcss@8.4.33) lilconfig: 2.1.0 postcss: 8.4.33 yaml: 1.10.2 - /csso@4.2.0: - resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} - engines: {node: '>=8.0.0'} + csso@4.2.0: dependencies: css-tree: 1.1.3 - /cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + cssom@0.3.8: {} - /cssom@0.4.4: - resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + cssom@0.4.4: {} - /cssom@0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} - dev: false + cssom@0.5.0: {} - /cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} + cssstyle@2.3.0: dependencies: cssom: 0.3.8 - /csstype@3.1.3: - resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + csstype@3.1.3: {} - /csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - dev: true + csv-generate@3.4.3: {} - /csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - dev: true + csv-parse@4.16.3: {} - /csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - dev: true + csv-stringify@5.6.5: {} - /csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} + csv@5.5.3: dependencies: csv-generate: 3.4.3 csv-parse: 4.16.3 csv-stringify: 5.6.5 stream-transform: 2.1.3 - dev: true - /customize-cra@1.0.0: - resolution: {integrity: sha512-DbtaLuy59224U+xCiukkxSq8clq++MOtJ1Et7LED1fLszWe88EoblEYFBJ895sB1mC6B4uu3xPT/IjClELhMbA==} + customize-cra@1.0.0: dependencies: lodash.flow: 3.5.0 - dev: true - /cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1): - resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==} - peerDependencies: - cytoscape: ^3.2.0 + cytoscape-cose-bilkent@4.1.0(cytoscape@3.28.1): dependencies: cose-base: 1.0.3 cytoscape: 3.28.1 - dev: false - /cytoscape-fcose@2.2.0(cytoscape@3.28.1): - resolution: {integrity: sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==} - peerDependencies: - cytoscape: ^3.2.0 + cytoscape-fcose@2.2.0(cytoscape@3.28.1): dependencies: cose-base: 2.2.0 cytoscape: 3.28.1 - dev: false - /cytoscape@3.28.1: - resolution: {integrity: sha512-xyItz4O/4zp9/239wCcH8ZcFuuZooEeF8KHRmzjDfGdXsj3OG9MFSMA0pJE0uX3uCN/ygof6hHf4L7lst+JaDg==} - engines: {node: '>=0.10'} + cytoscape@3.28.1: dependencies: heap: 0.2.7 lodash: 4.17.21 - dev: false - /d3-array@2.12.1: - resolution: {integrity: sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==} + d3-array@2.12.1: dependencies: internmap: 1.0.1 - dev: false - /d3-array@3.2.4: - resolution: {integrity: sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==} - engines: {node: '>=12'} + d3-array@3.2.4: dependencies: internmap: 2.0.3 - dev: false - /d3-axis@3.0.0: - resolution: {integrity: sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==} - engines: {node: '>=12'} - dev: false + d3-axis@3.0.0: {} - /d3-brush@3.0.0: - resolution: {integrity: sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==} - engines: {node: '>=12'} + d3-brush@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - /d3-chord@3.0.1: - resolution: {integrity: sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==} - engines: {node: '>=12'} + d3-chord@3.0.1: dependencies: d3-path: 3.1.0 - dev: false - /d3-color@3.1.0: - resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} - engines: {node: '>=12'} - dev: false + d3-color@3.1.0: {} - /d3-contour@4.0.2: - resolution: {integrity: sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==} - engines: {node: '>=12'} + d3-contour@4.0.2: dependencies: d3-array: 3.2.4 - dev: false - /d3-delaunay@6.0.4: - resolution: {integrity: sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==} - engines: {node: '>=12'} + d3-delaunay@6.0.4: dependencies: delaunator: 5.0.1 - dev: false - /d3-dispatch@3.0.1: - resolution: {integrity: sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==} - engines: {node: '>=12'} - dev: false + d3-dispatch@3.0.1: {} - /d3-drag@3.0.0: - resolution: {integrity: sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==} - engines: {node: '>=12'} + d3-drag@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-selection: 3.0.0 - dev: false - /d3-dsv@3.0.1: - resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==} - engines: {node: '>=12'} - hasBin: true + d3-dsv@3.0.1: dependencies: commander: 7.2.0 iconv-lite: 0.6.3 rw: 1.3.3 - dev: false - /d3-ease@3.0.1: - resolution: {integrity: sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==} - engines: {node: '>=12'} - dev: false + d3-ease@3.0.1: {} - /d3-fetch@3.0.1: - resolution: {integrity: sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==} - engines: {node: '>=12'} + d3-fetch@3.0.1: dependencies: d3-dsv: 3.0.1 - dev: false - /d3-force@3.0.0: - resolution: {integrity: sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==} - engines: {node: '>=12'} + d3-force@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-quadtree: 3.0.1 d3-timer: 3.0.1 - dev: false - /d3-format@3.1.0: - resolution: {integrity: sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==} - engines: {node: '>=12'} - dev: false + d3-format@3.1.0: {} - /d3-geo@3.1.0: - resolution: {integrity: sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==} - engines: {node: '>=12'} + d3-geo@3.1.0: dependencies: d3-array: 3.2.4 - dev: false - /d3-hierarchy@3.1.2: - resolution: {integrity: sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==} - engines: {node: '>=12'} - dev: false + d3-hierarchy@3.1.2: {} - /d3-interpolate@3.0.1: - resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} - engines: {node: '>=12'} + d3-interpolate@3.0.1: dependencies: d3-color: 3.1.0 - dev: false - /d3-path@1.0.9: - resolution: {integrity: sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==} - dev: false + d3-path@1.0.9: {} - /d3-path@3.1.0: - resolution: {integrity: sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==} - engines: {node: '>=12'} - dev: false + d3-path@3.1.0: {} - /d3-polygon@3.0.1: - resolution: {integrity: sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==} - engines: {node: '>=12'} - dev: false + d3-polygon@3.0.1: {} - /d3-quadtree@3.0.1: - resolution: {integrity: sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==} - engines: {node: '>=12'} - dev: false + d3-quadtree@3.0.1: {} - /d3-random@3.0.1: - resolution: {integrity: sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==} - engines: {node: '>=12'} - dev: false + d3-random@3.0.1: {} - /d3-sankey@0.12.3: - resolution: {integrity: sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==} + d3-sankey@0.12.3: dependencies: d3-array: 2.12.1 d3-shape: 1.3.7 - dev: false - /d3-scale-chromatic@3.0.0: - resolution: {integrity: sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==} - engines: {node: '>=12'} + d3-scale-chromatic@3.0.0: dependencies: d3-color: 3.1.0 d3-interpolate: 3.0.1 - dev: false - /d3-scale@4.0.2: - resolution: {integrity: sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==} - engines: {node: '>=12'} + d3-scale@4.0.2: dependencies: d3-array: 3.2.4 d3-format: 3.1.0 d3-interpolate: 3.0.1 d3-time: 3.1.0 d3-time-format: 4.1.0 - dev: false - /d3-selection@3.0.0: - resolution: {integrity: sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==} - engines: {node: '>=12'} - dev: false + d3-selection@3.0.0: {} - /d3-shape@1.3.7: - resolution: {integrity: sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==} + d3-shape@1.3.7: dependencies: d3-path: 1.0.9 - dev: false - /d3-shape@3.2.0: - resolution: {integrity: sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==} - engines: {node: '>=12'} + d3-shape@3.2.0: dependencies: d3-path: 3.1.0 - dev: false - /d3-time-format@4.1.0: - resolution: {integrity: sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==} - engines: {node: '>=12'} + d3-time-format@4.1.0: dependencies: d3-time: 3.1.0 - dev: false - /d3-time@3.1.0: - resolution: {integrity: sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==} - engines: {node: '>=12'} + d3-time@3.1.0: dependencies: d3-array: 3.2.4 - dev: false - /d3-timer@3.0.1: - resolution: {integrity: sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==} - engines: {node: '>=12'} - dev: false + d3-timer@3.0.1: {} - /d3-transition@3.0.1(d3-selection@3.0.0): - resolution: {integrity: sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==} - engines: {node: '>=12'} - peerDependencies: - d3-selection: 2 - 3 + d3-transition@3.0.1(d3-selection@3.0.0): dependencies: d3-color: 3.1.0 d3-dispatch: 3.0.1 @@ -11097,22 +20830,16 @@ packages: d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-timer: 3.0.1 - dev: false - /d3-zoom@3.0.0: - resolution: {integrity: sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==} - engines: {node: '>=12'} + d3-zoom@3.0.0: dependencies: d3-dispatch: 3.0.1 d3-drag: 3.0.0 d3-interpolate: 3.0.1 d3-selection: 3.0.0 d3-transition: 3.0.1(d3-selection@3.0.0) - dev: false - /d3@7.8.5: - resolution: {integrity: sha512-JgoahDG51ncUfJu6wX/1vWQEqOflgXyl4MaHqlcSruTez7yhaRKR9i8VjjcQGeS2en/jnFivXuaIMnseMMt0XA==} - engines: {node: '>=12'} + d3@7.8.5: dependencies: d3-array: 3.2.4 d3-axis: 3.0.0 @@ -11144,136 +20871,76 @@ packages: d3-timer: 3.0.1 d3-transition: 3.0.1(d3-selection@3.0.0) d3-zoom: 3.0.0 - dev: false - /dagre-d3-es@7.0.10: - resolution: {integrity: sha512-qTCQmEhcynucuaZgY5/+ti3X/rnszKZhEQH/ZdWdtP1tA/y3VoHJzcVrO9pjjJCNpigfscAtoUB5ONcd2wNn0A==} + dagre-d3-es@7.0.10: dependencies: d3: 7.8.5 lodash-es: 4.17.21 - dev: false - /damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + damerau-levenshtein@1.0.8: {} - /dash-ast@1.0.0: - resolution: {integrity: sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==} - dev: true + dash-ast@1.0.0: {} - /dashdash@1.14.1: - resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} - engines: {node: '>=0.10'} + dashdash@1.14.1: dependencies: assert-plus: 1.0.0 - dev: true - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: true + data-uri-to-buffer@4.0.1: {} - /data-urls@2.0.0: - resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} - engines: {node: '>=10'} + data-urls@2.0.0: dependencies: abab: 2.0.6 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 - /date-fns@1.30.1: - resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} - dev: true + date-fns@1.30.1: {} - /dayjs@1.11.10: - resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} - dev: false + dayjs@1.11.10: {} - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@2.6.9: dependencies: ms: 2.0.0 - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7: dependencies: ms: 2.1.3 - /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4(supports-color@8.1.1): dependencies: ms: 2.1.2 + optionalDependencies: supports-color: 8.1.1 - /decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} + decamelize-keys@1.1.1: dependencies: decamelize: 1.2.0 map-obj: 1.0.1 - dev: true - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + decamelize@1.2.0: {} - /decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - dev: true + decamelize@4.0.0: {} - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + decimal.js@10.4.3: {} - /decode-named-character-reference@1.0.2: - resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 - dev: false - /decode-uri-component@0.2.2: - resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} - engines: {node: '>=0.10'} + decode-uri-component@0.2.2: {} - /decompress-response@3.3.0: - resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} - engines: {node: '>=4'} + decompress-response@3.3.0: dependencies: mimic-response: 1.0.1 - /decompress-response@5.0.0: - resolution: {integrity: sha512-TLZWWybuxWgoW7Lykv+gq9xvzOsUjQ9tF09Tj6NSTYGMTCHNXzrPnD6Hi+TgZq19PyTAGH4Ll/NIM/eTGglnMw==} - engines: {node: '>=10'} + decompress-response@5.0.0: dependencies: mimic-response: 2.1.0 - dev: true - /dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dedent@0.7.0: {} - /deep-eql@5.0.1: - resolution: {integrity: sha512-nwQCf6ne2gez3o1MxWifqkciwt0zhl0LO1/UwVu4uMBuPmflWM4oQ70XMqHqnBJA+nhzncaqL9HVL6KkHJ28lw==} - engines: {node: '>=6'} - dev: true + deep-eql@5.0.1: {} - /deep-equal@2.2.3: - resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} - engines: {node: '>= 0.4'} + deep-equal@2.2.3: dependencies: array-buffer-byte-length: 1.0.0 call-bind: 1.0.5 @@ -11293,95 +20960,59 @@ packages: which-boxed-primitive: 1.0.2 which-collection: 1.0.1 which-typed-array: 1.1.13 - dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} + deep-extend@0.6.0: {} - /deep-freeze@0.0.1: - resolution: {integrity: sha512-Z+z8HiAvsGwmjqlphnHW5oz6yWlOwu6EQfFTjmeTWlDeda3FS2yv3jhq35TX/ewmsnqB+RX2IdsIOyjJCQN5tg==} + deep-freeze@0.0.1: {} - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deep-is@0.1.4: {} - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + deepmerge@4.3.1: {} - /default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} + default-gateway@6.0.3: dependencies: execa: 5.1.1 - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defaults@1.0.4: dependencies: clone: 1.0.4 - dev: true - /defer-to-connect@1.1.3: - resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + defer-to-connect@1.1.3: {} - /defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - dev: true + defer-to-connect@2.0.1: {} - /define-data-property@1.1.1: - resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} - engines: {node: '>= 0.4'} + define-data-property@1.1.1: dependencies: get-intrinsic: 1.2.2 gopd: 1.0.1 has-property-descriptors: 1.0.1 - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} + define-lazy-prop@2.0.0: {} - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.1 has-property-descriptors: 1.0.1 object-keys: 1.1.1 - /define-property@0.2.5: - resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} - engines: {node: '>=0.10.0'} + define-property@0.2.5: dependencies: is-descriptor: 0.1.7 - dev: true - /define-property@1.0.0: - resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} - engines: {node: '>=0.10.0'} + define-property@1.0.0: dependencies: is-descriptor: 1.0.3 - dev: true - /define-property@2.0.2: - resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} - engines: {node: '>=0.10.0'} + define-property@2.0.2: dependencies: is-descriptor: 1.0.3 isobject: 3.0.1 - dev: true - /defined@1.0.1: - resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} - dev: true + defined@1.0.1: {} - /defu@6.1.4: - resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} - dev: false + defu@6.1.4: {} - /del@6.1.1: - resolution: {integrity: sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==} - engines: {node: '>=10'} + del@6.1.1: dependencies: globby: 11.1.0 graceful-fs: 4.2.11 @@ -11391,196 +21022,110 @@ packages: p-map: 4.0.0 rimraf: 3.0.2 slash: 3.0.0 - dev: true - /delaunator@5.0.1: - resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==} + delaunator@5.0.1: dependencies: robust-predicates: 3.0.2 - dev: false - /delay@5.0.0: - resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} - engines: {node: '>=10'} - dev: false + delay@5.0.0: {} - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + delayed-stream@1.0.0: {} - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - requiresBuild: true - dev: false + delegates@1.0.0: optional: true - /delimit-stream@0.1.0: - resolution: {integrity: sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==} - dev: false + delimit-stream@0.1.0: {} - /denque@2.1.0: - resolution: {integrity: sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==} - engines: {node: '>=0.10'} - dev: false + denque@2.1.0: {} - /depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} + depd@1.1.2: {} - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + depd@2.0.0: {} - /deps-sort@2.0.1: - resolution: {integrity: sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==} - hasBin: true + deps-sort@2.0.1: dependencies: JSONStream: 1.3.5 shasum-object: 1.0.0 subarg: 1.0.0 through2: 2.0.5 - dev: true - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + dequal@2.0.3: {} - /des.js@1.1.0: - resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + des.js@1.1.0: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - dev: true - - /destr@2.0.2: - resolution: {integrity: sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==} - dev: false - /destroy@1.0.4: - resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==} - dev: true - - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + destr@2.0.2: {} - /detect-browser@5.3.0: - resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} - dev: false + destroy@1.0.4: {} - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} + destroy@1.2.0: {} - /detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - dev: false + detect-browser@5.3.0: {} - /detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} + detect-indent@6.1.0: {} - /detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + detect-libc@1.0.3: {} - /detect-port-alt@1.1.6: - resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} - engines: {node: '>= 4.2.1'} - hasBin: true + detect-newline@3.1.0: {} + + detect-node@2.1.0: {} + + detect-port-alt@1.1.6: dependencies: address: 1.2.2 debug: 2.6.9 transitivePeerDependencies: - supports-color - /detective@5.2.1: - resolution: {integrity: sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==} - engines: {node: '>=0.8.0'} - hasBin: true + detective@5.2.1: dependencies: acorn-node: 1.8.2 defined: 1.0.1 minimist: 1.2.8 - dev: true - /devlop@1.1.0: - resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + devlop@1.1.0: dependencies: dequal: 2.0.3 - dev: false - /didyoumean@1.2.2: - resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + didyoumean@1.2.2: {} - /diff-sequences@26.6.2: - resolution: {integrity: sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==} - engines: {node: '>= 10.14.2'} + diff-sequences@26.6.2: {} - /diff-sequences@27.5.1: - resolution: {integrity: sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + diff-sequences@27.5.1: {} - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /diff@3.5.0: - resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} - engines: {node: '>=0.3.1'} - dev: true + diff@3.5.0: {} - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true + diff@4.0.2: {} - /diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dev: true + diff@5.0.0: {} - /diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} + diff@5.1.0: {} - /diffie-hellman@5.0.3: - resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + diffie-hellman@5.0.3: dependencies: bn.js: 4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q) miller-rabin: 4.0.1 randombytes: 2.1.0 - dev: true - /dijkstrajs@1.0.3: - resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} - dev: false + dijkstrajs@1.0.3: {} - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - /direction@0.1.5: - resolution: {integrity: sha512-HceXsAluGbXKCz2qCVbXFUH4Vn4eNMWxY5gzydMFMnS1zKSwvDASqLwcrYLIFDpwuZ63FUAqjDLEP1eicHt8DQ==} - hasBin: true - dev: true + direction@0.1.5: {} - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dlv@1.1.3: {} - /dns-packet@5.6.1: - resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} - engines: {node: '>=6'} + dns-packet@5.6.1: dependencies: '@leichtgewicht/ip-codec': 2.0.4 - /doctoc@2.2.1: - resolution: {integrity: sha512-qNJ1gsuo7hH40vlXTVVrADm6pdg30bns/Mo7Nv1SxuXSM1bwF9b4xQ40a6EFT/L1cI+Yylbyi8MPI4G4y7XJzQ==} - hasBin: true + doctoc@2.2.1: dependencies: '@textlint/markdown-to-ast': 12.6.1 anchor-markdown-header: 0.6.0 @@ -11590,211 +21135,144 @@ packages: update-section: 0.3.3 transitivePeerDependencies: - supports-color - dev: true - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + doctrine@2.1.0: dependencies: esutils: 2.0.3 - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - /dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dev: true + dom-accessibility-api@0.5.16: {} - /dom-converter@0.2.0: - resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + dom-converter@0.2.0: dependencies: utila: 0.4.0 - /dom-serializer@0.1.1: - resolution: {integrity: sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==} + dom-serializer@0.1.1: dependencies: domelementtype: 1.3.1 entities: 1.1.2 - dev: true - /dom-serializer@0.2.2: - resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + dom-serializer@0.2.2: dependencies: domelementtype: 2.3.0 entities: 2.2.0 - /dom-serializer@1.4.1: - resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dom-serializer@1.4.1: dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 entities: 2.2.0 - /dom-serializer@2.0.0: - resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dom-serializer@2.0.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 entities: 4.5.0 - /domain-browser@1.2.0: - resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} - engines: {node: '>=0.4', npm: '>=1.2'} - dev: true + domain-browser@1.2.0: {} - /domelementtype@1.3.1: - resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + domelementtype@1.3.1: {} - /domelementtype@2.3.0: - resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + domelementtype@2.3.0: {} - /domexception@2.0.1: - resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} - engines: {node: '>=8'} - deprecated: Use your platform's native DOMException instead + domexception@2.0.1: dependencies: webidl-conversions: 5.0.0 - /domhandler@3.3.0: - resolution: {integrity: sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==} - engines: {node: '>= 4'} + domhandler@3.3.0: dependencies: domelementtype: 2.3.0 - dev: true - /domhandler@4.3.1: - resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} - engines: {node: '>= 4'} + domhandler@4.3.1: dependencies: domelementtype: 2.3.0 - /domhandler@5.0.3: - resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} - engines: {node: '>= 4'} + domhandler@5.0.3: dependencies: domelementtype: 2.3.0 - /dompurify@3.0.8: - resolution: {integrity: sha512-b7uwreMYL2eZhrSCRC4ahLTeZcPZxSmYfmcQGXGkXiZSNW1X85v+SDM5KsWcpivIiUBH47Ji7NtyUdpLeF5JZQ==} - dev: false + dompurify@3.0.8: {} - /domutils@1.7.0: - resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + domutils@1.7.0: dependencies: dom-serializer: 0.2.2 domelementtype: 1.3.1 - /domutils@2.8.0: - resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + domutils@2.8.0: dependencies: dom-serializer: 1.4.1 domelementtype: 2.3.0 domhandler: 4.3.1 - /domutils@3.1.0: - resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + domutils@3.1.0: dependencies: dom-serializer: 2.0.0 domelementtype: 2.3.0 domhandler: 5.0.3 - /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.6.2 - /dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} + dot-prop@5.3.0: dependencies: is-obj: 2.0.0 - /dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} + dot-prop@6.0.1: dependencies: is-obj: 2.0.0 - dev: true - /dotenv-expand@5.1.0: - resolution: {integrity: sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==} + dotenv-expand@5.1.0: {} - /dotenv@10.0.0: - resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} - engines: {node: '>=10'} + dotenv@10.0.0: {} - /duplexer2@0.1.4: - resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} + duplexer2@0.1.4: dependencies: readable-stream: 2.3.8 - dev: true - /duplexer3@0.1.5: - resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + duplexer3@0.1.5: {} - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + duplexer@0.1.2: {} - /duplexify@4.1.2: - resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} + duplexify@4.1.2: dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 3.6.2 stream-shift: 1.0.3 - dev: false - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + eastasianwidth@0.2.0: {} - /ecc-jsbn@0.1.2: - resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + ecc-jsbn@0.1.2: dependencies: jsbn: 0.1.1 safer-buffer: 2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza) - dev: true - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + ee-first@1.1.1: {} - /ejs@3.1.9: - resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==} - engines: {node: '>=0.10.0'} - hasBin: true + ejs@3.1.9: dependencies: jake: 10.8.7 - /electron-to-chromium@1.4.647: - resolution: {integrity: sha512-Z/fTNGwc45WrYQhPaEcz5tAJuZZ8G7S/DBnhS6Kgp4BxnS40Z/HqlJ0hHg3Z79IGVzuVartIlTcjw/cQbPLgOw==} + electron-to-chromium@1.4.647: {} - /electron@20.3.12: - resolution: {integrity: sha512-CuCZKhwdSXaUNIoEuPVZ25YH18zmox3wEM8Acwcy9tlpD8Jiuq3ji3RZ98eVWJalrpqbdE9LtTD/sLC86GIkLg==} - engines: {node: '>= 10.17.0'} - hasBin: true - requiresBuild: true + electron@20.3.12: dependencies: '@electron/get': 1.14.1 '@types/node': 16.18.76 extract-zip: 2.0.1 transitivePeerDependencies: - supports-color - dev: false - /elegant-spinner@1.0.1: - resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} - engines: {node: '>=0.10.0'} - dev: true + elegant-spinner@1.0.1: {} - /elkjs@0.9.1: - resolution: {integrity: sha512-JWKDyqAdltuUcyxaECtYG6H4sqysXSLeoXuGUBfRNESMTkj+w+qdb0jya8Z/WI0jVd03WQtCGhS6FOFtlhD5FQ==} - dev: false + elkjs@0.9.1: {} - /elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + elliptic@6.5.4: dependencies: bn.js: 4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q) brorand: 1.1.0(patch_hash=coni6w7ml52xq7hk7pjg56sj54) @@ -11804,112 +21282,66 @@ packages: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - /email-validator@2.0.4: - resolution: {integrity: sha512-gYCwo7kh5S3IDyZPLZf6hSS0MnZT8QmJFqYvbqlDZSbwdZlY6QZWxJ4i/6UhITOJ4XzyI647Bm2MXKCLqnJ4nQ==} - engines: {node: '>4.0'} - dev: false + email-validator@2.0.4: {} - /emittery@0.10.2: - resolution: {integrity: sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==} - engines: {node: '>=12'} + emittery@0.10.2: {} - /emittery@0.7.2: - resolution: {integrity: sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ==} - engines: {node: '>=10'} - dev: true + emittery@0.7.2: {} - /emittery@0.8.1: - resolution: {integrity: sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==} - engines: {node: '>=10'} + emittery@0.8.1: {} - /emittery@1.0.1: - resolution: {integrity: sha512-2ID6FdrMD9KDLldGesP6317G78K7km/kMcwItRtVFva7I/cSEOIaLpewaUb+YLXVwdAp3Ctfxh/V5zIl1sj7dQ==} - engines: {node: '>=14.16'} - dev: false + emittery@1.0.1: {} - /emoji-regex@10.1.0: - resolution: {integrity: sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg==} - dev: true + emoji-regex@10.1.0: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emoji-regex@9.2.2: {} - /emojis-list@3.0.0: - resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} - engines: {node: '>= 4'} + emojis-list@3.0.0: {} - /encode-utf8@1.0.3: - resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} - dev: false + encode-utf8@1.0.3: {} - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + encodeurl@1.0.2: {} - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - /enhanced-resolve@5.15.0: - resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.15.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - dev: true - /entities@1.1.2: - resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} - dev: true + entities@1.1.2: {} - /entities@2.2.0: - resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + entities@2.2.0: {} - /entities@3.0.1: - resolution: {integrity: sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==} - engines: {node: '>=0.12'} - dev: true + entities@3.0.1: {} - /entities@4.5.0: - resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} - engines: {node: '>=0.12'} + entities@4.5.0: {} - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: false + env-paths@2.2.1: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - /error-stack-parser@2.1.4: - resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + error-stack-parser@2.1.4: dependencies: stackframe: 1.3.4 - /error@7.0.2: - resolution: {integrity: sha512-UtVv4l5MhijsYUxPJo4390gzfZvAnTHreNnDjnTZaKIiZ/SemXxAhBkYSKtWa5RtBXbLP8tMgn/n0RUa/H7jXw==} + error@7.0.2: dependencies: string-template: 0.2.1 xtend: 4.0.2 - dev: true - /es-abstract@1.22.3: - resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} - engines: {node: '>= 0.4'} + es-abstract@1.22.3: dependencies: array-buffer-byte-length: 1.0.0 arraybuffer.prototype.slice: 1.0.2 @@ -11951,11 +21383,9 @@ packages: unbox-primitive: 1.0.2 which-typed-array: 1.1.13 - /es-array-method-boxes-properly@1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + es-array-method-boxes-properly@1.0.0: {} - /es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + es-get-iterator@1.1.3: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 @@ -11966,10 +21396,8 @@ packages: is-string: 1.0.7 isarray: 2.0.5 stop-iteration-iterator: 1.0.0 - dev: true - /es-iterator-helpers@1.0.15: - resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==} + es-iterator-helpers@1.0.15: dependencies: asynciterator.prototype: 1.0.0 call-bind: 1.0.5 @@ -11986,254 +21414,123 @@ packages: iterator.prototype: 1.1.2 safe-array-concat: 1.1.0 - /es-module-lexer@1.4.1: - resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + es-module-lexer@1.4.1: {} - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.2: dependencies: get-intrinsic: 1.2.2 has-tostringtag: 1.0.0 hasown: 2.0.0 - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.0 - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - requiresBuild: true - dev: false + es6-error@4.1.1: optional: true - /es6-promise@3.3.1: - resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + es6-promise@3.3.1: {} - /es6-promise@4.2.8: - resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} - dev: false + es6-promise@4.2.8: {} - /es6-promisify@5.0.0: - resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + es6-promisify@5.0.0: dependencies: es6-promise: 4.2.8 - dev: false - /esbuild-android-64@0.15.18: - resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true + esbuild-android-64@0.15.18: optional: true - /esbuild-android-arm64@0.15.18: - resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true + esbuild-android-arm64@0.15.18: optional: true - /esbuild-darwin-64@0.15.18: - resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true + esbuild-darwin-64@0.15.18: optional: true - /esbuild-darwin-arm64@0.15.18: - resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true + esbuild-darwin-arm64@0.15.18: optional: true - /esbuild-freebsd-64@0.15.18: - resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true + esbuild-freebsd-64@0.15.18: optional: true - /esbuild-freebsd-arm64@0.15.18: - resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true + esbuild-freebsd-arm64@0.15.18: optional: true - /esbuild-linux-32@0.15.18: - resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true + esbuild-linux-32@0.15.18: optional: true - /esbuild-linux-64@0.15.18: - resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true + esbuild-linux-64@0.15.18: optional: true - /esbuild-linux-arm64@0.15.18: - resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true + esbuild-linux-arm64@0.15.18: optional: true - /esbuild-linux-arm@0.15.18: - resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true + esbuild-linux-arm@0.15.18: optional: true - /esbuild-linux-mips64le@0.15.18: - resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true + esbuild-linux-mips64le@0.15.18: optional: true - /esbuild-linux-ppc64le@0.15.18: - resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true + esbuild-linux-ppc64le@0.15.18: optional: true - /esbuild-linux-riscv64@0.15.18: - resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true + esbuild-linux-riscv64@0.15.18: optional: true - /esbuild-linux-s390x@0.15.18: - resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true + esbuild-linux-s390x@0.15.18: optional: true - /esbuild-netbsd-64@0.15.18: - resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true + esbuild-netbsd-64@0.15.18: optional: true - /esbuild-openbsd-64@0.15.18: - resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true + esbuild-openbsd-64@0.15.18: optional: true - /esbuild-plugin-copy@2.1.1(esbuild@0.15.18): - resolution: {integrity: sha512-Bk66jpevTcV8KMFzZI1P7MZKZ+uDcrZm2G2egZ2jNIvVnivDpodZI+/KnpL3Jnap0PBdIHU7HwFGB8r+vV5CVw==} - peerDependencies: - esbuild: '>= 0.14.0' + esbuild-plugin-copy@2.1.1(esbuild@0.15.18): dependencies: chalk: 4.1.2 chokidar: 3.5.3 esbuild: 0.15.18 fs-extra: 10.1.0 globby: 11.1.0 - dev: false - /esbuild-plugin-lit@0.0.10(esbuild@0.15.18)(lit@2.8.0): - resolution: {integrity: sha512-0Vz+TRglIQsV2plsRJw+opO8erTIwXLtKjcFOLOiQDxRvKjFnmlENdB+fL9eLxXQu1HjRZkI9WW0ywWldoymtQ==} - peerDependencies: - esbuild: ^0.15.2 - html-minifier: ^4.0.0 - lit: ^2.3.0 - svgo: ^2.8.0 - txml: ^5.1.1 - peerDependenciesMeta: - html-minifier: - optional: true - lit: - optional: true - svgo: - optional: true - txml: - optional: true + esbuild-plugin-copy@2.1.1(esbuild@0.19.12): + dependencies: + chalk: 4.1.2 + chokidar: 3.5.3 + esbuild: 0.19.12 + fs-extra: 10.1.0 + globby: 11.1.0 + + esbuild-plugin-lit@0.0.10(esbuild@0.15.18)(lit@2.8.0)(svgo@2.8.0): dependencies: esbuild: 0.15.18 + optionalDependencies: lit: 2.8.0 - dev: true + svgo: 2.8.0 - /esbuild-plugin-replace@1.4.0: - resolution: {integrity: sha512-lP3ZAyzyRa5JXoOd59lJbRKNObtK8pJ/RO7o6vdjwLi71GfbL32NR22ZuS7/cLZkr10/L1lutoLma8E4DLngYg==} + esbuild-plugin-replace@1.4.0: dependencies: magic-string: 0.25.9 - dev: false - /esbuild-sunos-64@0.15.18: - resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true + esbuild-sunos-64@0.15.18: optional: true - /esbuild-windows-32@0.15.18: - resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true + esbuild-windows-32@0.15.18: optional: true - /esbuild-windows-64@0.15.18: - resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true + esbuild-windows-64@0.15.18: optional: true - /esbuild-windows-arm64@0.15.18: - resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true + esbuild-windows-arm64@0.15.18: optional: true - /esbuild@0.15.18: - resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.15.18: optionalDependencies: '@esbuild/android-arm': 0.15.18 '@esbuild/linux-loong64': 0.15.18 @@ -12258,11 +21555,7 @@ packages: esbuild-windows-64: 0.15.18 esbuild-windows-arm64: 0.15.18 - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 '@esbuild/android-arm64': 0.18.20 @@ -12287,11 +21580,7 @@ packages: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.19.12: optionalDependencies: '@esbuild/aix-ppc64': 0.19.12 '@esbuild/android-arm': 0.19.12 @@ -12316,46 +21605,24 @@ packages: '@esbuild/win32-arm64': 0.19.12 '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - dev: true - /escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + escalade@3.1.1: {} - /escape-goat@2.1.1: - resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} - engines: {node: '>=8'} - dev: true + escape-goat@2.1.1: {} - /escape-goat@3.0.0: - resolution: {integrity: sha512-w3PwNZJwRxlp47QGzhuEBldEqVHHhh8/tIPcl6ecf2Bou99cdAt0knihBV0Ecc7CGxYduXVBDheH1K2oADRlvw==} - engines: {node: '>=10'} - dev: true + escape-goat@3.0.0: {} - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + escape-html@1.0.3: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + escape-string-regexp@1.0.5: {} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} + escape-string-regexp@2.0.0: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + escape-string-regexp@4.0.0: {} - /escape-string-regexp@5.0.0: - resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} - engines: {node: '>=12'} - dev: false + escape-string-regexp@5.0.0: {} - /escodegen@1.14.3: - resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} - engines: {node: '>=4.0'} - hasBin: true + escodegen@1.14.3: dependencies: esprima: 4.0.1 estraverse: 4.3.0 @@ -12364,10 +21631,7 @@ packages: optionalDependencies: source-map: 0.6.1 - /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true + escodegen@2.1.0: dependencies: esprima: 4.0.1 estraverse: 5.3.0 @@ -12375,10 +21639,9 @@ packages: optionalDependencies: source-map: 0.6.1 - /eslint-config-custom@0.0.0(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-kwCw78yisbgKdJBJ5qooPmpBYDphDfM2oxSROmtfOwBXBwXuRiSV3suO01W3mVLEFpmQZxMWd/qajKpJhkKSug==} + eslint-config-custom@0.0.0(eslint@8.57.0)(typescript@5.3.3): dependencies: - eslint-config-next: 12.3.4(eslint@8.57.0)(typescript@4.9.5) + eslint-config-next: 12.3.4(eslint@8.57.0)(typescript@5.3.3) eslint-config-prettier: 8.10.0(eslint@8.57.0) eslint-plugin-react: 7.28.0(eslint@8.57.0) transitivePeerDependencies: @@ -12386,67 +21649,47 @@ packages: - eslint-import-resolver-webpack - supports-color - typescript - dev: true - /eslint-config-next@12.3.4(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-WuT3gvgi7Bwz00AOmKGhOeqnyA5P29Cdyr0iVjLyfDbk+FANQKcOjFUTZIdyYfe5Tq1x4TGcmoe4CwctGvFjHQ==} - peerDependencies: - eslint: ^7.23.0 || ^8.0.0 - typescript: '>=3.3.1' - peerDependenciesMeta: - typescript: - optional: true + eslint-config-next@12.3.4(eslint@8.57.0)(typescript@5.3.3): dependencies: '@next/eslint-plugin-next': 12.3.4 '@rushstack/eslint-patch': 1.7.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 2.7.1(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.33.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) - typescript: 4.9.5 + optionalDependencies: + typescript: 5.3.3 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-config-prettier@8.10.0(eslint@8.57.0): - resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + eslint-config-prettier@8.10.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5): - resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} - engines: {node: '>=14.0.0'} - peerDependencies: - eslint: ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10))(typescript@4.9.5): dependencies: '@babel/core': 7.23.9 '@babel/eslint-parser': 7.23.9(@babel/core@7.23.9)(eslint@8.57.0) '@rushstack/eslint-patch': 1.7.2 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5) '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) babel-preset-react-app: 10.0.1 confusing-browser-globals: 1.0.11 eslint: 8.57.0 - eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10))(typescript@4.9.5) eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-react: 7.33.2(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) eslint-plugin-testing-library: 5.11.1(eslint@8.57.0)(typescript@4.9.5) + optionalDependencies: typescript: 4.9.5 transitivePeerDependencies: - '@babel/plugin-syntax-flow' @@ -12456,8 +21699,7 @@ packages: - jest - supports-color - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -12465,16 +21707,11 @@ packages: transitivePeerDependencies: - supports-color - /eslint-import-resolver-typescript@2.7.1(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-00UbgGwV8bSgUv34igBDbTOtKhqoRMy9bFjNehT40bXg6585PNIct8HhXZ0SybqB9rWtXj9crcku8ndDn/gIqQ==} - engines: {node: '>=4'} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' + eslint-import-resolver-typescript@2.7.1(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.4(supports-color@8.1.1) eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0) glob: 7.2.3 is-glob: 4.0.3 resolve: 1.22.8 @@ -12482,60 +21719,37 @@ packages: transitivePeerDependencies: - supports-color - /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0): - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: + debug: 3.2.7 + optionalDependencies: '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + transitivePeerDependencies: + - supports-color + + eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0): + dependencies: debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.3.3) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 2.7.1(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color - /eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0): - resolution: {integrity: sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@babel/plugin-syntax-flow': ^7.14.5 - '@babel/plugin-transform-react-jsx': ^7.14.9 - eslint: ^8.1.0 + eslint-plugin-flowtype@8.0.3(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(eslint@8.57.0): dependencies: - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.3) + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.23.9) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.23.9) eslint: 8.57.0 lodash: 4.17.21 string-natural-compare: 3.0.1 - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -12544,7 +21758,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -12554,22 +21768,15 @@ packages: object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.29.1(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0): dependencies: - '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@4.9.5) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -12578,7 +21785,7 @@ packages: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.3.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@2.7.1(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -12588,37 +21795,25 @@ packages: object.values: 1.1.7 semver: 6.3.1 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 5.62.0(eslint@8.57.0)(typescript@5.3.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - /eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5): - resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0 - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10))(typescript@4.9.5): dependencies: - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.57.0)(typescript@4.9.5) '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) eslint: 8.57.0 - jest: 27.5.1 + optionalDependencies: + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@4.9.5))(eslint@8.57.0)(typescript@4.9.5) + jest: 27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) transitivePeerDependencies: - supports-color - typescript - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): dependencies: '@babel/runtime': 7.23.9 aria-query: 5.3.0 @@ -12638,19 +21833,11 @@ packages: object.entries: 1.1.7 object.fromentries: 2.0.7 - /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - /eslint-plugin-react@7.28.0(eslint@8.57.0): - resolution: {integrity: sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-react@7.28.0(eslint@8.57.0): dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 @@ -12667,13 +21854,8 @@ packages: resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.10 - dev: true - /eslint-plugin-react@7.33.2(eslint@8.57.0): - resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-react@7.33.2(eslint@8.57.0): dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 @@ -12693,11 +21875,7 @@ packages: semver: 6.3.1 string.prototype.matchall: 4.0.10 - /eslint-plugin-testing-library@5.11.1(eslint@8.57.0)(typescript@4.9.5): - resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} - peerDependencies: - eslint: ^7.5.0 || ^8.0.0 + eslint-plugin-testing-library@5.11.1(eslint@8.57.0)(typescript@4.9.5): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@4.9.5) eslint: 8.57.0 @@ -12705,34 +21883,21 @@ packages: - supports-color - typescript - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + eslint-visitor-keys@2.1.0: {} - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@3.4.3: {} - /eslint-webpack-plugin@3.2.0(eslint@8.57.0)(webpack@5.90.0): - resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} - engines: {node: '>= 12.13.0'} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - webpack: ^5.0.0 + eslint-webpack-plugin@3.2.0(eslint@8.57.0)(webpack@5.90.0): dependencies: '@types/eslint': 8.56.2 eslint: 8.57.0 @@ -12742,10 +21907,7 @@ packages: schema-utils: 4.2.0 webpack: 5.90.0 - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 @@ -12788,110 +21950,70 @@ packages: transitivePeerDependencies: - supports-color - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - /esprima@1.2.2: - resolution: {integrity: sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==} - engines: {node: '>=0.4.0'} - hasBin: true + esprima@1.2.2: {} - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true + esprima@4.0.1: {} - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + estraverse@4.3.0: {} - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + estraverse@5.3.0: {} - /estree-util-attach-comments@2.1.1: - resolution: {integrity: sha512-+5Ba/xGGS6mnwFbXIuQiDPTbuTxuMCooq3arVv7gPZtYpjp+VXH/NkHAP35OOefPhNG/UGqU3vt/LTABwcHX0w==} + estree-util-attach-comments@2.1.1: dependencies: '@types/estree': 1.0.5 - dev: false - /estree-util-build-jsx@2.2.2: - resolution: {integrity: sha512-m56vOXcOBuaF+Igpb9OPAy7f9w9OIkb5yhjsZuaPm7HoGi4oTOQi0h2+yZ+AtKklYFZ+rPC4n0wYCJCEU1ONqg==} + estree-util-build-jsx@2.2.2: dependencies: '@types/estree-jsx': 1.0.3 estree-util-is-identifier-name: 2.1.0 estree-walker: 3.0.3 - dev: false - /estree-util-is-identifier-name@2.1.0: - resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==} - dev: false + estree-util-is-identifier-name@2.1.0: {} - /estree-util-to-js@1.2.0: - resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==} + estree-util-to-js@1.2.0: dependencies: '@types/estree-jsx': 1.0.3 astring: 1.8.6 source-map: 0.7.4 - dev: false - /estree-util-value-to-estree@1.3.0: - resolution: {integrity: sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==} - engines: {node: '>=12.0.0'} + estree-util-value-to-estree@1.3.0: dependencies: is-plain-obj: 3.0.0 - dev: false - /estree-util-visit@1.2.1: - resolution: {integrity: sha512-xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==} + estree-util-visit@1.2.1: dependencies: '@types/estree-jsx': 1.0.3 '@types/unist': 2.0.10 - dev: false - /estree-walker@0.6.1: - resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==} + estree-walker@0.6.1: {} - /estree-walker@1.0.1: - resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==} + estree-walker@1.0.1: {} - /estree-walker@2.0.2: - resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + estree-walker@2.0.2: {} - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 - dev: false - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + esutils@2.0.3: {} - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + etag@1.8.1: {} - /eth-block-tracker@6.1.0: - resolution: {integrity: sha512-K9SY8+/xMBi4M5HHTDdxnpEqEEGjbNpzHFqvxyjMZej8InV/B+CkFRKM6W+uvrFJ7m8Zd1E0qUkseU3vdIDFYQ==} - engines: {node: '>=14.0.0'} + eth-block-tracker@6.1.0: dependencies: '@metamask/safe-event-emitter': 2.0.0 '@metamask/utils': 3.6.0 @@ -12899,53 +22021,36 @@ packages: pify: 3.0.0 transitivePeerDependencies: - supports-color - dev: false - /eth-json-rpc-filters@5.1.0: - resolution: {integrity: sha512-fos+9xmoa1A2Ytsc9eYof17r81BjdJOUcGcgZn4K/tKdCCTb+a8ytEtwlu1op5qsXFDlgGmstTELFrDEc89qEQ==} - engines: {node: '>=14.0.0'} + eth-json-rpc-filters@5.1.0: dependencies: '@metamask/safe-event-emitter': 2.0.0 async-mutex: 0.2.6 eth-query: 2.1.2 json-rpc-engine: 6.1.0 pify: 5.0.0 - dev: false - /eth-query@2.1.2: - resolution: {integrity: sha512-srES0ZcvwkR/wd5OQBRA1bIJMww1skfGS0s8wlwK3/oNP4+wnds60krvu5R1QbpRQjMmpG5OMIWro5s7gvDPsA==} + eth-query@2.1.2: dependencies: json-rpc-random-id: 1.0.1 xtend: 4.0.2 - dev: false - /eth-rpc-errors@4.0.2: - resolution: {integrity: sha512-n+Re6Gu8XGyfFy1it0AwbD1x0MUzspQs0D5UiPs1fFPCr6WAwZM+vbIhXheBFrpgosqN9bs5PqlB4Q61U/QytQ==} + eth-rpc-errors@4.0.2: dependencies: fast-safe-stringify: 2.1.1 - dev: false - /eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + eventemitter3@4.0.7: {} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + events@3.3.0: {} - /evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + evp_bytestokey@1.0.3: dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /exec-sh@0.3.6: - resolution: {integrity: sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w==} - dev: true + exec-sh@0.3.6: {} - /execa@0.8.0: - resolution: {integrity: sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==} - engines: {node: '>=4'} + execa@0.8.0: dependencies: cross-spawn: 5.1.0 get-stream: 3.0.0 @@ -12954,11 +22059,8 @@ packages: p-finally: 1.0.0 signal-exit: 3.0.7 strip-eof: 1.0.0 - dev: false - /execa@1.0.0: - resolution: {integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==} - engines: {node: '>=6'} + execa@1.0.0: dependencies: cross-spawn: 6.0.5 get-stream: 4.1.0 @@ -12967,11 +22069,8 @@ packages: p-finally: 1.0.0 signal-exit: 3.0.7 strip-eof: 1.0.0 - dev: true - /execa@4.1.0: - resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} - engines: {node: '>=10'} + execa@4.1.0: dependencies: cross-spawn: 7.0.3 get-stream: 5.2.0 @@ -12982,11 +22081,8 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -12998,9 +22094,7 @@ packages: signal-exit: 3.0.7 strip-final-newline: 2.0.0 - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@8.0.1: dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -13011,15 +22105,10 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: false - /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} + exit@0.1.2: {} - /expand-brackets@2.1.4: - resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} - engines: {node: '>=0.10.0'} + expand-brackets@2.1.4: dependencies: debug: 2.6.9 define-property: 0.2.5 @@ -13030,11 +22119,8 @@ packages: to-regex: 3.0.2 transitivePeerDependencies: - supports-color - dev: true - /expect@26.6.2: - resolution: {integrity: sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA==} - engines: {node: '>= 10.14.2'} + expect@26.6.2: dependencies: '@jest/types': 26.6.2 ansi-styles: 4.3.0 @@ -13042,31 +22128,23 @@ packages: jest-matcher-utils: 26.6.2 jest-message-util: 26.6.2 jest-regex-util: 26.0.0 - dev: true - /expect@27.5.1: - resolution: {integrity: sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + expect@27.5.1: dependencies: '@jest/types': 27.5.1 jest-get-type: 27.5.1 jest-matcher-utils: 27.5.1 jest-message-util: 27.5.1 - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - dev: true - /express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} + express@4.18.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -13102,50 +22180,33 @@ packages: transitivePeerDependencies: - supports-color - /extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} + extend-shallow@2.0.1: dependencies: is-extendable: 0.1.1 - /extend-shallow@3.0.2: - resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} - engines: {node: '>=0.10.0'} + extend-shallow@3.0.2: dependencies: assign-symbols: 1.0.0 is-extendable: 1.0.1 - dev: true - /extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + extend@3.0.2: {} - /extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - dev: true + extendable-error@0.1.7: {} - /external-editor@2.2.0: - resolution: {integrity: sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==} - engines: {node: '>=0.12'} - requiresBuild: true + external-editor@2.2.0: dependencies: chardet: 0.4.2 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: false optional: true - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + external-editor@3.1.0: dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - dev: true - /extglob@2.0.4: - resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} - engines: {node: '>=0.10.0'} + extglob@2.0.4: dependencies: array-unique: 0.3.2 define-property: 1.0.0 @@ -13157,12 +22218,8 @@ packages: to-regex: 3.0.2 transitivePeerDependencies: - supports-color - dev: true - /extract-zip@2.0.1: - resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} - engines: {node: '>= 10.17.0'} - hasBin: true + extract-zip@2.0.1: dependencies: debug: 4.3.4(supports-color@8.1.1) get-stream: 5.2.0 @@ -13171,27 +22228,16 @@ packages: '@types/yauzl': 2.10.3 transitivePeerDependencies: - supports-color - dev: false - /extsprintf@1.3.0: - resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} - engines: {'0': node >=0.6.0} - dev: true + extsprintf@1.3.0: {} - /eyes@0.1.8: - resolution: {integrity: sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ==} - engines: {node: '> 0.1.90'} - dev: false + eyes@0.1.8: {} - /faker@5.5.3: - resolution: {integrity: sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g==} + faker@5.5.3: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-deep-equal@3.1.3: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -13199,144 +22245,92 @@ packages: merge2: 1.4.1 micromatch: 4.0.5 - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + fast-json-stable-stringify@2.1.0: {} - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-levenshtein@2.0.6: {} - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false + fast-redact@3.3.0: {} - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + fast-safe-stringify@2.1.1: {} - /fast-stable-stringify@1.0.0: - resolution: {integrity: sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag==} - dev: false + fast-stable-stringify@1.0.0: {} - /fastparse@1.1.2: - resolution: {integrity: sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==} + fastparse@1.1.2: {} - /fastq@1.16.0: - resolution: {integrity: sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==} + fastq@1.16.0: dependencies: reusify: 1.0.4 - /fault@1.0.4: - resolution: {integrity: sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==} + fault@1.0.4: dependencies: format: 0.2.2 - dev: true - /faye-websocket@0.10.0: - resolution: {integrity: sha512-Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==} - engines: {node: '>=0.4.0'} + faye-websocket@0.10.0: dependencies: websocket-driver: 0.7.4 - dev: true - /faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} + faye-websocket@0.11.4: dependencies: websocket-driver: 0.7.4 - /fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fb-watchman@2.0.2: dependencies: bser: 2.1.1 - /fd-slicer@1.1.0: - resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fd-slicer@1.1.0: dependencies: pend: 1.2.0 - dev: false - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.2 - dev: true - /figures@1.7.0: - resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} - engines: {node: '>=0.10.0'} + figures@1.7.0: dependencies: escape-string-regexp: 1.0.5 object-assign: 4.1.1 - dev: true - /figures@2.0.0: - resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} - engines: {node: '>=4'} + figures@2.0.0: dependencies: escape-string-regexp: 1.0.5 - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 - /file-loader@6.2.0(webpack@5.90.0): - resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 + file-loader@6.2.0(webpack@5.90.0): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 webpack: 5.90.0 - /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - dev: false + file-uri-to-path@1.0.0: {} - /filelist@1.0.4: - resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + filelist@1.0.4: dependencies: minimatch: 5.1.6 - /filesize@8.0.7: - resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} - engines: {node: '>= 0.4.0'} + filesize@8.0.7: {} - /fill-range@4.0.0: - resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} - engines: {node: '>=0.10.0'} + fill-range@4.0.0: dependencies: extend-shallow: 2.0.1 is-number: 3.0.0 repeat-string: 1.6.1 to-regex-range: 2.1.1 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - /filter-obj@1.1.0: - resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} - engines: {node: '>=0.10.0'} - dev: false + filter-obj@1.1.0: {} - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} + finalhandler@1.2.0: dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -13348,137 +22342,79 @@ packages: transitivePeerDependencies: - supports-color - /find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} + find-cache-dir@3.3.2: dependencies: commondir: 1.0.1 make-dir: 3.1.0 pkg-dir: 4.2.0 - /find-replace@1.0.3: - resolution: {integrity: sha512-KrUnjzDCD9426YnCP56zGYy/eieTnhtK6Vn++j+JJzmlsWWwEkDnsyVF575spT6HJ6Ow9tlbT3TQTDsa+O4UWA==} - engines: {node: '>=4.0.0'} - requiresBuild: true + find-replace@1.0.3: dependencies: array-back: 1.0.4 test-value: 2.1.0 - dev: false optional: true - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} + find-up@3.0.0: dependencies: locate-path: 3.0.0 - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - /find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + find-yarn-workspace-root2@1.2.16: dependencies: micromatch: 4.0.5 pkg-dir: 4.2.0 - dev: true - /find-yarn-workspace-root@2.0.0: - resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + find-yarn-workspace-root@2.0.0: dependencies: micromatch: 4.0.5 - dev: true - /flat-cache@2.0.1: - resolution: {integrity: sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==} - engines: {node: '>=4'} + flat-cache@2.0.1: dependencies: flatted: 2.0.2 rimraf: 2.6.3 write: 1.0.3 - dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true + flat@5.0.2: {} - /flatted@2.0.2: - resolution: {integrity: sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==} - dev: true + flatted@2.0.2: {} - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + flatted@3.3.1: {} - /flexsearch@0.7.43: - resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} - dev: false + flexsearch@0.7.43: {} - /focus-visible@5.2.0: - resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} - dev: false + focus-visible@5.2.0: {} - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true + follow-redirects@1.15.5: {} - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - /for-in@1.0.2: - resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} - engines: {node: '>=0.10.0'} - dev: true + for-in@1.0.2: {} - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - /forever-agent@0.6.1: - resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} - dev: true + forever-agent@0.6.1: {} - /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@4.9.5)(webpack@5.90.0): - resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} - engines: {node: '>=10', yarn: '>=1.0.0'} - peerDependencies: - eslint: '>= 6' - typescript: '>= 2.7' - vue-template-compiler: '*' - webpack: '>= 4' - peerDependenciesMeta: - eslint: - optional: true - vue-template-compiler: - optional: true + fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@4.9.5)(webpack@5.90.0): dependencies: '@babel/code-frame': 7.23.5 '@types/json-schema': 7.0.15 @@ -13486,7 +22422,6 @@ packages: chokidar: 3.5.3 cosmiconfig: 6.0.0 deepmerge: 4.3.1 - eslint: 8.57.0 fs-extra: 9.1.0 glob: 7.2.3 memfs: 3.5.3 @@ -13496,167 +22431,113 @@ packages: tapable: 1.1.3 typescript: 4.9.5 webpack: 5.90.0 + optionalDependencies: + eslint: 8.57.0 - /form-data@2.3.3: - resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} - engines: {node: '>= 0.12'} + form-data@2.3.3: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true - /form-data@3.0.1: - resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} - engines: {node: '>= 6'} + form-data@3.0.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + form-data@4.0.0: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true - /format@0.2.2: - resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} - engines: {node: '>=0.4.x'} - dev: true + format@0.2.2: {} - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - dev: true - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + forwarded@0.2.0: {} - /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + fraction.js@4.3.7: {} - /fragment-cache@0.2.1: - resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} - engines: {node: '>=0.10.0'} + fragment-cache@0.2.1: dependencies: map-cache: 0.2.2 - dev: true - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + fresh@0.5.2: {} - /front-matter@2.3.0: - resolution: {integrity: sha512-+gOIDsGWHVAiWSDfg3vpiHwkOrwO4XNS3YQH5DMmneLEPWzdCAnbSQCtxReF4yPK1nszLvAmLeR2SprnDQDnyQ==} + front-matter@2.3.0: dependencies: js-yaml: 3.14.1 - dev: true - /front-matter@4.0.2: - resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==} + front-matter@4.0.2: dependencies: js-yaml: 3.14.1 - dev: true - /fs-extra@10.1.0: - resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} - engines: {node: '>=12'} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} + fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: true - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - /fs-minipass@1.2.7: - resolution: {integrity: sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==} - requiresBuild: true + fs-minipass@1.2.7: dependencies: minipass: 2.9.0 - dev: false optional: true - /fs-monkey@1.0.5: - resolution: {integrity: sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==} + fs-monkey@1.0.5: {} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true + fsevents@2.3.3: optional: true - /fstream@1.0.12: - resolution: {integrity: sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==} - engines: {node: '>=0.6'} + fstream@1.0.12: dependencies: graceful-fs: 4.2.11 inherits: 2.0.4 mkdirp: 0.5.6 rimraf: 2.7.1 - dev: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 functions-have-names: 1.2.3 - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + functions-have-names@1.2.3: {} - /gauge@2.7.4: - resolution: {integrity: sha512-14x4kjc6lkD3ltw589k0NrPD6cCNTD6CWoVUNpB85+DrtONoZn+Rug6xZU5RvSC4+TZPxA5AnBibQYAvZn41Hg==} - requiresBuild: true + gauge@2.7.4: dependencies: aproba: 1.2.0 console-control-strings: 1.1.0 @@ -13666,180 +22547,107 @@ packages: string-width: 1.0.2 strip-ansi: 3.0.1 wide-align: 1.1.5 - dev: false optional: true - /generic-names@2.0.1: - resolution: {integrity: sha512-kPCHWa1m9wGG/OwQpeweTwM/PYiQLrUIxXbt/P4Nic3LbGjCP0YwrALHW1uNLKZ0LIMg+RF+XRlj2ekT9ZlZAQ==} + generic-names@2.0.1: dependencies: loader-utils: 1.4.2 - /generic-names@4.0.0: - resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} + generic-names@4.0.0: dependencies: loader-utils: 3.2.1 - dev: true - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + gensync@1.0.0-beta.2: {} - /get-assigned-identifiers@1.2.0: - resolution: {integrity: sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==} - dev: true + get-assigned-identifiers@1.2.0: {} - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + get-caller-file@2.0.5: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.2.2: - resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + get-intrinsic@1.2.2: dependencies: function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 hasown: 2.0.0 - /get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + get-own-enumerable-property-symbols@3.0.2: {} - /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + get-package-type@0.1.0: {} - /get-port-please@3.1.2: - resolution: {integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==} - dev: false + get-port-please@3.1.2: {} - /get-port@5.1.1(patch_hash=qyyizwcnoypqxlftc4xbpqbjxq): - resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} - engines: {node: '>=8'} - dev: false - patched: true + get-port@5.1.1(patch_hash=qyyizwcnoypqxlftc4xbpqbjxq): {} - /get-stream@3.0.0: - resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} - engines: {node: '>=4'} - dev: false + get-stream@3.0.0: {} - /get-stream@4.1.0: - resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} - engines: {node: '>=6'} + get-stream@4.1.0: dependencies: pump: 3.0.0 - /get-stream@5.2.0: - resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} - engines: {node: '>=8'} + get-stream@5.2.0: dependencies: pump: 3.0.0 - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + get-stream@6.0.1: {} - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: false + get-stream@8.0.1: {} - /get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 - /get-value@2.0.6: - resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} - engines: {node: '>=0.10.0'} - dev: true + get-value@2.0.6: {} - /getpass@0.1.7: - resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + getpass@0.1.7: dependencies: assert-plus: 1.0.0 - dev: true - /git-config@0.0.7: - resolution: {integrity: sha512-LidZlYZXWzVjS+M3TEwhtYBaYwLeOZrXci1tBgqp/vDdZTBMl02atvwb6G35L64ibscYoPnxfbwwUS+VZAISLA==} - requiresBuild: true + git-config@0.0.7: dependencies: iniparser: 1.0.5 - dev: false optional: true - /git-up@7.0.0: - resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + git-up@7.0.0: dependencies: is-ssh: 1.4.0 parse-url: 8.1.0 - dev: false - /git-url-parse@13.1.1: - resolution: {integrity: sha512-PCFJyeSSdtnbfhSNRw9Wk96dDCNx+sogTe4YNXeXSJxt7xz5hvXekuRn9JX7m+Mf4OscCu8h+mtAl3+h5Fo8lQ==} + git-url-parse@13.1.1: dependencies: git-up: 7.0.0 - dev: false - /gitbook-plugin-fontsettings@2.0.0: - resolution: {integrity: sha512-bZpz/Jev7lL1d3VNp41KHZD67UYqyqdOwbsJE6YEW93R2mGiLfZLpUs86d2nrY61BedhlNck1xF52FNT6sWeig==} - engines: {gitbook: '>=2.4.0'} - dev: true + gitbook-plugin-fontsettings@2.0.0: {} - /gitbook-plugin-livereload@0.0.1: - resolution: {integrity: sha512-+5xinicId2ZcbP6jBTFfQBnjz8nhoBgcOuQfKTEM6Yg9fBsmo2mxY6ubrx1b5ozuIMyfDLkSihx97A7+X+EtQQ==} - dev: true + gitbook-plugin-livereload@0.0.1: {} - /gitbook-plugin-lunr@1.2.0: - resolution: {integrity: sha512-QBfFLMZmoyOfLzc5aZrlRCkmzb9YcSjzdnyJFiRI/nX+Nd6kK1XyN4DLGnNSMHkRcJchcpWiQ6XGqSqo7e+d+g==} - engines: {gitbook: '>=3.0.0-pre.0'} + gitbook-plugin-lunr@1.2.0: dependencies: gitbook-plugin-search: 2.2.1 html-entities: 1.2.0 lunr: 0.5.12 - dev: true - /gitbook-plugin-search@2.2.1: - resolution: {integrity: sha512-oP9jhaKFUVPo756G9ywuuI43YdkZClSjfpFzNKe/a/Rcn3oVsrAM/PjdQ+dt65KfZVo3iW1LY4WdiZnNqzRP8g==} - engines: {gitbook: '>=3.0.0-pre.0'} - dev: true + gitbook-plugin-search@2.2.1: {} - /github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - dev: false + github-slugger@2.0.0: {} - /github-slugid@1.0.1: - resolution: {integrity: sha512-L5uVRzSM8jyWTgHUtaHwmymZW8S234JrIaOGotPK+0emNz9XsO6qqgw1KiI5YfP1SyBjG0ApNYU0vpb01teM9Q==} - dev: true + github-slugid@1.0.1: {} - /github-url-from-git@1.5.0: - resolution: {integrity: sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==} - dev: true + github-url-from-git@1.5.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + glob-to-regexp@0.4.1: {} - /glob@10.3.10: - resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob@10.3.10: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 @@ -13847,8 +22655,7 @@ packages: minipass: 7.0.4 path-scurry: 1.10.1 - /glob@7.1.3: - resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==} + glob@7.1.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13856,10 +22663,8 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@7.1.7: - resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==} + glob@7.1.7: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13867,10 +22672,8 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + glob@7.2.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13878,10 +22681,8 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -13890,10 +22691,7 @@ packages: once: 1.4.0 path-is-absolute: 1.0.1 - /global-agent@3.0.0: - resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} - engines: {node: '>=10.0'} - requiresBuild: true + global-agent@3.0.0: dependencies: boolean: 3.2.0 es6-error: 4.1.1 @@ -13901,68 +22699,45 @@ packages: roarr: 2.15.4 semver: 7.5.4 serialize-error: 7.0.1 - dev: false optional: true - /global-dirs@2.1.0: - resolution: {integrity: sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==} - engines: {node: '>=8'} + global-dirs@2.1.0: dependencies: ini: 1.3.7 - dev: true - /global-dirs@3.0.1: - resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} - engines: {node: '>=10'} + global-dirs@3.0.1: dependencies: ini: 2.0.0 - dev: true - /global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} + global-modules@2.0.0: dependencies: global-prefix: 3.0.0 - /global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} + global-prefix@3.0.0: dependencies: ini: 1.3.8 kind-of: 6.0.3 which: 1.3.1 - /global-tunnel-ng@2.7.1: - resolution: {integrity: sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==} - engines: {node: '>=0.10'} - requiresBuild: true + global-tunnel-ng@2.7.1: dependencies: encodeurl: 1.0.2 lodash: 4.17.21 npm-conf: 1.1.3 tunnel: 0.0.6 - dev: false optional: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + globals@11.12.0: {} - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + globalthis@1.0.3: dependencies: define-properties: 1.2.1 - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -13971,14 +22746,11 @@ packages: merge2: 1.4.1 slash: 3.0.0 - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.2 - /got@10.7.0: - resolution: {integrity: sha512-aWTDeNw9g+XqEZNcTjMMZSy7B7yE9toWOFYip7ofFTLleJhvZwUxxTxkTpKvF+p1SAA4VHmuEy7PiHTHyq8tJg==} - engines: {node: '>=10'} + got@10.7.0: dependencies: '@sindresorhus/is': 2.1.1 '@szmarczak/http-timer': 4.0.6 @@ -13997,11 +22769,8 @@ packages: responselike: 2.0.1 to-readable-stream: 2.1.0 type-fest: 0.10.0 - dev: true - /got@9.6.0: - resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} - engines: {node: '>=8.6'} + got@9.6.0: dependencies: '@sindresorhus/is': 0.14.0 '@szmarczak/http-timer': 1.1.2 @@ -14017,89 +22786,52 @@ packages: to-readable-stream: 1.0.0 url-parse-lax: 3.0.0 - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + graceful-fs@4.2.11: {} - /grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - dev: true + grapheme-splitter@1.0.4: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + graphemer@1.4.0: {} - /graphql-query-complexity@0.7.2(graphql@15.7.2): - resolution: {integrity: sha512-+VgmrfxGEjHI3zuojWOR8bsz7Ycz/BZjNjxnlUieTz5DsB92WoIrYCSZdWG7UWZ3rfcA1Gb2Nf+wB80GsaZWuQ==} - peerDependencies: - graphql: ^0.13.0 || ^14.0.0 || ^15.0.0 + graphql-query-complexity@0.7.2(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) lodash.get: 4.4.2 - dev: false - /graphql-subscriptions@1.2.1(graphql@15.7.2): - resolution: {integrity: sha512-95yD/tKi24q8xYa7Q9rhQN16AYj5wPbrb8tmHGM3WRc9EBmWrG/0kkMl+tQG8wcEuE9ibR4zyOM31p5Sdr2v4g==} - peerDependencies: - graphql: ^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 + graphql-subscriptions@1.2.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) iterall: 1.3.0 - dev: false - /graphql-tag@2.12.6(graphql@15.7.2): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} - peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql-tag@2.12.6(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) tslib: 2.6.2 - /graphql-ws@5.12.0(graphql@15.7.2): - resolution: {integrity: sha512-PA3ImUp8utrpEjoxBMhvxsjkStvFEdU0E1gEBREt8HZIWkxOUymwJBhFnBL7t/iHhUq1GVPeZevPinkZFENxTw==} - engines: {node: '>=10'} - peerDependencies: - graphql: '>=0.11 <=16' + graphql-ws@5.12.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - /graphql-ws@5.14.3(graphql@15.7.2): - resolution: {integrity: sha512-F/i2xNIVbaEF2xWggID0X/UZQa2V8kqKDPO8hwmu53bVOcTL7uNkxnexeEgSCVxYBQUTUNEI8+e4LO1FOhKPKQ==} - engines: {node: '>=10'} - peerDependencies: - graphql: '>=0.11 <=16' + graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - dev: true - /graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q): - resolution: {integrity: sha512-AnnKk7hFQFmU/2I9YSQf3xw44ctnSFCfp3zE0N6W174gqe9fWG/2rKaKxROK7CcI3XtERpjEKFqts8o319Kf7A==} - engines: {node: '>= 10.x'} - patched: true + graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q): {} - /gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} + gray-matter@4.0.3: dependencies: js-yaml: 3.14.1 kind-of: 6.0.3 section-matter: 1.0.0 strip-bom-string: 1.0.0 - dev: false - /growly@1.3.0: - resolution: {integrity: sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==} - requiresBuild: true - dev: true + growly@1.3.0: optional: true - /gzip-size@6.0.0: - resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} - engines: {node: '>=10'} + gzip-size@6.0.0: dependencies: duplexer: 0.1.2 - /h3@1.10.1: - resolution: {integrity: sha512-UBAUp47hmm4BB5/njB4LrEa9gpuvZj4/Qf/ynSMzO6Ku2RXaouxEfiG2E2IFnv6fxbhAkzjasDxmo6DFdEeXRg==} + h3@1.10.1: dependencies: cookie-es: 1.0.0 defu: 6.1.4 @@ -14110,15 +22842,10 @@ packages: ufo: 1.3.2 uncrypto: 0.1.3 unenv: 1.9.0 - dev: false - /handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + handle-thing@2.0.1: {} - /handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true + handlebars@4.7.8: dependencies: minimist: 1.2.8 neo-async: 2.6.2 @@ -14127,168 +22854,104 @@ packages: optionalDependencies: uglify-js: 3.17.4 - /har-schema@2.0.0: - resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} - engines: {node: '>=4'} - dev: true + har-schema@2.0.0: {} - /har-validator@5.1.5: - resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} - engines: {node: '>=6'} - deprecated: this library is no longer supported + har-validator@5.1.5: dependencies: ajv: 6.12.6 har-schema: 2.0.0 - dev: true - /hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - dev: true + hard-rejection@2.1.0: {} - /harmony-reflect@1.6.2: - resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} + harmony-reflect@1.6.2: {} - /has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} + has-ansi@2.0.0: dependencies: ansi-regex: 2.1.1 - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + has-bigints@1.0.2: {} - /has-flag@1.0.0: - resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} - engines: {node: '>=0.10.0'} + has-flag@1.0.0: {} - /has-flag@2.0.0: - resolution: {integrity: sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==} - engines: {node: '>=0.10.0'} - dev: false + has-flag@2.0.0: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.1: - resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==} + has-property-descriptors@1.0.1: dependencies: get-intrinsic: 1.2.2 - /has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + has-proto@1.0.1: {} - /has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + has-symbols@1.0.3: {} + + has-tostringtag@1.0.0: dependencies: has-symbols: 1.0.3 - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - requiresBuild: true - dev: false + has-unicode@2.0.1: optional: true - /has-value@0.3.1: - resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} - engines: {node: '>=0.10.0'} + has-value@0.3.1: dependencies: get-value: 2.0.6 has-values: 0.1.4 isobject: 2.1.0 - dev: true - /has-value@1.0.0: - resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} - engines: {node: '>=0.10.0'} + has-value@1.0.0: dependencies: get-value: 2.0.6 has-values: 1.0.0 isobject: 3.0.1 - dev: true - /has-values@0.1.4: - resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} - engines: {node: '>=0.10.0'} - dev: true + has-values@0.1.4: {} - /has-values@1.0.0: - resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} - engines: {node: '>=0.10.0'} + has-values@1.0.0: dependencies: is-number: 3.0.0 kind-of: 4.0.0 - dev: true - /has-yarn@2.1.0: - resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} - engines: {node: '>=8'} - dev: true + has-yarn@2.1.0: {} - /has@1.0.4: - resolution: {integrity: sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==} - engines: {node: '>= 0.4.0'} + has@1.0.4: {} - /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + hash-base@3.1.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.2 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /hash-obj@4.0.0: - resolution: {integrity: sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==} - engines: {node: '>=12'} + hash-obj@4.0.0: dependencies: is-obj: 3.0.0 sort-keys: 5.0.0 type-fest: 1.4.0 - dev: false - /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - /hasown@2.0.0: - resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} - engines: {node: '>= 0.4'} + hasown@2.0.0: dependencies: function-bind: 1.1.2 - /hast-util-from-dom@5.0.0: - resolution: {integrity: sha512-d6235voAp/XR3Hh5uy7aGLbM3S4KamdW0WEgOaU1YoewnuYw4HXb5eRtv9g65m/RFGEfUY1Mw4UqCc5Y8L4Stg==} + hast-util-from-dom@5.0.0: dependencies: '@types/hast': 3.0.3 hastscript: 8.0.0 web-namespaces: 2.0.1 - dev: false - /hast-util-from-html-isomorphic@2.0.0: - resolution: {integrity: sha512-zJfpXq44yff2hmE0XmwEOzdWin5xwH+QIhMLOScpX91e/NSGPsAzNCvLQDIEPyO2TXi+lBmU6hjLIhV8MwP2kw==} + hast-util-from-html-isomorphic@2.0.0: dependencies: '@types/hast': 3.0.3 hast-util-from-dom: 5.0.0 hast-util-from-html: 2.0.1 unist-util-remove-position: 5.0.0 - dev: false - /hast-util-from-html@2.0.1: - resolution: {integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==} + hast-util-from-html@2.0.1: dependencies: '@types/hast': 3.0.3 devlop: 1.1.0 @@ -14296,10 +22959,8 @@ packages: parse5: 7.1.2 vfile: 6.0.1 vfile-message: 4.0.2 - dev: false - /hast-util-from-parse5@8.0.1: - resolution: {integrity: sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==} + hast-util-from-parse5@8.0.1: dependencies: '@types/hast': 3.0.3 '@types/unist': 3.0.2 @@ -14309,22 +22970,16 @@ packages: vfile: 6.0.1 vfile-location: 5.0.2 web-namespaces: 2.0.1 - dev: false - /hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} + hast-util-is-element@3.0.0: dependencies: '@types/hast': 3.0.3 - dev: false - /hast-util-parse-selector@4.0.0: - resolution: {integrity: sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==} + hast-util-parse-selector@4.0.0: dependencies: '@types/hast': 3.0.3 - dev: false - /hast-util-raw@9.0.2: - resolution: {integrity: sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==} + hast-util-raw@9.0.2: dependencies: '@types/hast': 3.0.3 '@types/unist': 3.0.2 @@ -14339,10 +22994,8 @@ packages: vfile: 6.0.1 web-namespaces: 2.0.1 zwitch: 2.0.4 - dev: false - /hast-util-to-estree@2.3.3: - resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==} + hast-util-to-estree@2.3.3: dependencies: '@types/estree': 1.0.5 '@types/estree-jsx': 1.0.3 @@ -14361,10 +23014,8 @@ packages: zwitch: 2.0.4 transitivePeerDependencies: - supports-color - dev: false - /hast-util-to-parse5@8.0.0: - resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + hast-util-to-parse5@8.0.0: dependencies: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 @@ -14373,65 +23024,45 @@ packages: space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 - dev: false - /hast-util-to-text@4.0.0: - resolution: {integrity: sha512-EWiE1FSArNBPUo1cKWtzqgnuRQwEeQbQtnFJRYV1hb1BWDgrAlBU0ExptvZMM/KSA82cDpm2sFGf3Dmc5Mza3w==} + hast-util-to-text@4.0.0: dependencies: '@types/hast': 3.0.3 '@types/unist': 3.0.2 hast-util-is-element: 3.0.0 unist-util-find-after: 5.0.0 - dev: false - /hast-util-whitespace@2.0.1: - resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==} - dev: false + hast-util-whitespace@2.0.1: {} - /hastscript@8.0.0: - resolution: {integrity: sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==} + hastscript@8.0.0: dependencies: '@types/hast': 3.0.3 comma-separated-tokens: 2.0.3 hast-util-parse-selector: 4.0.0 property-information: 6.4.1 space-separated-tokens: 2.0.2 - dev: false - /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true + he@1.2.0: {} - /heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - dev: false + heap@0.2.7: {} - /hex-color-regex@1.1.0: - resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==} + hex-color-regex@1.1.0: {} - /hey-listen@1.0.8: - resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} - dev: false + hey-listen@1.0.8: {} - /highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - dev: true + highlight.js@10.7.3: {} - /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - /hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 - /honkit@4.0.8: - resolution: {integrity: sha512-CCD6+HTOvgta4VO1HsWUq/Qp+C7PPnwUH5O1xQx0hLjKh5zeBkeu1r1AOa+Ez1QltoAHrdK2RPxkQ5hsnQnDrQ==} - hasBin: true + honkit@4.0.8: dependencies: '@honkit/asciidoc': 4.0.8 '@honkit/honkit-plugin-highlight': 4.0.8 @@ -14486,69 +23117,43 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /hoopy@0.1.4: - resolution: {integrity: sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==} - engines: {node: '>= 6.0.0'} + hoopy@0.1.4: {} - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + hosted-git-info@2.8.9: {} - /hosted-git-info@3.0.8: - resolution: {integrity: sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==} - engines: {node: '>=10'} + hosted-git-info@3.0.8: dependencies: lru-cache: 6.0.0 - dev: true - /hosted-git-info@4.1.0: - resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} - engines: {node: '>=10'} + hosted-git-info@4.1.0: dependencies: lru-cache: 6.0.0 - dev: true - /hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + hpack.js@2.1.6: dependencies: inherits: 2.0.4 obuf: 1.1.2 readable-stream: 2.3.8 wbuf: 1.7.3 - /hsl-regex@1.0.0: - resolution: {integrity: sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==} + hsl-regex@1.0.0: {} - /hsla-regex@1.0.0: - resolution: {integrity: sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==} + hsla-regex@1.0.0: {} - /html-encoding-sniffer@2.0.1: - resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} - engines: {node: '>=10'} + html-encoding-sniffer@2.0.1: dependencies: whatwg-encoding: 1.0.5 - /html-entities@1.2.0: - resolution: {integrity: sha512-0md7tlUUyb0BEQGsZzbqty1CgV6RESOoxdivt94AScqhBhYsPCCQCOaGvur/RospMjYpPJ7iFe3zw4Bu4SVA8g==} - engines: {'0': node >= 0.4.0} - dev: true + html-entities@1.2.0: {} - /html-entities@2.4.0: - resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} + html-entities@2.4.0: {} - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-escaper@2.0.2: {} - /html-escaper@3.0.3: - resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} - dev: false + html-escaper@3.0.3: {} - /html-minifier-terser@6.1.0: - resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} - engines: {node: '>=12'} - hasBin: true + html-minifier-terser@6.1.0: dependencies: camel-case: 4.1.2 clean-css: 5.3.3 @@ -14558,97 +23163,68 @@ packages: relateurl: 0.2.7 terser: 5.27.0 - /html-void-elements@3.0.0: - resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==} - dev: false + html-void-elements@3.0.0: {} - /html-webpack-plugin@5.6.0(webpack@5.90.0): - resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} - engines: {node: '>=10.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.20.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true + html-webpack-plugin@5.6.0(webpack@5.90.0): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 + optionalDependencies: webpack: 5.90.0 - /htmlescape@1.1.1: - resolution: {integrity: sha512-eVcrzgbR4tim7c7soKQKtxa/kQM4TzjnlU83rcZ9bHU6t31ehfV7SktN6McWgwPWg+JYMA/O3qpGxBvFq1z2Jg==} - engines: {node: '>=0.10'} - dev: true + htmlescape@1.1.1: {} - /htmlparser2@5.0.1: - resolution: {integrity: sha512-vKZZra6CSe9qsJzh0BjBGXo8dvzNsq/oGvsjfRdOrrryfeD9UOBEEQdeoqCRmKZchF5h2zOBMQ6YuQ0uRUmdbQ==} + htmlparser2@5.0.1: dependencies: domelementtype: 2.3.0 domhandler: 3.3.0 domutils: 2.8.0 entities: 2.2.0 - dev: true - /htmlparser2@6.1.0: - resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + htmlparser2@6.1.0: dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 domutils: 2.8.0 entities: 2.2.0 - /htmlparser2@7.2.0: - resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} + htmlparser2@7.2.0: dependencies: domelementtype: 2.3.0 domhandler: 4.3.1 domutils: 2.8.0 entities: 3.0.1 - dev: true - /htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@8.0.2: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 domutils: 3.1.0 entities: 4.5.0 - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + http-cache-semantics@4.1.1: {} - /http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + http-deceiver@1.2.7: {} - /http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} + http-errors@1.6.3: dependencies: depd: 1.1.2 inherits: 2.0.3 setprototypeof: 1.1.0 statuses: 1.5.0 - /http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} + http-errors@1.8.1: dependencies: depd: 1.1.2 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 1.5.0 toidentifier: 1.0.1 - dev: true - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-errors@2.0.0: dependencies: depd: 2.0.0 inherits: 2.0.4 @@ -14656,12 +23232,9 @@ packages: statuses: 2.0.1 toidentifier: 1.0.1 - /http-parser-js@0.5.8: - resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + http-parser-js@0.5.8: {} - /http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} + http-proxy-agent@4.0.1: dependencies: '@tootallnate/once': 1.1.2 agent-base: 6.0.2 @@ -14669,27 +23242,19 @@ packages: transitivePeerDependencies: - supports-color - /http-proxy-middleware@2.0.6(@types/express@4.17.21): - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true + http-proxy-middleware@2.0.6(@types/express@4.17.21): dependencies: - '@types/express': 4.17.21 '@types/http-proxy': 1.17.14 http-proxy: 1.18.1 is-glob: 4.0.3 is-plain-obj: 3.0.0 micromatch: 4.0.5 + optionalDependencies: + '@types/express': 4.17.21 transitivePeerDependencies: - debug - /http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} + http-proxy@1.18.1: dependencies: eventemitter3: 4.0.7 follow-redirects: 1.15.5 @@ -14697,255 +23262,155 @@ packages: transitivePeerDependencies: - debug - /http-shutdown@1.2.2: - resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: false + http-shutdown@1.2.2: {} - /http-signature@1.2.0: - resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} - engines: {node: '>=0.8', npm: '>=1.3.7'} + http-signature@1.2.0: dependencies: assert-plus: 1.0.0 jsprim: 1.4.2 sshpk: 1.18.0 - dev: true - /http@0.0.1-security: - resolution: {integrity: sha512-RnDvP10Ty9FxqOtPZuxtebw1j4L/WiqNMDtuc1YMH1XQm5TgDRaR1G9u8upL6KD1bXHSp9eSXo/ED+8Q7FAr+g==} - dev: true + http@0.0.1-security: {} - /https-browserify@1.0.0: - resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} - dev: true + https-browserify@1.0.0: {} - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - /human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} - dev: true + human-id@1.0.2: {} - /human-signals@1.1.1: - resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} - engines: {node: '>=8.12.0'} - dev: true + human-signals@1.1.1: {} - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + human-signals@2.1.0: {} - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: false + human-signals@5.0.0: {} - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 - dev: false - /i18n-t@1.0.1: - resolution: {integrity: sha512-2NmZwpsnRTzpZfIP6Rcic16m5QBNVaIwVyU182+iatd6RNbWmGi74LTA/R/oDa58RZ87bHChLgWpmulEAoEruQ==} + i18n-t@1.0.1: dependencies: lodash: 4.17.21 - dev: true - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza) - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} + iconv-lite@0.6.3: dependencies: safer-buffer: 2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza) - /icss-replace-symbols@1.1.0: - resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==} + icss-replace-symbols@1.1.0: {} - /icss-utils@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + icss-utils@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /idb-keyval@6.2.1: - resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} - dev: false + idb-keyval@6.2.1: {} - /idb@7.1.1: - resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} + idb@7.1.1: {} - /identity-obj-proxy@3.0.0: - resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} - engines: {node: '>=4'} + identity-obj-proxy@3.0.0: dependencies: harmony-reflect: 1.6.2 - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + ieee754@1.2.1: {} - /ignore-walk@3.0.4: - resolution: {integrity: sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ==} + ignore-walk@3.0.4: dependencies: minimatch: 3.1.2 - /ignore@5.3.0: - resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} - engines: {node: '>= 4'} + ignore@5.3.0: {} - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} + ignore@5.3.1: {} - /immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + immer@9.0.21: {} - /immutability-helper@2.9.1: - resolution: {integrity: sha512-r/RmRG8xO06s/k+PIaif2r5rGc3j4Yhc01jSBfwPCXDLYZwp/yxralI37Df1mwmuzcCsen/E/ITKcTEvc1PQmQ==} + immutability-helper@2.9.1: dependencies: invariant: 2.2.4 - dev: false - /immutable@3.8.2: - resolution: {integrity: sha512-15gZoQ38eYjEjxkorfbcgBKBL6R7T459OuK+CpcWt7O3KF4uPCx2tD0uFETlUDIyo+1789crbMhTvQBSR5yBMg==} - engines: {node: '>=0.10.0'} - dev: true + immutable@3.8.2: {} - /immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + immutable@4.3.5: {} - /import-cwd@2.1.0: - resolution: {integrity: sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==} - engines: {node: '>=4'} + import-cwd@2.1.0: dependencies: import-from: 2.1.0 - /import-cwd@3.0.0: - resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} - engines: {node: '>=8'} + import-cwd@3.0.0: dependencies: import-from: 3.0.0 - /import-fresh@2.0.0: - resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==} - engines: {node: '>=4'} + import-fresh@2.0.0: dependencies: caller-path: 2.0.0 resolve-from: 3.0.0 - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - /import-from@2.1.0: - resolution: {integrity: sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==} - engines: {node: '>=4'} + import-from@2.1.0: dependencies: resolve-from: 3.0.0 - /import-from@3.0.0: - resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} - engines: {node: '>=8'} + import-from@3.0.0: dependencies: resolve-from: 5.0.0 - /import-lazy@2.1.0: - resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} - engines: {node: '>=4'} - dev: true + import-lazy@2.1.0: {} - /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true + import-local@3.1.0: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + imurmurhash@0.1.4: {} - /indent-string@3.2.0: - resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} - engines: {node: '>=4'} - dev: true + indent-string@3.2.0: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true + indent-string@4.0.0: {} - /indexes-of@1.0.1: - resolution: {integrity: sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==} + indexes-of@1.0.1: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - /inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + inherits@2.0.3: {} - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ini@1.3.7: - resolution: {integrity: sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==} - dev: true + ini@1.3.7: {} - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + ini@1.3.8: {} - /ini@2.0.0: - resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} - engines: {node: '>=10'} - dev: true + ini@2.0.0: {} - /iniparser@1.0.5: - resolution: {integrity: sha512-i40MWqgTU6h/70NtMsDVVDLjDYWwcIR1yIEVDPfxZIJno9z9L4s83p/V7vAu2i48Vj0gpByrkGFub7ko9XvPrw==} - requiresBuild: true - dev: false + iniparser@1.0.5: optional: true - /inline-source-map@0.6.2: - resolution: {integrity: sha512-0mVWSSbNDvedDWIN4wxLsdPM4a7cIPcpyMxj3QZ406QRwQ6ePGB1YIHxVPjqpcUGbWQ5C+nHTwGNWAGvt7ggVA==} + inline-source-map@0.6.2: dependencies: source-map: 0.5.7 - dev: true - /inline-style-parser@0.1.1: - resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==} - dev: false + inline-style-parser@0.1.1: {} - /inquirer-autosubmit-prompt@0.2.0: - resolution: {integrity: sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q==} + inquirer-autosubmit-prompt@0.2.0: dependencies: chalk: 2.4.2 inquirer: 6.5.2 rxjs: 6.6.7 - dev: true - /inquirer@3.3.0: - resolution: {integrity: sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==} - requiresBuild: true + inquirer@3.3.0: dependencies: ansi-escapes: 3.2.0 chalk: 2.1.0 @@ -14961,12 +23426,9 @@ packages: string-width: 2.1.1 strip-ansi: 4.0.0 through: 2.3.8 - dev: false optional: true - /inquirer@6.5.2: - resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} - engines: {node: '>=6.0.0'} + inquirer@6.5.2: dependencies: ansi-escapes: 3.2.0 chalk: 2.4.2 @@ -14981,11 +23443,8 @@ packages: string-width: 2.1.1 strip-ansi: 5.2.0 through: 2.3.8 - dev: true - /inquirer@7.3.3: - resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} - engines: {node: '>=8.0.0'} + inquirer@7.3.3: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -15000,11 +23459,8 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 through: 2.3.8 - dev: true - /insert-module-globals@7.2.1: - resolution: {integrity: sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==} - hasBin: true + insert-module-globals@7.2.1: dependencies: JSONStream: 1.3.5 acorn-node: 1.8.2 @@ -15016,38 +23472,24 @@ packages: through2: 2.0.5 undeclared-identifiers: 1.1.3 xtend: 4.0.2 - dev: true - /internal-slot@1.0.6: - resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==} - engines: {node: '>= 0.4'} + internal-slot@1.0.6: dependencies: get-intrinsic: 1.2.2 hasown: 2.0.0 side-channel: 1.0.4 - /internmap@1.0.1: - resolution: {integrity: sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==} - dev: false + internmap@1.0.1: {} - /internmap@2.0.3: - resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==} - engines: {node: '>=12'} - dev: false + internmap@2.0.3: {} - /intersection-observer@0.12.2: - resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} - dev: false + intersection-observer@0.12.2: {} - /invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + invariant@2.2.4: dependencies: loose-envify: 1.4.0 - dev: false - /ioredis@5.3.2: - resolution: {integrity: sha512-1DKMMzlIHM02eBBVOFQ1+AolGjs6+xEcM4PDL7NqOS6szq7H9jSaEkIUH6/a5Hl241LzW6JLSiAbNvTQjUupUA==} - engines: {node: '>=12.22.0'} + ioredis@5.3.2: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 @@ -15060,124 +23502,80 @@ packages: standard-as-callback: 2.1.0 transitivePeerDependencies: - supports-color - dev: false - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + ipaddr.js@1.9.1: {} - /ipaddr.js@2.1.0: - resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} - engines: {node: '>= 10'} + ipaddr.js@2.1.0: {} - /iron-webcrypto@1.0.0: - resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==} - dev: false + iron-webcrypto@1.0.0: {} - /is-absolute-url@2.1.0: - resolution: {integrity: sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==} - engines: {node: '>=0.10.0'} + is-absolute-url@2.1.0: {} - /is-accessor-descriptor@1.0.1: - resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} - engines: {node: '>= 0.10'} + is-accessor-descriptor@1.0.1: dependencies: hasown: 2.0.0 - dev: true - /is-alphabetical@1.0.4: - resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} - dev: true + is-alphabetical@1.0.4: {} - /is-alphabetical@2.0.1: - resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==} - dev: false + is-alphabetical@2.0.1: {} - /is-alphanumerical@1.0.4: - resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + is-alphanumerical@1.0.4: dependencies: is-alphabetical: 1.0.4 is-decimal: 1.0.4 - dev: true - /is-alphanumerical@2.0.1: - resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==} + is-alphanumerical@2.0.1: dependencies: is-alphabetical: 2.0.1 is-decimal: 2.0.1 - dev: false - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + is-arguments@1.1.1: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - /is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + is-array-buffer@3.0.2: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-arrayish@0.2.1: {} - /is-arrayish@0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-arrayish@0.3.2: {} - /is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} + is-async-function@2.0.0: dependencies: has-tostringtag: 1.0.0 - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.2.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - /is-buffer@1.1.6: - resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + is-buffer@1.1.6: {} - /is-buffer@2.0.5: - resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} - engines: {node: '>=4'} + is-buffer@2.0.5: {} - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + is-callable@1.2.7: {} - /is-ci@2.0.0: - resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} - hasBin: true + is-ci@2.0.0: dependencies: ci-info: 2.0.0 - dev: true - /is-color-stop@1.1.0: - resolution: {integrity: sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==} + is-color-stop@1.1.0: dependencies: css-color-names: 0.0.4 hex-color-regex: 1.1.0 @@ -15186,473 +23584,268 @@ packages: rgb-regex: 1.0.1 rgba-regex: 1.0.0 - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.13.1: dependencies: hasown: 2.0.0 - /is-data-descriptor@1.0.1: - resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} - engines: {node: '>= 0.4'} + is-data-descriptor@1.0.1: dependencies: hasown: 2.0.0 - dev: true - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.0 - /is-decimal@1.0.4: - resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} - dev: true + is-decimal@1.0.4: {} - /is-decimal@2.0.1: - resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==} - dev: false + is-decimal@2.0.1: {} - /is-descriptor@0.1.7: - resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} - engines: {node: '>= 0.4'} + is-descriptor@0.1.7: dependencies: is-accessor-descriptor: 1.0.1 is-data-descriptor: 1.0.1 - dev: true - /is-descriptor@1.0.3: - resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} - engines: {node: '>= 0.4'} + is-descriptor@1.0.3: dependencies: is-accessor-descriptor: 1.0.1 is-data-descriptor: 1.0.1 - dev: true - /is-directory@0.3.1: - resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==} - engines: {node: '>=0.10.0'} + is-directory@0.3.1: {} - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true + is-docker@2.2.1: {} - /is-docker@3.0.0: - resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - hasBin: true - dev: false + is-docker@3.0.0: {} - /is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} + is-extendable@0.1.1: {} - /is-extendable@1.0.1: - resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} - engines: {node: '>=0.10.0'} + is-extendable@1.0.1: dependencies: is-plain-object: 2.0.4 - dev: true - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-finalizationregistry@1.0.2: dependencies: call-bind: 1.0.5 - /is-fullwidth-code-point@1.0.0: - resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} - engines: {node: '>=0.10.0'} + is-fullwidth-code-point@1.0.0: dependencies: number-is-nan: 1.0.1 - /is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} + is-fullwidth-code-point@2.0.0: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} + is-generator-fn@2.1.0: {} - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + is-generator-function@1.0.10: dependencies: has-tostringtag: 1.0.0 - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-hexadecimal@1.0.4: - resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} - dev: true + is-hexadecimal@1.0.4: {} - /is-hexadecimal@2.0.1: - resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==} - dev: false + is-hexadecimal@2.0.1: {} - /is-inside-container@1.0.0: - resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} - engines: {node: '>=14.16'} - hasBin: true + is-inside-container@1.0.0: dependencies: is-docker: 3.0.0 - dev: false - /is-installed-globally@0.3.2: - resolution: {integrity: sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==} - engines: {node: '>=8'} + is-installed-globally@0.3.2: dependencies: global-dirs: 2.1.0 is-path-inside: 3.0.3 - dev: true - /is-installed-globally@0.4.0: - resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} - engines: {node: '>=10'} + is-installed-globally@0.4.0: dependencies: global-dirs: 3.0.1 is-path-inside: 3.0.3 - dev: true - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true + is-interactive@1.0.0: {} - /is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + is-map@2.0.2: {} - /is-module@1.0.0: - resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} + is-module@1.0.0: {} - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} + is-negative-zero@2.0.2: {} - /is-npm@5.0.0: - resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} - engines: {node: '>=10'} - dev: true + is-npm@5.0.0: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.0 - /is-number@3.0.0: - resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} - engines: {node: '>=0.10.0'} + is-number@3.0.0: dependencies: kind-of: 3.2.2 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} + is-obj@1.0.1: {} - /is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + is-obj@2.0.0: {} - /is-obj@3.0.0: - resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} - engines: {node: '>=12'} - dev: false + is-obj@3.0.0: {} - /is-observable@1.1.0: - resolution: {integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==} - engines: {node: '>=4'} + is-observable@1.1.0: dependencies: symbol-observable: 1.2.0 - dev: true - /is-path-cwd@2.2.0: - resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==} - engines: {node: '>=6'} - dev: true + is-path-cwd@2.2.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + is-path-inside@3.0.3: {} - /is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - dev: true + is-plain-obj@1.1.0: {} - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: true + is-plain-obj@2.1.0: {} - /is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} + is-plain-obj@3.0.0: {} - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: false + is-plain-obj@4.1.0: {} - /is-plain-object@2.0.4: - resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} - engines: {node: '>=0.10.0'} + is-plain-object@2.0.4: dependencies: isobject: 3.0.1 - dev: true - /is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + is-potential-custom-element-name@1.0.1: {} - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: true + is-promise@2.2.2: {} - /is-reference@1.2.1: - resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} + is-reference@1.2.1: dependencies: '@types/estree': 1.0.5 - /is-reference@3.0.2: - resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} + is-reference@3.0.2: dependencies: '@types/estree': 1.0.5 - dev: false - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.5 has-tostringtag: 1.0.0 - /is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} + is-regexp@1.0.0: {} - /is-resolvable@1.1.0: - resolution: {integrity: sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==} + is-resolvable@1.1.0: {} - /is-root@2.1.0: - resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} - engines: {node: '>=6'} + is-root@2.1.0: {} - /is-scoped@2.1.0: - resolution: {integrity: sha512-Cv4OpPTHAK9kHYzkzCrof3VJh7H/PrG2MBUMvvJebaaUMbqhm0YAtXnvh0I3Hnj2tMZWwrRROWLSgfJrKqWmlQ==} - engines: {node: '>=8'} + is-scoped@2.1.0: dependencies: scoped-regex: 2.1.0 - dev: true - /is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + is-set@2.0.2: {} - /is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + is-shared-array-buffer@1.0.2: dependencies: call-bind: 1.0.5 - /is-ssh@1.4.0: - resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + is-ssh@1.4.0: dependencies: protocols: 2.0.1 - dev: false - /is-stream@1.1.0: - resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} - engines: {node: '>=0.10.0'} + is-stream@1.1.0: {} - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + is-stream@2.0.1: {} - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: false + is-stream@3.0.0: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.0 - /is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} + is-subdir@1.2.0: dependencies: better-path-resolve: 1.0.0 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - /is-typed-array@1.1.12: - resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.12: dependencies: which-typed-array: 1.1.13 - /is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + is-typedarray@1.0.0: {} - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true + is-unicode-supported@0.1.0: {} - /is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} - dev: true + is-url-superb@4.0.0: {} - /is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + is-weakmap@2.0.1: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.0.2: dependencies: call-bind: 1.0.5 - /is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + is-weakset@2.0.2: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true + is-windows@1.0.2: {} - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} + is-wsl@2.2.0: dependencies: is-docker: 2.2.1 - /is-wsl@3.1.0: - resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} - engines: {node: '>=16'} + is-wsl@3.1.0: dependencies: is-inside-container: 1.0.0 - dev: false - /is-yarn-global@0.3.0: - resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} - dev: true + is-yarn-global@0.3.0: {} - /is64bit@2.0.0: - resolution: {integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==} - engines: {node: '>=18'} + is64bit@2.0.0: dependencies: system-architecture: 0.1.0 - dev: false - /is@3.3.0: - resolution: {integrity: sha512-nW24QBoPcFGGHJGUwnfpI7Yc5CdqWNdsyHQszVE/z2pKHXzh7FZ5GWhJqSyaQ9wMkQnsTx+kAI8bHlCX4tKdbg==} - dev: true + is@3.3.0: {} - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isarray@1.0.0: {} - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@2.0.0: {} - /iso-url@0.4.7(patch_hash=436asxcee6selccg7sdh7lg6f4): - resolution: {integrity: sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==} - engines: {node: '>=10'} - dev: false - patched: true + iso-url@0.4.7(patch_hash=436asxcee6selccg7sdh7lg6f4): {} - /isobject@0.2.0: - resolution: {integrity: sha512-VaWq6XYAsbvM0wf4dyBO7WH9D7GosB7ZZlqrawI9BBiTMINBeCyqSKBa35m870MY3O4aM31pYyZi9DfGrYMJrQ==} - engines: {node: '>=0.10.0'} - dev: true + isobject@0.2.0: {} - /isobject@2.1.0: - resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} - engines: {node: '>=0.10.0'} + isobject@2.1.0: dependencies: isarray: 1.0.0 - dev: true - /isobject@3.0.1: - resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} - engines: {node: '>=0.10.0'} - dev: true + isobject@3.0.1: {} - /isomorphic-unfetch@3.1.0: - resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} + isomorphic-unfetch@3.1.0: dependencies: node-fetch: 2.7.0 unfetch: 4.2.0 transitivePeerDependencies: - encoding - dev: false - /isomorphic-ws@4.0.1(ws@7.5.9): - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' + isomorphic-ws@4.0.1(ws@7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: - ws: 7.5.9 - dev: false + ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10) - /isomorphic-ws@5.0.0(ws@8.13.0): - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} - peerDependencies: - ws: '*' + isomorphic-ws@5.0.0(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - dev: false - /isows@1.0.3(ws@8.13.0): - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} - peerDependencies: - ws: '*' + isows@1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)): dependencies: ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - dev: false - /isstream@0.1.2: - resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} - dev: true + isstream@0.1.2: {} - /issue-regex@3.1.0: - resolution: {integrity: sha512-0RHjbtw9QXeSYnIEY5Yrp2QZrdtz21xBDV9C/GIlY2POmgoS6a7qjkYS5siRKXScnuAj5/SPv1C3YForNCHTJA==} - engines: {node: '>=10'} - dev: true + issue-regex@3.1.0: {} - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} + istanbul-lib-coverage@3.2.2: {} - /istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} + istanbul-lib-instrument@4.0.3: dependencies: '@babel/core': 7.23.9 '@istanbuljs/schema': 0.1.3 @@ -15660,11 +23853,8 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.23.9 '@babel/parser': 7.23.9 @@ -15674,17 +23864,13 @@ packages: transitivePeerDependencies: - supports-color - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} + istanbul-lib-source-maps@4.0.1: dependencies: debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 @@ -15692,19 +23878,14 @@ packages: transitivePeerDependencies: - supports-color - /istanbul-reports@3.1.6: - resolution: {integrity: sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==} - engines: {node: '>=8'} + istanbul-reports@3.1.6: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - /iterall@1.3.0: - resolution: {integrity: sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg==} - dev: false + iterall@1.3.0: {} - /iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + iterator.prototype@1.1.2: dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.2 @@ -15712,28 +23893,20 @@ packages: reflect.getprototypeof: 1.0.4 set-function-name: 2.0.1 - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - /jake@10.8.7: - resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==} - engines: {node: '>=10'} - hasBin: true + jake@10.8.7: dependencies: async: 3.2.5 chalk: 4.1.2 filelist: 1.0.4 minimatch: 3.1.2 - /jayson@4.1.0: - resolution: {integrity: sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A==} - engines: {node: '>=8'} - hasBin: true + jayson@4.1.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@types/connect': 3.4.38 '@types/node': 12.20.55 @@ -15743,43 +23916,31 @@ packages: delay: 5.0.0 es6-promisify: 5.0.0 eyes: 0.1.8 - isomorphic-ws: 4.0.1(ws@7.5.9) + isomorphic-ws: 4.0.1(ws@7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)) json-stringify-safe: 5.0.1 uuid: 8.3.2 - ws: 7.5.9 + ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /jdenticon@3.2.0: - resolution: {integrity: sha512-z6Iq3fTODUMSOiR2nNYrqigS6Y0GvdXfyQWrUby7htDHvX7GNEwaWR4hcaL+FmhEgBe08Xkup/BKxXQhDJByPA==} - engines: {node: '>=6.4.0'} - hasBin: true + jdenticon@3.2.0: dependencies: canvas-renderer: 2.2.1 - dev: false - /jest-changed-files@26.6.2: - resolution: {integrity: sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ==} - engines: {node: '>= 10.14.2'} + jest-changed-files@26.6.2: dependencies: '@jest/types': 26.6.2 execa: 4.1.0 throat: 5.0.0 - dev: true - /jest-changed-files@27.5.1: - resolution: {integrity: sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-changed-files@27.5.1: dependencies: '@jest/types': 27.5.1 execa: 5.1.1 throat: 6.0.2 - /jest-circus@27.5.1: - resolution: {integrity: sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-circus@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/test-result': 27.5.1 @@ -15803,12 +23964,9 @@ packages: transitivePeerDependencies: - supports-color - /jest-cli@26.6.3: - resolution: {integrity: sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg==} - engines: {node: '>= 10.14.2'} - hasBin: true + jest-cli@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 26.6.3 + '@jest/core': 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 chalk: 4.1.2 @@ -15816,7 +23974,7 @@ packages: graceful-fs: 4.2.11 import-local: 3.1.0 is-ci: 2.0.0 - jest-config: 26.6.3 + jest-config: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-util: 26.6.2 jest-validate: 26.6.2 prompts: 2.4.2 @@ -15827,30 +23985,23 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /jest-cli@27.5.1: - resolution: {integrity: sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-cli@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 27.5.1 + '@jest/core': 27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 27.5.1 + jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 yargs: 16.2.0 + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - bufferutil - canvas @@ -15858,48 +24009,35 @@ packages: - ts-node - utf-8-validate - /jest-config@26.6.3: - resolution: {integrity: sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg==} - engines: {node: '>= 10.14.2'} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true + jest-config@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.23.9 - '@jest/test-sequencer': 26.6.3 + '@jest/test-sequencer': 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) '@jest/types': 26.6.2 babel-jest: 26.6.3(@babel/core@7.23.9) chalk: 4.1.2 deepmerge: 4.3.1 glob: 7.2.3 graceful-fs: 4.2.11 - jest-environment-jsdom: 26.6.2 + jest-environment-jsdom: 26.6.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) jest-environment-node: 26.6.2 jest-get-type: 26.3.0 - jest-jasmine2: 26.6.3 + jest-jasmine2: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-regex-util: 26.0.0 jest-resolve: 26.6.2 jest-util: 26.6.2 jest-validate: 26.6.2 micromatch: 4.0.5 pretty-format: 26.6.2 + optionalDependencies: + ts-node: 10.9.1(@types/node@16.18.76)(typescript@4.9.5) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - dev: true - /jest-config@27.5.1: - resolution: {integrity: sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - peerDependencies: - ts-node: '>=9.0.0' - peerDependenciesMeta: - ts-node: - optional: true + jest-config@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.23.9 '@jest/test-sequencer': 27.5.1 @@ -15911,13 +24049,13 @@ packages: glob: 7.2.3 graceful-fs: 4.2.11 jest-circus: 27.5.1 - jest-environment-jsdom: 27.5.1 + jest-environment-jsdom: 27.5.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) jest-environment-node: 27.5.1 jest-get-type: 27.5.1 jest-jasmine2: 27.5.1 jest-regex-util: 27.5.1 jest-resolve: 27.5.1 - jest-runner: 27.5.1 + jest-runner: 27.5.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) jest-util: 27.5.1 jest-validate: 27.5.1 micromatch: 4.0.5 @@ -15925,67 +24063,52 @@ packages: pretty-format: 27.5.1 slash: 3.0.0 strip-json-comments: 3.1.1 + optionalDependencies: + ts-node: 10.9.1(@types/node@18.11.10)(typescript@4.9.5) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - /jest-diff@26.6.2: - resolution: {integrity: sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==} - engines: {node: '>= 10.14.2'} + jest-diff@26.6.2: dependencies: chalk: 4.1.2 diff-sequences: 26.6.2 jest-get-type: 26.3.0 pretty-format: 26.6.2 - /jest-diff@27.5.1: - resolution: {integrity: sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-diff@27.5.1: dependencies: chalk: 4.1.2 diff-sequences: 27.5.1 jest-get-type: 27.5.1 pretty-format: 27.5.1 - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-diff@29.7.0: dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-docblock@26.0.0: - resolution: {integrity: sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w==} - engines: {node: '>= 10.14.2'} + jest-docblock@26.0.0: dependencies: detect-newline: 3.1.0 - dev: true - /jest-docblock@27.5.1: - resolution: {integrity: sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-docblock@27.5.1: dependencies: detect-newline: 3.1.0 - /jest-each@26.6.2: - resolution: {integrity: sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A==} - engines: {node: '>= 10.14.2'} + jest-each@26.6.2: dependencies: '@jest/types': 26.6.2 chalk: 4.1.2 jest-get-type: 26.3.0 jest-util: 26.6.2 pretty-format: 26.6.2 - dev: true - /jest-each@27.5.1: - resolution: {integrity: sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-each@27.5.1: dependencies: '@jest/types': 27.5.1 chalk: 4.1.2 @@ -15993,9 +24116,7 @@ packages: jest-util: 27.5.1 pretty-format: 27.5.1 - /jest-environment-jsdom@26.6.2: - resolution: {integrity: sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q==} - engines: {node: '>= 10.14.2'} + jest-environment-jsdom@26.6.2(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@jest/environment': 26.6.2 '@jest/fake-timers': 26.6.2 @@ -16003,17 +24124,14 @@ packages: '@types/node': 16.18.76 jest-mock: 26.6.2 jest-util: 26.6.2 - jsdom: 16.7.0 + jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - dev: true - /jest-environment-jsdom@27.5.1: - resolution: {integrity: sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-environment-jsdom@27.5.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 @@ -16021,16 +24139,14 @@ packages: '@types/node': 16.18.76 jest-mock: 27.5.1 jest-util: 27.5.1 - jsdom: 16.7.0 + jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - canvas - supports-color - utf-8-validate - /jest-environment-node@26.6.2: - resolution: {integrity: sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag==} - engines: {node: '>= 10.14.2'} + jest-environment-node@26.6.2: dependencies: '@jest/environment': 26.6.2 '@jest/fake-timers': 26.6.2 @@ -16038,11 +24154,8 @@ packages: '@types/node': 16.18.76 jest-mock: 26.6.2 jest-util: 26.6.2 - dev: true - /jest-environment-node@27.5.1: - resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-environment-node@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 @@ -16051,22 +24164,13 @@ packages: jest-mock: 27.5.1 jest-util: 27.5.1 - /jest-get-type@26.3.0: - resolution: {integrity: sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==} - engines: {node: '>= 10.14.2'} + jest-get-type@26.3.0: {} - /jest-get-type@27.5.1: - resolution: {integrity: sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-get-type@27.5.1: {} - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-get-type@29.6.3: {} - /jest-haste-map@26.6.2: - resolution: {integrity: sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w==} - engines: {node: '>= 10.14.2'} + jest-haste-map@26.6.2: dependencies: '@jest/types': 26.6.2 '@types/graceful-fs': 4.1.9 @@ -16085,11 +24189,8 @@ packages: fsevents: 2.3.3 transitivePeerDependencies: - supports-color - dev: true - /jest-haste-map@27.5.1: - resolution: {integrity: sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-haste-map@27.5.1: dependencies: '@jest/types': 27.5.1 '@types/graceful-fs': 4.1.9 @@ -16106,9 +24207,7 @@ packages: optionalDependencies: fsevents: 2.3.3 - /jest-jasmine2@26.6.3: - resolution: {integrity: sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg==} - engines: {node: '>= 10.14.2'} + jest-jasmine2@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: '@babel/traverse': 7.23.9 '@jest/environment': 26.6.2 @@ -16123,7 +24222,7 @@ packages: jest-each: 26.6.2 jest-matcher-utils: 26.6.2 jest-message-util: 26.6.2 - jest-runtime: 26.6.3 + jest-runtime: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-snapshot: 26.6.2 jest-util: 26.6.2 pretty-format: 26.6.2 @@ -16134,11 +24233,8 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /jest-jasmine2@27.5.1: - resolution: {integrity: sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-jasmine2@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/source-map': 27.5.1 @@ -16160,53 +24256,38 @@ packages: transitivePeerDependencies: - supports-color - /jest-leak-detector@26.6.2: - resolution: {integrity: sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg==} - engines: {node: '>= 10.14.2'} + jest-leak-detector@26.6.2: dependencies: jest-get-type: 26.3.0 pretty-format: 26.6.2 - dev: true - /jest-leak-detector@27.5.1: - resolution: {integrity: sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-leak-detector@27.5.1: dependencies: jest-get-type: 27.5.1 pretty-format: 27.5.1 - /jest-matcher-utils@26.6.2: - resolution: {integrity: sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==} - engines: {node: '>= 10.14.2'} + jest-matcher-utils@26.6.2: dependencies: chalk: 4.1.2 jest-diff: 26.6.2 jest-get-type: 26.3.0 pretty-format: 26.6.2 - dev: true - /jest-matcher-utils@27.5.1: - resolution: {integrity: sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-matcher-utils@27.5.1: dependencies: chalk: 4.1.2 jest-diff: 27.5.1 jest-get-type: 27.5.1 pretty-format: 27.5.1 - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-message-util@26.6.2: - resolution: {integrity: sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA==} - engines: {node: '>= 10.14.2'} + jest-message-util@26.6.2: dependencies: '@babel/code-frame': 7.23.5 '@jest/types': 26.6.2 @@ -16217,11 +24298,8 @@ packages: pretty-format: 26.6.2 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-message-util@27.5.1: - resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-message-util@27.5.1: dependencies: '@babel/code-frame': 7.23.5 '@jest/types': 27.5.1 @@ -16233,9 +24311,7 @@ packages: slash: 3.0.0 stack-utils: 2.0.6 - /jest-message-util@28.1.3: - resolution: {integrity: sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-message-util@28.1.3: dependencies: '@babel/code-frame': 7.23.5 '@jest/types': 28.1.3 @@ -16247,9 +24323,7 @@ packages: slash: 3.0.0 stack-utils: 2.0.6 - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-message-util@29.7.0: dependencies: '@babel/code-frame': 7.23.5 '@jest/types': 29.6.3 @@ -16260,73 +24334,40 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-mock@26.6.2: - resolution: {integrity: sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew==} - engines: {node: '>= 10.14.2'} + jest-mock@26.6.2: dependencies: '@jest/types': 26.6.2 '@types/node': 16.18.76 - dev: true - /jest-mock@27.5.1: - resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-mock@27.5.1: dependencies: '@jest/types': 27.5.1 '@types/node': 16.18.76 - /jest-pnp-resolver@1.2.3(jest-resolve@26.6.2): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: + jest-pnp-resolver@1.2.3(jest-resolve@26.6.2): + optionalDependencies: jest-resolve: 26.6.2 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - dependencies: + jest-pnp-resolver@1.2.3(jest-resolve@27.5.1): + optionalDependencies: jest-resolve: 27.5.1 - /jest-regex-util@26.0.0: - resolution: {integrity: sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A==} - engines: {node: '>= 10.14.2'} - dev: true + jest-regex-util@26.0.0: {} - /jest-regex-util@27.5.1: - resolution: {integrity: sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-regex-util@27.5.1: {} - /jest-regex-util@28.0.2: - resolution: {integrity: sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-regex-util@28.0.2: {} - /jest-resolve-dependencies@26.6.3: - resolution: {integrity: sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg==} - engines: {node: '>= 10.14.2'} + jest-resolve-dependencies@26.6.3: dependencies: '@jest/types': 26.6.2 jest-regex-util: 26.0.0 jest-snapshot: 26.6.2 transitivePeerDependencies: - supports-color - dev: true - /jest-resolve-dependencies@27.5.1: - resolution: {integrity: sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-resolve-dependencies@27.5.1: dependencies: '@jest/types': 27.5.1 jest-regex-util: 27.5.1 @@ -16334,9 +24375,7 @@ packages: transitivePeerDependencies: - supports-color - /jest-resolve@26.6.2: - resolution: {integrity: sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ==} - engines: {node: '>= 10.14.2'} + jest-resolve@26.6.2: dependencies: '@jest/types': 26.6.2 chalk: 4.1.2 @@ -16346,11 +24385,8 @@ packages: read-pkg-up: 7.0.1 resolve: 1.22.8 slash: 3.0.0 - dev: true - /jest-resolve@27.5.1: - resolution: {integrity: sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-resolve@27.5.1: dependencies: '@jest/types': 27.5.1 chalk: 4.1.2 @@ -16363,9 +24399,7 @@ packages: resolve.exports: 1.1.1 slash: 3.0.0 - /jest-runner@26.6.3: - resolution: {integrity: sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ==} - engines: {node: '>= 10.14.2'} + jest-runner@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: '@jest/console': 26.6.2 '@jest/environment': 26.6.2 @@ -16376,13 +24410,13 @@ packages: emittery: 0.7.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 26.6.3 + jest-config: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-docblock: 26.0.0 jest-haste-map: 26.6.2 jest-leak-detector: 26.6.2 jest-message-util: 26.6.2 jest-resolve: 26.6.2 - jest-runtime: 26.6.3 + jest-runtime: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-util: 26.6.2 jest-worker: 26.6.2 source-map-support: 0.5.21 @@ -16393,11 +24427,8 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /jest-runner@27.5.1: - resolution: {integrity: sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-runner@27.5.1(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: '@jest/console': 27.5.1 '@jest/environment': 27.5.1 @@ -16409,7 +24440,7 @@ packages: emittery: 0.8.1 graceful-fs: 4.2.11 jest-docblock: 27.5.1 - jest-environment-jsdom: 27.5.1 + jest-environment-jsdom: 27.5.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) jest-environment-node: 27.5.1 jest-haste-map: 27.5.1 jest-leak-detector: 27.5.1 @@ -16426,10 +24457,7 @@ packages: - supports-color - utf-8-validate - /jest-runtime@26.6.3: - resolution: {integrity: sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw==} - engines: {node: '>= 10.14.2'} - hasBin: true + jest-runtime@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: '@jest/console': 26.6.2 '@jest/environment': 26.6.2 @@ -16446,7 +24474,7 @@ packages: exit: 0.1.2 glob: 7.2.3 graceful-fs: 4.2.11 - jest-config: 26.6.3 + jest-config: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-haste-map: 26.6.2 jest-message-util: 26.6.2 jest-mock: 26.6.2 @@ -16464,11 +24492,8 @@ packages: - supports-color - ts-node - utf-8-validate - dev: true - /jest-runtime@27.5.1: - resolution: {integrity: sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-runtime@27.5.1: dependencies: '@jest/environment': 27.5.1 '@jest/fake-timers': 27.5.1 @@ -16495,24 +24520,17 @@ packages: transitivePeerDependencies: - supports-color - /jest-serializer@26.6.2: - resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} - engines: {node: '>= 10.14.2'} + jest-serializer@26.6.2: dependencies: '@types/node': 16.18.76 graceful-fs: 4.2.11 - dev: true - /jest-serializer@27.5.1: - resolution: {integrity: sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-serializer@27.5.1: dependencies: '@types/node': 16.18.76 graceful-fs: 4.2.11 - /jest-snapshot@26.6.2: - resolution: {integrity: sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og==} - engines: {node: '>= 10.14.2'} + jest-snapshot@26.6.2: dependencies: '@babel/types': 7.23.9 '@jest/types': 26.6.2 @@ -16532,11 +24550,8 @@ packages: semver: 7.5.4 transitivePeerDependencies: - supports-color - dev: true - /jest-snapshot@27.5.1: - resolution: {integrity: sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-snapshot@27.5.1: dependencies: '@babel/core': 7.23.9 '@babel/generator': 7.23.6 @@ -16563,9 +24578,7 @@ packages: transitivePeerDependencies: - supports-color - /jest-util@26.6.2: - resolution: {integrity: sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q==} - engines: {node: '>= 10.14.2'} + jest-util@26.6.2: dependencies: '@jest/types': 26.6.2 '@types/node': 16.18.76 @@ -16573,11 +24586,8 @@ packages: graceful-fs: 4.2.11 is-ci: 2.0.0 micromatch: 4.0.5 - dev: true - /jest-util@27.5.1: - resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-util@27.5.1: dependencies: '@jest/types': 27.5.1 '@types/node': 16.18.76 @@ -16586,9 +24596,7 @@ packages: graceful-fs: 4.2.11 picomatch: 2.3.1 - /jest-util@28.1.3: - resolution: {integrity: sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-util@28.1.3: dependencies: '@jest/types': 28.1.3 '@types/node': 16.18.76 @@ -16597,9 +24605,7 @@ packages: graceful-fs: 4.2.11 picomatch: 2.3.1 - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 16.18.76 @@ -16607,11 +24613,8 @@ packages: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /jest-validate@26.6.2: - resolution: {integrity: sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ==} - engines: {node: '>= 10.14.2'} + jest-validate@26.6.2: dependencies: '@jest/types': 26.6.2 camelcase: 6.3.0 @@ -16619,11 +24622,8 @@ packages: jest-get-type: 26.3.0 leven: 3.1.0 pretty-format: 26.6.2 - dev: true - /jest-validate@27.5.1: - resolution: {integrity: sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-validate@27.5.1: dependencies: '@jest/types': 27.5.1 camelcase: 6.3.0 @@ -16632,24 +24632,18 @@ packages: leven: 3.1.0 pretty-format: 27.5.1 - /jest-watch-typeahead@1.1.0(jest@27.5.1): - resolution: {integrity: sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - jest: ^27.0.0 || ^28.0.0 + jest-watch-typeahead@1.1.0(jest@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10)): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 - jest: 27.5.1 + jest: 27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-regex-util: 28.0.2 jest-watcher: 28.1.3 slash: 4.0.0 string-length: 5.0.1 strip-ansi: 7.1.0 - /jest-watcher@26.6.2: - resolution: {integrity: sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ==} - engines: {node: '>= 10.14.2'} + jest-watcher@26.6.2: dependencies: '@jest/test-result': 26.6.2 '@jest/types': 26.6.2 @@ -16658,11 +24652,8 @@ packages: chalk: 4.1.2 jest-util: 26.6.2 string-length: 4.0.2 - dev: true - /jest-watcher@27.5.1: - resolution: {integrity: sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + jest-watcher@27.5.1: dependencies: '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 @@ -16672,9 +24663,7 @@ packages: jest-util: 27.5.1 string-length: 4.0.2 - /jest-watcher@28.1.3: - resolution: {integrity: sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-watcher@28.1.3: dependencies: '@jest/test-result': 28.1.3 '@jest/types': 28.1.3 @@ -16685,59 +24674,43 @@ packages: jest-util: 28.1.3 string-length: 4.0.2 - /jest-worker@26.6.2: - resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} - engines: {node: '>= 10.13.0'} + jest-worker@26.6.2: dependencies: '@types/node': 16.18.76 merge-stream: 2.0.0 supports-color: 7.2.0 - /jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} + jest-worker@27.5.1: dependencies: '@types/node': 16.18.76 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest-worker@28.1.3: - resolution: {integrity: sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + jest-worker@28.1.3: dependencies: '@types/node': 16.18.76 merge-stream: 2.0.0 supports-color: 8.1.1 - /jest@26.6.3: - resolution: {integrity: sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q==} - engines: {node: '>= 10.14.2'} - hasBin: true + jest@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 26.6.3 + '@jest/core': 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) import-local: 3.1.0 - jest-cli: 26.6.3 + jest-cli: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - canvas - supports-color - ts-node - utf-8-validate - dev: true - /jest@27.5.1: - resolution: {integrity: sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 27.5.1 + '@jest/core': 27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) import-local: 3.1.0 - jest-cli: 27.5.1 + jest-cli: 27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) + optionalDependencies: + node-notifier: 8.0.2 transitivePeerDependencies: - bufferutil - canvas @@ -16745,47 +24718,26 @@ packages: - ts-node - utf-8-validate - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true + jiti@1.21.0: {} - /js-base64@3.7.6: - resolution: {integrity: sha512-NPrWuHFxFUknr1KqJRDgUQPexQF0uIJWjeT+2KjEePhitQxQEx5EJBG1lVn5/hc8aLycTpXrDOgPQ6Zq+EDiTA==} - dev: false + js-base64@3.7.6: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + js-tokens@4.0.0: {} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - /jsbn@0.1.1: - resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} - dev: true + jsbn@0.1.1: {} - /jschardet@3.0.0: - resolution: {integrity: sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==} - engines: {node: '>=0.1.90'} - dev: false + jschardet@3.0.0: {} - /jsdom@16.7.0: - resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} - engines: {node: '>=10'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true + jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): dependencies: abab: 2.0.6 acorn: 8.11.3 @@ -16812,151 +24764,102 @@ packages: whatwg-encoding: 1.0.5 whatwg-mimetype: 2.3.0 whatwg-url: 8.7.0 - ws: 7.5.9 + ws: 7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10) xml-name-validator: 3.0.0 transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true + jsesc@0.5.0: {} - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true + jsesc@2.5.2: {} - /json-buffer@3.0.0: - resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + json-buffer@3.0.0: {} - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-buffer@3.0.1: {} - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + json-parse-better-errors@1.0.2: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-parse-even-better-errors@2.3.1: {} - /json-rpc-engine@6.1.0: - resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==} - engines: {node: '>=10.0.0'} + json-rpc-engine@6.1.0: dependencies: '@metamask/safe-event-emitter': 2.0.0 eth-rpc-errors: 4.0.2 - dev: false - /json-rpc-random-id@1.0.1: - resolution: {integrity: sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA==} - dev: false + json-rpc-random-id@1.0.1: {} - /json-schema-defaults@0.1.1: - resolution: {integrity: sha512-6Q5YS7pSDCXUbtS9uAFE+uUgvE45dBHCMyhqe6liJmL+oIa4zbACSS6nr6Lh+73mN+MnWBCExtN3C14S7Jrm7w==} - dev: true + json-schema-defaults@0.1.1: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + json-schema-traverse@0.4.1: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + json-schema-traverse@1.0.0: {} - /json-schema@0.4.0: - resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + json-schema@0.4.0: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json-stable-stringify-without-jsonify@1.0.1: {} - /json-stable-stringify@1.1.1: - resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} - engines: {node: '>= 0.4'} + json-stable-stringify@1.1.1: dependencies: call-bind: 1.0.5 isarray: 2.0.5 jsonify: 0.0.1 object-keys: 1.1.1 - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + json-stringify-safe@5.0.1: {} - /json-text-sequence@0.1.1: - resolution: {integrity: sha512-L3mEegEWHRekSHjc7+sc8eJhba9Clq1PZ8kMkzf8OxElhXc8O4TS5MwcVlj9aEbm5dr81N90WHC5nAz3UO971w==} + json-text-sequence@0.1.1: dependencies: delimit-stream: 0.1.0 - dev: false - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json5@1.0.2: dependencies: minimist: 1.2.8 - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true + json5@2.2.3: {} - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonc-parser@3.2.1: {} - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - /jsonify@0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + jsonify@0.0.1: {} - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} + jsonparse@1.3.1: {} - /jsonpath@1.1.1: - resolution: {integrity: sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==} + jsonpath@1.1.1: dependencies: esprima: 1.2.2 static-eval: 2.0.2 underscore: 1.12.1 - /jsonpointer@5.0.1: - resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} - engines: {node: '>=0.10.0'} + jsonpointer@5.0.1: {} - /jsonschema@1.1.0: - resolution: {integrity: sha512-nQhT+ioA1XM8CpxJYlBfcUj6HF3f3f2KbLgV3tcxOt85RKpk2b0Do/C5BnCCCfdAarAjWRSFlln0Uanl4tBCHA==} - dev: true + jsonschema@1.1.0: {} - /jsprim@1.4.2: - resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} - engines: {node: '>=0.6.0'} + jsprim@1.4.2: dependencies: assert-plus: 1.0.0 extsprintf: 1.3.0 json-schema: 0.4.0 verror: 1.10.0 - dev: true - /jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.7 array.prototype.flat: 1.3.2 object.assign: 4.1.5 object.values: 1.1.7 - /juice@8.1.0: - resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} - engines: {node: '>=10.0.0'} - hasBin: true + juice@8.1.0: dependencies: cheerio: 1.0.0-rc.10 commander: 6.2.1 @@ -16965,193 +24868,118 @@ packages: web-resource-inliner: 6.0.1 transitivePeerDependencies: - encoding - dev: true - /just-extend@6.2.0: - resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} - dev: true + just-extend@6.2.0: {} - /katex@0.16.9: - resolution: {integrity: sha512-fsSYjWS0EEOwvy81j3vRA8TEAhQhKiqO+FQaKWp0m39qwOzHVBgAUBIXWj1pB+O2W3fIpNa6Y9KSKCVbfPhyAQ==} - hasBin: true + katex@0.16.9: dependencies: commander: 8.3.0 - dev: false - /keccak@3.0.4: - resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} - engines: {node: '>=10.0.0'} - requiresBuild: true + keccak@3.0.4: dependencies: node-addon-api: 2.0.2 node-gyp-build: 4.8.0(patch_hash=tidq6bjknpovdjep75bj5ccgke) readable-stream: 3.6.2 - dev: false - /keyv@3.1.0: - resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + keyv@3.1.0: dependencies: json-buffer: 3.0.0 - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - /keyvaluestorage-interface@1.0.0: - resolution: {integrity: sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==} - dev: false + keyvaluestorage-interface@1.0.0: {} - /khroma@2.1.0: - resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - dev: false + khroma@2.1.0: {} - /kill-process-by-name@1.0.5: - resolution: {integrity: sha512-uxgO15GtTsK5ofd/c17saZ7GagZEJrMt5VY4AL5X+vVS3kw5uHfzyIk5+npRD8gowWvx3cB37vrCy/yr0PyD8A==} - dev: true + kill-process-by-name@1.0.5: {} - /kind-of@3.2.2: - resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} - engines: {node: '>=0.10.0'} + kind-of@3.2.2: dependencies: is-buffer: 1.1.6 - dev: true - /kind-of@4.0.0: - resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} - engines: {node: '>=0.10.0'} + kind-of@4.0.0: dependencies: is-buffer: 1.1.6 - dev: true - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + kind-of@6.0.3: {} - /klaw-sync@6.0.0: - resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + klaw-sync@6.0.0: dependencies: graceful-fs: 4.2.11 - dev: true - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + kleur@3.0.3: {} - /kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + kleur@4.1.5: {} - /klona@2.0.6: - resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} - engines: {node: '>= 8'} + klona@2.0.6: {} - /kolorist@1.8.0: - resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - dev: false + kolorist@1.8.0: {} - /kramed@0.5.6: - resolution: {integrity: sha512-V4qwQAp8HPQPU6Ph9Q4bc+P+nKQWEGlWYLRDkK7n+CPaMi8/VRm9/R710tRmag4whLsnKR91CO9Ras/Rnff9bw==} - hasBin: true - dev: true + kramed@0.5.6: {} - /labeled-stream-splicer@2.0.2: - resolution: {integrity: sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==} + labeled-stream-splicer@2.0.2: dependencies: inherits: 2.0.4 stream-splicer: 2.0.1 - dev: true - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + language-subtag-registry@0.3.22: {} - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} + language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.22 - /latest-version@5.1.0: - resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} - engines: {node: '>=8'} + latest-version@5.1.0: dependencies: package-json: 6.5.0 - dev: true - /launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + launch-editor@2.6.1: dependencies: picocolors: 1.0.0 shell-quote: 1.8.1 - /layout-base@1.0.2: - resolution: {integrity: sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==} - dev: false + layout-base@1.0.2: {} - /layout-base@2.0.1: - resolution: {integrity: sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==} - dev: false + layout-base@2.0.1: {} - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + leven@3.1.0: {} - /levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} + levn@0.3.0: dependencies: prelude-ls: 1.1.2 type-check: 0.3.2 - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - /libphonenumber-js@1.10.54: - resolution: {integrity: sha512-P+38dUgJsmh0gzoRDoM4F5jLbyfztkU6PY6eSK6S5HwTi/LPvnwXqVCQZlAy1FxZ5c48q25QhxGQ0pq+WQcSlQ==} - dev: false + libphonenumber-js@1.10.54: {} - /libsodium-wrappers@0.7.13: - resolution: {integrity: sha512-kasvDsEi/r1fMzKouIDv7B8I6vNmknXwGiYodErGuESoFTohGSKZplFtVxZqHaoQ217AynyIFgnOVRitpHs0Qw==} + libsodium-wrappers@0.7.13: dependencies: libsodium: 0.7.13 - dev: false - /libsodium@0.7.13: - resolution: {integrity: sha512-mK8ju0fnrKXXfleL53vtp9xiPq5hKM0zbDQtcxQIsSmxNgSxqCj6R7Hl9PkrNe2j29T4yoDaF7DJLK9/i5iWUw==} - dev: false + libsodium@0.7.13: {} - /lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} + lilconfig@2.1.0: {} - /lilconfig@3.0.0: - resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} - engines: {node: '>=14'} + lilconfig@3.0.0: {} - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + lines-and-columns@1.2.4: {} - /linkedom@0.14.26: - resolution: {integrity: sha512-mK6TrydfFA7phrnp+1j57ycBwFI5bGSW6YXlw9acHoqF+mP/y+FooEYYyniOt5Ot57FSKB3iwmnuQ1UUyNLm5A==} + linkedom@0.14.26: dependencies: css-select: 5.1.0 cssom: 0.5.0 html-escaper: 3.0.3 htmlparser2: 8.0.2 uhyphen: 0.2.0 - dev: false - /listenercount@1.0.1: - resolution: {integrity: sha512-3mk/Zag0+IJxeDrxSgaDPy4zZ3w05PRZeJNnlWhzFz5OkX49J4krc+A8X2d2M69vGMBEX0uyl8M+W+8gH+kBqQ==} - dev: true + listenercount@1.0.1: {} - /listhen@1.5.6: - resolution: {integrity: sha512-gTpEJhT5L85L0bFgmu+Boqu5rP4DwDtEb4Exq5gdQUxWRwx4jbzdInZkmyLONo5EwIcQB0k7ZpWlpCDPdL77EQ==} - hasBin: true + listhen@1.5.6: dependencies: '@parcel/watcher': 2.4.0 '@parcel/watcher-wasm': 2.3.0 @@ -17170,28 +24998,17 @@ packages: ufo: 1.3.2 untun: 0.1.3 uqr: 0.1.2 - dev: false - /listr-input@0.2.1: - resolution: {integrity: sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==} - engines: {node: '>=6'} + listr-input@0.2.1: dependencies: inquirer: 7.3.3 inquirer-autosubmit-prompt: 0.2.0 rxjs: 6.6.7 through: 2.3.8 - dev: true - /listr-silent-renderer@1.1.1: - resolution: {integrity: sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==} - engines: {node: '>=4'} - dev: true + listr-silent-renderer@1.1.1: {} - /listr-update-renderer@0.5.0(listr@0.14.3): - resolution: {integrity: sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==} - engines: {node: '>=6'} - peerDependencies: - listr: ^0.14.2 + listr-update-renderer@0.5.0(listr@0.14.3): dependencies: chalk: 1.1.3 cli-truncate: 0.2.1 @@ -17202,21 +25019,15 @@ packages: log-symbols: 1.0.2 log-update: 2.3.0 strip-ansi: 3.0.1 - dev: true - /listr-verbose-renderer@0.5.0: - resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} - engines: {node: '>=4'} + listr-verbose-renderer@0.5.0: dependencies: chalk: 2.4.2 cli-cursor: 2.1.0 date-fns: 1.30.1 figures: 2.0.0 - dev: true - /listr@0.14.3: - resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} - engines: {node: '>=6'} + listr@0.14.3: dependencies: '@samverschueren/stream-to-observable': 0.3.1(rxjs@6.6.7) is-observable: 1.1.0 @@ -17230,422 +25041,266 @@ packages: transitivePeerDependencies: - zen-observable - zenObservable - dev: true - /lit-element@3.3.3: - resolution: {integrity: sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==} + lit-element@3.3.3: dependencies: '@lit-labs/ssr-dom-shim': 1.1.2 '@lit/reactive-element': 1.6.3 lit-html: 2.8.0 - /lit-html@2.8.0: - resolution: {integrity: sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==} + lit-html@2.8.0: dependencies: '@types/trusted-types': 2.0.7 - /lit@2.8.0: - resolution: {integrity: sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==} + lit@2.8.0: dependencies: '@lit/reactive-element': 1.6.3 lit-element: 3.3.3 lit-html: 2.8.0 - /livereload-js@2.4.0: - resolution: {integrity: sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw==} - dev: true + livereload-js@2.4.0: {} - /load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} + load-json-file@4.0.0: dependencies: graceful-fs: 4.2.11 parse-json: 4.0.0 pify: 3.0.0 strip-bom: 3.0.0 - dev: true - /load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} + load-yaml-file@0.2.0: dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 pify: 4.0.1 strip-bom: 3.0.0 - dev: true - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} + loader-runner@4.3.0: {} - /loader-utils@1.4.2: - resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} - engines: {node: '>=4.0.0'} + loader-utils@1.4.2: dependencies: big.js: 5.2.2 emojis-list: 3.0.0 json5: 1.0.2 - /loader-utils@2.0.4: - resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} - engines: {node: '>=8.9.0'} + loader-utils@2.0.4: dependencies: big.js: 5.2.2 emojis-list: 3.0.0 json5: 2.2.3 - /loader-utils@3.2.1: - resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} - engines: {node: '>= 12.13.0'} + loader-utils@3.2.1: {} - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + locate-path@3.0.0: dependencies: p-locate: 3.0.0 path-exists: 3.0.0 - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - /lodash-es@4.17.21: - resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} - dev: false + lodash-es@4.17.21: {} - /lodash.camelcase@4.3.0: - resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.camelcase@4.3.0: {} - /lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + lodash.debounce@4.0.8: {} - /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - dev: false + lodash.defaults@4.2.0: {} - /lodash.flow@3.5.0: - resolution: {integrity: sha512-ff3BX/tSioo+XojX4MOsOMhJw0nZoUEF011LX8g8d3gvjVbxd89cCio4BCXronjxcTUIJUoqKEUA+n4CqvvRPw==} - dev: true + lodash.flow@3.5.0: {} - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + lodash.get@4.4.2: {} - /lodash.isarguments@3.1.0: - resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - dev: false + lodash.isarguments@3.1.0: {} - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + lodash.isequal@4.5.0: {} - /lodash.memoize@3.0.4: - resolution: {integrity: sha512-eDn9kqrAmVUC1wmZvlQ6Uhde44n+tXpqPrN8olQJbttgh0oKclk+SF54P47VEGE9CEiMeRwAP8BaM7UHvBkz2A==} - dev: true + lodash.memoize@3.0.4: {} - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + lodash.memoize@4.1.2: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.merge@4.6.2: {} - /lodash.padend@4.6.1: - resolution: {integrity: sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==} - requiresBuild: true - dev: false + lodash.padend@4.6.1: optional: true - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + lodash.sortby@4.7.0: {} - /lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - dev: true + lodash.startcase@4.4.0: {} - /lodash.uniq@4.5.0: - resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + lodash.uniq@4.5.0: {} - /lodash.zip@4.2.0: - resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} - dev: true + lodash.zip@4.2.0: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + lodash@4.17.21: {} - /log-symbols@1.0.2: - resolution: {integrity: sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==} - engines: {node: '>=0.10.0'} + log-symbols@1.0.2: dependencies: chalk: 1.1.3 - dev: true - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true - /log-update@2.3.0: - resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} - engines: {node: '>=4'} + log-update@2.3.0: dependencies: ansi-escapes: 3.2.0 cli-cursor: 2.1.0 wrap-ansi: 3.0.1 - dev: true - /loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} - engines: {node: '>= 0.6.0'} - dev: true + loglevel@1.9.1: {} - /long@4.0.0: - resolution: {integrity: sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==} - dev: true + long@4.0.0: {} - /longest-streak@2.0.4: - resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} - dev: true + longest-streak@2.0.4: {} - /longest-streak@3.1.0: - resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - dev: false + longest-streak@3.1.0: {} - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 - /loupe@3.1.0: - resolution: {integrity: sha512-qKl+FrLXUhFuHUoDJG7f8P8gEMHq9NFS0c6ghXG1J0rldmZFQZoNVv/vyirE9qwCIhWZDsvEFd1sbFu3GvRQFg==} + loupe@3.1.0: dependencies: get-func-name: 2.0.2 - dev: true - /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lower-case@2.0.2: dependencies: tslib: 2.6.2 - /lowercase-keys@1.0.1: - resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} - engines: {node: '>=0.10.0'} + lowercase-keys@1.0.1: {} - /lowercase-keys@2.0.0: - resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} - engines: {node: '>=8'} + lowercase-keys@2.0.0: {} - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + lru-cache@10.2.0: {} - /lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + lru-cache@4.1.5: dependencies: pseudomap: 1.0.2 yallist: 2.1.2 - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: true + lru-cache@7.18.3: {} - /lru_map@0.4.1: - resolution: {integrity: sha512-I+lBvqMMFfqaV8CJCISjI3wbjmwVu/VyOoU7+qtu9d7ioW5klMgsTTiUOUp+DJvfTTzKXoPbyC6YfgkNcyPSOg==} - dev: true + lru_map@0.4.1: {} - /lunr@0.5.12: - resolution: {integrity: sha512-/EtfOyuNP7BLVKhDvLyKJkFvCup2vwcIwQXCuasZEFk7XUJ4/blztVuefeLapUb1I5uMGsosN9A8J9Mu9A6yBg==} - dev: true + lunr@0.5.12: {} - /lunr@2.3.9: - resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} - dev: true + lunr@2.3.9: {} - /lz-string@1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true - dev: true + lz-string@1.5.0: {} - /magic-string@0.25.9: - resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + magic-string@0.25.9: dependencies: sourcemap-codec: 1.4.8 - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} - engines: {node: '>=12'} + magic-string@0.30.5: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} + magic-string@0.30.7: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - /make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} + make-dir@3.1.0: dependencies: semver: 6.3.1 - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + make-dir@4.0.0: dependencies: semver: 7.5.4 - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + make-error@1.3.6: {} - /makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + makeerror@1.0.12: dependencies: tmpl: 1.0.5 - /map-age-cleaner@0.1.3: - resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} - engines: {node: '>=6'} + map-age-cleaner@0.1.3: dependencies: p-defer: 1.0.0 - dev: true - /map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: true + map-cache@0.2.2: {} - /map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - dev: true + map-obj@1.0.1: {} - /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: true + map-obj@4.3.0: {} - /map-visit@1.0.0: - resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} - engines: {node: '>=0.10.0'} + map-visit@1.0.0: dependencies: object-visit: 1.0.1 - dev: true - /markdown-extensions@1.1.1: - resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==} - engines: {node: '>=0.10.0'} - dev: false + markdown-extensions@1.1.1: {} - /markdown-table@2.0.0: - resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==} + markdown-table@2.0.0: dependencies: repeat-string: 1.6.1 - dev: true - /markdown-table@3.0.3: - resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - dev: false + markdown-table@3.0.3: {} - /marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - dev: true + marked@4.3.0: {} - /match-sorter@6.3.3: - resolution: {integrity: sha512-sgiXxrRijEe0SzHKGX4HouCpfHRPnqteH42UdMEW7BlWy990ZkzcvonJGv4Uu9WE7Y1f8Yocm91+4qFPCbmNww==} + match-sorter@6.3.3: dependencies: '@babel/runtime': 7.23.9 remove-accents: 0.5.0 - dev: false - /matcher@3.0.0: - resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} - engines: {node: '>=10'} - requiresBuild: true + matcher@3.0.0: dependencies: escape-string-regexp: 4.0.0 - dev: false optional: true - /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + md5.js@1.3.5: dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /md5@2.3.0: - resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + md5@2.3.0: dependencies: charenc: 0.0.2 crypt: 0.0.2 is-buffer: 1.1.6 - dev: false - /mdast-util-definitions@5.1.2: - resolution: {integrity: sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==} + mdast-util-definitions@5.1.2: dependencies: '@types/mdast': 3.0.15 '@types/unist': 2.0.10 unist-util-visit: 4.1.2 - dev: false - /mdast-util-find-and-replace@1.1.1: - resolution: {integrity: sha512-9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==} + mdast-util-find-and-replace@1.1.1: dependencies: escape-string-regexp: 4.0.0 unist-util-is: 4.1.0 unist-util-visit-parents: 3.1.1 - dev: true - /mdast-util-find-and-replace@2.2.2: - resolution: {integrity: sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==} + mdast-util-find-and-replace@2.2.2: dependencies: '@types/mdast': 3.0.15 escape-string-regexp: 5.0.0 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 - dev: false - /mdast-util-footnote@0.1.7: - resolution: {integrity: sha512-QxNdO8qSxqbO2e3m09KwDKfWiLgqyCurdWTQ198NpbZ2hxntdc+VKS4fDJCmNWbAroUdYnSthu+XbZ8ovh8C3w==} + mdast-util-footnote@0.1.7: dependencies: mdast-util-to-markdown: 0.6.5 micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-from-markdown@0.8.5: - resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + mdast-util-from-markdown@0.8.5: dependencies: '@types/mdast': 3.0.15 mdast-util-to-string: 2.0.0 @@ -17654,10 +25309,8 @@ packages: unist-util-stringify-position: 2.0.3 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-from-markdown@1.3.1: - resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==} + mdast-util-from-markdown@1.3.1: dependencies: '@types/mdast': 3.0.15 '@types/unist': 2.0.10 @@ -17673,63 +25326,47 @@ packages: uvu: 0.5.6 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-frontmatter@0.2.0: - resolution: {integrity: sha512-FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==} + mdast-util-frontmatter@0.2.0: dependencies: micromark-extension-frontmatter: 0.2.2 - dev: true - /mdast-util-gfm-autolink-literal@0.1.3: - resolution: {integrity: sha512-GjmLjWrXg1wqMIO9+ZsRik/s7PLwTaeCHVB7vRxUwLntZc8mzmTsLVr6HW1yLokcnhfURsn5zmSVdi3/xWWu1A==} + mdast-util-gfm-autolink-literal@0.1.3: dependencies: ccount: 1.1.0 mdast-util-find-and-replace: 1.1.1 micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm-autolink-literal@1.0.3: - resolution: {integrity: sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==} + mdast-util-gfm-autolink-literal@1.0.3: dependencies: '@types/mdast': 3.0.15 ccount: 2.0.1 mdast-util-find-and-replace: 2.2.2 micromark-util-character: 1.2.0 - dev: false - /mdast-util-gfm-footnote@1.0.2: - resolution: {integrity: sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==} + mdast-util-gfm-footnote@1.0.2: dependencies: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 micromark-util-normalize-identifier: 1.1.0 - dev: false - /mdast-util-gfm-strikethrough@0.2.3: - resolution: {integrity: sha512-5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==} + mdast-util-gfm-strikethrough@0.2.3: dependencies: mdast-util-to-markdown: 0.6.5 - dev: true - /mdast-util-gfm-strikethrough@1.0.3: - resolution: {integrity: sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==} + mdast-util-gfm-strikethrough@1.0.3: dependencies: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 - dev: false - /mdast-util-gfm-table@0.1.6: - resolution: {integrity: sha512-j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==} + mdast-util-gfm-table@0.1.6: dependencies: markdown-table: 2.0.0 mdast-util-to-markdown: 0.6.5 - dev: true - /mdast-util-gfm-table@1.0.7: - resolution: {integrity: sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==} + mdast-util-gfm-table@1.0.7: dependencies: '@types/mdast': 3.0.15 markdown-table: 3.0.3 @@ -17737,23 +25374,17 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-gfm-task-list-item@0.1.6: - resolution: {integrity: sha512-/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==} + mdast-util-gfm-task-list-item@0.1.6: dependencies: mdast-util-to-markdown: 0.6.5 - dev: true - /mdast-util-gfm-task-list-item@1.0.2: - resolution: {integrity: sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==} + mdast-util-gfm-task-list-item@1.0.2: dependencies: '@types/mdast': 3.0.15 mdast-util-to-markdown: 1.5.0 - dev: false - /mdast-util-gfm@0.1.2: - resolution: {integrity: sha512-NNkhDx/qYcuOWB7xHUGWZYVXvjPFFd6afg6/e2g+SV4r9q5XUcCbV4Wfa3DLYIiD+xAEZc6K4MGaE/m0KDcPwQ==} + mdast-util-gfm@0.1.2: dependencies: mdast-util-gfm-autolink-literal: 0.1.3 mdast-util-gfm-strikethrough: 0.2.3 @@ -17762,10 +25393,8 @@ packages: mdast-util-to-markdown: 0.6.5 transitivePeerDependencies: - supports-color - dev: true - /mdast-util-gfm@2.0.2: - resolution: {integrity: sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==} + mdast-util-gfm@2.0.2: dependencies: mdast-util-from-markdown: 1.3.1 mdast-util-gfm-autolink-literal: 1.0.3 @@ -17776,18 +25405,14 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-math@2.0.2: - resolution: {integrity: sha512-8gmkKVp9v6+Tgjtq6SYx9kGPpTf6FVYRa53/DLh479aldR9AyP48qeVOgNZ5X7QUK7nOy4yw7vg6mbiGcs9jWQ==} + mdast-util-math@2.0.2: dependencies: '@types/mdast': 3.0.15 longest-streak: 3.1.0 mdast-util-to-markdown: 1.5.0 - dev: false - /mdast-util-mdx-expression@1.3.2: - resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==} + mdast-util-mdx-expression@1.3.2: dependencies: '@types/estree-jsx': 1.0.3 '@types/hast': 2.3.9 @@ -17796,10 +25421,8 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-mdx-jsx@2.1.4: - resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==} + mdast-util-mdx-jsx@2.1.4: dependencies: '@types/estree-jsx': 1.0.3 '@types/hast': 2.3.9 @@ -17815,10 +25438,8 @@ packages: vfile-message: 3.1.4 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-mdx@2.0.1: - resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==} + mdast-util-mdx@2.0.1: dependencies: mdast-util-from-markdown: 1.3.1 mdast-util-mdx-expression: 1.3.2 @@ -17827,10 +25448,8 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-mdxjs-esm@1.3.1: - resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==} + mdast-util-mdxjs-esm@1.3.1: dependencies: '@types/estree-jsx': 1.0.3 '@types/hast': 2.3.9 @@ -17839,17 +25458,13 @@ packages: mdast-util-to-markdown: 1.5.0 transitivePeerDependencies: - supports-color - dev: false - /mdast-util-phrasing@3.0.1: - resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==} + mdast-util-phrasing@3.0.1: dependencies: '@types/mdast': 3.0.15 unist-util-is: 5.2.1 - dev: false - /mdast-util-to-hast@12.3.0: - resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==} + mdast-util-to-hast@12.3.0: dependencies: '@types/hast': 2.3.9 '@types/mdast': 3.0.15 @@ -17859,10 +25474,8 @@ packages: unist-util-generated: 2.0.1 unist-util-position: 4.0.4 unist-util-visit: 4.1.2 - dev: false - /mdast-util-to-hast@13.1.0: - resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + mdast-util-to-hast@13.1.0: dependencies: '@types/hast': 3.0.3 '@types/mdast': 4.0.3 @@ -17873,10 +25486,8 @@ packages: unist-util-position: 5.0.0 unist-util-visit: 5.0.0 vfile: 6.0.1 - dev: false - /mdast-util-to-markdown@0.6.5: - resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} + mdast-util-to-markdown@0.6.5: dependencies: '@types/unist': 2.0.10 longest-streak: 2.0.4 @@ -17884,10 +25495,8 @@ packages: parse-entities: 2.0.0 repeat-string: 1.6.1 zwitch: 1.0.5 - dev: true - /mdast-util-to-markdown@1.5.0: - resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==} + mdast-util-to-markdown@1.5.0: dependencies: '@types/mdast': 3.0.15 '@types/unist': 2.0.10 @@ -17897,50 +25506,30 @@ packages: micromark-util-decode-string: 1.1.0 unist-util-visit: 4.1.2 zwitch: 2.0.4 - dev: false - /mdast-util-to-string@2.0.0: - resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} - dev: true + mdast-util-to-string@2.0.0: {} - /mdast-util-to-string@3.2.0: - resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} + mdast-util-to-string@3.2.0: dependencies: '@types/mdast': 3.0.15 - dev: false - /mdn-data@2.0.14: - resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + mdn-data@2.0.14: {} - /mdn-data@2.0.4: - resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} + mdn-data@2.0.4: {} - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} + media-typer@0.3.0: {} - /memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} + memfs@3.5.3: dependencies: fs-monkey: 1.0.5 - /memoize-one@5.2.1: - resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} - dev: true + memoize-one@5.2.1: {} - /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true + memorystream@0.3.1: {} - /mensch@0.3.4: - resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==} - dev: true + mensch@0.3.4: {} - /meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} + meow@6.1.1: dependencies: '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 @@ -17953,11 +25542,8 @@ packages: trim-newlines: 3.0.1 type-fest: 0.13.1 yargs-parser: 18.1.3 - dev: true - /meow@8.1.2: - resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} - engines: {node: '>=10'} + meow@8.1.2: dependencies: '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 @@ -17970,11 +25556,8 @@ packages: trim-newlines: 3.0.1 type-fest: 0.18.1 yargs-parser: 20.2.9 - dev: true - /meow@9.0.0: - resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} - engines: {node: '>=10'} + meow@9.0.0: dependencies: '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 @@ -17988,20 +25571,14 @@ packages: trim-newlines: 3.0.1 type-fest: 0.18.1 yargs-parser: 20.2.9 - dev: true - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + merge-descriptors@1.0.1: {} - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + merge2@1.4.1: {} - /mermaid@10.7.0: - resolution: {integrity: sha512-PsvGupPCkN1vemAAjScyw4pw34p4/0dZkSrqvAB26hUvJulOWGIwt35FZWmT9wPIi4r0QLa5X0PB4YLIGn0/YQ==} + mermaid@10.7.0: dependencies: '@braintree/sanitize-url': 6.0.4 '@types/d3-scale': 4.0.8 @@ -18025,14 +25602,10 @@ packages: web-worker: 1.3.0 transitivePeerDependencies: - supports-color - dev: false - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} + methods@1.1.2: {} - /micromark-core-commonmark@1.1.0: - resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==} + micromark-core-commonmark@1.1.0: dependencies: decode-named-character-reference: 1.0.2 micromark-factory-destination: 1.1.0 @@ -18050,41 +25623,31 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-footnote@0.3.2: - resolution: {integrity: sha512-gr/BeIxbIWQoUm02cIfK7mdMZ/fbroRpLsck4kvFtjbzP4yi+OPVbnukTc/zy0i7spC2xYE/dbX1Sur8BEDJsQ==} + micromark-extension-footnote@0.3.2: dependencies: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true - /micromark-extension-frontmatter@0.2.2: - resolution: {integrity: sha512-q6nPLFCMTLtfsctAuS0Xh4vaolxSFUWUWR6PZSrXXiRy+SANGllpcqdXFv2z07l0Xz/6Hl40hK0ffNCJPH2n1A==} + micromark-extension-frontmatter@0.2.2: dependencies: fault: 1.0.4 - dev: true - /micromark-extension-gfm-autolink-literal@0.5.7: - resolution: {integrity: sha512-ePiDGH0/lhcngCe8FtH4ARFoxKTUelMp4L7Gg2pujYD5CSMb9PbblnyL+AAMud/SNMyusbS2XDSiPIRcQoNFAw==} + micromark-extension-gfm-autolink-literal@0.5.7: dependencies: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true - /micromark-extension-gfm-autolink-literal@1.0.5: - resolution: {integrity: sha512-z3wJSLrDf8kRDOh2qBtoTRD53vJ+CWIyo7uyZuxf/JAbNJjiHsOpG1y5wxk8drtv3ETAHutCu6N3thkOOgueWg==} + micromark-extension-gfm-autolink-literal@1.0.5: dependencies: micromark-util-character: 1.2.0 micromark-util-sanitize-uri: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-extension-gfm-footnote@1.1.2: - resolution: {integrity: sha512-Yxn7z7SxgyGWRNa4wzf8AhYYWNrwl5q1Z8ii+CSTTIqVkmGZF1CElX2JI8g5yGoM3GAman9/PVCUFUSJ0kB/8Q==} + micromark-extension-gfm-footnote@1.1.2: dependencies: micromark-core-commonmark: 1.1.0 micromark-factory-space: 1.1.0 @@ -18094,18 +25657,14 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm-strikethrough@0.6.5: - resolution: {integrity: sha512-PpOKlgokpQRwUesRwWEp+fHjGGkZEejj83k9gU5iXCbDG+XBA92BqnRKYJdfqfkrRcZRgGuPuXb7DaK/DmxOhw==} + micromark-extension-gfm-strikethrough@0.6.5: dependencies: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true - /micromark-extension-gfm-strikethrough@1.0.7: - resolution: {integrity: sha512-sX0FawVE1o3abGk3vRjOH50L5TTLr3b5XMqnP9YDRb34M0v5OoZhG+OHFz1OffZ9dlwgpTBKaT4XW/AsUVnSDw==} + micromark-extension-gfm-strikethrough@1.0.7: dependencies: micromark-util-chunked: 1.1.0 micromark-util-classify-character: 1.1.0 @@ -18113,56 +25672,42 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm-table@0.4.3: - resolution: {integrity: sha512-hVGvESPq0fk6ALWtomcwmgLvH8ZSVpcPjzi0AjPclB9FsVRgMtGZkUcpE0zgjOCFAznKepF4z3hX8z6e3HODdA==} + micromark-extension-gfm-table@0.4.3: dependencies: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true - /micromark-extension-gfm-table@1.0.7: - resolution: {integrity: sha512-3ZORTHtcSnMQEKtAOsBQ9/oHp9096pI/UvdPtN7ehKvrmZZ2+bbWhi0ln+I9drmwXMt5boocn6OlwQzNXeVeqw==} + micromark-extension-gfm-table@1.0.7: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm-tagfilter@0.3.0: - resolution: {integrity: sha512-9GU0xBatryXifL//FJH+tAZ6i240xQuFrSL7mYi8f4oZSbc+NvXjkrHemeYP0+L4ZUT+Ptz3b95zhUZnMtoi/Q==} - dev: true + micromark-extension-gfm-tagfilter@0.3.0: {} - /micromark-extension-gfm-tagfilter@1.0.2: - resolution: {integrity: sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==} + micromark-extension-gfm-tagfilter@1.0.2: dependencies: micromark-util-types: 1.1.0 - dev: false - /micromark-extension-gfm-task-list-item@0.3.3: - resolution: {integrity: sha512-0zvM5iSLKrc/NQl84pZSjGo66aTGd57C1idmlWmE87lkMcXrTxg1uXa/nXomxJytoje9trP0NDLvw4bZ/Z/XCQ==} + micromark-extension-gfm-task-list-item@0.3.3: dependencies: micromark: 2.11.4 transitivePeerDependencies: - supports-color - dev: true - /micromark-extension-gfm-task-list-item@1.0.5: - resolution: {integrity: sha512-RMFXl2uQ0pNQy6Lun2YBYT9g9INXtWJULgbt01D/x8/6yJ2qpKyzdZD3pi6UIkzF++Da49xAelVKUeUMqd5eIQ==} + micromark-extension-gfm-task-list-item@1.0.5: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-gfm@0.3.3: - resolution: {integrity: sha512-oVN4zv5/tAIA+l3GbMi7lWeYpJ14oQyJ3uEim20ktYFAcfX1x3LNlFGGlmrZHt7u9YlKExmyJdDGaTt6cMSR/A==} + micromark-extension-gfm@0.3.3: dependencies: micromark: 2.11.4 micromark-extension-gfm-autolink-literal: 0.5.7 @@ -18172,10 +25717,8 @@ packages: micromark-extension-gfm-task-list-item: 0.3.3 transitivePeerDependencies: - supports-color - dev: true - /micromark-extension-gfm@2.0.3: - resolution: {integrity: sha512-vb9OoHqrhCmbRidQv/2+Bc6pkP0FrtlhurxZofvOEy5o8RtuuvTq+RQ1Vw5ZDNrVraQZu3HixESqbG+0iKk/MQ==} + micromark-extension-gfm@2.0.3: dependencies: micromark-extension-gfm-autolink-literal: 1.0.5 micromark-extension-gfm-footnote: 1.1.2 @@ -18185,10 +25728,8 @@ packages: micromark-extension-gfm-task-list-item: 1.0.5 micromark-util-combine-extensions: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-extension-math@2.1.2: - resolution: {integrity: sha512-es0CcOV89VNS9wFmyn+wyFTKweXGW4CEvdaAca6SWRWPyYCbBisnjaHLjWO4Nszuiud84jCpkHsqAJoa768Pvg==} + micromark-extension-math@2.1.2: dependencies: '@types/katex': 0.16.7 katex: 0.16.9 @@ -18197,10 +25738,8 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-mdx-expression@1.0.8: - resolution: {integrity: sha512-zZpeQtc5wfWKdzDsHRBY003H2Smg+PUi2REhqgIhdzAa5xonhP03FcXxqFSerFiNUr5AWmHpaNPQTBVOS4lrXw==} + micromark-extension-mdx-expression@1.0.8: dependencies: '@types/estree': 1.0.5 micromark-factory-mdx-expression: 1.0.9 @@ -18210,10 +25749,8 @@ packages: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-extension-mdx-jsx@1.0.5: - resolution: {integrity: sha512-gPH+9ZdmDflbu19Xkb8+gheqEDqkSpdCEubQyxuz/Hn8DOXiXvrXeikOoBA71+e8Pfi0/UYmU3wW3H58kr7akA==} + micromark-extension-mdx-jsx@1.0.5: dependencies: '@types/acorn': 4.0.6 '@types/estree': 1.0.5 @@ -18225,16 +25762,12 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 vfile-message: 3.1.4 - dev: false - /micromark-extension-mdx-md@1.0.1: - resolution: {integrity: sha512-7MSuj2S7xjOQXAjjkbjBsHkMtb+mDGVW6uI2dBL9snOBCbZmoNgDAeZ0nSn9j3T42UE/g2xVNMn18PJxZvkBEA==} + micromark-extension-mdx-md@1.0.1: dependencies: micromark-util-types: 1.1.0 - dev: false - /micromark-extension-mdxjs-esm@1.0.5: - resolution: {integrity: sha512-xNRBw4aoURcyz/S69B19WnZAkWJMxHMT5hE36GtDAyhoyn/8TuAeqjFJQlwk+MKQsUD7b3l7kFX+vlfVWgcX1w==} + micromark-extension-mdxjs-esm@1.0.5: dependencies: '@types/estree': 1.0.5 micromark-core-commonmark: 1.1.0 @@ -18245,10 +25778,8 @@ packages: unist-util-position-from-estree: 1.1.2 uvu: 0.5.6 vfile-message: 3.1.4 - dev: false - /micromark-extension-mdxjs@1.0.1: - resolution: {integrity: sha512-7YA7hF6i5eKOfFUzZ+0z6avRG52GpWR8DL+kN47y3f2KhxbBZMhmxe7auOeaTBrW2DenbbZTf1ea9tA2hDpC2Q==} + micromark-extension-mdxjs@1.0.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) @@ -18258,27 +25789,21 @@ packages: micromark-extension-mdxjs-esm: 1.0.5 micromark-util-combine-extensions: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-factory-destination@1.1.0: - resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==} + micromark-factory-destination@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-factory-label@1.1.0: - resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==} + micromark-factory-label@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-factory-mdx-expression@1.0.9: - resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==} + micromark-factory-mdx-expression@1.0.9: dependencies: '@types/estree': 1.0.5 micromark-util-character: 1.2.0 @@ -18288,93 +25813,67 @@ packages: unist-util-position-from-estree: 1.1.2 uvu: 0.5.6 vfile-message: 3.1.4 - dev: false - /micromark-factory-space@1.1.0: - resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==} + micromark-factory-space@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-types: 1.1.0 - dev: false - /micromark-factory-title@1.1.0: - resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==} + micromark-factory-title@1.1.0: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-factory-whitespace@1.1.0: - resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==} + micromark-factory-whitespace@1.1.0: dependencies: micromark-factory-space: 1.1.0 micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-character@1.2.0: - resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==} + micromark-util-character@1.2.0: dependencies: micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-character@2.0.1: - resolution: {integrity: sha512-3wgnrmEAJ4T+mGXAUfMvMAbxU9RDG43XmGce4j6CwPtVxB3vfwXSZ6KhFwDzZ3mZHhmPimMAXg71veiBGzeAZw==} + micromark-util-character@2.0.1: dependencies: micromark-util-symbol: 2.0.0 micromark-util-types: 2.0.0 - dev: false - /micromark-util-chunked@1.1.0: - resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==} + micromark-util-chunked@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-classify-character@1.1.0: - resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==} + micromark-util-classify-character@1.1.0: dependencies: micromark-util-character: 1.2.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-combine-extensions@1.1.0: - resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==} + micromark-util-combine-extensions@1.1.0: dependencies: micromark-util-chunked: 1.1.0 micromark-util-types: 1.1.0 - dev: false - /micromark-util-decode-numeric-character-reference@1.1.0: - resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==} + micromark-util-decode-numeric-character-reference@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-decode-string@1.1.0: - resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==} + micromark-util-decode-string@1.1.0: dependencies: decode-named-character-reference: 1.0.2 micromark-util-character: 1.2.0 micromark-util-decode-numeric-character-reference: 1.1.0 micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-encode@1.1.0: - resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==} - dev: false + micromark-util-encode@1.1.0: {} - /micromark-util-encode@2.0.0: - resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} - dev: false + micromark-util-encode@2.0.0: {} - /micromark-util-events-to-acorn@1.2.3: - resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==} + micromark-util-events-to-acorn@1.2.3: dependencies: '@types/acorn': 4.0.6 '@types/estree': 1.0.5 @@ -18384,76 +25883,52 @@ packages: micromark-util-types: 1.1.0 uvu: 0.5.6 vfile-message: 3.1.4 - dev: false - /micromark-util-html-tag-name@1.2.0: - resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==} - dev: false + micromark-util-html-tag-name@1.2.0: {} - /micromark-util-normalize-identifier@1.1.0: - resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==} + micromark-util-normalize-identifier@1.1.0: dependencies: micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-resolve-all@1.1.0: - resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==} + micromark-util-resolve-all@1.1.0: dependencies: micromark-util-types: 1.1.0 - dev: false - /micromark-util-sanitize-uri@1.2.0: - resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==} + micromark-util-sanitize-uri@1.2.0: dependencies: micromark-util-character: 1.2.0 micromark-util-encode: 1.1.0 micromark-util-symbol: 1.1.0 - dev: false - /micromark-util-sanitize-uri@2.0.0: - resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + micromark-util-sanitize-uri@2.0.0: dependencies: micromark-util-character: 2.0.1 micromark-util-encode: 2.0.0 micromark-util-symbol: 2.0.0 - dev: false - /micromark-util-subtokenize@1.1.0: - resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==} + micromark-util-subtokenize@1.1.0: dependencies: micromark-util-chunked: 1.1.0 micromark-util-symbol: 1.1.0 micromark-util-types: 1.1.0 uvu: 0.5.6 - dev: false - /micromark-util-symbol@1.1.0: - resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==} - dev: false + micromark-util-symbol@1.1.0: {} - /micromark-util-symbol@2.0.0: - resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} - dev: false + micromark-util-symbol@2.0.0: {} - /micromark-util-types@1.1.0: - resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==} - dev: false + micromark-util-types@1.1.0: {} - /micromark-util-types@2.0.0: - resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} - dev: false + micromark-util-types@2.0.0: {} - /micromark@2.11.4: - resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + micromark@2.11.4: dependencies: debug: 4.3.4(supports-color@8.1.1) parse-entities: 2.0.0 transitivePeerDependencies: - supports-color - dev: true - /micromark@3.2.0: - resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==} + micromark@3.2.0: dependencies: '@types/debug': 4.1.12 debug: 4.3.4(supports-color@8.1.1) @@ -18474,11 +25949,8 @@ packages: uvu: 0.5.6 transitivePeerDependencies: - supports-color - dev: false - /micromatch@3.1.10: - resolution: {integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==} - engines: {node: '>=0.10.0'} + micromatch@3.1.10: dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 @@ -18495,195 +25967,112 @@ packages: to-regex: 3.0.2 transitivePeerDependencies: - supports-color - dev: true - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - /miller-rabin@4.0.1: - resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} - hasBin: true + miller-rabin@4.0.1: dependencies: bn.js: 4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q) brorand: 1.1.0(patch_hash=coni6w7ml52xq7hk7pjg56sj54) - dev: true - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true + mime@1.6.0: {} - /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: true + mime@2.6.0: {} - /mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - dev: false + mime@3.0.0: {} - /mimic-fn@1.2.0: - resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} - engines: {node: '>=4'} + mimic-fn@1.2.0: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + mimic-fn@2.1.0: {} - /mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} - dev: true + mimic-fn@3.1.0: {} - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: false + mimic-fn@4.0.0: {} - /mimic-response@1.0.1: - resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} - engines: {node: '>=4'} + mimic-response@1.0.1: {} - /mimic-response@2.1.0: - resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} - engines: {node: '>=8'} - dev: true + mimic-response@2.1.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + min-indent@1.0.1: {} - /mini-css-extract-plugin@2.7.7(webpack@5.90.0): - resolution: {integrity: sha512-+0n11YGyRavUR3IlaOzJ0/4Il1avMvJ1VJfhWfCn24ITQXhRr1gghbhhrda6tgtNcpZaWKdSuwKq20Jb7fnlyw==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 + mini-css-extract-plugin@2.7.7(webpack@5.90.0): dependencies: schema-utils: 4.2.0 webpack: 5.90.0 - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + minimalistic-assert@1.0.1: {} - /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimalistic-crypto-utils@1.0.1: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - /minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} + minimatch@5.0.1: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} + minimist-options@4.1.0: dependencies: arrify: 1.0.1 is-plain-obj: 1.1.0 kind-of: 6.0.3 - dev: true - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minimist@1.2.8: {} - /minipass@2.9.0: - resolution: {integrity: sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==} - requiresBuild: true + minipass@2.9.0: dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) yallist: 3.1.1 - dev: false optional: true - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} + minipass@7.0.4: {} - /minizlib@1.3.3: - resolution: {integrity: sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==} - requiresBuild: true + minizlib@1.3.3: dependencies: minipass: 2.9.0 - dev: false optional: true - /mixin-deep@1.3.2: - resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} - engines: {node: '>=0.10.0'} + mixin-deep@1.3.2: dependencies: for-in: 1.0.2 is-extendable: 1.0.1 - dev: true - /mixme@0.5.10: - resolution: {integrity: sha512-5H76ANWinB1H3twpJ6JY8uvAtpmFvHNArpilJAjXRKXSDDLPIMoZArw5SH0q9z+lLs8IrMw7Q2VWpWimFKFT1Q==} - engines: {node: '>= 8.0.0'} - dev: true + mixme@0.5.10: {} - /mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: true + mkdirp-classic@0.5.3: {} - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true + mkdirp@0.5.6: dependencies: minimist: 1.2.8 - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - dev: true + mkdirp@1.0.4: {} - /mlly@1.5.0: - resolution: {integrity: sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==} + mlly@1.5.0: dependencies: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.3.2 - dev: false - /mocha@10.2.0: - resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} - engines: {node: '>= 14.0.0'} - hasBin: true + mocha@10.2.0: dependencies: ansi-colors: 4.1.1 browser-stdout: 1.3.1 @@ -18706,12 +26095,8 @@ packages: yargs: 16.2.0 yargs-parser: 20.2.4 yargs-unparser: 2.0.0 - dev: true - /module-deps@6.2.3: - resolution: {integrity: sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==} - engines: {node: '>= 0.8.0'} - hasBin: true + module-deps@6.2.3: dependencies: JSONStream: 1.3.5 browser-resolve: 2.0.0 @@ -18728,14 +26113,10 @@ packages: subarg: 1.0.0 through2: 2.0.5 xtend: 4.0.2 - dev: true - /moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - dev: true + moment@2.30.1: {} - /motion@10.16.2: - resolution: {integrity: sha512-p+PurYqfUdcJZvtnmAqu5fJgV2kR0uLFQuBKtLeFVTrYEVllI99tiOTSefVNYuip9ELTEkepIIDftNdze76NAQ==} + motion@10.16.2: dependencies: '@motionone/animation': 10.17.0 '@motionone/dom': 10.17.0 @@ -18743,59 +26124,37 @@ packages: '@motionone/types': 10.17.0 '@motionone/utils': 10.17.0 '@motionone/vue': 10.16.4 - dev: false - /mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} + mri@1.2.0: {} - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + ms@2.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + ms@2.1.3: {} - /multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true + multicast-dns@7.2.5: dependencies: dns-packet: 5.6.1 thunky: 1.1.0 - /multiformats@9.9.0: - resolution: {integrity: sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==} + multiformats@9.9.0: {} - /mute-stream@0.0.7: - resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} + mute-stream@0.0.7: {} - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true + mute-stream@0.0.8: {} - /mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + mz@2.7.0: dependencies: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - /nanoid@3.3.3: - resolution: {integrity: sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true + nanoid@3.3.3: {} - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true + nanoid@3.3.7: {} - /nanomatch@1.2.13: - resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} - engines: {node: '>=0.10.0'} + nanomatch@1.2.13: dependencies: arr-diff: 4.0.0 array-unique: 0.3.2 @@ -18810,44 +26169,25 @@ packages: to-regex: 3.0.2 transitivePeerDependencies: - supports-color - dev: true - /napi-wasm@1.1.0: - resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} - dev: false - - /natural-compare-lite@1.4.0: - resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + natural-compare-lite@1.4.0: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + natural-compare@1.4.0: {} - /needle@2.9.1: - resolution: {integrity: sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==} - engines: {node: '>= 4.4.x'} - hasBin: true - requiresBuild: true + needle@2.9.1: dependencies: debug: 3.2.7 iconv-lite: 0.4.24 sax: 1.3.0 transitivePeerDependencies: - supports-color - dev: false optional: true - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} + negotiator@0.6.3: {} - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + neo-async@2.6.2: {} - /neon-cli@0.4.0: - resolution: {integrity: sha512-66HhHb8rk+zHSG64CI6jhyOQqpibBAald8ObdQPCjXcCjzSEVnkQHutUE8dyNlHRNT7xLfrZGkDbtwrYh2p+6w==} - engines: {node: '>=8'} - hasBin: true - requiresBuild: true + neon-cli@0.4.0: dependencies: chalk: 2.1.0 command-line-args: 4.0.7 @@ -18865,22 +26205,13 @@ packages: ts-typed-json: 0.2.2 validate-npm-package-license: 3.0.4 validate-npm-package-name: 3.0.0 - dev: false optional: true - /new-github-release-url@1.0.0: - resolution: {integrity: sha512-dle7yf655IMjyFUqn6Nxkb18r4AOAkzRcgcZv6WZ0IqrOH4QCEZ8Sm6I7XX21zvHdBeeMeTkhR9qT2Z0EJDx6A==} - engines: {node: '>=10'} + new-github-release-url@1.0.0: dependencies: type-fest: 0.4.1 - dev: true - /next-mdx-remote@4.4.1(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-1BvyXaIou6xy3XoNF4yaMZUCb6vD2GTAa5ciOa6WoO+gAUTYsb1K4rI/HSC2ogAWLrb/7VSV52skz07vOzmqIQ==} - engines: {node: '>=14', npm: '>=7'} - peerDependencies: - react: '>=16.x <=18.x' - react-dom: '>=16.x <=18.x' + next-mdx-remote@4.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@mdx-js/mdx': 2.3.0 '@mdx-js/react': 2.3.0(react@18.2.0) @@ -18890,46 +26221,20 @@ packages: vfile-matter: 3.0.1 transitivePeerDependencies: - supports-color - dev: false - /next-seo@6.4.0(next@13.5.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-XQFxkOL2hw0YE+P100HbI3EAvcludlHPxuzMgaIjKb7kPK0CvjGvLFjd9hszZFEDc5oiQkGFA8+cuWcnip7eYA==} - peerDependencies: - next: ^8.1.1-canary.54 || >=9.0.0 - react: '>=16.0.0' - react-dom: '>=16.0.0' + next-seo@6.4.0(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - next: 13.5.6(react-dom@18.2.0)(react@18.2.0) + next: 13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /next-themes@0.2.1(next@13.5.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} - peerDependencies: - next: '*' - react: '*' - react-dom: '*' + next-themes@0.2.1(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - next: 13.5.6(react-dom@18.2.0)(react@18.2.0) + next: 13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: false - /next@13.5.6(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-Y2wTcTbO4WwEsVb4A8VSnOsG1I9ok+h74q0ZdxkwM3EODqrs4pasq7O0iUxbcS9VtWMicG7f3+HAj0r1+NtKSw==} - engines: {node: '>=16.14.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true + next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0): dependencies: '@next/env': 13.5.6 '@swc/helpers': 0.5.2 @@ -18950,20 +26255,14 @@ packages: '@next/swc-win32-arm64-msvc': 13.5.6 '@next/swc-win32-ia32-msvc': 13.5.6 '@next/swc-win32-x64-msvc': 13.5.6 + sass: 1.70.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros - dev: false - /nextra-theme-docs@2.13.2(next@13.5.6)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-yE4umXaImp1/kf/sFciPj2+EFrNSwd9Db26hi98sIIiujzGf3+9eUgAz45vF9CwBw50FSXxm1QGRcY+slQ4xQQ==} - peerDependencies: - next: '>=9.5.3' - nextra: 2.13.2 - react: '>=16.13.1' - react-dom: '>=16.13.1' + nextra-theme-docs@2.13.2(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(nextra@2.13.2(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@headlessui/react': 1.7.18(react-dom@18.2.0)(react@18.2.0) + '@headlessui/react': 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@popperjs/core': 2.11.8 clsx: 2.1.0 escape-string-regexp: 5.0.0 @@ -18972,25 +26271,18 @@ packages: git-url-parse: 13.1.1 intersection-observer: 0.12.2 match-sorter: 6.3.3 - next: 13.5.6(react-dom@18.2.0)(react@18.2.0) - next-seo: 6.4.0(next@13.5.6)(react-dom@18.2.0)(react@18.2.0) - next-themes: 0.2.1(next@13.5.6)(react-dom@18.2.0)(react@18.2.0) - nextra: 2.13.2(next@13.5.6)(react-dom@18.2.0)(react@18.2.0) + next: 13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next-seo: 6.4.0(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + next-themes: 0.2.1(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + nextra: 2.13.2(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.1.0 zod: 3.22.4 - dev: false - /nextra@2.13.2(next@13.5.6)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-pIgOSXNUqTz1laxV4ChFZOU7lzJAoDHHaBPj8L09PuxrLKqU1BU/iZtXAG6bQeKCx8EPdBsoXxEuENnL9QGnGA==} - engines: {node: '>=16'} - peerDependencies: - next: '>=9.5.3' - react: '>=16.13.1' - react-dom: '>=16.13.1' + nextra@2.13.2(next@13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0))(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: - '@headlessui/react': 1.7.18(react-dom@18.2.0)(react@18.2.0) + '@headlessui/react': 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@mdx-js/mdx': 2.3.0 '@mdx-js/react': 2.3.0(react@18.2.0) '@napi-rs/simple-git': 0.1.11 @@ -19002,8 +26294,8 @@ packages: gray-matter: 4.0.3 katex: 0.16.9 lodash.get: 4.4.2 - next: 13.5.6(react-dom@18.2.0)(react@18.2.0) - next-mdx-remote: 4.4.1(react-dom@18.2.0)(react@18.2.0) + next: 13.5.6(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(sass@1.70.0) + next-mdx-remote: 4.4.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) p-limit: 3.1.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -19021,92 +26313,54 @@ packages: zod: 3.22.4 transitivePeerDependencies: - supports-color - dev: false - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true + nice-try@1.0.5: {} - /nise@5.1.7: - resolution: {integrity: sha512-wWtNUhkT7k58uvWTB/Gy26eA/EJKtPZFVAhEilN5UYVmmGRYOURbejRUyKm0Uu9XVEW7K5nBOZfR8VMB4QR2RQ==} + nise@5.1.7: dependencies: '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers': 11.2.2 '@sinonjs/text-encoding': 0.7.2 just-extend: 6.2.0 path-to-regexp: 6.2.1 - dev: true - /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.6.2 - /node-abort-controller@3.1.1: - resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - dev: true + node-abort-controller@3.1.1: {} - /node-addon-api@2.0.2: - resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - dev: false + node-addon-api@2.0.2: {} - /node-addon-api@7.1.0: - resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} - engines: {node: ^16 || ^18 || >= 20} - dev: false + node-addon-api@7.1.0: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: true + node-domexception@1.0.0: {} - /node-fetch-native@1.6.1: - resolution: {integrity: sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==} - dev: false + node-fetch-native@1.6.1: {} - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: true - /node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} + node-forge@1.3.1: {} - /node-gyp-build@4.8.0(patch_hash=tidq6bjknpovdjep75bj5ccgke): - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} - hasBin: true - patched: true + node-gyp-build@4.8.0(patch_hash=tidq6bjknpovdjep75bj5ccgke): {} - /node-html-parser@6.1.12: - resolution: {integrity: sha512-/bT/Ncmv+fbMGX96XG9g05vFt43m/+SYKIs9oAemQVYyVcZmDAI2Xq/SbNcpOA35eF0Zk2av3Ksf+Xk8Vt8abA==} + node-html-parser@6.1.12: dependencies: css-select: 5.1.0 he: 1.2.0 - dev: false - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-int64@0.4.0: {} - /node-notifier@8.0.2: - resolution: {integrity: sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg==} - requiresBuild: true + node-notifier@8.0.2: dependencies: growly: 1.3.0 is-wsl: 2.2.0 @@ -19114,14 +26368,9 @@ packages: shellwords: 0.1.1 uuid: 8.3.2 which: 2.0.2 - dev: true optional: true - /node-pre-gyp@0.14.0: - resolution: {integrity: sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==} - deprecated: 'Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future' - hasBin: true - requiresBuild: true + node-pre-gyp@0.14.0: dependencies: detect-libc: 1.0.3 mkdirp: 0.5.6 @@ -19135,88 +26384,53 @@ packages: tar: 4.4.19 transitivePeerDependencies: - supports-color - dev: false optional: true - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.14: {} - /node-wget-js@1.0.1: - resolution: {integrity: sha512-SXzjefvZvJc5kn9kqsZhs0es8aQ1o9pnnIpzA6CPeHb7CaIfl+7OkO1n8uqyVawMzzUfhEXxW6vbqUsWEgSaFw==} - hasBin: true + node-wget-js@1.0.1: dependencies: request: 2.88.2 - dev: true - /nofilter@1.0.4: - resolution: {integrity: sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA==} - engines: {node: '>=8'} - dev: false + nofilter@1.0.4: {} - /non-layered-tidy-tree-layout@2.0.2: - resolution: {integrity: sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==} - dev: false + non-layered-tidy-tree-layout@2.0.2: {} - /nopt@4.0.3: - resolution: {integrity: sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==} - hasBin: true - requiresBuild: true + nopt@4.0.3: dependencies: abbrev: 1.1.1 osenv: 0.1.5 - dev: false optional: true - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-package-data@3.0.3: - resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} - engines: {node: '>=10'} + normalize-package-data@3.0.3: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.13.1 semver: 7.5.4 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} + normalize-path@2.1.1: dependencies: remove-trailing-separator: 1.1.0 - dev: true - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + normalize-path@3.0.0: {} - /normalize-range@0.1.2: - resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} - engines: {node: '>=0.10.0'} + normalize-range@0.1.2: {} - /normalize-url@3.3.0: - resolution: {integrity: sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==} - engines: {node: '>=6'} + normalize-url@3.3.0: {} - /normalize-url@4.5.1: - resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} - engines: {node: '>=8'} + normalize-url@4.5.1: {} - /normalize-url@6.1.0: - resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} - engines: {node: '>=10'} + normalize-url@6.1.0: {} - /np@7.7.0: - resolution: {integrity: sha512-G4HfO6JUl7iKOX1qfYHM/kG5ApqqZ4ma8YjtVAJoyS5VdKkGE/OdSG3cOE9Lwr71klNz9n6KIZmPRnh0L7qM1Q==} - engines: {git: '>=2.11.0', node: '>=10', npm: '>=6.8.0', yarn: '>=1.7.0'} - hasBin: true + np@7.7.0: dependencies: '@samverschueren/stream-to-observable': 0.3.1(rxjs@6.6.7) any-observable: 0.5.1(rxjs@6.6.7) @@ -19260,29 +26474,19 @@ packages: transitivePeerDependencies: - zen-observable - zenObservable - dev: true - /npm-bundled@1.1.2: - resolution: {integrity: sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==} - requiresBuild: true + npm-bundled@1.1.2: dependencies: npm-normalize-package-bin: 1.0.1 - dev: false optional: true - /npm-conf@1.1.3: - resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} - engines: {node: '>=4'} - requiresBuild: true + npm-conf@1.1.3: dependencies: config-chain: 1.1.13 pify: 3.0.0 - dev: false optional: true - /npm-name@6.0.1: - resolution: {integrity: sha512-fhKRvUAxaYzMEUZim4mXWyfFbVS+M1CbrCLdAo3txWzrctxKka/h+KaBW0O9Cz5uOM00Nldn2JLWhuwnyW3SUw==} - engines: {node: '>=10'} + npm-name@6.0.1: dependencies: got: 10.7.0 is-scoped: 2.1.0 @@ -19293,28 +26497,18 @@ packages: registry-auth-token: 4.2.2 registry-url: 5.1.0 validate-npm-package-name: 3.0.0 - dev: true - /npm-normalize-package-bin@1.0.1: - resolution: {integrity: sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==} - requiresBuild: true - dev: false + npm-normalize-package-bin@1.0.1: optional: true - /npm-packlist@1.4.8: - resolution: {integrity: sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==} - requiresBuild: true + npm-packlist@1.4.8: dependencies: ignore-walk: 3.0.4 npm-bundled: 1.1.2 npm-normalize-package-bin: 1.0.1 - dev: false optional: true - /npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} - hasBin: true + npm-run-all@4.1.5: dependencies: ansi-styles: 3.2.1 chalk: 2.4.2 @@ -19325,156 +26519,98 @@ packages: read-pkg: 3.0.0 shell-quote: 1.8.1 string.prototype.padend: 3.1.5 - dev: true - /npm-run-path@2.0.2: - resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} - engines: {node: '>=4'} + npm-run-path@2.0.2: dependencies: path-key: 2.0.1 - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - /npm-run-path@5.2.0: - resolution: {integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.2.0: dependencies: path-key: 4.0.0 - dev: false - /npm-to-yarn@2.1.0: - resolution: {integrity: sha512-2C1IgJLdJngq1bSER7K7CGFszRr9s2rijEwvENPEgI0eK9xlD3tNwDc0UJnRj7FIT2aydWm72jB88uVswAhXHA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: false + npm-to-yarn@2.1.0: {} - /npmlog@4.1.2: - resolution: {integrity: sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==} - requiresBuild: true + npmlog@4.1.2: dependencies: are-we-there-yet: 1.1.7 console-control-strings: 1.1.0 gauge: 2.7.4 set-blocking: 2.0.0 - dev: false optional: true - /nth-check@1.0.2: - resolution: {integrity: sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==} + nth-check@1.0.2: dependencies: boolbase: 1.0.0 - /nth-check@2.1.1: - resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + nth-check@2.1.1: dependencies: boolbase: 1.0.0 - /number-is-nan@1.0.1: - resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} - engines: {node: '>=0.10.0'} + number-is-nan@1.0.1: {} - /nunjucks-do@1.0.0: - resolution: {integrity: sha512-GQwENqZdcSbni0iYfEiNi3hs634JBSQdxnbnd9CetGkMYPnpjG1Jn5DT/qgAaC/STwMc7C4MSIJvLSNertclSg==} - dev: true + nunjucks-do@1.0.0: {} - /nunjucks@3.2.4(chokidar@3.5.3): - resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==} - engines: {node: '>= 6.9.0'} - hasBin: true - peerDependencies: - chokidar: ^3.3.0 - peerDependenciesMeta: - chokidar: - optional: true + nunjucks@3.2.4(chokidar@3.5.3): dependencies: a-sync-waterfall: 1.0.1 asap: 2.0.6 - chokidar: 3.5.3 commander: 5.1.0 - dev: true + optionalDependencies: + chokidar: 3.5.3 - /nwsapi@2.2.7: - resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==} + nwsapi@2.2.7: {} - /oauth-sign@0.9.0: - resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} - dev: true + oauth-sign@0.9.0: {} - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + object-assign@4.1.1: {} - /object-copy@0.1.0: - resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} - engines: {node: '>=0.10.0'} + object-copy@0.1.0: dependencies: copy-descriptor: 0.1.1 define-property: 0.2.5 kind-of: 3.2.2 - dev: true - /object-hash@3.0.0: - resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} - engines: {node: '>= 6'} + object-hash@3.0.0: {} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-inspect@1.13.1: {} - /object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} + object-is@1.1.5: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 - dev: true - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + object-keys@1.1.1: {} - /object-path@0.11.8: - resolution: {integrity: sha512-YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==} - engines: {node: '>= 10.12.0'} - dev: true + object-path@0.11.8: {} - /object-visit@1.0.1: - resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} - engines: {node: '>=0.10.0'} + object-visit@1.0.1: dependencies: isobject: 3.0.1 - dev: true - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.5: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - /object.entries@1.1.7: - resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==} - engines: {node: '>= 0.4'} + object.entries@1.1.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - /object.fromentries@2.0.7: - resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - /object.getownpropertydescriptors@2.1.7: - resolution: {integrity: sha512-PrJz0C2xJ58FNn11XV2lr4Jt5Gzl94qpy9Lu0JlfEj14z88sqbSBJCBEzdlNUCzY2gburhbrwOZ5BHCmuNUy0g==} - engines: {node: '>= 0.8'} + object.getownpropertydescriptors@2.1.7: dependencies: array.prototype.reduce: 1.0.6 call-bind: 1.0.5 @@ -19482,134 +26618,92 @@ packages: es-abstract: 1.22.3 safe-array-concat: 1.1.0 - /object.groupby@1.0.1: - resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==} + object.groupby@1.0.1: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 get-intrinsic: 1.2.2 - /object.hasown@1.1.3: - resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==} + object.hasown@1.1.3: dependencies: define-properties: 1.2.1 es-abstract: 1.22.3 - /object.pick@1.3.0: - resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} - engines: {node: '>=0.10.0'} + object.pick@1.3.0: dependencies: isobject: 3.0.1 - dev: true - /object.values@1.1.7: - resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==} - engines: {node: '>= 0.4'} + object.values@1.1.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + obuf@1.1.2: {} - /ofetch@1.3.3: - resolution: {integrity: sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==} + ofetch@1.3.3: dependencies: destr: 2.0.2 node-fetch-native: 1.6.1 ufo: 1.3.2 - dev: false - /ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} - dev: false + ohash@1.1.3: {} - /omit-keys@0.1.0: - resolution: {integrity: sha512-JfTw3lVL54592o0Vb1frMN6DpS/wT8Uz/IWg1e0w2ZkjF4yyPYHGJAtdcBcUbp/RMf/LbdMzIz6QZ6ycaRCFUA==} - engines: {node: '>=0.10.0'} + omit-keys@0.1.0: dependencies: array-difference: 0.0.1 isobject: 0.2.0 - dev: true - /on-exit-leak-free@0.2.0: - resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} - dev: false + on-exit-leak-free@0.2.0: {} - /on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} + on-finished@2.3.0: dependencies: ee-first: 1.1.1 - dev: true - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 - /on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} + on-headers@1.0.2: {} - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - /onetime@2.0.1: - resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} - engines: {node: '>=4'} + onetime@2.0.1: dependencies: mimic-fn: 1.2.0 - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - dev: false - /open@7.4.2: - resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} - engines: {node: '>=8'} + open@7.4.2: dependencies: is-docker: 2.2.1 is-wsl: 2.2.0 - dev: true - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 is-docker: 2.2.1 is-wsl: 2.2.0 - /optimism@0.10.3: - resolution: {integrity: sha512-9A5pqGoQk49H6Vhjb9kPgAeeECfUDF6aIICbMDL23kDLStBn1MWk3YvcZ4xWF9CsSf6XEgvRLkXy4xof/56vVw==} + optimism@0.10.3: dependencies: '@wry/context': 0.4.4 - dev: false - /optimism@0.16.2: - resolution: {integrity: sha512-zWNbgWj+3vLEjZNIh/okkY2EUfX+vB9TJopzIZwT1xxaMqC5hRLLraePod4c5n4He08xuXNH+zhKFFCu390wiQ==} + optimism@0.16.2: dependencies: '@wry/context': 0.7.4 '@wry/trie': 0.3.2 - /optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} + optionator@0.8.3: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -19618,9 +26712,7 @@ packages: type-check: 0.3.2 word-wrap: 1.2.5 - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -19629,42 +26721,24 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 - /org-regex@1.0.0: - resolution: {integrity: sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==} - engines: {node: '>=8'} - dev: true + org-regex@1.0.0: {} - /os-browserify@0.3.0: - resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} - dev: true + os-browserify@0.3.0: {} - /os-homedir@1.0.2: - resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: false + os-homedir@1.0.2: optional: true - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + os-tmpdir@1.0.2: {} - /osenv@0.1.5: - resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} - requiresBuild: true + osenv@0.1.5: dependencies: os-homedir: 1.0.2 os-tmpdir: 1.0.2 - dev: false optional: true - /outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - dev: true + outdent@0.5.0: {} - /ow@0.21.0: - resolution: {integrity: sha512-dlsoDe39g7mhdsdrC1R/YwjT7yjVqE3svWwOlMGvN690waBkgEZBmKBdkmKvSt5/wZ6E0Jn/nIesPqMZOpPKqw==} - engines: {node: '>=10'} + ow@0.21.0: dependencies: '@sindresorhus/is': 4.6.0 callsites: 3.1.0 @@ -19672,192 +26746,119 @@ packages: lodash.isequal: 4.5.0 type-fest: 0.20.2 vali-date: 1.0.0 - dev: true - /p-cancelable@1.1.0: - resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} - engines: {node: '>=6'} + p-cancelable@1.1.0: {} - /p-cancelable@2.1.1: - resolution: {integrity: sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg==} - engines: {node: '>=8'} - dev: true + p-cancelable@2.1.1: {} - /p-defer@1.0.0: - resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} - engines: {node: '>=4'} - dev: true + p-defer@1.0.0: {} - /p-each-series@2.2.0: - resolution: {integrity: sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==} - engines: {node: '>=8'} - dev: true + p-each-series@2.2.0: {} - /p-event@4.2.0: - resolution: {integrity: sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==} - engines: {node: '>=8'} + p-event@4.2.0: dependencies: p-timeout: 3.2.0 - dev: true - /p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} + p-filter@2.1.0: dependencies: p-map: 2.1.0 - dev: true - /p-finally@1.0.0: - resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} - engines: {node: '>=4'} + p-finally@1.0.0: {} - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + p-locate@3.0.0: dependencies: p-limit: 2.3.0 - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - /p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - dev: true + p-map@2.1.0: {} - /p-map@3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} + p-map@3.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-memoize@4.0.4: - resolution: {integrity: sha512-ijdh0DP4Mk6J4FXlOM6vPPoCjPytcEseW8p/k5SDTSSfGV3E9bpt9Yzfifvzp6iohIieoLTkXRb32OWV0fB2Lw==} - engines: {node: '>=10'} + p-memoize@4.0.4: dependencies: map-age-cleaner: 0.1.3 mimic-fn: 3.1.0 p-settle: 4.1.1 - dev: true - /p-queue@6.6.2: - resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==} - engines: {node: '>=8'} + p-queue@6.6.2: dependencies: eventemitter3: 4.0.7 p-timeout: 3.2.0 - /p-reflect@2.1.0: - resolution: {integrity: sha512-paHV8NUz8zDHu5lhr/ngGWQiW067DK/+IbJ+RfZ4k+s8y4EKyYCz8pGYWjxCg35eHztpJAt+NUgvN4L+GCbPlg==} - engines: {node: '>=8'} - dev: true + p-reflect@2.1.0: {} - /p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} + p-retry@4.6.2: dependencies: '@types/retry': 0.12.0 retry: 0.13.1 - /p-settle@4.1.1: - resolution: {integrity: sha512-6THGh13mt3gypcNMm0ADqVNCcYa3BK6DWsuJWFCuEKP1rpY+OKGp7gaZwVmLspmic01+fsg/fN57MfvDzZ/PuQ==} - engines: {node: '>=10'} + p-settle@4.1.1: dependencies: p-limit: 2.3.0 p-reflect: 2.1.0 - dev: true - /p-timeout@3.2.0: - resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==} - engines: {node: '>=8'} + p-timeout@3.2.0: dependencies: p-finally: 1.0.0 - /p-timeout@4.1.0: - resolution: {integrity: sha512-+/wmHtzJuWii1sXn3HCuH/FTwGhrp4tmJTxSKJbfS+vkipci6osxXM5mY0jUiRzWKMTgUT8l7HFbeSwZAynqHw==} - engines: {node: '>=10'} - dev: true + p-timeout@4.1.0: {} - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + p-try@2.2.0: {} - /package-json@6.5.0: - resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} - engines: {node: '>=8'} + package-json@6.5.0: dependencies: got: 9.6.0 registry-auth-token: 4.2.2 registry-url: 5.1.0 semver: 6.3.1 - dev: true - /pako@1.0.11: - resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} - dev: true + pako@1.0.11: {} - /pako@2.1.0: - resolution: {integrity: sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==} + pako@2.1.0: {} - /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + param-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.6.2 - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - /parents@1.0.1: - resolution: {integrity: sha512-mXKF3xkoUt5td2DoxpLmtOmZvko9VfFpwRwkKDHSNvgmpLAeBo18YDhcPbBzJq+QLCHMbGOfzia2cX4U+0v9Mg==} + parents@1.0.1: dependencies: path-platform: 0.11.15 - dev: true - /parse-asn1@5.1.6: - resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + parse-asn1@5.1.6: dependencies: asn1.js: 5.4.1 browserify-aes: 1.2.0 evp_bytestokey: 1.0.3 pbkdf2: 3.1.2 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /parse-entities@2.0.0: - resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + parse-entities@2.0.0: dependencies: character-entities: 1.2.4 character-entities-legacy: 1.1.4 @@ -19865,10 +26866,8 @@ packages: is-alphanumerical: 1.0.4 is-decimal: 1.0.4 is-hexadecimal: 1.0.4 - dev: true - /parse-entities@4.0.1: - resolution: {integrity: sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==} + parse-entities@4.0.1: dependencies: '@types/unist': 2.0.10 character-entities: 2.0.2 @@ -19878,80 +26877,54 @@ packages: is-alphanumerical: 2.0.1 is-decimal: 2.0.1 is-hexadecimal: 2.0.1 - dev: false - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + parse-json@4.0.0: dependencies: error-ex: 1.3.2 json-parse-better-errors: 1.0.2 - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.23.5 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - /parse-numeric-range@1.3.0: - resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} - dev: false + parse-numeric-range@1.3.0: {} - /parse-path@7.0.0: - resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + parse-path@7.0.0: dependencies: protocols: 2.0.1 - dev: false - /parse-url@8.1.0: - resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + parse-url@8.1.0: dependencies: parse-path: 7.0.0 - dev: false - /parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + parse5-htmlparser2-tree-adapter@6.0.1: dependencies: parse5: 6.0.1 - dev: true - /parse5-htmlparser2-tree-adapter@7.0.0: - resolution: {integrity: sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==} + parse5-htmlparser2-tree-adapter@7.0.0: dependencies: domhandler: 5.0.3 parse5: 7.1.2 - dev: true - /parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + parse5@6.0.1: {} - /parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.1.2: dependencies: entities: 4.5.0 - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + parseurl@1.3.3: {} - /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 tslib: 2.6.2 - /pascalcase@0.1.1: - resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} - engines: {node: '>=0.10.0'} - dev: true + pascalcase@0.1.1: {} - /patch-package@6.5.1: - resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==} - engines: {node: '>=10', npm: '>5'} - hasBin: true + patch-package@6.5.1: dependencies: '@yarnpkg/lockfile': 1.1.0 chalk: 4.1.2 @@ -19967,12 +26940,8 @@ packages: slash: 2.0.0 tmp: 0.0.33 yaml: 1.10.2 - dev: true - /patch-package@8.0.0: - resolution: {integrity: sha512-da8BVIhzjtgScwDJ2TtKsfT5JFWz1hYoBl9rUQ1f38MC2HwnEIkK8VN3dKMKcP7P7bvvgzNDbfNHtx3MsQb5vA==} - engines: {node: '>=14', npm: '>5'} - hasBin: true + patch-package@8.0.0: dependencies: '@yarnpkg/lockfile': 1.1.0 chalk: 4.1.2 @@ -19989,152 +26958,86 @@ packages: slash: 2.0.0 tmp: 0.0.33 yaml: 2.3.4 - dev: true - /path-browserify@1.0.1: - resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true + path-browserify@1.0.1: {} - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} + path-exists@3.0.0: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + path-is-absolute@1.0.1: {} - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} + path-key@2.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: false + path-key@4.0.0: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-platform@0.11.15: - resolution: {integrity: sha512-Y30dB6rab1A/nfEKsZxmr01nUotHX0c/ZiIAsCTatEe1CmS5Pm5He7fZ195bPT7RdquoaL8lLxFCMQi/bS7IJg==} - engines: {node: '>= 0.8.0'} - dev: true + path-platform@0.11.15: {} - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.10.1: dependencies: lru-cache: 10.2.0 minipass: 7.0.4 - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + path-to-regexp@0.1.7: {} - /path-to-regexp@6.2.1: - resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} - dev: true + path-to-regexp@6.2.1: {} - /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} + path-type@3.0.0: dependencies: pify: 3.0.0 - dev: true - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + path-type@4.0.0: {} - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: false + pathe@1.1.2: {} - /pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} - engines: {node: '>= 14.16'} - dev: true + pathval@2.0.0: {} - /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + pbkdf2@3.1.2: dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 ripemd160: 2.0.2 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) sha.js: 2.4.11 - dev: true - /pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - dev: false + pend@1.2.0: {} - /performance-now@2.1.0: - resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + performance-now@2.1.0: {} - /periscopic@3.1.0: - resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + periscopic@3.1.0: dependencies: '@types/estree': 1.0.5 estree-walker: 3.0.3 is-reference: 3.0.2 - dev: false - /picocolors@0.2.1: - resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + picocolors@0.2.1: {} - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picomatch@2.3.1: {} - /pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + pidtree@0.3.1: {} - /pify@2.3.0: - resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} - engines: {node: '>=0.10.0'} + pify@2.3.0: {} - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} + pify@3.0.0: {} - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true + pify@4.0.1: {} - /pify@5.0.0: - resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==} - engines: {node: '>=10'} + pify@5.0.0: {} - /pino-abstract-transport@0.5.0: - resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + pino-abstract-transport@0.5.0: dependencies: duplexify: 4.1.2 split2: 4.2.0 - dev: false - /pino-std-serializers@4.0.0: - resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} - dev: false + pino-std-serializers@4.0.0: {} - /pino@7.11.0: - resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} - hasBin: true + pino@7.11.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.3.0 @@ -20147,123 +27050,74 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 2.8.0 thread-stream: 0.15.2 - dev: false - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} + pirates@4.0.6: {} - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - /pkg-dir@5.0.0: - resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} - engines: {node: '>=10'} + pkg-dir@5.0.0: dependencies: find-up: 5.0.0 - dev: true - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + pkg-types@1.0.3: dependencies: jsonc-parser: 3.2.1 mlly: 1.5.0 pathe: 1.1.2 - dev: false - /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} + pkg-up@3.1.0: dependencies: find-up: 3.0.0 - /pngjs@5.0.0: - resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} - engines: {node: '>=10.13.0'} - dev: false + pngjs@5.0.0: {} - /posix-character-classes@0.1.1: - resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} - engines: {node: '>=0.10.0'} - dev: true + posix-character-classes@0.1.1: {} - /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.33): - resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-attribute-case-insensitive@5.0.2(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-browser-comments@4.0.0(browserslist@4.22.2)(postcss@8.4.33): - resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==} - engines: {node: '>=8'} - peerDependencies: - browserslist: '>=4' - postcss: '>=8' + postcss-browser-comments@4.0.0(browserslist@4.22.2)(postcss@8.4.33): dependencies: browserslist: 4.22.2 postcss: 8.4.33 - /postcss-calc@7.0.5: - resolution: {integrity: sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==} + postcss-calc@7.0.5: dependencies: postcss: 7.0.39 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 - /postcss-calc@8.2.4(postcss@8.4.33): - resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} - peerDependencies: - postcss: ^8.2.2 + postcss-calc@8.2.4(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 - /postcss-clamp@4.1.0(postcss@8.4.33): - resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} - engines: {node: '>=7.6.0'} - peerDependencies: - postcss: ^8.4.6 + postcss-clamp@4.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-color-functional-notation@4.2.4(postcss@8.4.33): - resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-color-functional-notation@4.2.4(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-color-hex-alpha@8.0.4(postcss@8.4.33): - resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.4 + postcss-color-hex-alpha@8.0.4(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-color-rebeccapurple@7.1.1(postcss@8.4.33): - resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-color-rebeccapurple@7.1.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-colormin@4.0.3: - resolution: {integrity: sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==} - engines: {node: '>=6.9.0'} + postcss-colormin@4.0.3: dependencies: browserslist: 4.22.2 color: 3.2.1 @@ -20271,11 +27125,7 @@ packages: postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-colormin@5.3.1(postcss@8.4.33): - resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-colormin@5.3.1(postcss@8.4.33): dependencies: browserslist: 4.22.2 caniuse-api: 3.0.0 @@ -20283,266 +27133,151 @@ packages: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-convert-values@4.0.1: - resolution: {integrity: sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==} - engines: {node: '>=6.9.0'} + postcss-convert-values@4.0.1: dependencies: postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-convert-values@5.1.3(postcss@8.4.33): - resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-convert-values@5.1.3(postcss@8.4.33): dependencies: browserslist: 4.22.2 postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-custom-media@8.0.2(postcss@8.4.33): - resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.3 + postcss-custom-media@8.0.2(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-custom-properties@12.1.11(postcss@8.4.33): - resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-custom-properties@12.1.11(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-custom-selectors@6.0.3(postcss@8.4.33): - resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.3 + postcss-custom-selectors@6.0.3(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-dir-pseudo-class@6.0.5(postcss@8.4.33): - resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-dir-pseudo-class@6.0.5(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-discard-comments@4.0.2: - resolution: {integrity: sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==} - engines: {node: '>=6.9.0'} + postcss-discard-comments@4.0.2: dependencies: postcss: 7.0.39 - /postcss-discard-comments@5.1.2(postcss@8.4.33): - resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-discard-comments@5.1.2(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-discard-duplicates@4.0.2: - resolution: {integrity: sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==} - engines: {node: '>=6.9.0'} + postcss-discard-duplicates@4.0.2: dependencies: postcss: 7.0.39 - /postcss-discard-duplicates@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-discard-duplicates@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-discard-empty@4.0.1: - resolution: {integrity: sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==} - engines: {node: '>=6.9.0'} + postcss-discard-empty@4.0.1: dependencies: postcss: 7.0.39 - /postcss-discard-empty@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-discard-empty@5.1.1(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-discard-overridden@4.0.1: - resolution: {integrity: sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==} - engines: {node: '>=6.9.0'} + postcss-discard-overridden@4.0.1: dependencies: postcss: 7.0.39 - /postcss-discard-overridden@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-discard-overridden@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-double-position-gradients@3.1.2(postcss@8.4.33): - resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-double-position-gradients@3.1.2(postcss@8.4.33): dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-env-function@4.0.6(postcss@8.4.33): - resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.4 + postcss-env-function@4.0.6(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-flexbugs-fixes@5.0.2(postcss@8.4.33): - resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} - peerDependencies: - postcss: ^8.1.4 + postcss-flexbugs-fixes@5.0.2(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-focus-visible@6.0.4(postcss@8.4.33): - resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.4 + postcss-focus-visible@6.0.4(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-focus-within@5.0.4(postcss@8.4.33): - resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.4 + postcss-focus-within@5.0.4(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-font-variant@5.0.0(postcss@8.4.33): - resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} - peerDependencies: - postcss: ^8.1.0 + postcss-font-variant@5.0.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-gap-properties@3.0.5(postcss@8.4.33): - resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-gap-properties@3.0.5(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-image-set-function@4.0.7(postcss@8.4.33): - resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-image-set-function@4.0.7(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-import@15.1.0(postcss@8.4.33): - resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} - engines: {node: '>=14.0.0'} - peerDependencies: - postcss: ^8.0.0 + postcss-import@15.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - /postcss-initial@4.0.1(postcss@8.4.33): - resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} - peerDependencies: - postcss: ^8.0.0 + postcss-initial@4.0.1(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-js@4.0.1(postcss@8.4.33): - resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} - engines: {node: ^12 || ^14 || >= 16} - peerDependencies: - postcss: ^8.4.21 + postcss-js@4.0.1(postcss@8.4.33): dependencies: camelcase-css: 2.0.1 postcss: 8.4.33 - /postcss-lab-function@4.2.1(postcss@8.4.33): - resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-lab-function@4.2.1(postcss@8.4.33): dependencies: '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-load-config@2.1.2: - resolution: {integrity: sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==} - engines: {node: '>= 4'} + postcss-load-config@2.1.2: dependencies: cosmiconfig: 5.2.1 import-cwd: 2.1.0 - /postcss-load-config@3.1.4(postcss@8.4.33): - resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} - engines: {node: '>= 10'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true + postcss-load-config@3.1.4(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)): dependencies: lilconfig: 2.1.0 - postcss: 8.4.33 yaml: 1.10.2 - dev: true + optionalDependencies: + postcss: 8.4.33 + ts-node: 10.9.1(@types/node@18.11.10)(typescript@4.9.5) - /postcss-load-config@4.0.2(postcss@8.4.33): - resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} - engines: {node: '>= 14'} - peerDependencies: - postcss: '>=8.0.9' - ts-node: '>=9.0.0' - peerDependenciesMeta: - postcss: - optional: true - ts-node: - optional: true + postcss-load-config@4.0.2(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)): dependencies: lilconfig: 3.0.0 - postcss: 8.4.33 yaml: 2.3.4 - - /postcss-loader@6.2.1(postcss@8.4.33)(webpack@5.90.0): - resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==} - engines: {node: '>= 12.13.0'} - peerDependencies: - postcss: ^7.0.0 || ^8.0.1 - webpack: ^5.0.0 + optionalDependencies: + postcss: 8.4.33 + ts-node: 10.9.1(@types/node@18.11.10)(typescript@4.9.5) + + postcss-loader@6.2.1(postcss@8.4.33)(webpack@5.90.0): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 @@ -20550,44 +27285,28 @@ packages: semver: 7.5.4 webpack: 5.90.0 - /postcss-logical@5.0.4(postcss@8.4.33): - resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.4 + postcss-logical@5.0.4(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-media-minmax@5.0.0(postcss@8.4.33): - resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - postcss: ^8.1.0 + postcss-media-minmax@5.0.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-merge-longhand@4.0.11: - resolution: {integrity: sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==} - engines: {node: '>=6.9.0'} + postcss-merge-longhand@4.0.11: dependencies: css-color-names: 0.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 stylehacks: 4.0.3 - /postcss-merge-longhand@5.1.7(postcss@8.4.33): - resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-merge-longhand@5.1.7(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 stylehacks: 5.1.1(postcss@8.4.33) - /postcss-merge-rules@4.0.3: - resolution: {integrity: sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==} - engines: {node: '>=6.9.0'} + postcss-merge-rules@4.0.3: dependencies: browserslist: 4.22.2 caniuse-api: 3.0.0 @@ -20596,11 +27315,7 @@ packages: postcss-selector-parser: 3.1.2 vendors: 1.0.4 - /postcss-merge-rules@5.1.4(postcss@8.4.33): - resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-merge-rules@5.1.4(postcss@8.4.33): dependencies: browserslist: 4.22.2 caniuse-api: 3.0.0 @@ -20608,45 +27323,31 @@ packages: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-minify-font-values@4.0.2: - resolution: {integrity: sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==} - engines: {node: '>=6.9.0'} + postcss-minify-font-values@4.0.2: dependencies: postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-minify-font-values@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-minify-font-values@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-minify-gradients@4.0.2: - resolution: {integrity: sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==} - engines: {node: '>=6.9.0'} + postcss-minify-gradients@4.0.2: dependencies: cssnano-util-get-arguments: 4.0.0 is-color-stop: 1.1.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-minify-gradients@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-minify-gradients@5.1.1(postcss@8.4.33): dependencies: colord: 2.9.3 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-minify-params@4.0.2: - resolution: {integrity: sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==} - engines: {node: '>=6.9.0'} + postcss-minify-params@4.0.2: dependencies: alphanum-sort: 1.0.2 browserslist: 4.22.2 @@ -20655,97 +27356,66 @@ packages: postcss-value-parser: 3.3.1 uniqs: 2.0.0 - /postcss-minify-params@5.1.4(postcss@8.4.33): - resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-minify-params@5.1.4(postcss@8.4.33): dependencies: browserslist: 4.22.2 cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-minify-selectors@4.0.2: - resolution: {integrity: sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==} - engines: {node: '>=6.9.0'} + postcss-minify-selectors@4.0.2: dependencies: alphanum-sort: 1.0.2 has: 1.0.4 postcss: 7.0.39 postcss-selector-parser: 3.1.2 - /postcss-minify-selectors@5.2.1(postcss@8.4.33): - resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-minify-selectors@5.2.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-modules-extract-imports@1.1.0: - resolution: {integrity: sha512-zF9+UIEvtpeqMGxhpeT9XaIevQSrBBCz9fi7SwfkmjVacsSj8DY5eFVgn+wY8I9vvdDDwK5xC8Myq4UkoLFIkA==} + postcss-modules-extract-imports@1.1.0: dependencies: postcss: 6.0.1 - /postcss-modules-extract-imports@3.0.0(postcss@8.4.33): - resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-extract-imports@3.0.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-modules-local-by-default@1.2.0: - resolution: {integrity: sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==} + postcss-modules-local-by-default@1.2.0: dependencies: css-selector-tokenizer: 0.7.3 postcss: 6.0.1 - /postcss-modules-local-by-default@4.0.4(postcss@8.4.33): - resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-local-by-default@4.0.4(postcss@8.4.33): dependencies: icss-utils: 5.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-selector-parser: 6.0.15 postcss-value-parser: 4.2.0 - /postcss-modules-scope@1.1.0: - resolution: {integrity: sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==} + postcss-modules-scope@1.1.0: dependencies: css-selector-tokenizer: 0.7.3 postcss: 6.0.1 - /postcss-modules-scope@3.1.1(postcss@8.4.33): - resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-scope@3.1.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-modules-values@1.3.0: - resolution: {integrity: sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==} + postcss-modules-values@1.3.0: dependencies: icss-replace-symbols: 1.1.0 postcss: 6.0.1 - /postcss-modules-values@4.0.0(postcss@8.4.33): - resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} - engines: {node: ^10 || ^12 || >= 14} - peerDependencies: - postcss: ^8.1.0 + postcss-modules-values@4.0.0(postcss@8.4.33): dependencies: icss-utils: 5.1.0(postcss@8.4.33) postcss: 8.4.33 - /postcss-modules@2.0.0: - resolution: {integrity: sha512-eqp+Bva+U2cwQO7dECJ8/V+X+uH1HduNeITB0CPPFAu6d/8LKQ32/j+p9rQ2YL1QytVcrNU0X+fBqgGmQIA1Rw==} + postcss-modules@2.0.0: dependencies: css-modules-loader-core: 1.1.0 generic-names: 2.0.1 @@ -20753,10 +27423,7 @@ packages: postcss: 7.0.39 string-hash: 1.1.3 - /postcss-modules@4.3.1(postcss@8.4.33): - resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==} - peerDependencies: - postcss: ^8.0.0 + postcss-modules@4.3.1(postcss@8.4.33): dependencies: generic-names: 4.0.0 icss-replace-symbols: 1.1.0 @@ -20767,187 +27434,119 @@ packages: postcss-modules-scope: 3.1.1(postcss@8.4.33) postcss-modules-values: 4.0.0(postcss@8.4.33) string-hash: 1.1.3 - dev: true - /postcss-nested@6.0.1(postcss@8.4.33): - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} - engines: {node: '>=12.0'} - peerDependencies: - postcss: ^8.2.14 + postcss-nested@6.0.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-nesting@10.2.0(postcss@8.4.33): - resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-nesting@10.2.0(postcss@8.4.33): dependencies: '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.15) postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-normalize-charset@4.0.1: - resolution: {integrity: sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==} - engines: {node: '>=6.9.0'} + postcss-normalize-charset@4.0.1: dependencies: postcss: 7.0.39 - /postcss-normalize-charset@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-charset@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-normalize-display-values@4.0.2: - resolution: {integrity: sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==} - engines: {node: '>=6.9.0'} + postcss-normalize-display-values@4.0.2: dependencies: cssnano-util-get-match: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-display-values@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-display-values@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize-positions@4.0.2: - resolution: {integrity: sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==} - engines: {node: '>=6.9.0'} + postcss-normalize-positions@4.0.2: dependencies: cssnano-util-get-arguments: 4.0.0 has: 1.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-positions@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-positions@5.1.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize-repeat-style@4.0.2: - resolution: {integrity: sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==} - engines: {node: '>=6.9.0'} + postcss-normalize-repeat-style@4.0.2: dependencies: cssnano-util-get-arguments: 4.0.0 cssnano-util-get-match: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-repeat-style@5.1.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize-string@4.0.2: - resolution: {integrity: sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==} - engines: {node: '>=6.9.0'} + postcss-normalize-string@4.0.2: dependencies: has: 1.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-string@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-string@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize-timing-functions@4.0.2: - resolution: {integrity: sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==} - engines: {node: '>=6.9.0'} + postcss-normalize-timing-functions@4.0.2: dependencies: cssnano-util-get-match: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-timing-functions@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize-unicode@4.0.1: - resolution: {integrity: sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==} - engines: {node: '>=6.9.0'} + postcss-normalize-unicode@4.0.1: dependencies: browserslist: 4.22.2 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-unicode@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-unicode@5.1.1(postcss@8.4.33): dependencies: browserslist: 4.22.2 postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize-url@4.0.1: - resolution: {integrity: sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==} - engines: {node: '>=6.9.0'} + postcss-normalize-url@4.0.1: dependencies: is-absolute-url: 2.1.0 normalize-url: 3.3.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-url@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-url@5.1.0(postcss@8.4.33): dependencies: normalize-url: 6.1.0 postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize-whitespace@4.0.2: - resolution: {integrity: sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==} - engines: {node: '>=6.9.0'} + postcss-normalize-whitespace@4.0.2: dependencies: postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-normalize-whitespace@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-normalize-whitespace@5.1.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-normalize@10.0.1(browserslist@4.22.2)(postcss@8.4.33): - resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==} - engines: {node: '>= 12'} - peerDependencies: - browserslist: '>= 4' - postcss: '>= 8' + postcss-normalize@10.0.1(browserslist@4.22.2)(postcss@8.4.33): dependencies: '@csstools/normalize.css': 12.1.1 browserslist: 4.22.2 @@ -20955,62 +27554,37 @@ packages: postcss-browser-comments: 4.0.0(browserslist@4.22.2)(postcss@8.4.33) sanitize.css: 13.0.0 - /postcss-opacity-percentage@1.1.3(postcss@8.4.33): - resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-opacity-percentage@1.1.3(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-ordered-values@4.1.2: - resolution: {integrity: sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==} - engines: {node: '>=6.9.0'} + postcss-ordered-values@4.1.2: dependencies: cssnano-util-get-arguments: 4.0.0 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-ordered-values@5.1.3(postcss@8.4.33): - resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-ordered-values@5.1.3(postcss@8.4.33): dependencies: cssnano-utils: 3.1.0(postcss@8.4.33) postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-overflow-shorthand@3.0.4(postcss@8.4.33): - resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-overflow-shorthand@3.0.4(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-page-break@3.0.4(postcss@8.4.33): - resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} - peerDependencies: - postcss: ^8 + postcss-page-break@3.0.4(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-place@7.0.5(postcss@8.4.33): - resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-place@7.0.5(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-preset-env@7.8.3(postcss@8.4.33): - resolution: {integrity: sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-preset-env@7.8.3(postcss@8.4.33): dependencies: '@csstools/postcss-cascade-layers': 1.1.1(postcss@8.4.33) '@csstools/postcss-color-function': 1.1.1(postcss@8.4.33) @@ -21063,160 +27637,107 @@ packages: postcss-selector-not: 6.0.1(postcss@8.4.33) postcss-value-parser: 4.2.0 - /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.33): - resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-pseudo-class-any-link@7.1.6(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-reduce-initial@4.0.3: - resolution: {integrity: sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==} - engines: {node: '>=6.9.0'} + postcss-reduce-initial@4.0.3: dependencies: browserslist: 4.22.2 caniuse-api: 3.0.0 has: 1.0.4 postcss: 7.0.39 - /postcss-reduce-initial@5.1.2(postcss@8.4.33): - resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-reduce-initial@5.1.2(postcss@8.4.33): dependencies: browserslist: 4.22.2 caniuse-api: 3.0.0 postcss: 8.4.33 - /postcss-reduce-transforms@4.0.2: - resolution: {integrity: sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==} - engines: {node: '>=6.9.0'} + postcss-reduce-transforms@4.0.2: dependencies: cssnano-util-get-match: 4.0.0 has: 1.0.4 postcss: 7.0.39 postcss-value-parser: 3.3.1 - /postcss-reduce-transforms@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-reduce-transforms@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 - /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.33): - resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} - peerDependencies: - postcss: ^8.0.3 + postcss-replace-overflow-wrap@4.0.0(postcss@8.4.33): dependencies: postcss: 8.4.33 - /postcss-selector-not@6.0.1(postcss@8.4.33): - resolution: {integrity: sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==} - engines: {node: ^12 || ^14 || >=16} - peerDependencies: - postcss: ^8.2 + postcss-selector-not@6.0.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-selector-parser@3.1.2: - resolution: {integrity: sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==} - engines: {node: '>=8'} + postcss-selector-parser@3.1.2: dependencies: dot-prop: 5.3.0 indexes-of: 1.0.1 uniq: 1.0.1 - /postcss-selector-parser@6.0.15: - resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==} - engines: {node: '>=4'} + postcss-selector-parser@6.0.15: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - /postcss-svgo@4.0.3: - resolution: {integrity: sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==} - engines: {node: '>=6.9.0'} + postcss-svgo@4.0.3: dependencies: postcss: 7.0.39 postcss-value-parser: 3.3.1 svgo: 1.3.2 - /postcss-svgo@5.1.0(postcss@8.4.33): - resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-svgo@5.1.0(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-value-parser: 4.2.0 svgo: 2.8.0 - /postcss-unique-selectors@4.0.1: - resolution: {integrity: sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==} - engines: {node: '>=6.9.0'} + postcss-unique-selectors@4.0.1: dependencies: alphanum-sort: 1.0.2 postcss: 7.0.39 uniqs: 2.0.0 - /postcss-unique-selectors@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + postcss-unique-selectors@5.1.1(postcss@8.4.33): dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /postcss-value-parser@3.3.1: - resolution: {integrity: sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==} + postcss-value-parser@3.3.1: {} - /postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + postcss-value-parser@4.2.0: {} - /postcss@6.0.1: - resolution: {integrity: sha512-VbGX1LQgQbf9l3cZ3qbUuC3hGqIEOGQFHAEHQ/Diaeo0yLgpgK5Rb8J+OcamIfQ9PbAU/fzBjVtQX3AhJHUvZw==} - engines: {node: '>=4.0.0'} + postcss@6.0.1: dependencies: chalk: 1.1.3 source-map: 0.5.7 supports-color: 3.2.3 - /postcss@7.0.39: - resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} - engines: {node: '>=6.0.0'} + postcss@7.0.39: dependencies: picocolors: 0.2.1 source-map: 0.6.1 - /postcss@8.4.31: - resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.31: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - dev: false - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.33: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.0.2 - /preact-compat@3.19.0(preact@10.19.3): - resolution: {integrity: sha512-f83A4hIhH8Uzhb9GbIcGk8SM19ffWlwP9mDaYwQdRnMdekZwcCA7eIAbeV4EMQaV9C0Yuy8iKgBAtyTKPZQt/Q==} - peerDependencies: - preact: <10 + preact-compat@3.19.0(preact@10.19.3): dependencies: immutability-helper: 2.9.1 preact: 10.19.3 @@ -21225,192 +27746,118 @@ packages: preact-transition-group: 1.1.1(preact@10.19.3) prop-types: 15.8.1 standalone-react-addons-pure-render-mixin: 0.1.1 - dev: false - /preact-context@1.1.4(preact@10.19.3): - resolution: {integrity: sha512-gcCjPJ65R0MiW9hDu8W/3WAmyTElIvwLyEO6oLQiM6/TbLKLxCpBCWV8GJjx52TTEyUr60HLDcmoCXZlslelzQ==} - peerDependencies: - preact: ^8.2.7 + preact-context@1.1.4(preact@10.19.3): dependencies: preact: 10.19.3 - dev: false - /preact-render-to-string@3.8.2(preact@10.19.3): - resolution: {integrity: sha512-przuZPajiurStGgxMoJP0EJeC4xj5CgHv+M7GfF3YxAdhGgEWAkhOSE0xympAFN20uMayntBZpttIZqqLl77fw==} - peerDependencies: - preact: '*' + preact-render-to-string@3.8.2(preact@10.19.3): dependencies: preact: 10.19.3 pretty-format: 3.8.0 - dev: false - /preact-transition-group@1.1.1(preact@10.19.3): - resolution: {integrity: sha512-v89XLodCvylf5lMrhI+LqIhDsAjWfiDKV4keAU+L5yDtxmqn8uvjZXn+haKMEG0x0PZz81own19SuNJD5NlOFQ==} - peerDependencies: - preact: '*' + preact-transition-group@1.1.1(preact@10.19.3): dependencies: preact: 10.19.3 - dev: false - /preact@10.19.3: - resolution: {integrity: sha512-nHHTeFVBTHRGxJXKkKu5hT8C/YWBkPso4/Gad6xuj5dbptt9iF9NZr9pHbPhBrnT2klheu7mHTxTZ/LjwJiEiQ==} + preact@10.19.3: {} - /preferred-pm@3.1.2: - resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} - engines: {node: '>=10'} + preferred-pm@3.1.2: dependencies: find-up: 5.0.0 find-yarn-workspace-root2: 1.2.16 path-exists: 4.0.0 which-pm: 2.0.0 - dev: true - /prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} + prelude-ls@1.1.2: {} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + prelude-ls@1.2.1: {} - /prepend-http@2.0.0: - resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} - engines: {node: '>=4'} + prepend-http@2.0.0: {} - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true + prettier@2.8.8: {} - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.2.4: {} - /pretty-bytes@5.6.0: - resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} - engines: {node: '>=6'} + pretty-bytes@5.6.0: {} - /pretty-error@4.0.0: - resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + pretty-error@4.0.0: dependencies: lodash: 4.17.21 renderkid: 3.0.0 - /pretty-format@26.6.2: - resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==} - engines: {node: '>= 10'} + pretty-format@26.6.2: dependencies: '@jest/types': 26.6.2 ansi-regex: 5.0.1 ansi-styles: 4.3.0 react-is: 17.0.2 - /pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 ansi-styles: 5.2.0 react-is: 17.0.2 - /pretty-format@28.1.3: - resolution: {integrity: sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==} - engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} + pretty-format@28.1.3: dependencies: '@jest/schemas': 28.1.3 ansi-regex: 5.0.1 ansi-styles: 5.2.0 react-is: 18.2.0 - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true - /pretty-format@3.8.0: - resolution: {integrity: sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew==} - dev: false + pretty-format@3.8.0: {} - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + process-nextick-args@2.0.1: {} - /process-warning@1.0.0: - resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} - dev: false + process-warning@1.0.0: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: true + process@0.11.10: {} - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: false + progress@2.0.3: {} - /promise.series@0.2.0: - resolution: {integrity: sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==} - engines: {node: '>=0.12'} + promise.series@0.2.0: {} - /promise@8.3.0: - resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + promise@8.3.0: dependencies: asap: 2.0.6 - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - /property-information@6.4.1: - resolution: {integrity: sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==} - dev: false + property-information@6.4.1: {} - /proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - requiresBuild: true - dev: false + proto-list@1.2.4: optional: true - /protocols@2.0.1: - resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} - dev: false + protocols@2.0.1: {} - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - /proxy-compare@2.5.1: - resolution: {integrity: sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==} - dev: false + proxy-compare@2.5.1: {} - /pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + pseudomap@1.0.2: {} - /psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + psl@1.9.0: {} - /public-encrypt@4.0.3: - resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + public-encrypt@4.0.3: dependencies: bn.js: 4.12.0(patch_hash=mdjtmbbjulugflauukpfkw6p4q) browserify-rsa: 4.1.0 @@ -21418,186 +27865,120 @@ packages: parse-asn1: 5.1.6 randombytes: 2.1.0 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: true + punycode@1.4.1: {} - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + punycode@2.3.1: {} - /pupa@2.1.1: - resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} - engines: {node: '>=8'} + pupa@2.1.1: dependencies: escape-goat: 2.1.1 - dev: true - /pvtsutils@1.3.5: - resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + pvtsutils@1.3.5: dependencies: tslib: 2.6.2 - /pvutils@1.1.3: - resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} - engines: {node: '>=6.0.0'} + pvutils@1.1.3: {} - /q@1.5.1: - resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} - engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + q@1.5.1: {} - /qr.js@0.0.0: - resolution: {integrity: sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ==} - dev: false + qr.js@0.0.0: {} - /qrcode@1.5.3: - resolution: {integrity: sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==} - engines: {node: '>=10.13.0'} - hasBin: true + qrcode@1.5.3: dependencies: dijkstrajs: 1.0.3 encode-utf8: 1.0.3 pngjs: 5.0.0 yargs: 15.4.1 - dev: false - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} + qs@6.11.0: dependencies: side-channel: 1.0.4 - /qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} - engines: {node: '>=0.6'} + qs@6.11.2: dependencies: side-channel: 1.0.4 - /qs@6.5.3: - resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} - engines: {node: '>=0.6'} - dev: true + qs@6.5.3: {} - /query-string@6.14.1: - resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} - engines: {node: '>=6'} + query-string@6.14.1: dependencies: decode-uri-component: 0.2.2 filter-obj: 1.1.0 split-on-first: 1.1.0 strict-uri-encode: 2.0.0 - dev: false - /query-string@7.1.3: - resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} - engines: {node: '>=6'} + query-string@7.1.3: dependencies: decode-uri-component: 0.2.2 filter-obj: 1.1.0 split-on-first: 1.1.0 strict-uri-encode: 2.0.0 - dev: false - /querystring-es3@0.2.1: - resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} - engines: {node: '>=0.4.x'} - dev: true + querystring-es3@0.2.1: {} - /querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + querystringify@2.2.0: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue-microtask@1.2.3: {} - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false + quick-format-unescaped@4.0.4: {} - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: true + quick-lru@4.0.1: {} - /quickly-copy-file@1.0.0: - resolution: {integrity: sha512-Coy5ADj9Z3iKZ/7Y0Qtf04mBET550LPemwp9rLPE2rROidvuqB42nP7w5SwM6Wl6jPNcrxSSgzco01h1Hu8iIg==} - requiresBuild: true + quickly-copy-file@1.0.0: dependencies: mkdirp: 0.5.6 - dev: false optional: true - /radix3@1.1.0: - resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} - dev: false + radix3@1.1.0: {} - /raf@3.4.1: - resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} + raf@3.4.1: dependencies: performance-now: 2.1.0 - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - /randomfill@1.0.4: - resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + randomfill@1.0.4: dependencies: randombytes: 2.1.0 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + range-parser@1.2.1: {} - /raw-body@1.1.7: - resolution: {integrity: sha512-WmJJU2e9Y6M5UzTOkHaM7xJGAPQD8PNzx3bAd2+uhZAim6wDk6dAZxPVYLF67XhbR4hmKGh33Lpmh4XWrCH5Mg==} - engines: {node: '>= 0.8.0'} + raw-body@1.1.7: dependencies: bytes: 1.0.0 string_decoder: 0.10.31 - dev: true - /raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} + raw-body@2.5.1: dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + raw-body@2.5.2: dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true + rc@1.2.8: dependencies: deep-extend: 0.6.0 ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - /react-app-polyfill@3.0.0: - resolution: {integrity: sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==} - engines: {node: '>=14'} + react-app-polyfill@3.0.0: dependencies: core-js: 3.35.1 object-assign: 4.1.1 @@ -21606,25 +27987,12 @@ packages: regenerator-runtime: 0.13.11 whatwg-fetch: 3.6.20 - /react-app-rewired@2.2.1(react-scripts@5.0.1): - resolution: {integrity: sha512-uFQWTErXeLDrMzOJHKp0h8P1z0LV9HzPGsJ6adOtGlA/B9WfT6Shh4j2tLTTGlXOfiVx6w6iWpp7SOC5pvk+gA==} - hasBin: true - peerDependencies: - react-scripts: '>=2.1.3' + react-app-rewired@2.2.1(react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(eslint@8.57.0)(node-notifier@8.0.2)(react@18.2.0)(sass@1.70.0)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(type-fest@1.4.0)(typescript@4.9.5)(utf-8-validate@5.0.10)): dependencies: - react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(typescript@4.9.5) + react-scripts: 5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(eslint@8.57.0)(node-notifier@8.0.2)(react@18.2.0)(sass@1.70.0)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(type-fest@1.4.0)(typescript@4.9.5)(utf-8-validate@5.0.10) semver: 5.7.2 - dev: true - /react-dev-utils@12.0.1(eslint@8.57.0)(typescript@4.9.5)(webpack@5.90.0): - resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=2.7' - webpack: '>=4' - peerDependenciesMeta: - typescript: - optional: true + react-dev-utils@12.0.1(eslint@8.57.0)(typescript@4.9.5)(webpack@5.90.0): dependencies: '@babel/code-frame': 7.23.5 address: 1.2.2 @@ -21650,103 +28018,65 @@ packages: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - typescript: 4.9.5 webpack: 5.90.0 + optionalDependencies: + typescript: 4.9.5 transitivePeerDependencies: - eslint - supports-color - vue-template-compiler - /react-dom@18.2.0(react@18.2.0): - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 + react-dom@18.2.0(react@17.0.2): + dependencies: + loose-envify: 1.4.0 + react: 17.0.2 + scheduler: 0.23.0 + optional: true + + react-dom@18.2.0(react@18.2.0): dependencies: loose-envify: 1.4.0 react: 18.2.0 scheduler: 0.23.0 - /react-error-overlay@6.0.11: - resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + react-error-overlay@6.0.11: {} - /react-error-overlay@6.0.9: - resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==} - dev: true + react-error-overlay@6.0.9: {} - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-is@16.13.1: {} - /react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + react-is@17.0.2: {} - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + react-is@18.2.0: {} - /react-qr-code@2.0.12(react@18.2.0): - resolution: {integrity: sha512-k+pzP5CKLEGBRwZsDPp98/CAJeXlsYRHM2iZn1Sd5Th/HnKhIZCSg27PXO58zk8z02RaEryg+60xa4vyywMJwg==} - peerDependencies: - react: ^16.x || ^17.x || ^18.x - react-native-svg: '*' - peerDependenciesMeta: - react-native-svg: - optional: true + react-qr-code@2.0.12(react@18.2.0): dependencies: prop-types: 15.8.1 qr.js: 0.0.0 react: 18.2.0 - dev: false - /react-refresh@0.10.0: - resolution: {integrity: sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==} - engines: {node: '>=0.10.0'} - dev: true + react-refresh@0.10.0: {} - /react-refresh@0.11.0: - resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} - engines: {node: '>=0.10.0'} + react-refresh@0.11.0: {} - /react-refresh@0.14.0: - resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} - engines: {node: '>=0.10.0'} - dev: true + react-refresh@0.14.0: {} - /react-router-dom@6.21.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' + react-router-dom@6.21.3(react-dom@18.2.0(react@18.2.0))(react@18.2.0): dependencies: '@remix-run/router': 1.14.2 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-router: 6.21.3(react@18.2.0) - dev: false - /react-router@6.21.3(react@18.2.0): - resolution: {integrity: sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: '>=16.8' + react-router@6.21.3(react@18.2.0): dependencies: '@remix-run/router': 1.14.2 react: 18.2.0 - dev: false - /react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(react@18.2.0)(typescript@4.9.5): - resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==} - engines: {node: '>=14.0.0'} - hasBin: true - peerDependencies: - eslint: '*' - react: '>= 16' - typescript: ^3.2.1 || ^4 - peerDependenciesMeta: - typescript: - optional: true + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(eslint@8.57.0)(node-notifier@8.0.2)(react@18.2.0)(sass@1.70.0)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(type-fest@1.4.0)(typescript@4.9.5)(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.23.9 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(webpack-dev-server@4.15.1)(webpack@5.90.0) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.11(react-refresh@0.11.0)(type-fest@1.4.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.90.0))(webpack@5.90.0) '@svgr/webpack': 5.5.0 babel-jest: 27.5.1(@babel/core@7.23.9) babel-loader: 8.3.0(@babel/core@7.23.9)(webpack@5.90.0) @@ -21761,15 +28091,15 @@ packages: dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 8.57.0 - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.1)(@babel/plugin-transform-react-jsx@7.23.4)(eslint@8.57.0)(jest@27.5.1)(typescript@4.9.5) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.24.1(@babel/core@7.23.9))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.23.9))(eslint@8.57.0)(jest@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10))(typescript@4.9.5) eslint-webpack-plugin: 3.2.0(eslint@8.57.0)(webpack@5.90.0) file-loader: 6.2.0(webpack@5.90.0) fs-extra: 10.1.0 html-webpack-plugin: 5.6.0(webpack@5.90.0) identity-obj-proxy: 3.0.0 - jest: 27.5.1 + jest: 27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0(jest@27.5.1) + jest-watch-typeahead: 1.1.0(jest@27.5.1(bufferutil@4.0.8)(node-notifier@8.0.2)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5))(utf-8-validate@5.0.10)) mini-css-extract-plugin: 2.7.7(webpack@5.90.0) postcss: 8.4.33 postcss-flexbugs-fixes: 5.0.2(postcss@8.4.33) @@ -21783,19 +28113,19 @@ packages: react-refresh: 0.11.0 resolve: 1.22.8 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0(webpack@5.90.0) + sass-loader: 12.6.0(sass@1.70.0)(webpack@5.90.0) semver: 7.5.4 source-map-loader: 3.0.2(webpack@5.90.0) style-loader: 3.3.4(webpack@5.90.0) - tailwindcss: 3.4.1 + tailwindcss: 3.4.1(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)) terser-webpack-plugin: 5.3.10(webpack@5.90.0) - typescript: 4.9.5 webpack: 5.90.0 - webpack-dev-server: 4.15.1(webpack@5.90.0) + webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.90.0) webpack-manifest-plugin: 4.1.1(webpack@5.90.0) - workbox-webpack-plugin: 6.6.0(webpack@5.90.0) + workbox-webpack-plugin: 6.6.0(@types/babel__core@7.20.5)(webpack@5.90.0) optionalDependencies: fsevents: 2.3.3 + typescript: 4.9.5 transitivePeerDependencies: - '@babel/plugin-syntax-flow' - '@babel/plugin-transform-react-jsx' @@ -21830,71 +28160,50 @@ packages: - webpack-hot-middleware - webpack-plugin-serve - /react@17.0.2: - resolution: {integrity: sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==} - engines: {node: '>=0.10.0'} + react@17.0.2: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 - dev: true - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} + react@18.2.0: dependencies: loose-envify: 1.4.0 - /read-cache@1.0.0: - resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + read-cache@1.0.0: dependencies: pify: 2.3.0 - /read-only-stream@2.0.0: - resolution: {integrity: sha512-3ALe0bjBVZtkdWKIcThYpQCLbBMd/+Tbh2CDSrAIDO3UsZ4Xs+tnyjv2MjCOMMgBG+AsUOeuP1cgtY1INISc8w==} + read-only-stream@2.0.0: dependencies: readable-stream: 2.3.8 - dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + read-pkg@3.0.0: dependencies: load-json-file: 4.0.0 normalize-package-data: 2.5.0 path-type: 3.0.0 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} + read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 js-yaml: 3.14.1 pify: 4.0.1 strip-bom: 3.0.0 - dev: true - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -21904,74 +28213,43 @@ packages: string_decoder: 1.1.1 util-deprecate: 1.0.2 - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - /reading-time@1.5.0: - resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} - dev: false + reading-time@1.5.0: {} - /readline-sync@1.4.10: - resolution: {integrity: sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==} - engines: {node: '>= 0.8.0'} - dev: true + readline-sync@1.4.10: {} - /real-require@0.1.0: - resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} - engines: {node: '>= 12.13.0'} - dev: false + real-require@0.1.0: {} - /recursive-readdir@2.2.3: - resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} - engines: {node: '>=6.0.0'} + recursive-readdir@2.2.3: dependencies: minimatch: 3.1.2 - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} + redent@3.0.0: dependencies: indent-string: 4.0.0 strip-indent: 3.0.0 - dev: true - /redis-errors@1.2.0: - resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} - engines: {node: '>=4'} - dev: false + redis-errors@1.2.0: {} - /redis-parser@3.0.0: - resolution: {integrity: sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==} - engines: {node: '>=4'} + redis-parser@3.0.0: dependencies: redis-errors: 1.2.0 - dev: false - /reduce-flatten@1.0.1: - resolution: {integrity: sha512-j5WfFJfc9CoXv/WbwVLHq74i/hdTUpy+iNC534LxczMRP67vJeK3V9JOdnL0N1cIRbn9mYhE2yVjvvKXDxvNXQ==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dev: false + reduce-flatten@1.0.1: optional: true - /reflect-metadata@0.1.14: - resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} - dev: false + reflect-metadata@0.1.14: {} - /reflect.getprototypeof@1.0.4: - resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==} - engines: {node: '>= 0.4'} + reflect.getprototypeof@1.0.4: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 @@ -21980,48 +28258,34 @@ packages: globalthis: 1.0.3 which-builtin-type: 1.1.3 - /regenerate-unicode-properties@10.1.1: - resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} - engines: {node: '>=4'} + regenerate-unicode-properties@10.1.1: dependencies: regenerate: 1.4.2 - /regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + regenerate@1.4.2: {} - /regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + regenerator-runtime@0.13.11: {} - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regenerator-runtime@0.14.1: {} - /regenerator-transform@0.15.2: - resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + regenerator-transform@0.15.2: dependencies: '@babel/runtime': 7.23.9 - /regex-not@1.0.2: - resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} - engines: {node: '>=0.10.0'} + regex-not@1.0.2: dependencies: extend-shallow: 3.0.2 safe-regex: 1.1.0 - dev: true - /regex-parser@2.3.0: - resolution: {integrity: sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==} + regex-parser@2.3.0: {} - /regexp.prototype.flags@1.5.1: - resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.1: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 set-function-name: 2.0.1 - /regexpu-core@5.3.2: - resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} - engines: {node: '>=4'} + regexpu-core@5.3.2: dependencies: '@babel/regjsgen': 0.8.0 regenerate: 1.4.2 @@ -22030,28 +28294,19 @@ packages: unicode-match-property-ecmascript: 2.0.0 unicode-match-property-value-ecmascript: 2.1.0 - /registry-auth-token@4.2.2: - resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} - engines: {node: '>=6.0.0'} + registry-auth-token@4.2.2: dependencies: rc: 1.2.8 - dev: true - /registry-url@5.1.0: - resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} - engines: {node: '>=8'} + registry-url@5.1.0: dependencies: rc: 1.2.8 - dev: true - /regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true + regjsparser@0.9.1: dependencies: jsesc: 0.5.0 - /rehype-katex@7.0.0: - resolution: {integrity: sha512-h8FPkGE00r2XKU+/acgqwWUlyzve1IiOKwsEkg4pDL3k48PiE0Pt+/uLtVHDVkN1yA4iurZN6UES8ivHVEQV6Q==} + rehype-katex@7.0.0: dependencies: '@types/hast': 3.0.3 '@types/katex': 0.16.7 @@ -22060,59 +28315,42 @@ packages: katex: 0.16.9 unist-util-visit-parents: 6.0.1 vfile: 6.0.1 - dev: false - /rehype-pretty-code@0.9.11(shiki@0.14.7): - resolution: {integrity: sha512-Eq90eCYXQJISktfRZ8PPtwc5SUyH6fJcxS8XOMnHPUQZBtC6RYo67gGlley9X2nR8vlniPj0/7oCDEYHKQa/oA==} - engines: {node: '>=16'} - peerDependencies: - shiki: '*' + rehype-pretty-code@0.9.11(shiki@0.14.7): dependencies: '@types/hast': 2.3.9 hash-obj: 4.0.0 parse-numeric-range: 1.3.0 shiki: 0.14.7 - dev: false - /rehype-raw@7.0.0: - resolution: {integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==} + rehype-raw@7.0.0: dependencies: '@types/hast': 3.0.3 hast-util-raw: 9.0.2 vfile: 6.0.1 - dev: false - /relateurl@0.2.7: - resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} - engines: {node: '>= 0.10'} + relateurl@0.2.7: {} - /remark-footnotes@3.0.0: - resolution: {integrity: sha512-ZssAvH9FjGYlJ/PBVKdSmfyPc3Cz4rTWgZLI4iE/SX8Nt5l3o3oEjv3wwG5VD7xOjktzdwp5coac+kJV9l4jgg==} + remark-footnotes@3.0.0: dependencies: mdast-util-footnote: 0.1.7 micromark-extension-footnote: 0.3.2 transitivePeerDependencies: - supports-color - dev: true - /remark-frontmatter@3.0.0: - resolution: {integrity: sha512-mSuDd3svCHs+2PyO29h7iijIZx4plX0fheacJcAoYAASfgzgVIcXGYSq9GFyYocFLftQs8IOmmkgtOovs6d4oA==} + remark-frontmatter@3.0.0: dependencies: mdast-util-frontmatter: 0.2.0 micromark-extension-frontmatter: 0.2.2 - dev: true - /remark-gfm@1.0.0: - resolution: {integrity: sha512-KfexHJCiqvrdBZVbQ6RopMZGwaXz6wFJEfByIuEwGf0arvITHjiKKZ1dpXujjH9KZdm1//XJQwgfnJ3lmXaDPA==} + remark-gfm@1.0.0: dependencies: mdast-util-gfm: 0.1.2 micromark-extension-gfm: 0.3.3 transitivePeerDependencies: - supports-color - dev: true - /remark-gfm@3.0.1: - resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==} + remark-gfm@3.0.1: dependencies: '@types/mdast': 3.0.15 mdast-util-gfm: 2.0.2 @@ -22120,72 +28358,54 @@ packages: unified: 10.1.2 transitivePeerDependencies: - supports-color - dev: false - /remark-math@5.1.1: - resolution: {integrity: sha512-cE5T2R/xLVtfFI4cCePtiRn+e6jKMtFDR3P8V3qpv8wpKjwvHoBA4eJzvX+nVrnlNy0911bdGmuspCSwetfYHw==} + remark-math@5.1.1: dependencies: '@types/mdast': 3.0.15 mdast-util-math: 2.0.2 micromark-extension-math: 2.1.2 unified: 10.1.2 - dev: false - /remark-mdx@2.3.0: - resolution: {integrity: sha512-g53hMkpM0I98MU266IzDFMrTD980gNF3BJnkyFcmN+dD873mQeD5rdMO3Y2X+x8umQfbSE0PcoEDl7ledSA+2g==} + remark-mdx@2.3.0: dependencies: mdast-util-mdx: 2.0.1 micromark-extension-mdxjs: 1.0.1 transitivePeerDependencies: - supports-color - dev: false - /remark-parse@10.0.2: - resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==} + remark-parse@10.0.2: dependencies: '@types/mdast': 3.0.15 mdast-util-from-markdown: 1.3.1 unified: 10.1.2 transitivePeerDependencies: - supports-color - dev: false - /remark-parse@9.0.0: - resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} + remark-parse@9.0.0: dependencies: mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - dev: true - /remark-reading-time@2.0.1: - resolution: {integrity: sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==} + remark-reading-time@2.0.1: dependencies: estree-util-is-identifier-name: 2.1.0 estree-util-value-to-estree: 1.3.0 reading-time: 1.5.0 unist-util-visit: 3.1.0 - dev: false - /remark-rehype@10.1.0: - resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==} + remark-rehype@10.1.0: dependencies: '@types/hast': 2.3.9 '@types/mdast': 3.0.15 mdast-util-to-hast: 12.3.0 unified: 10.1.2 - dev: false - /remove-accents@0.5.0: - resolution: {integrity: sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A==} - dev: false + remove-accents@0.5.0: {} - /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: true + remove-trailing-separator@1.1.0: {} - /renderkid@3.0.0: - resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + renderkid@3.0.0: dependencies: css-select: 4.3.0 dom-converter: 0.2.0 @@ -22193,20 +28413,11 @@ packages: lodash: 4.17.21 strip-ansi: 6.0.1 - /repeat-element@1.1.4: - resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} - engines: {node: '>=0.10.0'} - dev: true + repeat-element@1.1.4: {} - /repeat-string@1.6.1: - resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} - engines: {node: '>=0.10'} - dev: true + repeat-string@1.6.1: {} - /request@2.88.2: - resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} - engines: {node: '>= 6'} - deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + request@2.88.2: dependencies: aws-sign2: 0.7.0 aws4: 1.12.0 @@ -22228,54 +28439,28 @@ packages: tough-cookie: 2.5.0 tunnel-agent: 0.6.0 uuid: 3.4.0 - dev: true - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + require-directory@2.1.1: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + require-from-string@2.0.2: {} - /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + require-main-filename@2.0.0: {} - /require-relative@0.8.7: - resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + require-relative@0.8.7: {} - /requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + requires-port@1.0.0: {} - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - /resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} + resolve-from@3.0.0: {} - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolve-from@5.0.0: {} - /resolve-url-loader@4.0.0: - resolution: {integrity: sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==} - engines: {node: '>=8.9'} - peerDependencies: - rework: 1.0.1 - rework-visit: 1.0.0 - peerDependenciesMeta: - rework: - optional: true - rework-visit: - optional: true + resolve-url-loader@4.0.0: dependencies: adjust-sourcemap-loader: 4.0.0 convert-source-map: 1.9.0 @@ -22283,114 +28468,72 @@ packages: postcss: 7.0.39 source-map: 0.6.1 - /resolve-url@0.2.1: - resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} - deprecated: https://github.com/lydell/resolve-url#deprecated - dev: true + resolve-url@0.2.1: {} - /resolve.exports@1.1.1: - resolution: {integrity: sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==} - engines: {node: '>=10'} + resolve.exports@1.1.1: {} - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true + resolve@2.0.0-next.5: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /response-iterator@0.2.6: - resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} - engines: {node: '>=0.8'} + response-iterator@0.2.6: {} - /responselike@1.0.2: - resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + responselike@1.0.2: dependencies: lowercase-keys: 1.0.1 - /responselike@2.0.1: - resolution: {integrity: sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw==} + responselike@2.0.1: dependencies: lowercase-keys: 2.0.0 - dev: true - /restore-cursor@2.0.0: - resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} - engines: {node: '>=4'} + restore-cursor@2.0.0: dependencies: onetime: 2.0.1 signal-exit: 3.0.7 - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /ret@0.1.15: - resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} - engines: {node: '>=0.12'} - dev: true + ret@0.1.15: {} - /retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} + retry@0.13.1: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.0.4: {} - /rfc4648@1.4.0: - resolution: {integrity: sha512-3qIzGhHlMHA6PoT6+cdPKZ+ZqtxkIvg8DZGKA5z6PQ33/uuhoJ+Ws/D/J9rXW6gXodgH8QYlz2UCl+sdUDmNIg==} - dev: false + rfc4648@1.4.0: {} - /rgb-regex@1.0.1: - resolution: {integrity: sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==} + rgb-regex@1.0.1: {} - /rgba-regex@1.0.0: - resolution: {integrity: sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==} + rgba-regex@1.0.0: {} - /rimraf@2.6.3: - resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==} - hasBin: true + rimraf@2.6.3: dependencies: glob: 7.2.3 - dev: true - /rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true + rimraf@2.7.1: dependencies: glob: 7.2.3 - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + ripemd160@2.0.2: dependencies: hash-base: 3.1.0 inherits: 2.0.4 - dev: true - /roarr@2.15.4: - resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} - engines: {node: '>=8.0'} - requiresBuild: true + roarr@2.15.4: dependencies: boolean: 3.2.0 detect-node: 2.1.0 @@ -22398,16 +28541,11 @@ packages: json-stringify-safe: 5.0.1 semver-compare: 1.0.0 sprintf-js: 1.1.3 - dev: false optional: true - /robust-predicates@3.0.2: - resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} - dev: false + robust-predicates@3.0.2: {} - /rollup-plugin-postcss@3.1.8: - resolution: {integrity: sha512-JHnGfW8quNc6ePxEkZ05HEZ1YiRxDgY9RKEetMfsrwxR2kh/d90OVScTc6b1c2Q17Cs/5TRYL+1uddG21lQe3w==} - engines: {node: '>=10'} + rollup-plugin-postcss@3.1.8: dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 @@ -22424,11 +28562,7 @@ packages: safe-identifier: 0.4.2 style-inject: 0.3.0 - /rollup-plugin-postcss@4.0.2(postcss@8.4.33): - resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==} - engines: {node: '>=10'} - peerDependencies: - postcss: 8.x + rollup-plugin-postcss@4.0.2(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)): dependencies: chalk: 4.1.2 concat-with-sourcemaps: 1.1.0 @@ -22437,7 +28571,7 @@ packages: p-queue: 6.6.2 pify: 5.0.0 postcss: 8.4.33 - postcss-load-config: 3.1.4(postcss@8.4.33) + postcss-load-config: 3.1.4(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)) postcss-modules: 4.3.1(postcss@8.4.33) promise.series: 0.2.0 resolve: 1.22.8 @@ -22446,18 +28580,12 @@ packages: style-inject: 0.3.0 transitivePeerDependencies: - ts-node - dev: true - /rollup-plugin-string@3.0.0: - resolution: {integrity: sha512-vqyzgn9QefAgeKi+Y4A7jETeIAU1zQmS6VotH6bzm/zmUQEnYkpIGRaOBPY41oiWYV4JyBoGAaBjYMYuv+6wVw==} + rollup-plugin-string@3.0.0: dependencies: rollup-pluginutils: 2.8.2 - /rollup-plugin-svelte@6.1.1(rollup@2.79.1)(svelte@3.59.2): - resolution: {integrity: sha512-ijnm0pH1ScrY4uxwaNXBpNVejVzpL2769hIEbAlnqNUWZrffLspu5/k9/l/Wsj3NrEHLQ6wCKGagVJonyfN7ow==} - peerDependencies: - rollup: '>=1.19.2' - svelte: '*' + rollup-plugin-svelte@6.1.1(rollup@2.79.1)(svelte@3.59.2): dependencies: require-relative: 0.8.7 rollup: 2.79.1 @@ -22465,11 +28593,7 @@ packages: sourcemap-codec: 1.4.8 svelte: 3.59.2 - /rollup-plugin-terser@7.0.2(rollup@2.79.1): - resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} - deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser - peerDependencies: - rollup: ^2.0.0 + rollup-plugin-terser@7.0.2(rollup@2.79.1): dependencies: '@babel/code-frame': 7.23.5 jest-worker: 26.6.2 @@ -22477,29 +28601,19 @@ packages: serialize-javascript: 4.0.0 terser: 5.27.0 - /rollup-pluginutils@2.8.2: - resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==} + rollup-pluginutils@2.8.2: dependencies: estree-walker: 0.6.1 - /rollup@2.79.1: - resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} - engines: {node: '>=10.0.0'} - hasBin: true + rollup@2.79.1: optionalDependencies: fsevents: 2.3.3 - /rollup@3.29.4: - resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} - engines: {node: '>=14.18.0', npm: '>=8.0.0'} - hasBin: true + rollup@3.29.4: optionalDependencies: fsevents: 2.3.3 - /rollup@4.9.6: - resolution: {integrity: sha512-05lzkCS2uASX0CiLFybYfVkwNbKZG5NFQ6Go0VWyogFTXXbR039UVsegViTntkk4OglHBdF54ccApXRRuXRbsg==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup@4.9.6: dependencies: '@types/estree': 1.0.5 optionalDependencies: @@ -22517,10 +28631,8 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.9.6 '@rollup/rollup-win32-x64-msvc': 4.9.6 fsevents: 2.3.3 - dev: true - /rpc-websockets@7.9.0: - resolution: {integrity: sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw==} + rpc-websockets@7.9.0: dependencies: '@babel/runtime': 7.23.9 eventemitter3: 4.0.7 @@ -22529,122 +28641,75 @@ packages: optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 - dev: false - /rsvp@3.6.2: - resolution: {integrity: sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==} - engines: {node: 0.12.* || 4.* || 6.* || >= 7.*} - requiresBuild: true - dev: false + rsvp@3.6.2: optional: true - /rsvp@4.8.5: - resolution: {integrity: sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA==} - engines: {node: 6.* || >= 7.*} + rsvp@4.8.5: {} - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} + run-async@2.4.1: {} - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - /run-script-os@1.1.6: - resolution: {integrity: sha512-ql6P2LzhBTTDfzKts+Qo4H94VUKpxKDFz6QxxwaUZN0mwvi7L3lpOI7BqPCq7lgDh3XLl0dpeXwfcVIitlrYrw==} - hasBin: true - dev: true + run-script-os@1.1.6: {} - /rw@1.3.3: - resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} - dev: false + rw@1.3.3: {} - /rx-lite-aggregates@4.0.8: - resolution: {integrity: sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==} - requiresBuild: true + rx-lite-aggregates@4.0.8: dependencies: rx-lite: 4.0.8 - dev: false optional: true - /rx-lite@4.0.8: - resolution: {integrity: sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==} - requiresBuild: true - dev: false + rx-lite@4.0.8: optional: true - /rxjs@6.6.7: - resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} - engines: {npm: '>=2.0.0'} + rxjs@6.6.7: dependencies: tslib: 1.14.1 - /sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} + sade@1.8.1: dependencies: mri: 1.2.0 - /safe-array-concat@1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} - engines: {node: '>=0.4'} + safe-array-concat@1.1.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 has-symbols: 1.0.3 isarray: 2.0.5 - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.1.2: {} - /safe-buffer@5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq): - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - patched: true + safe-buffer@5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq): {} - /safe-identifier@0.4.2: - resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==} + safe-identifier@0.4.2: {} - /safe-json-parse@1.0.1: - resolution: {integrity: sha512-o0JmTu17WGUaUOHa1l0FPGXKBfijbxK6qoHzlkihsDXxzBHvJcA7zgviKR92Xs841rX9pK16unfphLq0/KqX7A==} - dev: true + safe-json-parse@1.0.1: {} - /safe-regex-test@1.0.2: - resolution: {integrity: sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==} - engines: {node: '>= 0.4'} + safe-regex-test@1.0.2: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-regex: 1.1.4 - /safe-regex@1.1.0: - resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + safe-regex@1.1.0: dependencies: ret: 0.1.15 - dev: true - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: false + safe-stable-stringify@2.4.3: {} - /safer-buffer@2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza): - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - patched: true + safer-buffer@2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza): {} - /sander@0.5.1: - resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==} + sander@0.5.1: dependencies: es6-promise: 3.3.1 graceful-fs: 4.2.11 mkdirp: 0.5.6 rimraf: 2.7.1 - /sane@4.1.0: - resolution: {integrity: sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA==} - engines: {node: 6.* || 8.* || >= 10.*} - deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added - hasBin: true + sane@4.1.0: dependencies: '@cnakazawa/watch': 1.0.4 anymatch: 2.0.0 @@ -22657,166 +28722,101 @@ packages: walker: 1.0.8 transitivePeerDependencies: - supports-color - dev: true - /sanitize.css@13.0.0: - resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==} + sanitize.css@13.0.0: {} - /sass-loader@12.6.0(webpack@5.90.0): - resolution: {integrity: sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - fibers: '>= 3.1.0' - node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - sass: ^1.3.0 - sass-embedded: '*' - webpack: ^5.0.0 - peerDependenciesMeta: - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - sass-embedded: - optional: true + sass-loader@12.6.0(sass@1.70.0)(webpack@5.90.0): dependencies: klona: 2.0.6 neo-async: 2.6.2 webpack: 5.90.0 + optionalDependencies: + sass: 1.70.0 - /sass@1.70.0: - resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==} - engines: {node: '>=14.0.0'} - hasBin: true + sass@1.70.0: dependencies: chokidar: 3.5.3 immutable: 4.3.5 source-map-js: 1.0.2 - /sax@1.2.4: - resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + sax@1.2.4: {} - /sax@1.3.0: - resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - requiresBuild: true - dev: false + sax@1.3.0: optional: true - /saxes@5.0.1: - resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} - engines: {node: '>=10'} + saxes@5.0.1: dependencies: xmlchars: 2.2.0 - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.0: dependencies: loose-envify: 1.4.0 - /schema-utils@2.7.0: - resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} - engines: {node: '>= 8.9.0'} + schema-utils@2.7.0: dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - /schema-utils@2.7.1: - resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} - engines: {node: '>= 8.9.0'} + schema-utils@2.7.1: dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - /schema-utils@3.3.0: - resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} - engines: {node: '>= 10.13.0'} + schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.15 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) - /schema-utils@4.2.0: - resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} - engines: {node: '>= 12.13.0'} + schema-utils@4.2.0: dependencies: '@types/json-schema': 7.0.15 ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) - /scoped-regex@2.1.0: - resolution: {integrity: sha512-g3WxHrqSWCZHGHlSrF51VXFdjImhwvH8ZO/pryFH56Qi0cDsZfylQa/t0jCzVQFNbNvM00HfHjkDPEuarKDSWQ==} - engines: {node: '>=8'} - dev: true + scoped-regex@2.1.0: {} - /scroll-into-view-if-needed@3.1.0: - resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} + scroll-into-view-if-needed@3.1.0: dependencies: compute-scroll-into-view: 3.1.0 - dev: false - /secp256k1@4.0.3: - resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} - engines: {node: '>=10.0.0'} - requiresBuild: true + secp256k1@4.0.3: dependencies: elliptic: 6.5.4 node-addon-api: 2.0.2 node-gyp-build: 4.8.0(patch_hash=tidq6bjknpovdjep75bj5ccgke) - dev: false - /section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} + section-matter@1.0.0: dependencies: extend-shallow: 2.0.1 kind-of: 6.0.3 - dev: false - /select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + select-hose@2.0.0: {} - /selfsigned@2.4.1: - resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==} - engines: {node: '>=10'} + selfsigned@2.4.1: dependencies: '@types/node-forge': 1.3.11 node-forge: 1.3.1 - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - requiresBuild: true - dev: false + semver-compare@1.0.0: optional: true - /semver-diff@3.1.1: - resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} - engines: {node: '>=8'} + semver-diff@3.1.1: dependencies: semver: 6.3.1 - dev: true - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true + semver@5.7.2: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true + semver@6.3.1: {} - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true + semver@7.5.4: dependencies: lru-cache: 6.0.0 - /send@0.17.2: - resolution: {integrity: sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==} - engines: {node: '>= 0.8.0'} + send@0.17.2: dependencies: debug: 2.6.9 depd: 1.1.2 @@ -22833,11 +28833,8 @@ packages: statuses: 1.5.0 transitivePeerDependencies: - supports-color - dev: true - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + send@0.18.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -22855,34 +28852,24 @@ packages: transitivePeerDependencies: - supports-color - /serialize-error@7.0.1: - resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} - engines: {node: '>=10'} - requiresBuild: true + serialize-error@7.0.1: dependencies: type-fest: 0.13.1 - dev: false optional: true - /serialize-javascript@4.0.0: - resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==} + serialize-javascript@4.0.0: dependencies: randombytes: 2.1.0 - /serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + serialize-javascript@6.0.0: dependencies: randombytes: 2.1.0 - dev: true - /serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + serialize-javascript@6.0.2: dependencies: randombytes: 2.1.0 - /serve-index@1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} + serve-index@1.9.1: dependencies: accepts: 1.3.8 batch: 0.6.1 @@ -22894,9 +28881,7 @@ packages: transitivePeerDependencies: - supports-color - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + serve-static@1.15.0: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -22905,12 +28890,9 @@ packages: transitivePeerDependencies: - supports-color - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-blocking@2.0.0: {} - /set-function-length@1.2.0: - resolution: {integrity: sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==} - engines: {node: '>= 0.4'} + set-function-length@1.2.0: dependencies: define-data-property: 1.1.1 function-bind: 1.1.2 @@ -22918,117 +28900,80 @@ packages: gopd: 1.0.1 has-property-descriptors: 1.0.1 - /set-function-name@2.0.1: - resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} - engines: {node: '>= 0.4'} + set-function-name@2.0.1: dependencies: define-data-property: 1.1.1 functions-have-names: 1.2.3 has-property-descriptors: 1.0.1 - /set-value@2.0.1: - resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} - engines: {node: '>=0.10.0'} + set-value@2.0.1: dependencies: extend-shallow: 2.0.1 is-extendable: 0.1.1 is-plain-object: 2.0.4 split-string: 3.1.0 - dev: true - /setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: true + setimmediate@1.0.5: {} - /setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + setprototypeof@1.1.0: {} - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + setprototypeof@1.2.0: {} - /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true + sha.js@2.4.11: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - /sha256@0.2.0(patch_hash=jjvpbxfwv27brspghlwzrzih2u): - resolution: {integrity: sha512-kTWMJUaez5iiT9CcMv8jSq6kMhw3ST0uRdcIWl3D77s6AsLXNXRp3heeqqfu5+Dyfu4hwpQnMzhqHh8iNQxw0w==} + sha256@0.2.0(patch_hash=jjvpbxfwv27brspghlwzrzih2u): dependencies: convert-hex: 0.1.0 convert-string: 0.1.0 - dev: false - patched: true - /shasum-object@1.0.0: - resolution: {integrity: sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==} + shasum-object@1.0.0: dependencies: fast-safe-stringify: 2.1.1 - dev: true - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} + shebang-command@1.2.0: dependencies: shebang-regex: 1.0.0 - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} + shebang-regex@1.0.0: {} - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + shebang-regex@3.0.0: {} - /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shell-quote@1.8.1: {} - /shellwords@0.1.1: - resolution: {integrity: sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==} - requiresBuild: true - dev: true + shellwords@0.1.1: optional: true - /shiki@0.14.7: - resolution: {integrity: sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==} + shiki@0.14.7: dependencies: ansi-sequence-parser: 1.1.1 jsonc-parser: 3.2.1 vscode-oniguruma: 1.7.0 vscode-textmate: 8.0.0 - /side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.4: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 object-inspect: 1.13.1 - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@4.1.0: {} - /simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - dev: true + simple-concat@1.0.1: {} - /simple-swizzle@0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + simple-swizzle@0.2.2: dependencies: is-arrayish: 0.3.2 - /sinon@17.0.1: - resolution: {integrity: sha512-wmwE19Lie0MLT+ZYNpDymasPHUKTaZHUH/pKEubRXIzySv9Atnlw+BUMGCzWgV7b7wO+Hw6f1TEOr0IUnmU8/g==} + sinon@17.0.1: dependencies: '@sinonjs/commons': 3.0.1 '@sinonjs/fake-timers': 11.2.2 @@ -23036,37 +28981,20 @@ packages: diff: 5.1.0 nise: 5.1.7 supports-color: 7.2.0 - dev: true - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + sisteransi@1.0.5: {} - /slash@2.0.0: - resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} - engines: {node: '>=6'} - dev: true + slash@2.0.0: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + slash@3.0.0: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + slash@4.0.0: {} - /slice-ansi@0.0.4: - resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} - engines: {node: '>=0.10.0'} - dev: true + slice-ansi@0.0.4: {} - /slick@1.12.2: - resolution: {integrity: sha512-4qdtOGcBjral6YIBCWJ0ljFSKNLz9KkhbWtuGvUyRowl1kxfuE1x/Z/aJcaiilpb3do9bl5K7/1h9XC5wWpY/A==} - dev: true + slick@1.12.2: {} - /smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true + smartwrap@2.0.2: dependencies: array.prototype.flat: 1.3.2 breakword: 1.0.6 @@ -23074,27 +29002,18 @@ packages: strip-ansi: 6.0.1 wcwidth: 1.0.1 yargs: 15.4.1 - dev: true - /snapdragon-node@2.1.1: - resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} - engines: {node: '>=0.10.0'} + snapdragon-node@2.1.1: dependencies: define-property: 1.0.0 isobject: 3.0.1 snapdragon-util: 3.0.1 - dev: true - /snapdragon-util@3.0.1: - resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} - engines: {node: '>=0.10.0'} + snapdragon-util@3.0.1: dependencies: kind-of: 3.2.2 - dev: true - /snapdragon@0.8.2: - resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} - engines: {node: '>=0.10.0'} + snapdragon@0.8.2: dependencies: base: 0.11.2 debug: 2.6.9 @@ -23106,130 +29025,88 @@ packages: use: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + sockjs@0.3.24: dependencies: faye-websocket: 0.11.4 uuid: 8.3.2 websocket-driver: 0.7.4 - /sonic-boom@2.8.0: - resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + sonic-boom@2.8.0: dependencies: atomic-sleep: 1.0.0 - dev: false - /sorcery@0.10.0: - resolution: {integrity: sha512-R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==} - hasBin: true + sorcery@0.10.0: dependencies: buffer-crc32: 0.2.13 minimist: 1.2.8 sander: 0.5.1 sourcemap-codec: 1.4.8 - /sort-keys@5.0.0: - resolution: {integrity: sha512-Pdz01AvCAottHTPQGzndktFNdbRA75BgOfeT1hH+AMnJFv8lynkPi42rfeEhpx1saTEI3YNMWxfqu0sFD1G8pw==} - engines: {node: '>=12'} + sort-keys@5.0.0: dependencies: is-plain-obj: 4.1.0 - dev: false - /source-list-map@2.0.1: - resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + source-list-map@2.0.1: {} - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} + source-map-js@1.0.2: {} - /source-map-loader@3.0.2(webpack@5.90.0): - resolution: {integrity: sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 + source-map-loader@3.0.2(webpack@5.90.0): dependencies: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.0.2 webpack: 5.90.0 - /source-map-resolve@0.5.3: - resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} - deprecated: See https://github.com/lydell/source-map-resolve#deprecated + source-map-resolve@0.5.3: dependencies: atob: 2.1.2 decode-uri-component: 0.2.2 resolve-url: 0.2.1 source-map-url: 0.4.1 urix: 0.1.0 - dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - /source-map-url@0.4.1: - resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} - deprecated: See https://github.com/lydell/source-map-url#deprecated - dev: true + source-map-url@0.4.1: {} - /source-map@0.5.7: - resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} - engines: {node: '>=0.10.0'} + source-map@0.5.7: {} - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + source-map@0.6.1: {} - /source-map@0.7.4: - resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} - engines: {node: '>= 8'} + source-map@0.7.4: {} - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} + source-map@0.8.0-beta.0: dependencies: whatwg-url: 7.1.0 - /sourcemap-codec@1.4.8: - resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} - deprecated: Please use @jridgewell/sourcemap-codec instead + sourcemap-codec@1.4.8: {} - /space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - dev: false + space-separated-tokens@2.0.2: {} - /spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + spawndamnit@2.0.0: dependencies: cross-spawn: 5.1.0 signal-exit: 3.0.7 - dev: true - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.16 - /spdx-exceptions@2.4.0: - resolution: {integrity: sha512-hcjppoJ68fhxA/cjbN4T8N6uCUejN8yFw69ttpqtBeCbF3u13n7mb31NB9jKwGTTWWnt9IbRA/mf1FprYS8wfw==} + spdx-exceptions@2.4.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.4.0 spdx-license-ids: 3.0.16 - /spdx-license-ids@3.0.16: - resolution: {integrity: sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==} + spdx-license-ids@3.0.16: {} - /spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + spdy-transport@3.0.0: dependencies: debug: 4.3.4(supports-color@8.1.1) detect-node: 2.1.0 @@ -23240,9 +29117,7 @@ packages: transitivePeerDependencies: - supports-color - /spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} + spdy@4.0.2: dependencies: debug: 4.3.4(supports-color@8.1.1) handle-thing: 2.0.1 @@ -23252,42 +29127,24 @@ packages: transitivePeerDependencies: - supports-color - /split-on-first@1.1.0: - resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} - engines: {node: '>=6'} - dev: false + split-on-first@1.1.0: {} - /split-string@3.1.0: - resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} - engines: {node: '>=0.10.0'} + split-string@3.1.0: dependencies: extend-shallow: 3.0.2 - dev: true - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: false + split2@4.2.0: {} - /split@1.0.1: - resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + split@1.0.1: dependencies: through: 2.3.8 - dev: true - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + sprintf-js@1.0.3: {} - /sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - requiresBuild: true - dev: false + sprintf-js@1.1.3: optional: true - /sshpk@1.18.0: - resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==} - engines: {node: '>=0.10.0'} - hasBin: true + sshpk@1.18.0: dependencies: asn1: 0.2.6 assert-plus: 1.0.0 @@ -23298,167 +29155,110 @@ packages: jsbn: 0.1.1 safer-buffer: 2.1.2(patch_hash=sdxbjiwrw3yiqjkfb6uxghzoza) tweetnacl: 0.14.5 - dev: true - /stable@0.1.8: - resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} - deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + stable@0.1.8: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - /stackframe@1.3.4: - resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + stackframe@1.3.4: {} - /standalone-react-addons-pure-render-mixin@0.1.1: - resolution: {integrity: sha512-HFkwqpJmvz4vxHyzdeUcjtsp8Am+NauLXdU2/YXT1/InPbszaRo1cLPAy/58H7oOPNNjteqHcv04JEw+d9C+Xw==} - dev: false + standalone-react-addons-pure-render-mixin@0.1.1: {} - /standard-as-callback@2.1.0: - resolution: {integrity: sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==} - dev: false + standard-as-callback@2.1.0: {} - /static-eval@2.0.2: - resolution: {integrity: sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==} + static-eval@2.0.2: dependencies: escodegen: 1.14.3 - /static-extend@0.1.2: - resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} - engines: {node: '>=0.10.0'} + static-extend@0.1.2: dependencies: define-property: 0.2.5 object-copy: 0.1.0 - dev: true - - /statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + statuses@1.5.0: {} - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: false + statuses@2.0.1: {} - /stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} + std-env@3.7.0: {} + + stop-iteration-iterator@1.0.0: dependencies: internal-slot: 1.0.6 - dev: true - /stream-browserify@3.0.0: - resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + stream-browserify@3.0.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.2 - /stream-combiner2@1.1.1: - resolution: {integrity: sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==} + stream-combiner2@1.1.1: dependencies: duplexer2: 0.1.4 readable-stream: 2.3.8 - dev: true - /stream-http@3.2.0: - resolution: {integrity: sha512-Oq1bLqisTyK3TSCXpPbT4sdeYNdmyZJv1LxpEm2vu1ZhK89kSE5YXwZc3cWk0MagGaKriBh9mCFbVGtO+vY29A==} + stream-http@3.2.0: dependencies: builtin-status-codes: 3.0.0 inherits: 2.0.4 readable-stream: 3.6.2 xtend: 4.0.2 - dev: true - /stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - dev: false + stream-shift@1.0.3: {} - /stream-splicer@2.0.1: - resolution: {integrity: sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==} + stream-splicer@2.0.1: dependencies: inherits: 2.0.4 readable-stream: 2.3.8 - dev: true - /stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + stream-transform@2.1.3: dependencies: mixme: 0.5.10 - dev: true - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: false + streamsearch@1.1.0: {} - /strict-uri-encode@2.0.0: - resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} - engines: {node: '>=4'} - dev: false + strict-uri-encode@2.0.0: {} - /string-hash@1.1.3: - resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==} + string-hash@1.1.3: {} - /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} + string-length@4.0.2: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - /string-length@5.0.1: - resolution: {integrity: sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==} - engines: {node: '>=12.20'} + string-length@5.0.1: dependencies: char-regex: 2.0.1 strip-ansi: 7.1.0 - /string-natural-compare@3.0.1: - resolution: {integrity: sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==} + string-natural-compare@3.0.1: {} - /string-template@0.2.1: - resolution: {integrity: sha512-Yptehjogou2xm4UJbxJ4CxgZx12HBfeystp0y3x7s4Dj32ltVVG1Gg8YhKjHZkHicuKpZX/ffilA8505VbUbpw==} - dev: true + string-template@0.2.1: {} - /string-width@1.0.2: - resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} - engines: {node: '>=0.10.0'} + string-width@1.0.2: dependencies: code-point-at: 1.1.0 is-fullwidth-code-point: 1.0.0 strip-ansi: 3.0.1 - /string-width@2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} + string-width@2.1.1: dependencies: is-fullwidth-code-point: 2.0.0 strip-ansi: 4.0.0 - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - /string.prototype.matchall@4.0.10: - resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==} + string.prototype.matchall@4.0.10: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 @@ -23470,207 +29270,127 @@ packages: set-function-name: 2.0.1 side-channel: 1.0.4 - /string.prototype.padend@3.1.5: - resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==} - engines: {node: '>= 0.4'} + string.prototype.padend@3.1.5: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.8: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - /string.prototype.trimend@1.0.7: - resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + string.prototype.trimend@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + string.prototype.trimstart@1.0.7: dependencies: call-bind: 1.0.5 define-properties: 1.2.1 es-abstract: 1.22.3 - /string_decoder@0.10.31: - resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} - dev: true + string_decoder@0.10.31: {} - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - /stringify-entities@4.0.3: - resolution: {integrity: sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==} + stringify-entities@4.0.3: dependencies: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - dev: false - /stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} + stringify-object@3.3.0: dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 - /strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} + strip-ansi@3.0.1: dependencies: ansi-regex: 2.1.1 - /strip-ansi@4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} + strip-ansi@4.0.0: dependencies: ansi-regex: 3.0.1 - /strip-ansi@5.2.0: - resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} - engines: {node: '>=6'} + strip-ansi@5.2.0: dependencies: ansi-regex: 4.1.1 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - /strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - dev: false + strip-bom-string@1.0.0: {} - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + strip-bom@3.0.0: {} - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} + strip-bom@4.0.0: {} - /strip-comments@2.0.1: - resolution: {integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==} - engines: {node: '>=10'} + strip-comments@2.0.1: {} - /strip-eof@1.0.0: - resolution: {integrity: sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==} - engines: {node: '>=0.10.0'} + strip-eof@1.0.0: {} - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + strip-final-newline@2.0.0: {} - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: false + strip-final-newline@3.0.0: {} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} + strip-json-comments@2.0.1: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + strip-json-comments@3.1.1: {} - /style-inject@0.3.0: - resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} + style-inject@0.3.0: {} - /style-loader@3.3.4(webpack@5.90.0): - resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 + style-loader@3.3.4(webpack@5.90.0): dependencies: webpack: 5.90.0 - /style-to-object@0.4.4: - resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} + style-to-object@0.4.4: dependencies: inline-style-parser: 0.1.1 - dev: false - /styled-jsx@5.1.1(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true + styled-jsx@5.1.1(react@18.2.0): dependencies: client-only: 0.0.1 react: 18.2.0 - dev: false - /stylehacks@4.0.3: - resolution: {integrity: sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==} - engines: {node: '>=6.9.0'} + stylehacks@4.0.3: dependencies: browserslist: 4.22.2 postcss: 7.0.39 postcss-selector-parser: 3.1.2 - /stylehacks@5.1.1(postcss@8.4.33): - resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} - engines: {node: ^10 || ^12 || >=14.0} - peerDependencies: - postcss: ^8.2.15 + stylehacks@5.1.1(postcss@8.4.33): dependencies: browserslist: 4.22.2 postcss: 8.4.33 postcss-selector-parser: 6.0.15 - /stylis@4.3.1: - resolution: {integrity: sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==} - dev: false + stylis@4.3.1: {} - /subarg@1.0.0: - resolution: {integrity: sha512-RIrIdRY0X1xojthNcVtgT9sjpOGagEUKpZdgBUi054OEPFo282yg+zE+t1Rj3+RqKq2xStL7uUHhY+AjbC4BXg==} + subarg@1.0.0: dependencies: minimist: 1.2.8 - dev: true - /sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + sucrase@3.35.0: dependencies: '@jridgewell/gen-mapping': 0.3.3 commander: 4.1.1 @@ -23680,75 +29400,46 @@ packages: pirates: 4.0.6 ts-interface-checker: 0.1.13 - /sumchecker@3.0.1: - resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} - engines: {node: '>= 8.0'} + sumchecker@3.0.1: dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: false - /superstruct@0.14.2: - resolution: {integrity: sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ==} - dev: false + superstruct@0.14.2: {} - /superstruct@1.0.3: - resolution: {integrity: sha512-8iTn3oSS8nRGn+C2pgXSKPI3jmpm6FExNazNpjvqS6ZUJQCej3PUXEKM8NjHBOs54ExM+LPW/FBRhymrdcCiSg==} - engines: {node: '>=14.0.0'} - dev: false + superstruct@1.0.3: {} - /supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} + supports-color@2.0.0: {} - /supports-color@3.2.3: - resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} - engines: {node: '>=0.8.0'} + supports-color@3.2.3: dependencies: has-flag: 1.0.0 - /supports-color@4.5.0: - resolution: {integrity: sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==} - engines: {node: '>=4'} + supports-color@4.5.0: dependencies: has-flag: 2.0.0 - dev: false - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - /supports-hyperlinks@2.3.0: - resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} - engines: {node: '>=8'} + supports-hyperlinks@2.3.0: dependencies: has-flag: 4.0.0 supports-color: 7.2.0 - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /svelte-check@1.6.0(postcss@8.4.33)(svelte@3.59.2): - resolution: {integrity: sha512-nQTlbFJWhwoeLY5rkhgbjzGQSwk5F1pRdEXait0EFaQSrE/iJF+PIjrQlk0BjL/ogk9HaR9ZI0DQSYrl7jl3IQ==} - hasBin: true - peerDependencies: - svelte: ^3.24.0 + svelte-check@1.6.0(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2): dependencies: chalk: 4.1.2 chokidar: 3.5.3 @@ -23758,7 +29449,7 @@ packages: sade: 1.8.1 source-map: 0.7.4 svelte: 3.59.2 - svelte-preprocess: 4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5) + svelte-preprocess: 4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5) typescript: 4.9.5 transitivePeerDependencies: - '@babel/core' @@ -23772,69 +29463,27 @@ packages: - stylus - sugarss - /svelte-preprocess@4.10.7(postcss@8.4.33)(svelte@3.59.2)(typescript@4.9.5): - resolution: {integrity: sha512-sNPBnqYD6FnmdBrUmBCaqS00RyCsCpj2BG58A1JBswNF7b0OKviwxqVrOL/CKyJrLSClrSeqQv5BXNg2RUbPOw==} - engines: {node: '>= 9.11.2'} - requiresBuild: true - peerDependencies: - '@babel/core': ^7.10.2 - coffeescript: ^2.5.1 - less: ^3.11.3 || ^4.0.0 - node-sass: '*' - postcss: ^7 || ^8 - postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0 - pug: ^3.0.0 - sass: ^1.26.8 - stylus: ^0.55.0 - sugarss: ^2.0.0 - svelte: ^3.23.0 - typescript: ^3.9.5 || ^4.0.0 - peerDependenciesMeta: - '@babel/core': - optional: true - coffeescript: - optional: true - less: - optional: true - node-sass: - optional: true - postcss: - optional: true - postcss-load-config: - optional: true - pug: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - typescript: - optional: true + svelte-preprocess@4.10.7(@babel/core@7.24.3)(postcss-load-config@4.0.2(postcss@8.4.33))(postcss@8.4.33)(sass@1.70.0)(svelte@3.59.2)(typescript@4.9.5): dependencies: '@types/pug': 2.0.10 '@types/sass': 1.45.0 detect-indent: 6.1.0 magic-string: 0.25.9 - postcss: 8.4.33 sorcery: 0.10.0 strip-indent: 3.0.0 svelte: 3.59.2 + optionalDependencies: + '@babel/core': 7.24.3 + postcss: 8.4.33 + postcss-load-config: 4.0.2(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)) + sass: 1.70.0 typescript: 4.9.5 - /svelte@3.59.2: - resolution: {integrity: sha512-vzSyuGr3eEoAtT/A6bmajosJZIUWySzY2CzB3w2pgPvnkUjGqlDnsNnA0PMO+mMAhuyMul6C2uuZzY6ELSkzyA==} - engines: {node: '>= 8'} + svelte@3.59.2: {} - /svg-parser@2.0.4: - resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + svg-parser@2.0.4: {} - /svgo@1.3.2: - resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} - engines: {node: '>=4.0.0'} - deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x. - hasBin: true + svgo@1.3.2: dependencies: chalk: 2.4.2 coa: 2.0.2 @@ -23850,10 +29499,7 @@ packages: unquote: 1.1.1 util.promisify: 1.0.1 - /svgo@2.8.0: - resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} - engines: {node: '>=10.13.0'} - hasBin: true + svgo@2.8.0: dependencies: '@trysound/sax': 0.2.0 commander: 7.2.0 @@ -23863,50 +29509,30 @@ packages: picocolors: 1.0.0 stable: 0.1.8 - /symbol-observable@1.2.0: - resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} - engines: {node: '>=0.10.0'} + symbol-observable@1.2.0: {} - /symbol-observable@3.0.0: - resolution: {integrity: sha512-6tDOXSHiVjuCaasQSWTmHUWn4PuG7qa3+1WT031yTc/swT7+rLiw3GOrFxaH1E3lLP09dH3bVuVDf2gK5rxG3Q==} - engines: {node: '>=0.10'} - dev: true + symbol-observable@3.0.0: {} - /symbol-observable@4.0.0: - resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} - engines: {node: '>=0.10'} + symbol-observable@4.0.0: {} - /symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + symbol-tree@3.2.4: {} - /syntax-error@1.4.0: - resolution: {integrity: sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==} + syntax-error@1.4.0: dependencies: acorn-node: 1.8.2 - dev: true - /system-architecture@0.1.0: - resolution: {integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==} - engines: {node: '>=18'} - dev: false + system-architecture@0.1.0: {} - /table-layout@0.4.5: - resolution: {integrity: sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==} - engines: {node: '>=4.0.0'} - requiresBuild: true + table-layout@0.4.5: dependencies: array-back: 2.0.0 deep-extend: 0.6.0 lodash.padend: 4.6.1 typical: 2.6.1 wordwrapjs: 3.0.0 - dev: false optional: true - /tailwindcss@3.4.1: - resolution: {integrity: sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==} - engines: {node: '>=14.0.0'} - hasBin: true + tailwindcss@3.4.1(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -23925,7 +29551,7 @@ packages: postcss: 8.4.33 postcss-import: 15.1.0(postcss@8.4.33) postcss-js: 4.0.1(postcss@8.4.33) - postcss-load-config: 4.0.2(postcss@8.4.33) + postcss-load-config: 4.0.2(postcss@8.4.33)(ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5)) postcss-nested: 6.0.1(postcss@8.4.33) postcss-selector-parser: 6.0.15 resolve: 1.22.8 @@ -23933,18 +29559,11 @@ packages: transitivePeerDependencies: - ts-node - /tapable@1.1.3: - resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} - engines: {node: '>=6'} + tapable@1.1.3: {} - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + tapable@2.2.1: {} - /tar@4.4.19: - resolution: {integrity: sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA==} - engines: {node: '>=4.5'} - requiresBuild: true + tar@4.4.19: dependencies: chownr: 1.1.4 fs-minipass: 1.2.7 @@ -23953,49 +29572,25 @@ packages: mkdirp: 0.5.6 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) yallist: 3.1.1 - dev: false optional: true - /temp-dir@2.0.0: - resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} - engines: {node: '>=8'} + temp-dir@2.0.0: {} - /tempy@0.6.0: - resolution: {integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==} - engines: {node: '>=10'} + tempy@0.6.0: dependencies: is-stream: 2.0.1 temp-dir: 2.0.0 type-fest: 0.16.0 unique-string: 2.0.0 - /term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - dev: true + term-size@2.2.1: {} - /terminal-link@2.1.1: - resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} - engines: {node: '>=8'} + terminal-link@2.1.1: dependencies: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - /terser-webpack-plugin@5.3.10(webpack@5.90.0): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true + terser-webpack-plugin@5.3.10(webpack@5.90.0): dependencies: '@jridgewell/trace-mapping': 0.3.22 jest-worker: 27.5.1 @@ -24004,90 +29599,61 @@ packages: terser: 5.27.0 webpack: 5.90.0 - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} - engines: {node: '>=10'} - hasBin: true + terser@5.27.0: dependencies: '@jridgewell/source-map': 0.3.5 acorn: 8.11.3 commander: 2.20.3 source-map-support: 0.5.21 - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - /test-value@2.1.0: - resolution: {integrity: sha512-+1epbAxtKeXttkGFMTX9H42oqzOTufR1ceCF+GYA5aOmvaPq9wd4PUS8329fn2RRLGNeUkgRLnVpycjx8DsO2w==} - engines: {node: '>=0.10.0'} - requiresBuild: true + test-value@2.1.0: dependencies: array-back: 1.0.4 typical: 2.6.1 - dev: false optional: true - /text-encoding-utf-8@1.0.2: - resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} - dev: false + text-encoding-utf-8@1.0.2: {} - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + text-table@0.2.0: {} - /thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} + thenify-all@1.6.0: dependencies: thenify: 3.3.1 - /thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thenify@3.3.1: dependencies: any-promise: 1.3.0 - /thread-stream@0.15.2: - resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + thread-stream@0.15.2: dependencies: real-require: 0.1.0 - dev: false - /throat@5.0.0: - resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==} - dev: true + throat@5.0.0: {} - /throat@6.0.2: - resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + throat@6.0.2: {} - /through2@2.0.5: - resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + through2@2.0.5: dependencies: readable-stream: 2.3.8 xtend: 4.0.2 - dev: true - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + through@2.3.8: {} - /thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + thunky@1.1.0: {} - /timers-browserify@1.4.2: - resolution: {integrity: sha512-PIxwAupJZiYU4JmVZYwXp9FKsHMXb5h0ZEFyuXTAn8WLHOlcij+FEcbrvDsom1o5dr1YggEtFbECvGCW2sT53Q==} - engines: {node: '>=0.6.0'} + timers-browserify@1.4.2: dependencies: process: 0.11.10 - dev: true - /timsort@0.3.0: - resolution: {integrity: sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==} + timsort@0.3.0: {} - /tiny-lr@1.1.1: - resolution: {integrity: sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==} + tiny-lr@1.1.1: dependencies: body: 5.1.0 debug: 3.2.7 @@ -24097,205 +29663,121 @@ packages: qs: 6.11.2 transitivePeerDependencies: - supports-color - dev: true - /title@3.5.3: - resolution: {integrity: sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==} - hasBin: true + title@3.5.3: dependencies: arg: 1.0.0 chalk: 2.3.0 clipboardy: 1.2.2 titleize: 1.0.0 - dev: false - /titleize@1.0.0: - resolution: {integrity: sha512-TARUb7z1pGvlLxgPk++7wJ6aycXF3GJ0sNSBTAsTuJrQG5QuZlkUQP+zl+nbjAh4gMX9yDw9ZYklMd7vAfJKEw==} - engines: {node: '>=0.10.0'} - dev: false + titleize@1.0.0: {} - /tmp@0.0.28: - resolution: {integrity: sha512-c2mmfiBmND6SOVxzogm1oda0OJ1HZVIk/5n26N59dDTh80MUeavpiCls4PGAdkX1PFkKokLpcf7prSjCeXLsJg==} - engines: {node: '>=0.4.0'} + tmp@0.0.28: dependencies: os-tmpdir: 1.0.2 - dev: true - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - - /tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} + + tmp@0.2.1: dependencies: rimraf: 3.0.2 - dev: false - /tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + tmpl@1.0.5: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + to-fast-properties@2.0.0: {} - /to-object-path@0.3.0: - resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} - engines: {node: '>=0.10.0'} + to-object-path@0.3.0: dependencies: kind-of: 3.2.2 - dev: true - /to-readable-stream@1.0.0: - resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} - engines: {node: '>=6'} + to-readable-stream@1.0.0: {} - /to-readable-stream@2.1.0: - resolution: {integrity: sha512-o3Qa6DGg1CEXshSdvWNX2sN4QHqg03SPq7U6jPXRahlQdl5dK8oXjkU/2/sGrnOZKeGV1zLSO8qPwyKklPPE7w==} - engines: {node: '>=8'} - dev: true + to-readable-stream@2.1.0: {} - /to-regex-range@2.1.1: - resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} - engines: {node: '>=0.10.0'} + to-regex-range@2.1.1: dependencies: is-number: 3.0.0 repeat-string: 1.6.1 - dev: true - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /to-regex@3.0.2: - resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} - engines: {node: '>=0.10.0'} + to-regex@3.0.2: dependencies: define-property: 2.0.2 extend-shallow: 3.0.2 regex-not: 1.0.2 safe-regex: 1.1.0 - dev: true - /toggle-selection@1.0.6: - resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} - dev: false + toggle-selection@1.0.6: {} - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + toidentifier@1.0.1: {} - /toml@2.3.6: - resolution: {integrity: sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==} - requiresBuild: true - dev: false + toml@2.3.6: optional: true - /tough-cookie@2.5.0: - resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} - engines: {node: '>=0.8'} + tough-cookie@2.5.0: dependencies: psl: 1.9.0 punycode: 2.3.1 - dev: true - /tough-cookie@4.1.3: - resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==} - engines: {node: '>=6'} + tough-cookie@4.1.3: dependencies: psl: 1.9.0 punycode: 2.3.1 universalify: 0.2.0 url-parse: 1.5.10 - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@0.0.3: {} - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + tr46@1.0.1: dependencies: punycode: 2.3.1 - /tr46@2.1.0: - resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} - engines: {node: '>=8'} + tr46@2.1.0: dependencies: punycode: 2.3.1 - /transform-markdown-links@2.1.0: - resolution: {integrity: sha512-7HWQwQ9US+tJSMMzi1aP+KA3QwfjDs8sB4H5GBMRHFNBMQVdgoF6VfIFy2nJR/UHRTkYoGFwWh2pe+QIwSvfOA==} - engines: {node: '>=4'} - dev: true + transform-markdown-links@2.1.0: {} - /traverse@0.3.9: - resolution: {integrity: sha512-iawgk0hLP3SxGKDfnDJf8wTz4p2qImnyihM5Hh/sGvQ3K37dPi/w8sRhdNIxYA1TwFwc5mDhIJq+O0RsvXBKdQ==} - dev: true + traverse@0.3.9: {} - /traverse@0.6.8: - resolution: {integrity: sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==} - engines: {node: '>= 0.4'} - dev: true + traverse@0.6.8: {} - /trim-lines@3.0.1: - resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} - dev: false + trim-lines@3.0.1: {} - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: true + trim-newlines@3.0.1: {} - /trough@1.0.5: - resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} - dev: true + trough@1.0.5: {} - /trough@2.1.0: - resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==} - dev: false + trough@2.1.0: {} - /try-resolve@1.0.1: - resolution: {integrity: sha512-yHeaPjCBzVaXwWl5IMUapTaTC2rn/eBYg2fsG2L+CvJd+ttFbk0ylDnpTO3wVhosmE1tQEvcebbBeKLCwScQSQ==} - dev: true + try-resolve@1.0.1: {} - /tryer@1.0.1: - resolution: {integrity: sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==} + tryer@1.0.1: {} - /ts-dedent@2.2.0: - resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} - engines: {node: '>=6.10'} - dev: false + ts-dedent@2.2.0: {} - /ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-interface-checker@0.1.13: {} - /ts-invariant@0.10.3: - resolution: {integrity: sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==} - engines: {node: '>=8'} + ts-invariant@0.10.3: dependencies: tslib: 2.6.2 - /ts-invariant@0.4.4: - resolution: {integrity: sha512-uEtWkFM/sdZvRNNDL3Ehu4WVpwaulhwQszV8mrtcdeE8nN00BV9mAmQ88RkrBhFgl9gMgvjJLAQcZbnPXI9mlA==} + ts-invariant@0.4.4: dependencies: tslib: 1.14.1 - dev: false - /ts-jest@26.5.6(jest@26.6.3)(typescript@4.9.5): - resolution: {integrity: sha512-rua+rCP8DxpA8b4DQD/6X2HQS8Zy/xzViVYfEs2OQu68tkCuKLV0Md8pmX55+W24uRIyAsf/BajRfxOs+R2MKA==} - engines: {node: '>= 10'} - hasBin: true - peerDependencies: - jest: '>=26 <27' - typescript: '>=3.8 <5.0' + ts-jest@26.5.6(jest@26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10))(typescript@4.9.5): dependencies: bs-logger: 0.2.6 buffer-from: 1.1.2 fast-json-stable-stringify: 2.1.0 - jest: 26.6.3 + jest: 26.6.3(bufferutil@4.0.8)(ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5))(utf-8-validate@5.0.10) jest-util: 26.6.2 json5: 2.2.3 lodash: 4.17.21 @@ -24304,34 +29786,15 @@ packages: semver: 7.5.4 typescript: 4.9.5 yargs-parser: 20.2.9 - dev: true - /ts-mocha@10.0.0(mocha@10.2.0): - resolution: {integrity: sha512-VRfgDO+iiuJFlNB18tzOfypJ21xn2xbuZyDvJvqpTbWgkAgD17ONGr8t+Tl8rcBtOBdjXp5e/Rk+d39f7XBHRw==} - engines: {node: '>= 6.X.X'} - hasBin: true - peerDependencies: - mocha: ^3.X.X || ^4.X.X || ^5.X.X || ^6.X.X || ^7.X.X || ^8.X.X || ^9.X.X || ^10.X.X + ts-mocha@10.0.0(mocha@10.2.0): dependencies: mocha: 10.2.0 ts-node: 7.0.1 optionalDependencies: tsconfig-paths: 3.15.0 - dev: true - /ts-node@10.9.1(@types/node@14.18.63)(typescript@4.9.5): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.1(@types/node@14.18.63)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -24348,21 +29811,27 @@ packages: typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true - /ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5): - resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.1(@types/node@16.18.76)(typescript@4.9.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 16.18.76 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 4.9.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + optional: true + + ts-node@10.9.1(@types/node@18.11.10)(typescript@4.9.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -24379,12 +29848,27 @@ packages: typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true + optional: true - /ts-node@7.0.1: - resolution: {integrity: sha512-BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==} - engines: {node: '>=4.2.0'} - hasBin: true + ts-node@10.9.1(@types/node@18.11.10)(typescript@5.3.3): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 18.11.10 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.3.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + + ts-node@7.0.1: dependencies: arrify: 1.0.1 buffer-from: 1.1.2 @@ -24394,47 +29878,36 @@ packages: mkdirp: 0.5.6 source-map-support: 0.5.21 yn: 2.0.0 - dev: true - /ts-typed-json@0.2.2: - resolution: {integrity: sha512-9VrASRmfrPbsuXvl9rdq82TzGs3Qg7D8eI5vF6LOLBhFh5sju5wbpE73DzxUtyQ954kfVO9yfF9NNgXAJ16cPw==} - requiresBuild: true + ts-typed-json@0.2.2: dependencies: rsvp: 3.6.2 - dev: false optional: true - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@1.14.1: {} - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.2: {} - /tsutils@3.21.0(typescript@4.9.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + tsutils@3.21.0(typescript@4.9.5): dependencies: tslib: 1.14.1 typescript: 4.9.5 - /tty-browserify@0.0.1: - resolution: {integrity: sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==} - dev: true + tsutils@3.21.0(typescript@5.3.3): + dependencies: + tslib: 1.14.1 + typescript: 5.3.3 - /tty-table@4.2.3: - resolution: {integrity: sha512-Fs15mu0vGzCrj8fmJNP7Ynxt5J7praPXqFN0leZeZBXJwkMxv9cb2D454k1ltrtUSJbZ4yH4e0CynsHLxmUfFA==} - engines: {node: '>=8.0.0'} - hasBin: true + tty-browserify@0.0.1: {} + + tty-table@4.2.3: dependencies: chalk: 4.1.2 csv: 5.5.3 @@ -24443,72 +29916,33 @@ packages: strip-ansi: 6.0.1 wcwidth: 1.0.1 yargs: 17.7.2 - dev: true - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) - dev: true - /tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - requiresBuild: true - dev: false + tunnel@0.0.6: optional: true - /turbo-darwin-64@1.11.3: - resolution: {integrity: sha512-IsOOg2bVbIt3o/X8Ew9fbQp5t1hTHN3fGNQYrPQwMR2W1kIAC6RfbVD4A9OeibPGyEPUpwOH79hZ9ydFH5kifw==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + turbo-darwin-64@1.11.3: optional: true - /turbo-darwin-arm64@1.11.3: - resolution: {integrity: sha512-FsJL7k0SaPbJzI/KCnrf/fi3PgCDCjTliMc/kEFkuWVA6Httc3Q4lxyLIIinz69q6JTx8wzh6yznUMzJRI3+dg==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + turbo-darwin-arm64@1.11.3: optional: true - /turbo-linux-64@1.11.3: - resolution: {integrity: sha512-SvW7pvTVRGsqtSkII5w+wriZXvxqkluw5FO/MNAdFw0qmoov+PZ237+37/NgArqE3zVn1GX9P6nUx9VO+xcQAg==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + turbo-linux-64@1.11.3: optional: true - /turbo-linux-arm64@1.11.3: - resolution: {integrity: sha512-YhUfBi1deB3m+3M55X458J6B7RsIS7UtM3P1z13cUIhF+pOt65BgnaSnkHLwETidmhRh8Dl3GelaQGrB3RdCDw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + turbo-linux-arm64@1.11.3: optional: true - /turbo-windows-64@1.11.3: - resolution: {integrity: sha512-s+vEnuM2TiZuAUUUpmBHDr6vnNbJgj+5JYfnYmVklYs16kXh+EppafYQOAkcRIMAh7GjV3pLq5/uGqc7seZeHA==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + turbo-windows-64@1.11.3: optional: true - /turbo-windows-arm64@1.11.3: - resolution: {integrity: sha512-ZR5z5Zpc7cASwfdRAV5yNScCZBsgGSbcwiA/u3farCacbPiXsfoWUkz28iyrx21/TRW0bi6dbsB2v17swa8bjw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + turbo-windows-arm64@1.11.3: optional: true - /turbo@1.11.3: - resolution: {integrity: sha512-RCJOUFcFMQNIGKSjC9YmA5yVP1qtDiBA0Lv9VIgrXraI5Da1liVvl3VJPsoDNIR9eFMyA/aagx1iyj6UWem5hA==} - hasBin: true + turbo@1.11.3: optionalDependencies: turbo-darwin-64: 1.11.3 turbo-darwin-arm64: 1.11.3 @@ -24516,86 +29950,42 @@ packages: turbo-linux-arm64: 1.11.3 turbo-windows-64: 1.11.3 turbo-windows-arm64: 1.11.3 - dev: true - /tweetnacl@0.14.5: - resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} - dev: true + tweetnacl@0.14.5: {} - /tweetnacl@1.0.3(patch_hash=neqghjkbymv6pdxg4mf33vfzg4): - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} - dev: false - patched: true + tweetnacl@1.0.3(patch_hash=neqghjkbymv6pdxg4mf33vfzg4): {} - /type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} + type-check@0.3.2: dependencies: prelude-ls: 1.1.2 - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} + type-detect@4.0.8: {} - /type-fest@0.10.0: - resolution: {integrity: sha512-EUV9jo4sffrwlg8s0zDhP0T2WD3pru5Xi0+HTE3zTUmBaZNhfkite9PdSJwdXLwPVW0jnAHT56pZHIOYckPEiw==} - engines: {node: '>=8'} - dev: true + type-fest@0.10.0: {} - /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} + type-fest@0.13.1: {} - /type-fest@0.16.0: - resolution: {integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==} - engines: {node: '>=10'} + type-fest@0.16.0: {} - /type-fest@0.18.1: - resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} - engines: {node: '>=10'} - dev: true + type-fest@0.18.1: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + type-fest@0.20.2: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + type-fest@0.21.3: {} - /type-fest@0.4.1: - resolution: {integrity: sha512-IwzA/LSfD2vC1/YDYMv/zHP4rDF1usCwllsDpbolT3D4fUepIO7f9K70jjmUewU/LmGUKJcwcVtDCpnKk4BPMw==} - engines: {node: '>=6'} - dev: true + type-fest@0.4.1: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.8.1: {} - /type-fest@1.4.0: - resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} - engines: {node: '>=10'} - dev: false + type-fest@1.4.0: {} - /type-graphql@1.1.1(class-validator@0.13.2)(graphql@15.7.2): - resolution: {integrity: sha512-iOOWVn0ehCYMukmnXStbkRwFE9dcjt7/oDcBS1JyQZo9CbhlIll4lHHps54HMEk4A4c8bUPd+DjK8w1/ZrxB4A==} - engines: {node: '>= 10.3'} - requiresBuild: true - peerDependencies: - class-validator: '>=0.12.0' - graphql: ^15.3.0 + type-graphql@1.1.1(class-validator@0.13.2)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)): dependencies: '@types/glob': 7.2.0 '@types/node': 16.18.76 @@ -24603,39 +29993,30 @@ packages: class-validator: 0.13.2 glob: 7.2.3 graphql: 15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q) - graphql-query-complexity: 0.7.2(graphql@15.7.2) - graphql-subscriptions: 1.2.1(graphql@15.7.2) + graphql-query-complexity: 0.7.2(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) + graphql-subscriptions: 1.2.1(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) semver: 7.5.4 tslib: 2.6.2 - dev: false - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - /typed-array-buffer@1.0.0: - resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.0: dependencies: call-bind: 1.0.5 get-intrinsic: 1.2.2 is-typed-array: 1.1.12 - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.0: dependencies: call-bind: 1.0.5 for-each: 0.3.3 has-proto: 1.0.1 is-typed-array: 1.1.12 - /typed-array-byte-offset@1.0.0: - resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.0: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.5 @@ -24643,152 +30024,94 @@ packages: has-proto: 1.0.1 is-typed-array: 1.1.12 - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + typed-array-length@1.0.4: dependencies: call-bind: 1.0.5 for-each: 0.3.3 is-typed-array: 1.1.12 - /typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true + typedarray@0.0.6: {} - /typedoc-plugin-markdown@3.17.1(typedoc@0.24.8): - resolution: {integrity: sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==} - peerDependencies: - typedoc: '>=0.24.0' + typedoc-plugin-markdown@3.17.1(typedoc@0.24.8(typescript@4.9.5)): dependencies: handlebars: 4.7.8 typedoc: 0.24.8(typescript@4.9.5) - dev: true - /typedoc@0.24.8(typescript@4.9.5): - resolution: {integrity: sha512-ahJ6Cpcvxwaxfu4KtjA8qZNqS43wYt6JL27wYiIgl1vd38WW/KWX11YuAeZhuz9v+ttrutSsgK+XO1CjL1kA3w==} - engines: {node: '>= 14.14'} - hasBin: true - peerDependencies: - typescript: 4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x + typedoc@0.24.8(typescript@4.9.5): dependencies: lunr: 2.3.9 marked: 4.3.0 minimatch: 9.0.3 shiki: 0.14.7 typescript: 4.9.5 - dev: true - /typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true + typescript@4.9.5: {} - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: false + typescript@5.3.3: {} - /typical@2.6.1: - resolution: {integrity: sha512-ofhi8kjIje6npGozTip9Fr8iecmYfEbS06i0JnIg+rh51KakryWF4+jX8lLKZVhy6N+ID45WYSFCxPOdTWCzNg==} - requiresBuild: true - dev: false + typical@2.6.1: optional: true - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} - dev: false + ufo@1.3.2: {} - /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true + uglify-js@3.17.4: optional: true - /uhyphen@0.2.0: - resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} - dev: false + uhyphen@0.2.0: {} - /uint8arrays@3.1.1: - resolution: {integrity: sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==} + uint8arrays@3.1.1: dependencies: multiformats: 9.9.0 - /umd@3.0.3: - resolution: {integrity: sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==} - hasBin: true - dev: true + umd@3.0.3: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.5 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - /uncrypto@0.1.3: - resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==} - dev: false + uncrypto@0.1.3: {} - /undeclared-identifiers@1.1.3: - resolution: {integrity: sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==} - hasBin: true + undeclared-identifiers@1.1.3: dependencies: acorn-node: 1.8.2 dash-ast: 1.0.0 get-assigned-identifiers: 1.2.0 simple-concat: 1.0.1 xtend: 4.0.2 - dev: true - /underscore@1.12.1: - resolution: {integrity: sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==} + underscore@1.12.1: {} - /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - dev: true + underscore@1.13.6: {} - /unenv@1.9.0: - resolution: {integrity: sha512-QKnFNznRxmbOF1hDgzpqrlIf6NC5sbZ2OJ+5Wl3OX8uM+LUJXbj4TXvLJCtwbPTmbMHCLIz6JLKNinNsMShK9g==} + unenv@1.9.0: dependencies: consola: 3.2.3 defu: 6.1.4 mime: 3.0.0 node-fetch-native: 1.6.1 pathe: 1.1.2 - dev: false - /unfetch@4.2.0: - resolution: {integrity: sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==} - dev: false + unfetch@4.2.0: {} - /unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} + unicode-canonical-property-names-ecmascript@2.0.0: {} - /unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} + unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 unicode-property-aliases-ecmascript: 2.1.0 - /unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} + unicode-match-property-value-ecmascript@2.1.0: {} - /unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} + unicode-property-aliases-ecmascript@2.1.0: {} - /unified@10.1.2: - resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==} + unified@10.1.2: dependencies: '@types/unist': 2.0.10 bail: 2.0.2 @@ -24797,10 +30120,8 @@ packages: is-plain-obj: 4.1.0 trough: 2.1.0 vfile: 5.3.7 - dev: false - /unified@9.2.2: - resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + unified@9.2.2: dependencies: '@types/unist': 2.0.10 bail: 1.0.5 @@ -24809,240 +30130,138 @@ packages: is-plain-obj: 2.1.0 trough: 1.0.5 vfile: 4.2.1 - dev: true - /union-value@1.0.1: - resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} - engines: {node: '>=0.10.0'} + union-value@1.0.1: dependencies: arr-union: 3.1.0 get-value: 2.0.6 is-extendable: 0.1.1 set-value: 2.0.1 - dev: true - /uniq@1.0.1: - resolution: {integrity: sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==} + uniq@1.0.1: {} - /uniqs@2.0.0: - resolution: {integrity: sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==} + uniqs@2.0.0: {} - /unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} + unique-string@2.0.0: dependencies: crypto-random-string: 2.0.0 - /unist-util-find-after@5.0.0: - resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} + unist-util-find-after@5.0.0: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 - dev: false - /unist-util-generated@2.0.1: - resolution: {integrity: sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==} - dev: false + unist-util-generated@2.0.1: {} - /unist-util-is@4.1.0: - resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} - dev: true + unist-util-is@4.1.0: {} - /unist-util-is@5.2.1: - resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==} + unist-util-is@5.2.1: dependencies: '@types/unist': 2.0.10 - dev: false - /unist-util-is@6.0.0: - resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.2 - dev: false - /unist-util-position-from-estree@1.1.2: - resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==} + unist-util-position-from-estree@1.1.2: dependencies: '@types/unist': 2.0.10 - dev: false - /unist-util-position@4.0.4: - resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==} + unist-util-position@4.0.4: dependencies: '@types/unist': 2.0.10 - dev: false - /unist-util-position@5.0.0: - resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + unist-util-position@5.0.0: dependencies: '@types/unist': 3.0.2 - dev: false - /unist-util-remove-position@4.0.2: - resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==} + unist-util-remove-position@4.0.2: dependencies: '@types/unist': 2.0.10 unist-util-visit: 4.1.2 - dev: false - /unist-util-remove-position@5.0.0: - resolution: {integrity: sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==} + unist-util-remove-position@5.0.0: dependencies: '@types/unist': 3.0.2 unist-util-visit: 5.0.0 - dev: false - /unist-util-remove@4.0.0: - resolution: {integrity: sha512-b4gokeGId57UVRX/eVKej5gXqGlc9+trkORhFJpu9raqZkZhU0zm8Doi05+HaiBsMEIJowL+2WtQ5ItjsngPXg==} + unist-util-remove@4.0.0: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - dev: false - /unist-util-stringify-position@2.0.3: - resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + unist-util-stringify-position@2.0.3: dependencies: '@types/unist': 2.0.10 - dev: true - /unist-util-stringify-position@3.0.3: - resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==} + unist-util-stringify-position@3.0.3: dependencies: '@types/unist': 2.0.10 - dev: false - /unist-util-stringify-position@4.0.0: - resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + unist-util-stringify-position@4.0.0: dependencies: '@types/unist': 3.0.2 - dev: false - /unist-util-visit-parents@3.1.1: - resolution: {integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==} + unist-util-visit-parents@3.1.1: dependencies: '@types/unist': 2.0.10 unist-util-is: 4.1.0 - dev: true - /unist-util-visit-parents@4.1.1: - resolution: {integrity: sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==} + unist-util-visit-parents@4.1.1: dependencies: '@types/unist': 2.0.10 unist-util-is: 5.2.1 - dev: false - /unist-util-visit-parents@5.1.3: - resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==} + unist-util-visit-parents@5.1.3: dependencies: '@types/unist': 2.0.10 unist-util-is: 5.2.1 - dev: false - /unist-util-visit-parents@6.0.1: - resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + unist-util-visit-parents@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 - dev: false - /unist-util-visit@3.1.0: - resolution: {integrity: sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==} + unist-util-visit@3.1.0: dependencies: '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 4.1.1 - dev: false - /unist-util-visit@4.1.2: - resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==} + unist-util-visit@4.1.2: dependencies: '@types/unist': 2.0.10 unist-util-is: 5.2.1 unist-util-visit-parents: 5.1.3 - dev: false - /unist-util-visit@5.0.0: - resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + unist-util-visit@5.0.0: dependencies: '@types/unist': 3.0.2 unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - dev: false - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + universalify@0.1.2: {} - /universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} + universalify@0.2.0: {} - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} + universalify@2.0.1: {} - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} + unpipe@1.0.0: {} - /unquote@1.1.1: - resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} + unquote@1.1.1: {} - /unset-value@1.0.0: - resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} - engines: {node: '>=0.10.0'} + unset-value@1.0.0: dependencies: has-value: 0.3.1 isobject: 3.0.1 - dev: true - /unstorage@1.10.1(idb-keyval@6.2.1): - resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} - peerDependencies: - '@azure/app-configuration': ^1.4.1 - '@azure/cosmos': ^4.0.0 - '@azure/data-tables': ^13.2.2 - '@azure/identity': ^3.3.2 - '@azure/keyvault-secrets': ^4.7.0 - '@azure/storage-blob': ^12.16.0 - '@capacitor/preferences': ^5.0.6 - '@netlify/blobs': ^6.2.0 - '@planetscale/database': ^1.11.0 - '@upstash/redis': ^1.23.4 - '@vercel/kv': ^0.2.3 - idb-keyval: ^6.2.1 - peerDependenciesMeta: - '@azure/app-configuration': - optional: true - '@azure/cosmos': - optional: true - '@azure/data-tables': - optional: true - '@azure/identity': - optional: true - '@azure/keyvault-secrets': - optional: true - '@azure/storage-blob': - optional: true - '@capacitor/preferences': - optional: true - '@netlify/blobs': - optional: true - '@planetscale/database': - optional: true - '@upstash/redis': - optional: true - '@vercel/kv': - optional: true - idb-keyval: - optional: true + unstorage@1.10.1(idb-keyval@6.2.1): dependencies: anymatch: 3.1.3 chokidar: 3.5.3 destr: 2.0.2 h3: 1.10.1 - idb-keyval: 6.2.1 ioredis: 5.3.2 listhen: 1.5.6 lru-cache: 10.2.0 @@ -25050,26 +30269,20 @@ packages: node-fetch-native: 1.6.1 ofetch: 1.3.3 ufo: 1.3.2 + optionalDependencies: + idb-keyval: 6.2.1 transitivePeerDependencies: - supports-color - dev: false - /untun@0.1.3: - resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} - hasBin: true + untun@0.1.3: dependencies: citty: 0.1.5 consola: 3.2.3 pathe: 1.1.2 - dev: false - /unxhr@1.0.1: - resolution: {integrity: sha512-MAhukhVHyaLGDjyDYhy8gVjWJyhTECCdNsLwlMoGFoNJ3o79fpQhtQuzmAE4IxCMDwraF4cW8ZjpAV0m9CRQbg==} - engines: {node: '>=8.11'} - dev: true + unxhr@1.0.1: {} - /unzipper@0.10.14: - resolution: {integrity: sha512-ti4wZj+0bQTiX2KmKWuwj7lhV+2n//uXEotUmGuQqrbVZSEGFMbI68+c6JCQ8aAmUWYvtHEz2A8K6wXvueR/6g==} + unzipper@0.10.14: dependencies: big-integer: 1.6.52 binary: 0.3.0 @@ -25081,25 +30294,16 @@ packages: listenercount: 1.0.1 readable-stream: 2.3.8 setimmediate: 1.0.5 - dev: true - /upath@1.2.0: - resolution: {integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==} - engines: {node: '>=4'} + upath@1.2.0: {} - /update-browserslist-db@1.0.13(browserslist@4.22.2): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.13(browserslist@4.22.2): dependencies: browserslist: 4.22.2 escalade: 3.1.1 picocolors: 1.0.0 - /update-notifier@5.1.0: - resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} - engines: {node: '>=10'} + update-notifier@5.1.0: dependencies: boxen: 5.1.2 chalk: 4.1.2 @@ -25115,88 +30319,58 @@ packages: semver: 7.5.4 semver-diff: 3.1.1 xdg-basedir: 4.0.0 - dev: true - /update-section@0.3.3: - resolution: {integrity: sha512-BpRZMZpgXLuTiKeiu7kK0nIPwGdyrqrs6EDSaXtjD/aQ2T+qVo9a5hRC3HN3iJjCMxNT/VxoLGQ7E/OzE5ucnw==} - dev: true + update-section@0.3.3: {} - /uqr@0.1.2: - resolution: {integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==} - dev: false + uqr@0.1.2: {} - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - /urijs@1.19.11: - resolution: {integrity: sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ==} - dev: true + urijs@1.19.11: {} - /urix@0.1.0: - resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} - deprecated: Please see https://github.com/lydell/urix#deprecated - dev: true + urix@0.1.0: {} - /url-parse-lax@3.0.0: - resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} - engines: {node: '>=4'} + url-parse-lax@3.0.0: dependencies: prepend-http: 2.0.0 - /url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + url-parse@1.5.10: dependencies: querystringify: 2.2.0 requires-port: 1.0.0 - /url@0.11.3: - resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} + url@0.11.3: dependencies: punycode: 1.4.1 qs: 6.11.2 - dev: true - /use-sync-external-store@1.2.0(react@18.2.0): - resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + use-sync-external-store@1.2.0(react@18.2.0): dependencies: react: 18.2.0 - dev: false - /use@3.1.1: - resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} - engines: {node: '>=0.10.0'} - dev: true + use@3.1.1: {} - /utf-8-validate@5.0.10: - resolution: {integrity: sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ==} - engines: {node: '>=6.14.2'} - requiresBuild: true + utf-8-validate@5.0.10: dependencies: node-gyp-build: 4.8.0(patch_hash=tidq6bjknpovdjep75bj5ccgke) + optional: true - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util-deprecate@1.0.2: {} - /util.promisify@1.0.1: - resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} + util.promisify@1.0.1: dependencies: define-properties: 1.2.1 es-abstract: 1.22.3 has-symbols: 1.0.3 object.getownpropertydescriptors: 2.1.7 - /util@0.10.4: - resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} + util@0.10.4: dependencies: inherits: 2.0.3 - dev: true - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + util@0.12.5: dependencies: inherits: 2.0.4 is-arguments: 1.1.1 @@ -25204,373 +30378,204 @@ packages: is-typed-array: 1.1.12 which-typed-array: 1.1.13 - /utila@0.4.0: - resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + utila@0.4.0: {} - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} + utils-merge@1.0.1: {} - /uuid@3.4.0: - resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} - deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. - hasBin: true - dev: true + uuid@3.4.0: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true + uuid@9.0.1: {} - /uvu@0.5.6: - resolution: {integrity: sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==} - engines: {node: '>=8'} - hasBin: true + uvu@0.5.6: dependencies: dequal: 2.0.3 diff: 5.1.0 kleur: 4.1.5 sade: 1.8.1 - dev: false - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /v8-to-istanbul@7.1.2: - resolution: {integrity: sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow==} - engines: {node: '>=10.10.0'} + v8-to-istanbul@7.1.2: dependencies: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 1.9.0 source-map: 0.7.4 - dev: true - /v8-to-istanbul@8.1.1: - resolution: {integrity: sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@8.1.1: dependencies: '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 1.9.0 source-map: 0.7.4 - /vali-date@1.0.0: - resolution: {integrity: sha512-sgECfZthyaCKW10N0fm27cg8HYTFK5qMWgypqkXMQ4Wbl/zZKx7xZICgcoxIIE+WFAP/MBL2EFwC/YvLxw3Zeg==} - engines: {node: '>=0.10.0'} - dev: true + vali-date@1.0.0: {} - /valid-data-url@3.0.1: - resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} - engines: {node: '>=10'} - dev: true + valid-data-url@3.0.1: {} - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - /validate-npm-package-name@3.0.0: - resolution: {integrity: sha512-M6w37eVCMMouJ9V/sdPGnC5H4uDr73/+xdq0FBLO3TFFX1+7wiUY6Es328NN+y43tmY+doUdN9g9J21vqB7iLw==} + validate-npm-package-name@3.0.0: dependencies: builtins: 1.0.3 - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: false + validator@13.11.0: {} - /valtio@1.11.2(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-1XfIxnUXzyswPAPXo1P3Pdx2mq/pIqZICkWN60Hby0d9Iqb+MEIpqgYVlbflvHdrp2YR/q3jyKWRPJJ100yxaw==} - engines: {node: '>=12.20.0'} - peerDependencies: - '@types/react': '>=16.8' - react: '>=16.8' - peerDependenciesMeta: - '@types/react': - optional: true - react: - optional: true + valtio@1.11.2(@types/react@18.2.48)(react@18.2.0): dependencies: - '@types/react': 18.2.48 proxy-compare: 2.5.1 - react: 18.2.0 use-sync-external-store: 1.2.0(react@18.2.0) - dev: false + optionalDependencies: + '@types/react': 18.2.48 + react: 18.2.0 - /value-or-promise@1.0.12: - resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} - engines: {node: '>=12'} - dev: true + value-or-promise@1.0.12: {} - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + vary@1.1.2: {} - /vendors@1.0.4: - resolution: {integrity: sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==} + vendors@1.0.4: {} - /verror@1.10.0: - resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} - engines: {'0': node >=0.6.0} + verror@1.10.0: dependencies: assert-plus: 1.0.0 core-util-is: 1.0.2 extsprintf: 1.3.0 - dev: true - /vfile-location@5.0.2: - resolution: {integrity: sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==} + vfile-location@5.0.2: dependencies: '@types/unist': 3.0.2 vfile: 6.0.1 - dev: false - /vfile-matter@3.0.1: - resolution: {integrity: sha512-CAAIDwnh6ZdtrqAuxdElUqQRQDQgbbIrYtDYI8gCjXS1qQ+1XdLoK8FIZWxJwn0/I+BkSSZpar3SOgjemQz4fg==} + vfile-matter@3.0.1: dependencies: '@types/js-yaml': 4.0.9 is-buffer: 2.0.5 js-yaml: 4.1.0 - dev: false - /vfile-message@2.0.4: - resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + vfile-message@2.0.4: dependencies: '@types/unist': 2.0.10 unist-util-stringify-position: 2.0.3 - dev: true - /vfile-message@3.1.4: - resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==} + vfile-message@3.1.4: dependencies: '@types/unist': 2.0.10 unist-util-stringify-position: 3.0.3 - dev: false - /vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-message@4.0.2: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 - dev: false - /vfile@4.2.1: - resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + vfile@4.2.1: dependencies: '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 2.0.3 vfile-message: 2.0.4 - dev: true - /vfile@5.3.7: - resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==} + vfile@5.3.7: dependencies: '@types/unist': 2.0.10 is-buffer: 2.0.5 unist-util-stringify-position: 3.0.3 vfile-message: 3.1.4 - dev: false - /vfile@6.0.1: - resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + vfile@6.0.1: dependencies: '@types/unist': 3.0.2 unist-util-stringify-position: 4.0.0 vfile-message: 4.0.2 - dev: false - /viem@1.21.4(typescript@5.3.3): - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true + viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.3.3) - isows: 1.0.3(ws@8.13.0) - typescript: 5.3.3 + abitype: 0.9.8(typescript@5.3.3)(zod@3.22.4) + isows: 1.0.3(ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10)) ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optionalDependencies: + typescript: 5.3.3 transitivePeerDependencies: - bufferutil - utf-8-validate - zod - dev: false - /vite@4.5.2(@types/node@16.18.76): - resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@4.5.2(@types/node@16.18.76)(sass@1.70.0)(terser@5.27.0): dependencies: - '@types/node': 16.18.76 esbuild: 0.18.20 postcss: 8.4.33 rollup: 3.29.4 optionalDependencies: + '@types/node': 16.18.76 fsevents: 2.3.3 - dev: true + sass: 1.70.0 + terser: 5.27.0 - /vite@4.5.2(@types/node@18.11.10): - resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} - engines: {node: ^14.18.0 || >=16.0.0} - hasBin: true - peerDependencies: - '@types/node': '>= 14' - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@4.5.2(@types/node@18.11.10)(sass@1.70.0)(terser@5.27.0): dependencies: - '@types/node': 18.11.10 esbuild: 0.18.20 postcss: 8.4.33 rollup: 3.29.4 optionalDependencies: + '@types/node': 18.11.10 fsevents: 2.3.3 + sass: 1.70.0 + terser: 5.27.0 - /vite@5.0.12(@types/node@16.18.76): - resolution: {integrity: sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@5.0.12(@types/node@16.18.76)(sass@1.70.0)(terser@5.27.0): dependencies: - '@types/node': 16.18.76 esbuild: 0.19.12 postcss: 8.4.33 rollup: 4.9.6 optionalDependencies: + '@types/node': 16.18.76 fsevents: 2.3.3 - dev: true + sass: 1.70.0 + terser: 5.27.0 - /vm-browserify@1.1.2: - resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} - dev: true + vm-browserify@1.1.2: {} - /vscode-oniguruma@1.7.0: - resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} + vscode-oniguruma@1.7.0: {} - /vscode-textmate@8.0.0: - resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} + vscode-textmate@8.0.0: {} - /vue@3.4.19(typescript@4.9.5): - resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + vue@3.4.19(typescript@5.3.3): dependencies: '@vue/compiler-dom': 3.4.19 '@vue/compiler-sfc': 3.4.19 '@vue/runtime-dom': 3.4.19 - '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/server-renderer': 3.4.19(vue@3.4.19(typescript@5.3.3)) '@vue/shared': 3.4.19 - typescript: 4.9.5 - dev: false + optionalDependencies: + typescript: 5.3.3 - /w3c-hr-time@1.0.2: - resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} - deprecated: Use your platform's native performance.now() and performance.timeOrigin. + w3c-hr-time@1.0.2: dependencies: browser-process-hrtime: 1.0.0 - /w3c-xmlserializer@2.0.0: - resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} - engines: {node: '>=10'} + w3c-xmlserializer@2.0.0: dependencies: xml-name-validator: 3.0.0 - /wagmi@1.4.13(@types/react@18.2.48)(react-dom@18.2.0)(react@18.2.0)(typescript@5.3.3)(viem@1.21.4): - resolution: {integrity: sha512-AScVYFjqNt1wMgL99Bob7MLdhoTZ3XKiOZL5HVBdy4W1sh7QodA3gQ8IsmTuUrQ7oQaTxjiXEhwg7sWNrPBvJA==} - peerDependencies: - react: '>=17.0.0' - typescript: '>=5.0.4' - viem: '>=0.3.35' - peerDependenciesMeta: - typescript: - optional: true + wagmi@1.4.13(@types/react@18.2.48)(bufferutil@4.0.8)(immer@9.0.21)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4): dependencies: '@tanstack/query-sync-storage-persister': 4.36.1 - '@tanstack/react-query': 4.36.1(react-dom@18.2.0)(react@18.2.0) - '@tanstack/react-query-persist-client': 4.36.1(@tanstack/react-query@4.36.1) - '@wagmi/core': 1.4.13(@types/react@18.2.48)(react@18.2.0)(typescript@5.3.3)(viem@1.21.4) - abitype: 0.8.7(typescript@5.3.3) + '@tanstack/react-query': 4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@tanstack/react-query-persist-client': 4.36.1(@tanstack/react-query@4.36.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)) + '@wagmi/core': 1.4.13(@types/react@18.2.48)(bufferutil@4.0.8)(immer@9.0.21)(react@18.2.0)(typescript@5.3.3)(utf-8-validate@5.0.10)(viem@1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4))(zod@3.22.4) + abitype: 0.8.7(typescript@5.3.3)(zod@3.22.4) react: 18.2.0 - typescript: 5.3.3 use-sync-external-store: 1.2.0(react@18.2.0) - viem: 1.21.4(typescript@5.3.3) + viem: 1.21.4(bufferutil@4.0.8)(typescript@5.3.3)(utf-8-validate@5.0.10)(zod@3.22.4) + optionalDependencies: + typescript: 5.3.3 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -25593,38 +30598,27 @@ packages: - supports-color - utf-8-validate - zod - dev: false - /walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + walker@1.0.8: dependencies: makeerror: 1.0.12 - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} + watchpack@2.4.0: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - /wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + wbuf@1.7.3: dependencies: minimalistic-assert: 1.0.1 - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 - dev: true - /web-namespaces@2.0.1: - resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} - dev: false + web-namespaces@2.0.1: {} - /web-resource-inliner@6.0.1: - resolution: {integrity: sha512-kfqDxt5dTB1JhqsCUQVFDj0rmY+4HLwGQIsLPbyrsN9y9WV/1oFDSx3BQ4GfCv9X+jVeQ7rouTqwK53rA/7t8A==} - engines: {node: '>=10.0.0'} + web-resource-inliner@6.0.1: dependencies: ansi-colors: 4.1.3 escape-goat: 3.0.0 @@ -25634,22 +30628,14 @@ packages: valid-data-url: 3.0.1 transitivePeerDependencies: - encoding - dev: true - /web-streams-polyfill@3.3.2: - resolution: {integrity: sha512-3pRGuxRF5gpuZc0W+EpwQRmCD7gRqcDOMt688KmdlDAgAyaB1XlN0zq2njfDNm44XVdIouE7pZ6GzbdyH47uIQ==} - engines: {node: '>= 8'} + web-streams-polyfill@3.3.2: {} - /web-vitals@2.1.4: - resolution: {integrity: sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==} - dev: false + web-vitals@2.1.4: {} - /web-worker@1.3.0: - resolution: {integrity: sha512-BSR9wyRsy/KOValMgd5kMyr3JzpdeoR9KVId8u5GVlTTAtNChlsE4yTxeY7zMdNSyOmoKBv8NH2qeRY9Tg+IaA==} - dev: false + web-worker@1.3.0: {} - /webcrypto-core@1.7.8: - resolution: {integrity: sha512-eBR98r9nQXTqXt/yDRtInszPMjTaSAMJAFDg2AHsgrnczawT1asx9YNBX6k5p+MekbPF4+s/UJJrr88zsTqkSg==} + webcrypto-core@1.7.8: dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 @@ -25657,25 +30643,15 @@ packages: pvtsutils: 1.3.5 tslib: 2.6.2 - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@3.0.1: {} - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + webidl-conversions@4.0.2: {} - /webidl-conversions@5.0.0: - resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} - engines: {node: '>=8'} + webidl-conversions@5.0.0: {} - /webidl-conversions@6.1.0: - resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} - engines: {node: '>=10.4'} + webidl-conversions@6.1.0: {} - /webpack-dev-middleware@5.3.3(webpack@5.90.0): - resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 + webpack-dev-middleware@5.3.3(webpack@5.90.0): dependencies: colorette: 2.0.20 memfs: 3.5.3 @@ -25684,18 +30660,7 @@ packages: schema-utils: 4.2.0 webpack: 5.90.0 - /webpack-dev-server@4.15.1(webpack@5.90.0): - resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true + webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.90.0): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -25725,51 +30690,35 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.90.0 webpack-dev-middleware: 5.3.3(webpack@5.90.0) ws: 8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) + optionalDependencies: + webpack: 5.90.0 transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - /webpack-manifest-plugin@4.1.1(webpack@5.90.0): - resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} - engines: {node: '>=12.22.0'} - peerDependencies: - webpack: ^4.44.2 || ^5.47.0 + webpack-manifest-plugin@4.1.1(webpack@5.90.0): dependencies: tapable: 2.2.1 webpack: 5.90.0 webpack-sources: 2.3.1 - /webpack-sources@1.4.3: - resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==} + webpack-sources@1.4.3: dependencies: source-list-map: 2.0.1 source-map: 0.6.1 - /webpack-sources@2.3.1: - resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==} - engines: {node: '>=10.13.0'} + webpack-sources@2.3.1: dependencies: source-list-map: 2.0.1 source-map: 0.6.1 - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} + webpack-sources@3.2.3: {} - /webpack@5.90.0: - resolution: {integrity: sha512-bdmyXRCXeeNIePv6R6tGPyy20aUobw4Zy8r0LUS2EWO+U+Ke/gYDgsCh7bl5rB6jPpr4r0SZa6dPxBxLooDT3w==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true + webpack@5.90.0: dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -25800,57 +30749,42 @@ packages: - esbuild - uglify-js - /websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} + websocket-driver@0.7.4: dependencies: http-parser-js: 0.5.8 safe-buffer: 5.2.1(patch_hash=qcepvj3ww73f2shgrehxggbrbq) websocket-extensions: 0.1.4 - /websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} + websocket-extensions@0.1.4: {} - /whatwg-encoding@1.0.5: - resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + whatwg-encoding@1.0.5: dependencies: iconv-lite: 0.4.24 - /whatwg-fetch@3.6.20: - resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==} + whatwg-fetch@3.6.20: {} - /whatwg-mimetype@2.3.0: - resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + whatwg-mimetype@2.3.0: {} - /whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - dev: true + whatwg-mimetype@3.0.0: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + whatwg-url@7.1.0: dependencies: lodash.sortby: 4.7.0 tr46: 1.0.1 webidl-conversions: 4.0.2 - /whatwg-url@8.7.0: - resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} - engines: {node: '>=10'} + whatwg-url@8.7.0: dependencies: lodash: 4.17.21 tr46: 2.1.0 webidl-conversions: 6.1.0 - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -25858,9 +30792,7 @@ packages: is-string: 1.0.7 is-symbol: 1.0.4 - /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} + which-builtin-type@1.1.3: dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.0 @@ -25875,28 +30807,21 @@ packages: which-collection: 1.0.1 which-typed-array: 1.1.13 - /which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + which-collection@1.0.1: dependencies: is-map: 2.0.2 is-set: 2.0.2 is-weakmap: 2.0.1 is-weakset: 2.0.2 - /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + which-module@2.0.1: {} - /which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} + which-pm@2.0.0: dependencies: load-yaml-file: 0.2.0 path-exists: 4.0.0 - dev: true - /which-typed-array@1.1.13: - resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.13: dependencies: available-typed-arrays: 1.0.5 call-bind: 1.0.5 @@ -25904,71 +30829,49 @@ packages: gopd: 1.0.1 has-tostringtag: 1.0.0 - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + which@1.3.1: dependencies: isexe: 2.0.0 - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - requiresBuild: true + wide-align@1.1.5: dependencies: string-width: 1.0.2 - dev: false optional: true - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + widest-line@3.1.0: dependencies: string-width: 4.2.3 - dev: true - /word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} + word-wrap@1.2.5: {} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + wordwrap@1.0.0: {} - /wordwrapjs@3.0.0: - resolution: {integrity: sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==} - engines: {node: '>=4.0.0'} - requiresBuild: true + wordwrapjs@3.0.0: dependencies: reduce-flatten: 1.0.1 typical: 2.6.1 - dev: false optional: true - /workbox-background-sync@6.6.0: - resolution: {integrity: sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==} + workbox-background-sync@6.6.0: dependencies: idb: 7.1.1 workbox-core: 6.6.0 - /workbox-broadcast-update@6.6.0: - resolution: {integrity: sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==} + workbox-broadcast-update@6.6.0: dependencies: workbox-core: 6.6.0 - /workbox-build@6.6.0: - resolution: {integrity: sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==} - engines: {node: '>=10.0.0'} + workbox-build@6.6.0(@types/babel__core@7.20.5): dependencies: '@apideck/better-ajv-errors': 0.3.6(ajv@8.12.0) '@babel/core': 7.23.9 '@babel/preset-env': 7.23.9(@babel/core@7.23.9) '@babel/runtime': 7.23.9 - '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.9)(rollup@2.79.1) + '@rollup/plugin-babel': 5.3.1(@babel/core@7.23.9)(@types/babel__core@7.20.5)(rollup@2.79.1) '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1) '@rollup/plugin-replace': 2.4.2(rollup@2.79.1) '@surma/rollup-plugin-off-main-thread': 2.2.3 @@ -26005,48 +30908,39 @@ packages: - '@types/babel__core' - supports-color - /workbox-cacheable-response@6.6.0: - resolution: {integrity: sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==} - deprecated: workbox-background-sync@6.6.0 + workbox-cacheable-response@6.6.0: dependencies: workbox-core: 6.6.0 - /workbox-core@6.6.0: - resolution: {integrity: sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==} + workbox-core@6.6.0: {} - /workbox-expiration@6.6.0: - resolution: {integrity: sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==} + workbox-expiration@6.6.0: dependencies: idb: 7.1.1 workbox-core: 6.6.0 - /workbox-google-analytics@6.6.0: - resolution: {integrity: sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==} + workbox-google-analytics@6.6.0: dependencies: workbox-background-sync: 6.6.0 workbox-core: 6.6.0 workbox-routing: 6.6.0 workbox-strategies: 6.6.0 - /workbox-navigation-preload@6.6.0: - resolution: {integrity: sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==} + workbox-navigation-preload@6.6.0: dependencies: workbox-core: 6.6.0 - /workbox-precaching@6.6.0: - resolution: {integrity: sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==} + workbox-precaching@6.6.0: dependencies: workbox-core: 6.6.0 workbox-routing: 6.6.0 workbox-strategies: 6.6.0 - /workbox-range-requests@6.6.0: - resolution: {integrity: sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==} + workbox-range-requests@6.6.0: dependencies: workbox-core: 6.6.0 - /workbox-recipes@6.6.0: - resolution: {integrity: sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==} + workbox-recipes@6.6.0: dependencies: workbox-cacheable-response: 6.6.0 workbox-core: 6.6.0 @@ -26055,206 +30949,129 @@ packages: workbox-routing: 6.6.0 workbox-strategies: 6.6.0 - /workbox-routing@6.6.0: - resolution: {integrity: sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==} + workbox-routing@6.6.0: dependencies: workbox-core: 6.6.0 - /workbox-strategies@6.6.0: - resolution: {integrity: sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==} + workbox-strategies@6.6.0: dependencies: workbox-core: 6.6.0 - /workbox-streams@6.6.0: - resolution: {integrity: sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==} + workbox-streams@6.6.0: dependencies: workbox-core: 6.6.0 workbox-routing: 6.6.0 - /workbox-sw@6.6.0: - resolution: {integrity: sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==} + workbox-sw@6.6.0: {} - /workbox-webpack-plugin@6.6.0(webpack@5.90.0): - resolution: {integrity: sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==} - engines: {node: '>=10.0.0'} - peerDependencies: - webpack: ^4.4.0 || ^5.9.0 + workbox-webpack-plugin@6.6.0(@types/babel__core@7.20.5)(webpack@5.90.0): dependencies: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 webpack: 5.90.0 webpack-sources: 1.4.3 - workbox-build: 6.6.0 + workbox-build: 6.6.0(@types/babel__core@7.20.5) transitivePeerDependencies: - '@types/babel__core' - supports-color - /workbox-window@6.6.0: - resolution: {integrity: sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==} + workbox-window@6.6.0: dependencies: '@types/trusted-types': 2.0.7 workbox-core: 6.6.0 - /workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} - dev: true + workerpool@6.2.1: {} - /wrap-ansi@3.0.1: - resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} - engines: {node: '>=4'} + wrap-ansi@3.0.1: dependencies: string-width: 2.1.1 strip-ansi: 4.0.0 - dev: true - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrappy@1.0.2: {} - /write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + write-file-atomic@3.0.3: dependencies: imurmurhash: 0.1.4 is-typedarray: 1.0.0 signal-exit: 3.0.7 typedarray-to-buffer: 3.1.5 - /write@1.0.3: - resolution: {integrity: sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==} - engines: {node: '>=4'} + write@1.0.3: dependencies: mkdirp: 0.5.6 - dev: true - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + ws@7.5.9(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: + bufferutil: 4.0.8 + utf-8-validate: 5.0.10 - /ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dependencies: + ws@8.13.0(bufferutil@4.0.8)(utf-8-validate@5.0.10): + optionalDependencies: bufferutil: 4.0.8 utf-8-validate: 5.0.10 - /xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} - dev: true + xdg-basedir@4.0.0: {} - /xml-name-validator@3.0.0: - resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + xml-name-validator@3.0.0: {} - /xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + xmlchars@2.2.0: {} - /xmlhttprequest@1.8.0: - resolution: {integrity: sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA==} - engines: {node: '>=0.4.0'} - dev: true + xmlhttprequest@1.8.0: {} - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + xtend@4.0.2: {} - /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + y18n@4.0.3: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + y18n@5.0.8: {} - /yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + yallist@2.1.2: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@3.1.1: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@4.0.0: {} - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + yaml@1.10.2: {} - /yaml@2.3.4: - resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} - engines: {node: '>= 14'} + yaml@2.3.4: {} - /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 - /yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} + yargs-parser@20.2.4: {} - /yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - dev: true + yargs-parser@20.2.9: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true + yargs-parser@21.1.1: {} - /yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} + yargs-unparser@2.0.0: dependencies: camelcase: 6.3.0 decamelize: 4.0.0 flat: 5.0.2 is-plain-obj: 2.1.0 - dev: true - /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + yargs@15.4.1: dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -26268,9 +31085,7 @@ packages: y18n: 4.0.3 yargs-parser: 18.1.3 - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + yargs@16.2.0: dependencies: cliui: 7.0.4 escalade: 3.1.1 @@ -26280,9 +31095,7 @@ packages: y18n: 5.0.8 yargs-parser: 20.2.4 - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.1.1 @@ -26291,91 +31104,39 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yauzl@2.10.0: - resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + yauzl@2.10.0: dependencies: buffer-crc32: 0.2.13 fd-slicer: 1.1.0 - dev: false - /yn@2.0.0: - resolution: {integrity: sha512-uTv8J/wiWTgUTg+9vLTi//leUl5vDQS6uii/emeTb2ssY7vl6QWf2fFbIIGjnhjvbdKlU0ed7QPgY1htTC86jQ==} - engines: {node: '>=4'} - dev: true + yn@2.0.0: {} - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yn@3.1.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + yocto-queue@0.1.0: {} - /zen-observable-ts@0.8.21: - resolution: {integrity: sha512-Yj3yXweRc8LdRMrCC8nIc4kkjWecPAUVh0TI0OUrWXx6aX790vLcDlWca6I4vsyCGH3LpWxq0dJRcMOFoVqmeg==} + zen-observable-ts@0.8.21: dependencies: tslib: 1.14.1 zen-observable: 0.8.15 - dev: false - /zen-observable-ts@1.2.5: - resolution: {integrity: sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==} + zen-observable-ts@1.2.5: dependencies: zen-observable: 0.8.15 - /zen-observable@0.8.15: - resolution: {integrity: sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==} + zen-observable@0.8.15: {} - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: false + zod@3.22.4: {} - /zustand@4.5.0(@types/react@18.2.48)(react@18.2.0): - resolution: {integrity: sha512-zlVFqS5TQ21nwijjhJlx4f9iGrXSL0o/+Dpy4txAP22miJ8Ti6c1Ol1RLNN98BMib83lmDH/2KmLwaNXpjrO1A==} - engines: {node: '>=12.7.0'} - peerDependencies: - '@types/react': '>=16.8' - immer: '>=9.0.6' - react: '>=16.8' - peerDependenciesMeta: - '@types/react': - optional: true - immer: - optional: true - react: - optional: true + zustand@4.5.0(@types/react@18.2.48)(immer@9.0.21)(react@18.2.0): dependencies: + use-sync-external-store: 1.2.0(react@18.2.0) + optionalDependencies: '@types/react': 18.2.48 + immer: 9.0.21 react: 18.2.0 - use-sync-external-store: 1.2.0(react@18.2.0) - dev: false - /zwitch@1.0.5: - resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} - dev: true - - /zwitch@2.0.4: - resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} - dev: false + zwitch@1.0.5: {} - github.com/coasys/holochain-client-js/2f3a436b6d28344b0aca883ef3dc229cd042c04b(ws@8.13.0): - resolution: {tarball: https://codeload.github.com/coasys/holochain-client-js/tar.gz/2f3a436b6d28344b0aca883ef3dc229cd042c04b} - id: github.com/coasys/holochain-client-js/2f3a436b6d28344b0aca883ef3dc229cd042c04b - name: '@holochain/client' - version: 0.12.5 - engines: {node: ^14.13.1 || >=16.0.0 || >=18.0.0} - dependencies: - '@holochain/serialization': 0.1.0-beta-rc.3 - '@msgpack/msgpack': 2.8.0 - '@tauri-apps/api': 1.5.3 - emittery: 1.0.1 - isomorphic-ws: 5.0.0(ws@8.13.0) - js-base64: 3.7.6 - lodash-es: 4.17.21 - tweetnacl: 1.0.3(patch_hash=neqghjkbymv6pdxg4mf33vfzg4) - transitivePeerDependencies: - - ws - dev: false + zwitch@2.0.4: {} From c2f59f52ce98195a79a8247ba2601e2bfd54801d Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 12 Sep 2024 13:52:46 +0530 Subject: [PATCH 136/183] chore: Update circleci config to install gobjc, clang, gnustep-devel, libobjc4, libgnustep-base-dev, libasound2-dev, and pkg-config --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c2557e28e..d52f125ec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev + command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config - run: name: Install dependencies command: pnpm install --no-frozen-lockfile From b89d16c49091a4d17c17eb61d81ee148ef43372d Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 12 Sep 2024 13:09:18 +0200 Subject: [PATCH 137/183] Remove Eve experiment and kalosm/llm deps from cli --- Cargo.lock | 267 ++++------------------------------------ cli/Cargo.toml | 2 - cli/src/ad4m.rs | 8 +- cli/src/eve.rs | 321 ------------------------------------------------ 4 files changed, 25 insertions(+), 573 deletions(-) delete mode 100644 cli/src/eve.rs diff --git a/Cargo.lock b/Cargo.lock index befc87693..5afe23b55 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -31,9 +31,7 @@ dependencies = [ "ctrlc", "dirs 4.0.0", "futures", - "kalosm", "kitsune_p2p_types", - "llm", "rand 0.8.5", "regex", "rustyline 10.1.1", @@ -287,15 +285,6 @@ dependencies = [ "zerocopy", ] -[[package]] -name = "aho-corasick" -version = "0.7.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" -dependencies = [ - "memchr", -] - [[package]] name = "aho-corasick" version = "1.1.3" @@ -1682,28 +1671,6 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bf2a5fb3207c12b5d208ebc145f967fea5cac41a021c37417ccc31ba40f39ee" -[[package]] -name = "cached-path" -version = "0.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "097968e38f1319207f057d0f4d76452e4f4f847a5de61c5215379f297fa034f3" -dependencies = [ - "flate2", - "fs2", - "glob", - "indicatif 0.16.2", - "log", - "rand 0.8.5", - "reqwest", - "serde", - "serde_json", - "sha2 0.10.8", - "tar", - "tempfile", - "thiserror", - "zip 0.6.6", -] - [[package]] name = "cairo-rs" version = "0.15.12" @@ -5529,16 +5496,6 @@ dependencies = [ "syn 2.0.77", ] -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi 0.3.9", -] - [[package]] name = "fs3" version = "0.5.0" @@ -6062,25 +6019,6 @@ dependencies = [ "wasm-bindgen", ] -[[package]] -name = "ggml" -version = "0.2.0-dev" -source = "git+https://github.com/lucksus/llm?branch=gguf#4d642db72f55cc8c813df817a2b778bbb8729b56" -dependencies = [ - "ggml-sys", - "indexmap 2.5.0", - "memmap2 0.5.10", - "thiserror", -] - -[[package]] -name = "ggml-sys" -version = "0.2.0-dev" -source = "git+https://github.com/lucksus/llm?branch=gguf#4d642db72f55cc8c813df817a2b778bbb8729b56" -dependencies = [ - "cc", -] - [[package]] name = "ghash" version = "0.5.1" @@ -6273,7 +6211,7 @@ version = "0.4.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" dependencies = [ - "aho-corasick 1.1.3", + "aho-corasick", "bstr 1.10.0", "log", "regex-automata 0.4.7", @@ -6975,7 +6913,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2b780635574b3d92f036890d8373433d6f9fc7abb320ee42a5c25897fc8ed732" dependencies = [ "dirs 5.0.1", - "indicatif 0.17.8", + "indicatif", "log", "native-tls", "rand 0.8.5", @@ -8185,18 +8123,6 @@ dependencies = [ "serde", ] -[[package]] -name = "indicatif" -version = "0.16.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d207dc617c7a380ab07ff572a6e52fa202a2a8f355860ac9c38e23f8196be1b" -dependencies = [ - "console", - "lazy_static", - "number_prefix", - "regex", -] - [[package]] name = "indicatif" version = "0.17.8" @@ -8500,15 +8426,6 @@ dependencies = [ "either", ] -[[package]] -name = "itertools" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "284f18f85651fe11e8a991b2adb42cb078325c996ed026d994719efcfca1d54b" -dependencies = [ - "either", -] - [[package]] name = "itertools" version = "0.10.5" @@ -8743,7 +8660,7 @@ dependencies = [ "kalosm-sound", "kalosm-streams", "kalosm-vision", - "llm-samplers 0.0.7", + "llm-samplers", "num-traits", "once_cell", "rand 0.8.5", @@ -8763,7 +8680,7 @@ dependencies = [ "dirs 5.0.1", "hf-hub", "httpdate", - "indicatif 0.17.8", + "indicatif", "metal 0.29.0", "once_cell", "reqwest", @@ -8796,7 +8713,7 @@ dependencies = [ "kalosm-llama", "kalosm-sample", "kalosm-streams", - "llm-samplers 0.0.7", + "llm-samplers", "log", "meval", "once_cell", @@ -8817,7 +8734,7 @@ dependencies = [ "srx", "tempfile", "texting_robots", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tokio-util", "tracing", @@ -8837,7 +8754,7 @@ dependencies = [ "kalosm-common", "kalosm-sample", "kalosm-streams", - "llm-samplers 0.0.7", + "llm-samplers", "log", "lru", "once_cell", @@ -8847,7 +8764,7 @@ dependencies = [ "safetensors", "serde", "thiserror", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", ] @@ -8867,10 +8784,10 @@ dependencies = [ "kalosm-language-model", "kalosm-sample", "kalosm-streams", - "llm-samplers 0.0.7", + "llm-samplers", "once_cell", "rand 0.8.5", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", ] @@ -8889,7 +8806,7 @@ dependencies = [ "kalosm-common", "serde", "serde_json", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", ] @@ -8939,7 +8856,7 @@ dependencies = [ "rodio", "rwhisper", "serde_json", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", "voice_activity_detector", @@ -9757,69 +9674,6 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4ce301924b7887e9d637144fdade93f9dfff9b60981d4ac161db09720d39aa5" -[[package]] -name = "llm" -version = "0.2.0-dev" -source = "git+https://github.com/lucksus/llm?branch=gguf#4d642db72f55cc8c813df817a2b778bbb8729b56" -dependencies = [ - "llm-base", - "llm-gptneox", - "llm-llama", - "serde", - "thiserror", - "tracing", -] - -[[package]] -name = "llm-base" -version = "0.2.0-dev" -source = "git+https://github.com/lucksus/llm?branch=gguf#4d642db72f55cc8c813df817a2b778bbb8729b56" -dependencies = [ - "bytemuck", - "ggml", - "half 2.4.1", - "indexmap 2.5.0", - "llm-samplers 0.0.6", - "memmap2 0.5.10", - "partial_sort", - "rand 0.8.5", - "regex", - "serde", - "serde_bytes", - "thiserror", - "tokenizers 0.13.4", - "tracing", -] - -[[package]] -name = "llm-gptneox" -version = "0.2.0-dev" -source = "git+https://github.com/lucksus/llm?branch=gguf#4d642db72f55cc8c813df817a2b778bbb8729b56" -dependencies = [ - "llm-base", -] - -[[package]] -name = "llm-llama" -version = "0.2.0-dev" -source = "git+https://github.com/lucksus/llm?branch=gguf#4d642db72f55cc8c813df817a2b778bbb8729b56" -dependencies = [ - "llm-base", - "tracing", -] - -[[package]] -name = "llm-samplers" -version = "0.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7553f60d113c9cdc6a5402456a31cd9a273bef79f6f16d8a4f7b4bedf5f754b2" -dependencies = [ - "anyhow", - "num-traits", - "rand 0.8.5", - "thiserror", -] - [[package]] name = "llm-samplers" version = "0.0.7" @@ -9986,32 +9840,16 @@ dependencies = [ "libc", ] -[[package]] -name = "macro_rules_attribute" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf0c9b980bf4f3a37fd7b1c066941dd1b1d0152ce6ee6e8fe8c49b9f6810d862" -dependencies = [ - "macro_rules_attribute-proc_macro 0.1.3", - "paste", -] - [[package]] name = "macro_rules_attribute" version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a82271f7bc033d84bbca59a3ce3e4159938cb08a9c3aebbe54d215131518a13" dependencies = [ - "macro_rules_attribute-proc_macro 0.2.0", + "macro_rules_attribute-proc_macro", "paste", ] -[[package]] -name = "macro_rules_attribute-proc_macro" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58093314a45e00c77d5c508f76e77c3396afbbc0d01506e7fae47b018bac2b1d" - [[package]] name = "macro_rules_attribute-proc_macro" version = "0.2.0" @@ -11798,12 +11636,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "partial_sort" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" - [[package]] name = "password-hash" version = "0.4.2" @@ -13373,17 +13205,6 @@ dependencies = [ "rayon-core", ] -[[package]] -name = "rayon-cond" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd1259362c9065e5ea39a789ef40b1e3fd934c94beb7b5ab3ac6629d3b5e7cb7" -dependencies = [ - "either", - "itertools 0.8.2", - "rayon", -] - [[package]] name = "rayon-cond" version = "0.3.0" @@ -13420,7 +13241,7 @@ dependencies = [ "metal 0.27.0", "serde", "serde_json", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", ] @@ -13548,7 +13369,7 @@ version = "1.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4219d74c6b67a3654a9fbebc4b419e22126d13d2f3c4a07ee0cb61ff79a79619" dependencies = [ - "aho-corasick 1.1.3", + "aho-corasick", "memchr", "regex-automata 0.4.7", "regex-syntax 0.8.4", @@ -13569,7 +13390,7 @@ version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ - "aho-corasick 1.1.3", + "aho-corasick", "memchr", "regex-syntax 0.8.4", ] @@ -13580,12 +13401,6 @@ version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" -[[package]] -name = "regex-syntax" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" - [[package]] name = "regex-syntax" version = "0.8.4" @@ -14006,10 +13821,10 @@ dependencies = [ "kalosm-language-model", "kalosm-sample", "kalosm-streams", - "llm-samplers 0.0.7", + "llm-samplers", "rand 0.8.5", "serde_json", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", ] @@ -14422,7 +14237,7 @@ dependencies = [ "rand 0.8.5", "rodio", "serde_json", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", ] @@ -14443,7 +14258,7 @@ dependencies = [ "kalosm-common", "kalosm-language-model", "kalosm-streams", - "tokenizers 0.19.1", + "tokenizers", "tokio", "tracing", ] @@ -17141,61 +16956,27 @@ dependencies = [ "syn 2.0.77", ] -[[package]] -name = "tokenizers" -version = "0.13.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aea68938177975ab09da68552b720eac941779ff386baceaf77e0f5f9cea645f" -dependencies = [ - "aho-corasick 0.7.20", - "cached-path", - "derive_builder 0.12.0", - "dirs 4.0.0", - "esaxx-rs", - "getrandom 0.2.15", - "itertools 0.9.0", - "lazy_static", - "log", - "macro_rules_attribute 0.1.3", - "monostate", - "onig", - "paste", - "rand 0.8.5", - "rayon", - "rayon-cond 0.1.0", - "regex", - "regex-syntax 0.7.5", - "reqwest", - "serde", - "serde_json", - "spm_precompiled", - "thiserror", - "unicode-normalization-alignments", - "unicode-segmentation", - "unicode_categories", -] - [[package]] name = "tokenizers" version = "0.19.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e500fad1dd3af3d626327e6a3fe5050e664a6eaa4708b8ca92f1794aaf73e6fd" dependencies = [ - "aho-corasick 1.1.3", + "aho-corasick", "derive_builder 0.20.1", "esaxx-rs", "getrandom 0.2.15", - "indicatif 0.17.8", + "indicatif", "itertools 0.12.1", "lazy_static", "log", - "macro_rules_attribute 0.2.0", + "macro_rules_attribute", "monostate", "onig", "paste", "rand 0.8.5", "rayon", - "rayon-cond 0.3.0", + "rayon-cond", "regex", "regex-syntax 0.8.4", "serde", diff --git a/cli/Cargo.toml b/cli/Cargo.toml index cef62e28b..be1c597c3 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -43,8 +43,6 @@ colour = "0.7.0" syntect = "5.0" ctrlc = "3.4.0" -llm = { git = "https://github.com/lucksus/llm", branch = "gguf", features = ["metal"] } -kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } serde_cbor = "0.11" #holochain_kitsune_p2p = "0.3.0-beta-dev.37" kitsune_p2p_types = { version = "0.3.2-rc.0", git = "https://github.com/coasys/holochain.git", rev = "10841e49b28c17c3cb428680e2bc9259bf4ec739" } diff --git a/cli/src/ad4m.rs b/cli/src/ad4m.rs index 387119384..42693e590 100644 --- a/cli/src/ad4m.rs +++ b/cli/src/ad4m.rs @@ -17,7 +17,6 @@ mod util; mod agent; mod bootstrap_publish; mod dev; -mod eve; mod expression; mod languages; mod neighbourhoods; @@ -26,7 +25,7 @@ mod repl; mod runtime; use crate::{ - agent::*, eve::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, + agent::*, expression::*, languages::*, neighbourhoods::*, perspectives::*, runtime::*, }; use ad4m_client::*; use anyhow::{Context, Result}; @@ -113,10 +112,6 @@ enum Domain { }, /// Print the executor log Log, - Eve { - #[command(subcommand)] - command: EveCommands, - }, } async fn get_ad4m_client(args: &ClapApp) -> Result { @@ -171,7 +166,6 @@ async fn main() -> Result<()> { })?; println!("{}", log); } - Domain::Eve { command } => eve::run(command).await?, } Ok(()) diff --git a/cli/src/eve.rs b/cli/src/eve.rs deleted file mode 100644 index 9e4e368f6..000000000 --- a/cli/src/eve.rs +++ /dev/null @@ -1,321 +0,0 @@ -use anyhow::Result; -use clap::Subcommand; -use kalosm::language::*; - -#[derive(Debug, Subcommand)] -pub enum EveCommands { - Train, - Prompt, -} - -#[derive(Clone, Debug, Parse, Schema)] -pub struct Response { - topics: Vec, - changed_subject: String, - new_subgroup_name: String, - new_subgroup_summary: String, - new_conversation_name: String, - new_conversation_summary: String, -} - -const SYSTEM: &str = r##" -<> -You are Eve, the personal assistant AI in Adam. -You are mainly there to help create AD4M Subject classes (in Prolog) from user input. -You'll respond to the user directly and mark Subject class code with "SDNA:" at the start and ":ANDS" at the end, -so that Perspect3ve can parse that out. -Make sure that each new Subject class definition uses a new random identifier -(2nd parameter in "subject_class", 1st parameter in the other predicates), -but ensure the same identifier used throughout all predicate occurrences of the same class definition. -When the user signals that the code is complete, -provide the the latest version to Perspect3ve to be written to the perspective's social DNA -by wrapping the code to commit with "WRITE-SDNA:" and ":ANDS-ETIRW"` -<> -"##; - -const HISTORY1: &str = r##" -Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. -User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` -Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. - -SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). -:ANDS - -What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set)"##; - -const HISTORY2: &str = r##" -User: The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. -Eve: Ok, I have this now: - -SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). -property_named_option(cjdotdng, "state", "todo://ready", "Ready"). -property_named_option(cjdotdng, "state", "todo://doing", "Doing"). -property_named_option(cjdotdng, "state", "todo://done", "Done"). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). - -p3_class_icon(cjdotdng, "check2-square"). -p3_instance_shape(cjdotdng, Instance, "circle"). -p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). -p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). -p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). -:ANDS - -Anything else?"##; -const HISTORY3: &str = r##" -User: No, that's it. Please write this to the SDNA.` -Eve: Ok.. -WRITE-SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). -property_named_option(cjdotdng, "state", "todo://ready", "Ready"). -property_named_option(cjdotdng, "state", "todo://doing", "Doing"). -property_named_option(cjdotdng, "state", "todo://done", "Done"). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). - -p3_class_icon(cjdotdng, "check2-square"). -p3_instance_shape(cjdotdng, Instance, "circle"). -p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). -p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). -p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). -:ANDS-ETIRW - -Done. -"##; - -const EXAMPLE_USER1: &str = r##" -Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` -Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. -"##; - -const EXAMPLE_EVE1: &str = r##" -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). -"##; - -const EXAMPLE_USER2: &str = r##" -The "check" icon. Render todos as circles with the color depending on the state. Also, please add options for the state property, being Ready, Doing and Done. -"##; - -const EXAMPLE_EVE2: &str = r##" -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). -property_named_option(cjdotdng, "state", "todo://ready", "Ready"). -property_named_option(cjdotdng, "state", "todo://doing", "Doing"). -property_named_option(cjdotdng, "state", "todo://done", "Done"). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). - -p3_class_icon(cjdotdng, "check2-square"). -p3_instance_shape(cjdotdng, Instance, "circle"). -p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). -p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). -p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). -"##; - -const EXAMPLE_USER3: &str = r##" -No, that's it. Please write this to the SDNA. -"##; - -const EXAMPLE_EVE3: &str = r##" -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). -property_named_option(cjdotdng, "state", "todo://ready", "Ready"). -property_named_option(cjdotdng, "state", "todo://doing", "Doing"). -property_named_option(cjdotdng, "state", "todo://done", "Done"). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). - -p3_class_icon(cjdotdng, "check2-square"). -p3_instance_shape(cjdotdng, Instance, "circle"). -p3_instance_color(cjdotdng, Instance, "#000055") :- property_getter(c, Instance, "state", "todo://ready"). -p3_instance_color(cjdotdng, Instance, "#FFFF00") :- property_getter(c, Instance, "state", "todo://doing"). -p3_instance_color(cjdotdng, Instance, "#00FF00") :- property_getter(c, Instance, "state", "todo://done"). -"##; - -const REDUCED: &str = r##" -Eve: Hi, I'm Eve. I'm your personal assistant AI. I'm here to help you create AD4M Subject classes. -User: Create an ADAM Subject class called "Todo". It should have a "state" and a "title" property. The title should resolve to a string applying the literal language. It also should have a "comments" collection.` -Eve: Sure. I have made-up a "todo" ADAM Language to use in the predicates of this Subject class definition. - -SDNA: -subject_class("Todo", cjdotdng). -constructor(cjdotdng, '[{action: "addLink", source: "this", predicate: "todo://state", target: "todo://ready"}]'). -instance(cjdotdng, Base) :- triple(Base, "todo://state", _). - -property(cjdotdng, "state"). -property_getter(cjdotdng, Base, "state", Value) :- triple(Base, "todo://state", Value). -property_setter(cjdotdng, "state", '[{action: "setSingleTarget", source: "this", predicate: "todo://state", target: "value"}]'). - -property(cjdotdng, "title"). -property_resolve(cjdotdng, "title"). -property_resolve_language(cjdotdng, "title", "literal"). -property_getter(cjdotdng, Base, "title", Value) :- triple(Base, "todo://has_title", Value). -property_setter(cjdotdng, "title", '[{action: "setSingleTarget", source: "this", predicate: "todo://has_title", target: "value"}]'). - -collection(cjdotdng, "comments"). -collection_getter(cjdotdng, Base, "comments", List) :- findall(C, triple(Base, "todo://comment", C), List). -collection_adder(cjdotdng, "comments", '[{action: "addLink", source: "this", predicate: "todo://comment", target: "value"}]'). -collection_setter(cjdotdng, "comments", '[{action: "collectionSetter", source: "this", predicate: "todo://comment", target: "value"}]'). -:ANDS - -What icon should it have in the toolbar? (You can choose from the "Bootstrap" icon set) -"##; - -pub async fn run(command: EveCommands) -> Result<()> { - println!("Loading model..."); - - let llama = Llama::new_chat().await.unwrap(); - - println!("Model loaded"); - - let _task = Task::builder(SYSTEM) - .with_example(EXAMPLE_USER1, EXAMPLE_EVE1) - .with_example(EXAMPLE_USER2, EXAMPLE_EVE2) - .with_example(EXAMPLE_USER3, EXAMPLE_EVE3) - .build(); - - let history = vec![ - ChatHistoryItem::new(MessageType::UserMessage, EXAMPLE_USER1), - ChatHistoryItem::new(MessageType::ModelAnswer, EXAMPLE_EVE1), - ChatHistoryItem::new(MessageType::UserMessage, EXAMPLE_USER2), - ChatHistoryItem::new(MessageType::ModelAnswer, EXAMPLE_EVE2), - ChatHistoryItem::new(MessageType::UserMessage, EXAMPLE_USER3), - ChatHistoryItem::new(MessageType::ModelAnswer, EXAMPLE_EVE3), - ]; - - let session_path = std::path::PathBuf::from("eve.session"); - - match command { - EveCommands::Train => { - println!("Training Eve..."); - println!("Ad hoc training model for ADAM subject classes..."); - - let mut chat = Chat::builder(llama) - .with_system_prompt(SYSTEM) - .with_initial_history(history) - .build(); - - println!("\n\nTraining done."); - - chat.save_session(session_path.clone()) - .await - .expect("Could not save session"); - println!("Session saved to {:?}", session_path); - } - EveCommands::Prompt => { - println!("Prompting Eve..."); - - let mut chat = Chat::builder(llama) - .with_try_session_path(&session_path) - .build(); - - for _ in 0..2 { - let mut rl = rustyline::Editor::<()>::new()?; - let line = rl.readline(">> ")?; - println!("\n\n"); - let mut output_stream = chat.add_message(line); - print!("Eve: "); - output_stream.to_std_out().await.unwrap(); - } - - //let mut rl = rustyline::Editor::<()>::new()?; - //let line = rl.readline(">> ")?; - //task.run(line, &llama).to_std_out().await.unwrap(); - } - } - Ok(()) -} From 2c3426d4f1cf7f45b26e8551940a37c72a031d57 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 12 Sep 2024 13:50:27 +0200 Subject: [PATCH 138/183] Deactivate "sound" feature on kalsom and comment out Whisper code --- rust-executor/Cargo.toml | 2 +- rust-executor/src/ai_service/audio_stream.rs | 18 +++++++++--------- rust-executor/src/ai_service/mod.rs | 16 ++++++++++++---- 3 files changed, 22 insertions(+), 14 deletions(-) diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index 18f544fc1..8d42b4224 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -106,7 +106,7 @@ rustls = "0.23" tokio-rustls = "0.26" rustls-pemfile = "2" -kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "sound"] } +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } deflate = "1.0.0" futures-core = "0.3.30" futures-util = "0.3.30" diff --git a/rust-executor/src/ai_service/audio_stream.rs b/rust-executor/src/ai_service/audio_stream.rs index 85e89b1e6..57585fe67 100644 --- a/rust-executor/src/ai_service/audio_stream.rs +++ b/rust-executor/src/ai_service/audio_stream.rs @@ -1,7 +1,7 @@ use std::pin::Pin; use futures::StreamExt; -use kalosm::sound::AsyncSource; +//use kalosm::sound::AsyncSource; use tokio_stream::Stream; pub struct AudioStream { @@ -57,12 +57,12 @@ impl Stream for AudioStream { // } // } -impl AsyncSource for AudioStream { - fn as_stream(&mut self) -> impl Stream + '_ { - self - } +// impl AsyncSource for AudioStream { +// fn as_stream(&mut self) -> impl Stream + '_ { +// self +// } - fn sample_rate(&self) -> u32 { - 160000 - } -} +// fn sample_rate(&self) -> u32 { +// 160000 +// } +// } diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 8324832f9..801ee75fb 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,14 +1,19 @@ +#[allow(unused_imports)] use self::{audio_stream::AudioStream, error::AIServiceError}; +#[allow(unused_imports)] use crate::graphql::graphql_types::{AITaskInput, TranscriptionTextFilter}; +#[allow(unused_imports)] use crate::pubsub::AI_TRANSCRIPTION_TEXT_TOPIC; +#[allow(unused_imports)] use crate::types::AITask; +#[allow(unused_imports)] use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use anyhow::anyhow; use deno_core::error::AnyError; use futures::SinkExt; use kalosm::{ language::*, - sound::{AsyncSourceTranscribeExt, Whisper}, + //sound::{AsyncSourceTranscribeExt, Whisper}, }; use std::collections::HashMap; use std::panic::catch_unwind; @@ -319,14 +324,16 @@ impl AIService { pub async fn open_transcription_stream(&self, _model_id: String) -> Result { let stream_id = uuid::Uuid::new_v4().to_string(); - let stream_id_clone = stream_id.clone(); - let (samples_tx, sampels_rx) = futures_channel::mpsc::unbounded::>(); + let _stream_id_clone = stream_id.clone(); + let (samples_tx, _sampels_rx) = futures_channel::mpsc::unbounded::>(); //TODO: use drop_rx to exit thread let (drop_tx, _drop_rx) = oneshot::channel(); let (done_tx, done_rx) = oneshot::channel(); thread::spawn(move || { - let rt = tokio::runtime::Runtime::new().unwrap(); + let _rt = tokio::runtime::Runtime::new().unwrap(); + let _ = done_tx.send(Err(anyhow!("not implemented"))); + /* let maybe_model = rt.block_on(Whisper::new()); if let Ok(whisper) = maybe_model { let audio_stream = AudioStream { @@ -357,6 +364,7 @@ impl AIService { } else { let _ = done_tx.send(Err(maybe_model.err().unwrap())); } + */ }); done_rx.await??; From 1abe7a0156c534c4c0a796232e1d197135b95547 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 17 Sep 2024 12:56:07 +0530 Subject: [PATCH 139/183] chore: Refactor AIService struct to use embedding_models and llm_models collections --- rust-executor/src/ai_service/mod.rs | 49 ++++++++++++++++++++++------- 1 file changed, 38 insertions(+), 11 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 801ee75fb..582764536 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -37,18 +37,22 @@ struct TranscriptionSession { #[derive(Clone)] pub struct AIService { - bert: mpsc::UnboundedSender, - llama: mpsc::UnboundedSender, + embedding_models: Arc>>, + embedding_channel: mpsc::UnboundedSender, + llm_channel: mpsc::UnboundedSender, + llm_models: Arc>>, transcription_streams: Arc>>, } struct EmbeddingRequest { + model_id: String, pub prompt: String, pub result_sender: oneshot::Sender>>, } #[derive(Debug)] struct LLMTaskSpawnRequest { + model_id: String, pub task: AITask, pub result_sender: oneshot::Sender>, } @@ -78,11 +82,24 @@ impl AIService { let (bert_tx, mut bert_rx) = mpsc::unbounded_channel::(); let (llama_tx, mut llama_rx) = mpsc::unbounded_channel::(); + let embedding_models = Arc::new(Mutex::new(HashMap::::new())); + let embedding_models_clone = Arc::clone(&embedding_models); + + let llm_models = Arc::new(Mutex::new(HashMap::::new())); + let llm_models_clone = Arc::clone(&llm_models); + thread::spawn(move || { let rt = tokio::runtime::Runtime::new().unwrap(); + let bert = rt .block_on(Bert::builder().build()) .expect("couldn't build Bert model"); + + rt.block_on(async { + let mut models = embedding_models_clone.lock().await; + models.insert("bert".to_string(), bert.clone()); + }); + while let Some(request) = rt.block_on(bert_rx.recv()) { // let result: Result> = match catch_unwind(|| rt.block_on(bert.embed(request.prompt))) { // Err(e) => Err(anyhow!("Bert panicked: {:?}", e)), @@ -106,6 +123,11 @@ impl AIService { ) .expect("couldn't build Llama model"); + rt.block_on(async { + let mut models = llm_models_clone.lock().await; + models.insert("llama".to_string(), llama.clone()); + }); + let mut tasks = HashMap::::new(); while let Some(task_request) = rt.block_on(llama_rx.recv()) { @@ -188,8 +210,10 @@ impl AIService { }); let service = AIService { - bert: bert_tx, - llama: llama_tx, + embedding_channel: bert_tx, + llm_channel: llama_tx, + embedding_models, + llm_models, transcription_streams: Arc::new(Mutex::new(HashMap::new())), }; @@ -282,7 +306,7 @@ impl AIService { pub async fn prompt(&self, task_id: String, prompt: String) -> Result { let (result_sender, rx) = oneshot::channel(); - self.llama + self.llm_channel .send(LLMTaskRequest::Prompt(LLMTaskPromptRequest { task_id, prompt, @@ -294,7 +318,8 @@ impl AIService { pub async fn embed(&self, text: String) -> Result> { let (result_sender, rx) = oneshot::channel(); - self.bert.send(EmbeddingRequest { + self.embedding_channel.send(EmbeddingRequest { + model_id: "bert".into(), prompt: text, result_sender, })?; @@ -304,16 +329,18 @@ impl AIService { async fn spawn_task(&self, task: AITask) -> Result<()> { let (tx, rx) = oneshot::channel(); - self.llama.send(LLMTaskRequest::Spawn(LLMTaskSpawnRequest { - task, - result_sender: tx, - }))?; + self.llm_channel + .send(LLMTaskRequest::Spawn(LLMTaskSpawnRequest { + model_id: task.model_id.clone(), + task, + result_sender: tx, + }))?; rx.await? } async fn remove_task(&self, task_id: String) -> Result<()> { let (tx, rx) = oneshot::channel(); - self.llama + self.llm_channel .send(LLMTaskRequest::Remove(LLMTaskRemoveRequest { task_id, result_sender: tx, From b3b2463afaaa530a914020940936f82241a53384 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 17 Sep 2024 13:23:02 +0530 Subject: [PATCH 140/183] Refactor AIService struct to use embedding_models and llm_models collections --- rust-executor/src/ai_service/mod.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 582764536..223f950c9 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -45,14 +45,14 @@ pub struct AIService { } struct EmbeddingRequest { - model_id: String, + pub model_id: String, pub prompt: String, pub result_sender: oneshot::Sender>>, } #[derive(Debug)] struct LLMTaskSpawnRequest { - model_id: String, + pub model_id: String, pub task: AITask, pub result_sender: oneshot::Sender>, } @@ -107,7 +107,11 @@ impl AIService { // }; let result: Result> = rt - .block_on(bert.embed(request.prompt)) + .block_on(async { + let bred = embedding_models_clone.lock().await; + let bert = bred.get(&request.model_id).expect("Bert model not found"); + bert.embed(request.prompt).await + }) .map(|tensor| tensor.to_vec()); let _ = request.result_sender.send(result); } From 2c915fe01e9fe5d194009155b738ee78d1e144b9 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 17 Sep 2024 14:12:50 +0530 Subject: [PATCH 141/183] Refactor AIService struct to use embedding_models and llm_models collections --- rust-executor/src/ai_service/mod.rs | 61 ++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 15 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 223f950c9..7629336c7 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -37,10 +37,8 @@ struct TranscriptionSession { #[derive(Clone)] pub struct AIService { - embedding_models: Arc>>, embedding_channel: mpsc::UnboundedSender, llm_channel: mpsc::UnboundedSender, - llm_models: Arc>>, transcription_streams: Arc>>, } @@ -59,6 +57,7 @@ struct LLMTaskSpawnRequest { #[derive(Debug)] struct LLMTaskPromptRequest { + pub model_id: String, pub task_id: String, pub prompt: String, pub result_sender: oneshot::Sender>, @@ -92,7 +91,16 @@ impl AIService { let rt = tokio::runtime::Runtime::new().unwrap(); let bert = rt - .block_on(Bert::builder().build()) + .block_on(async { + match Bert::builder().build().await { + Ok(bert) => { + let mut models = embedding_models_clone.lock().await; + models.insert("bert".to_string(), bert.clone()); + Ok(bert) + }, + Err(e) => Err(anyhow!("Bert failed to build: {:?}", e)), + } + }) .expect("couldn't build Bert model"); rt.block_on(async { @@ -119,19 +127,23 @@ impl AIService { thread::spawn(move || { let rt = tokio::runtime::Runtime::new().unwrap(); - let llama = rt + rt .block_on( - Llama::builder() + async { + match Llama::builder() .with_source(LlamaSource::tiny_llama_1_1b()) - .build(), + .build().await { + Ok(llama) => { + let mut models = llm_models_clone.lock().await; + models.insert("llama".to_string(), llama.clone()); + Ok(llama) + }, + Err(e) => Err(anyhow!("Llama failed to build: {:?}", e)), + } + } ) .expect("couldn't build Llama model"); - rt.block_on(async { - let mut models = llm_models_clone.lock().await; - models.insert("llama".to_string(), llama.clone()); - }); - let mut tasks = HashMap::::new(); while let Some(task_request) = rt.block_on(llama_rx.recv()) { @@ -153,8 +165,17 @@ impl AIService { let mut tries = 0; while !task_run && tries < 20 { tries += 1; + + let model = rt.block_on(async { + let models = llm_models_clone.lock().await; + match models.get(&spawn_request.model_id) { + Some(model) => Ok(model.clone()), + None => Err(anyhow::anyhow!("Llama model not found")), + } + }).unwrap(); + match catch_unwind(|| { - rt.block_on(task.run("Test example prompt", &llama).all_text()) + rt.block_on(task.run("Test example prompt", &model).all_text()) }) { Err(e) => log::error!( "Llama panicked during task spawn with: {:?}. Trying again..", @@ -180,9 +201,20 @@ impl AIService { let mut tries = 0; while maybe_result.is_none() && tries < 20 { tries += 1; + + let model = rt.block_on(async { + let models = llm_models_clone.lock().await; + match models.get(&prompt_request.model_id) { + Some(model) => Ok(model.clone()), + None => Err(anyhow::anyhow!("Llama model not found")), + } + }).unwrap(); + match catch_unwind(|| { rt.block_on( - task.run(prompt_request.prompt.clone(), &llama).all_text(), + async { + task.run(prompt_request.prompt.clone(), &model).all_text().await + }, ) }) { Err(e) => { @@ -216,8 +248,6 @@ impl AIService { let service = AIService { embedding_channel: bert_tx, llm_channel: llama_tx, - embedding_models, - llm_models, transcription_streams: Arc::new(Mutex::new(HashMap::new())), }; @@ -312,6 +342,7 @@ impl AIService { let (result_sender, rx) = oneshot::channel(); self.llm_channel .send(LLMTaskRequest::Prompt(LLMTaskPromptRequest { + model_id: "llama".into(), task_id, prompt, result_sender, From 28eda719cbf3c662cf83eb02f97e026f2cc94bbd Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 17 Sep 2024 14:13:18 +0530 Subject: [PATCH 142/183] Refactor AIService struct to use embedding_models and llm_models collections --- rust-executor/src/ai_service/mod.rs | 73 +++++++++++++++-------------- 1 file changed, 38 insertions(+), 35 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 7629336c7..62427f666 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -97,7 +97,7 @@ impl AIService { let mut models = embedding_models_clone.lock().await; models.insert("bert".to_string(), bert.clone()); Ok(bert) - }, + } Err(e) => Err(anyhow!("Bert failed to build: {:?}", e)), } }) @@ -127,22 +127,21 @@ impl AIService { thread::spawn(move || { let rt = tokio::runtime::Runtime::new().unwrap(); - rt - .block_on( - async { - match Llama::builder() - .with_source(LlamaSource::tiny_llama_1_1b()) - .build().await { - Ok(llama) => { - let mut models = llm_models_clone.lock().await; - models.insert("llama".to_string(), llama.clone()); - Ok(llama) - }, - Err(e) => Err(anyhow!("Llama failed to build: {:?}", e)), - } + rt.block_on(async { + match Llama::builder() + .with_source(LlamaSource::tiny_llama_1_1b()) + .build() + .await + { + Ok(llama) => { + let mut models = llm_models_clone.lock().await; + models.insert("llama".to_string(), llama.clone()); + Ok(llama) } - ) - .expect("couldn't build Llama model"); + Err(e) => Err(anyhow!("Llama failed to build: {:?}", e)), + } + }) + .expect("couldn't build Llama model"); let mut tasks = HashMap::::new(); @@ -166,13 +165,15 @@ impl AIService { while !task_run && tries < 20 { tries += 1; - let model = rt.block_on(async { - let models = llm_models_clone.lock().await; - match models.get(&spawn_request.model_id) { - Some(model) => Ok(model.clone()), - None => Err(anyhow::anyhow!("Llama model not found")), - } - }).unwrap(); + let model = rt + .block_on(async { + let models = llm_models_clone.lock().await; + match models.get(&spawn_request.model_id) { + Some(model) => Ok(model.clone()), + None => Err(anyhow::anyhow!("Llama model not found")), + } + }) + .unwrap(); match catch_unwind(|| { rt.block_on(task.run("Test example prompt", &model).all_text()) @@ -202,20 +203,22 @@ impl AIService { while maybe_result.is_none() && tries < 20 { tries += 1; - let model = rt.block_on(async { - let models = llm_models_clone.lock().await; - match models.get(&prompt_request.model_id) { - Some(model) => Ok(model.clone()), - None => Err(anyhow::anyhow!("Llama model not found")), - } - }).unwrap(); + let model = rt + .block_on(async { + let models = llm_models_clone.lock().await; + match models.get(&prompt_request.model_id) { + Some(model) => Ok(model.clone()), + None => Err(anyhow::anyhow!("Llama model not found")), + } + }) + .unwrap(); match catch_unwind(|| { - rt.block_on( - async { - task.run(prompt_request.prompt.clone(), &model).all_text().await - }, - ) + rt.block_on(async { + task.run(prompt_request.prompt.clone(), &model) + .all_text() + .await + }) }) { Err(e) => { log::error!("Llama panicked with: {:?}. Trying again..", e) From cb46d1a7d302960c875884c9456a03cff2fae9fe Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 18 Sep 2024 13:05:47 +0530 Subject: [PATCH 143/183] Refactor AIService struct to use embedding_models and llm_models collections --- rust-executor/src/ai_service/mod.rs | 69 ++++++++++++++++++- rust-executor/src/graphql/graphql_types.rs | 26 +++++++ .../src/graphql/subscription_resolvers.rs | 21 +++++- rust-executor/src/pubsub.rs | 1 + 4 files changed, 111 insertions(+), 6 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 62427f666..ebab96724 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,7 +1,8 @@ #[allow(unused_imports)] use self::{audio_stream::AudioStream, error::AIServiceError}; #[allow(unused_imports)] -use crate::graphql::graphql_types::{AITaskInput, TranscriptionTextFilter}; +use crate::graphql::graphql_types::{AIModelLoadingStatus, AITaskInput, TranscriptionTextFilter}; +use crate::pubsub::AI_MODEL_LOADING_STATUS; #[allow(unused_imports)] use crate::pubsub::AI_TRANSCRIPTION_TEXT_TOPIC; #[allow(unused_imports)] @@ -76,6 +77,61 @@ enum LLMTaskRequest { Remove(LLMTaskRemoveRequest), } +async fn handle_progress(model_name: String, progress: ModelLoadingProgress) { + match progress { + ModelLoadingProgress::Downloading { + source: _, + start_time, + progress, + } => { + let progress = progress * 100.0; + let _elapsed = start_time.elapsed().as_secs_f32(); + + get_global_pubsub() + .await + .publish( + &AI_MODEL_LOADING_STATUS, + &serde_json::to_string(&AIModelLoadingStatus { + model: model_name, + progress: progress as f64, + status: if progress < 100.0 { + "Downloading".to_string() + } else { + "Downloaded".to_string() + }, + downloaded: progress == 100.0, + loaded: false, + }) + .expect("AIModelLoading must be serializable"), + ) + .await; + } + ModelLoadingProgress::Loading { progress } => { + let progress = progress * 100.0; + println!("Loading model {progress}%"); + + get_global_pubsub() + .await + .publish( + &AI_MODEL_LOADING_STATUS, + &serde_json::to_string(&AIModelLoadingStatus { + model: model_name, + progress: progress as f64, + status: if progress < 100.0 { + "Loading".to_string() + } else { + "Loaded".to_string() + }, + downloaded: true, + loaded: progress == 100.0, + }) + .expect("AIModelLoading must be serializable"), + ) + .await; + } + } +} + impl AIService { pub async fn new() -> Result { let (bert_tx, mut bert_rx) = mpsc::unbounded_channel::(); @@ -92,7 +148,12 @@ impl AIService { let bert = rt .block_on(async { - match Bert::builder().build().await { + match Bert::builder() + .build_with_loading_handler(|progress| { + tokio::spawn(handle_progress("bert".to_string(), progress)); + }) + .await + { Ok(bert) => { let mut models = embedding_models_clone.lock().await; models.insert("bert".to_string(), bert.clone()); @@ -130,7 +191,9 @@ impl AIService { rt.block_on(async { match Llama::builder() .with_source(LlamaSource::tiny_llama_1_1b()) - .build() + .build_with_loading_handler(|progress| { + tokio::spawn(handle_progress("llama".to_string(), progress)); + }) .await { Ok(llama) => { diff --git a/rust-executor/src/graphql/graphql_types.rs b/rust-executor/src/graphql/graphql_types.rs index 0d54d0c5b..08f38e330 100644 --- a/rust-executor/src/graphql/graphql_types.rs +++ b/rust-executor/src/graphql/graphql_types.rs @@ -917,3 +917,29 @@ impl GetFilter for TriggeredNotification { None } } + +#[derive(GraphQLObject, Serialize, Deserialize, Default, Debug, Clone)] +#[serde(rename_all = "camelCase")] +pub struct AIModelLoadingStatus { + pub model: String, + pub progress: f64, + pub status: String, + pub downloaded: bool, + pub loaded: bool, +} + +//Implement the trait for `AIModelLoadingStatus` struct +impl GetValue for AIModelLoadingStatus { + type Value = AIModelLoadingStatus; + + fn get_value(&self) -> Self::Value { + self.clone() + } +} + +//Implement the trait for `AIModelLoadingStatus` struct +impl GetFilter for AIModelLoadingStatus { + fn get_filter(&self) -> Option { + None + } +} diff --git a/rust-executor/src/graphql/subscription_resolvers.rs b/rust-executor/src/graphql/subscription_resolvers.rs index e0742ad3d..9c1751ea4 100644 --- a/rust-executor/src/graphql/subscription_resolvers.rs +++ b/rust-executor/src/graphql/subscription_resolvers.rs @@ -7,9 +7,10 @@ use std::pin::Pin; use crate::{ pubsub::{ get_global_pubsub, subscribe_and_process, AGENT_STATUS_CHANGED_TOPIC, AGENT_UPDATED_TOPIC, - AI_TRANSCRIPTION_TEXT_TOPIC, APPS_CHANGED, EXCEPTION_OCCURRED_TOPIC, - NEIGHBOURHOOD_SIGNAL_TOPIC, PERSPECTIVE_ADDED_TOPIC, PERSPECTIVE_LINK_ADDED_TOPIC, - PERSPECTIVE_LINK_REMOVED_TOPIC, PERSPECTIVE_LINK_UPDATED_TOPIC, PERSPECTIVE_REMOVED_TOPIC, + AI_MODEL_LOADING_STATUS, AI_TRANSCRIPTION_TEXT_TOPIC, APPS_CHANGED, + EXCEPTION_OCCURRED_TOPIC, NEIGHBOURHOOD_SIGNAL_TOPIC, PERSPECTIVE_ADDED_TOPIC, + PERSPECTIVE_LINK_ADDED_TOPIC, PERSPECTIVE_LINK_REMOVED_TOPIC, + PERSPECTIVE_LINK_UPDATED_TOPIC, PERSPECTIVE_REMOVED_TOPIC, PERSPECTIVE_SYNC_STATE_CHANGE_TOPIC, PERSPECTIVE_UPDATED_TOPIC, RUNTIME_MESSAGED_RECEIVED_TOPIC, RUNTIME_NOTIFICATION_TRIGGERED_TOPIC, }, @@ -273,4 +274,18 @@ impl Subscription { } } } + + async fn ai_model_loading_status( + &self, + context: &RequestContext, + ) -> Pin> + Send>> { + match check_capability(&context.capabilities, &AI_ALL_CAPABILITY) { + Err(e) => Box::pin(stream::once(async move { Err(e.into()) })), + Ok(_) => { + let pubsub = get_global_pubsub().await; + let topic = &AI_MODEL_LOADING_STATUS; + subscribe_and_process::(pubsub, topic.to_string(), None).await + } + } + } } diff --git a/rust-executor/src/pubsub.rs b/rust-executor/src/pubsub.rs index 8c875f681..ee1731989 100644 --- a/rust-executor/src/pubsub.rs +++ b/rust-executor/src/pubsub.rs @@ -133,6 +133,7 @@ lazy_static::lazy_static! { pub static ref RUNTIME_MESSAGED_RECEIVED_TOPIC: String = "runtime-messaged-received-topic".to_owned(); pub static ref RUNTIME_NOTIFICATION_TRIGGERED_TOPIC: String = "runtime-notification-triggered-topic".to_owned(); pub static ref AI_TRANSCRIPTION_TEXT_TOPIC: String = "ai-transcription-text-topic".to_owned(); + pub static ref AI_MODEL_LOADING_STATUS: String = "ai-model-loading-status".to_owned(); } pub async fn get_global_pubsub() -> Arc { From 5f19f056d72ea79f8867e3121ea29e97c1835505 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 19 Sep 2024 12:13:54 +0530 Subject: [PATCH 144/183] Refactor AIService struct to use embedding_models and llm_models collections --- rust-executor/src/ai_service/mod.rs | 403 +++++++++++++++------------- 1 file changed, 209 insertions(+), 194 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index ebab96724..ac05e6ad6 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -38,8 +38,9 @@ struct TranscriptionSession { #[derive(Clone)] pub struct AIService { - embedding_channel: mpsc::UnboundedSender, - llm_channel: mpsc::UnboundedSender, + embedding_channel: Arc>>>, + llm_channel: Arc>>>, + models: Arc>>, transcription_streams: Arc>>, } @@ -134,197 +135,33 @@ async fn handle_progress(model_name: String, progress: ModelLoadingProgress) { impl AIService { pub async fn new() -> Result { - let (bert_tx, mut bert_rx) = mpsc::unbounded_channel::(); - let (llama_tx, mut llama_rx) = mpsc::unbounded_channel::(); - - let embedding_models = Arc::new(Mutex::new(HashMap::::new())); - let embedding_models_clone = Arc::clone(&embedding_models); - - let llm_models = Arc::new(Mutex::new(HashMap::::new())); - let llm_models_clone = Arc::clone(&llm_models); - - thread::spawn(move || { - let rt = tokio::runtime::Runtime::new().unwrap(); - - let bert = rt - .block_on(async { - match Bert::builder() - .build_with_loading_handler(|progress| { - tokio::spawn(handle_progress("bert".to_string(), progress)); - }) - .await - { - Ok(bert) => { - let mut models = embedding_models_clone.lock().await; - models.insert("bert".to_string(), bert.clone()); - Ok(bert) - } - Err(e) => Err(anyhow!("Bert failed to build: {:?}", e)), - } - }) - .expect("couldn't build Bert model"); - - rt.block_on(async { - let mut models = embedding_models_clone.lock().await; - models.insert("bert".to_string(), bert.clone()); - }); - - while let Some(request) = rt.block_on(bert_rx.recv()) { - // let result: Result> = match catch_unwind(|| rt.block_on(bert.embed(request.prompt))) { - // Err(e) => Err(anyhow!("Bert panicked: {:?}", e)), - // Ok(embed_result) => embed_result.and_then(|tensor| Ok(tensor.to_vec())) - // }; - - let result: Result> = rt - .block_on(async { - let bred = embedding_models_clone.lock().await; - let bert = bred.get(&request.model_id).expect("Bert model not found"); - bert.embed(request.prompt).await - }) - .map(|tensor| tensor.to_vec()); - let _ = request.result_sender.send(result); - } - }); - - thread::spawn(move || { - let rt = tokio::runtime::Runtime::new().unwrap(); - rt.block_on(async { - match Llama::builder() - .with_source(LlamaSource::tiny_llama_1_1b()) - .build_with_loading_handler(|progress| { - tokio::spawn(handle_progress("llama".to_string(), progress)); - }) - .await - { - Ok(llama) => { - let mut models = llm_models_clone.lock().await; - models.insert("llama".to_string(), llama.clone()); - Ok(llama) - } - Err(e) => Err(anyhow!("Llama failed to build: {:?}", e)), - } - }) - .expect("couldn't build Llama model"); - - let mut tasks = HashMap::::new(); - - while let Some(task_request) = rt.block_on(llama_rx.recv()) { - match task_request { - LLMTaskRequest::Spawn(spawn_request) => { - let task_description = spawn_request.task; - let task = Task::builder(task_description.system_prompt.clone()) - .with_examples( - task_description - .prompt_examples - .clone() - .into_iter() - .map(|example| (example.input, example.output)) - .collect::>(), - ) - .build(); - - let mut task_run = false; - let mut tries = 0; - while !task_run && tries < 20 { - tries += 1; - - let model = rt - .block_on(async { - let models = llm_models_clone.lock().await; - match models.get(&spawn_request.model_id) { - Some(model) => Ok(model.clone()), - None => Err(anyhow::anyhow!("Llama model not found")), - } - }) - .unwrap(); - - match catch_unwind(|| { - rt.block_on(task.run("Test example prompt", &model).all_text()) - }) { - Err(e) => log::error!( - "Llama panicked during task spawn with: {:?}. Trying again..", - e - ), - Ok(_) => task_run = true, - } - } - - if task_run { - tasks.insert(task_description.task_id.clone(), task); - let _ = spawn_request.result_sender.send(Ok(())); - } else { - let _ = spawn_request - .result_sender - .send(Err(anyhow!("Couldn't run task without panicks"))); - } - } - - LLMTaskRequest::Prompt(prompt_request) => { - if let Some(task) = tasks.get(&prompt_request.task_id) { - let mut maybe_result: Option = None; - let mut tries = 0; - while maybe_result.is_none() && tries < 20 { - tries += 1; - - let model = rt - .block_on(async { - let models = llm_models_clone.lock().await; - match models.get(&prompt_request.model_id) { - Some(model) => Ok(model.clone()), - None => Err(anyhow::anyhow!("Llama model not found")), - } - }) - .unwrap(); + let service = AIService { + embedding_channel: Arc::new(Mutex::new(HashMap::new())), + llm_channel: Arc::new(Mutex::new(HashMap::new())), + models: Arc::new(Mutex::new(HashMap::new())), + transcription_streams: Arc::new(Mutex::new(HashMap::new())), + }; - match catch_unwind(|| { - rt.block_on(async { - task.run(prompt_request.prompt.clone(), &model) - .all_text() - .await - }) - }) { - Err(e) => { - log::error!("Llama panicked with: {:?}. Trying again..", e) - } - Ok(result) => maybe_result = Some(result), - } - } + service.load().await; - if let Some(result) = maybe_result { - let _ = prompt_request.result_sender.send(Ok(result)); - } else { - let _ = prompt_request.result_sender.send(Err(anyhow!("Unable to get response from Llama model. Giving up after 20 retries"))); - } - } else { - let _ = prompt_request.result_sender.send(Err(anyhow!( - "Task with ID {} not spawned", - prompt_request.task_id - ))); - } - } + Ok(service) + } - LLMTaskRequest::Remove(remove_request) => { - let _ = tasks.remove(&remove_request.task_id); - let _ = remove_request.result_sender.send(()); - } - } - } - }); + pub async fn load(&self) -> Result<()> { + // Get the models from the database & loop over it to spawn models - let service = AIService { - embedding_channel: bert_tx, - llm_channel: llama_tx, - transcription_streams: Arc::new(Mutex::new(HashMap::new())), - }; + self.spawn_embedding_model("bert".to_string()).await; + self.spawn_llm_model("llama".to_string()).await; + // Spawn tasks from the database let tasks = Ad4mDb::with_global_instance(|db| db.get_tasks()) .map_err(|e| AIServiceError::DatabaseError(e.to_string()))?; for task in tasks { - service.spawn_task(task).await?; + self.spawn_task(task).await?; } - Ok(service) + Ok(()) } pub async fn init_global_instance() -> Result<()> { @@ -379,6 +216,155 @@ impl AIService { Ok(tasks) } + pub async fn spawn_embedding_model(&self, model_id: String) { + let (bert_tx, mut bert_rx) = mpsc::unbounded_channel::(); + + thread::spawn({ + let model_id = model_id.clone(); + move || { + let rt = tokio::runtime::Runtime::new().unwrap(); + + let model = rt + .block_on(async { + Bert::builder() + .build_with_loading_handler({ + let model_id = model_id.clone(); + move |progress| { + tokio::spawn(handle_progress(model_id.clone(), progress)); + } + }) + .await + }) + .expect("couldn't build Bert model"); + + while let Some(request) = rt.block_on(bert_rx.recv()) { + let result: Result> = rt + .block_on(async { model.embed(request.prompt).await }) + .map(|tensor| tensor.to_vec()); + let _ = request.result_sender.send(result); + } + } + }); + + self.embedding_channel + .lock() + .await + .insert(model_id, bert_tx); + } + pub async fn spawn_llm_model(&self, model_id: String) { + let (llama_tx, mut llama_rx) = mpsc::unbounded_channel::(); + + thread::spawn({ + let model_id = model_id.clone(); + + move || { + let rt = tokio::runtime::Runtime::new().unwrap(); + let llama = rt + .block_on(async { + Llama::builder() + .with_source(LlamaSource::tiny_llama_1_1b()) + .build_with_loading_handler({ + let model_id = model_id.clone(); + move |progress| { + tokio::spawn(handle_progress(model_id.clone(), progress)); + } + }) + .await + }) + .expect("couldn't build Llama model"); + + let mut tasks = HashMap::::new(); + + while let Some(task_request) = rt.block_on(llama_rx.recv()) { + match task_request { + LLMTaskRequest::Spawn(spawn_request) => { + let task_description = spawn_request.task; + let task = Task::builder(task_description.system_prompt.clone()) + .with_examples( + task_description + .prompt_examples + .clone() + .into_iter() + .map(|example| (example.input, example.output)) + .collect::>(), + ) + .build(); + + let mut task_run = false; + let mut tries = 0; + while !task_run && tries < 20 { + tries += 1; + + match catch_unwind(|| { + rt.block_on(task.run("Test example prompt", &llama).all_text()) + }) { + Err(e) => log::error!( + "Llama panicked during task spawn with: {:?}. Trying again..", + e + ), + Ok(_) => task_run = true, + } + } + + if task_run { + tasks.insert(task_description.task_id.clone(), task); + let _ = spawn_request.result_sender.send(Ok(())); + } else { + let _ = spawn_request + .result_sender + .send(Err(anyhow!("Couldn't run task without panicks"))); + } + } + + LLMTaskRequest::Prompt(prompt_request) => { + if let Some(task) = tasks.get(&prompt_request.task_id) { + let mut maybe_result: Option = None; + let mut tries = 0; + while maybe_result.is_none() && tries < 20 { + tries += 1; + + match catch_unwind(|| { + rt.block_on(async { + task.run(prompt_request.prompt.clone(), &llama) + .all_text() + .await + }) + }) { + Err(e) => { + log::error!( + "Llama panicked with: {:?}. Trying again..", + e + ) + } + Ok(result) => maybe_result = Some(result), + } + } + + if let Some(result) = maybe_result { + let _ = prompt_request.result_sender.send(Ok(result)); + } else { + let _ = prompt_request.result_sender.send(Err(anyhow!("Unable to get response from Llama model. Giving up after 20 retries"))); + } + } else { + let _ = prompt_request.result_sender.send(Err(anyhow!( + "Task with ID {} not spawned", + prompt_request.task_id + ))); + } + } + + LLMTaskRequest::Remove(remove_request) => { + let _ = tasks.remove(&remove_request.task_id); + let _ = remove_request.result_sender.send(()); + } + } + } + } + }); + + self.llm_channel.lock().await.insert(model_id, llama_tx); + } + pub async fn update_task(&self, task: AITask) -> Result { let task_id = task.task_id.clone(); Ad4mDb::with_global_instance(|db| { @@ -406,46 +392,75 @@ impl AIService { pub async fn prompt(&self, task_id: String, prompt: String) -> Result { let (result_sender, rx) = oneshot::channel(); - self.llm_channel - .send(LLMTaskRequest::Prompt(LLMTaskPromptRequest { + + let llm_channel = self.llm_channel.lock().await; + if let Some(sender) = llm_channel.get("llama") { + sender.send(LLMTaskRequest::Prompt(LLMTaskPromptRequest { model_id: "llama".into(), task_id, prompt, result_sender, }))?; + } else { + return Err(anyhow::anyhow!("Model 'llama' not found in LLM channel")); + } + rx.await? } pub async fn embed(&self, text: String) -> Result> { let (result_sender, rx) = oneshot::channel(); - self.embedding_channel.send(EmbeddingRequest { - model_id: "bert".into(), - prompt: text, - result_sender, - })?; + let embedding_channel = self.embedding_channel.lock().await; + if let Some(sender) = embedding_channel.get("bert") { + sender.send(EmbeddingRequest { + model_id: "bert".into(), + prompt: text, + result_sender, + })?; + } else { + return Err(anyhow::anyhow!( + "Model 'bert' not found in embedding channel" + )); + } rx.await? } async fn spawn_task(&self, task: AITask) -> Result<()> { let (tx, rx) = oneshot::channel(); - self.llm_channel - .send(LLMTaskRequest::Spawn(LLMTaskSpawnRequest { + + let llm_channel = self.llm_channel.lock().await; + if let Some(sender) = llm_channel.get(&task.model_id) { + sender.send(LLMTaskRequest::Spawn(LLMTaskSpawnRequest { model_id: task.model_id.clone(), - task, + task: task.clone(), result_sender: tx, }))?; + } else { + return Err(anyhow::anyhow!( + "Model '{}' not found in LLM channel", + task.model_id + )); + } + rx.await? } async fn remove_task(&self, task_id: String) -> Result<()> { let (tx, rx) = oneshot::channel(); - self.llm_channel - .send(LLMTaskRequest::Remove(LLMTaskRemoveRequest { + + let llm_channel = self.llm_channel.lock().await; + + if let Some(sender) = llm_channel.get("llama") { + sender.send(LLMTaskRequest::Remove(LLMTaskRemoveRequest { task_id, result_sender: tx, }))?; + } else { + return Err(anyhow::anyhow!("Model 'llama' not found in LLM channel")); + } + rx.await?; Ok(()) } From 41e19e16fb9b439c373be20ac209ccfc51d55770 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 19 Sep 2024 12:51:16 +0530 Subject: [PATCH 145/183] chore: Add modelLoadingStatus() method to AIClient and AIResolver --- core/src/Ad4mClient.test.ts | 5 +++++ core/src/ai/AIClient.ts | 23 ++++++++++++++++++++++- core/src/ai/AIResolver.ts | 13 ++++++++++++- core/src/ai/Tasks.ts | 26 ++++++++++++++++++++++++++ 4 files changed, 65 insertions(+), 2 deletions(-) diff --git a/core/src/Ad4mClient.test.ts b/core/src/Ad4mClient.test.ts index f2f5b1f76..fdba3da42 100644 --- a/core/src/Ad4mClient.test.ts +++ b/core/src/Ad4mClient.test.ts @@ -1196,6 +1196,11 @@ describe('Ad4mClient', () => { expect(task.systemPrompt).toBe("system prompt") }); + it('modelLoadingStatus()', async () => { + const status = await ad4mClient.ai.modelLoadingStatus("model_id"); + expect(status.status).toBe("loaded") + }); + it('prompt()', async () => { const prompt = await ad4mClient.ai.prompt("task_id", "Do something"); console.log(prompt) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 9ccd3cbb1..1bb068f7d 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -2,7 +2,7 @@ import { ApolloClient, gql } from "@apollo/client"; import unwrapApolloResult from "../unwrapApolloResult"; import base64js from 'base64-js'; import pako from 'pako' -import { AITask, AITaskInput } from "./Tasks"; +import { AIModelLoadingStatus, AITask, AITaskInput } from "./Tasks"; export class AIClient { #apolloClient: ApolloClient; @@ -124,6 +124,27 @@ export class AIClient { return aiUpdateTask; } + async modelLoadingStatus(model: string): Promise { + const { aiModelLoadingStatus } = unwrapApolloResult(await this.#apolloClient.query({ + query: gql` + query AiModelLoadingStatus($model: String!) { + aiModelLoadingStatus(model: $model) { + model + status + progress + loaded + downloaded + } + } + `, + variables: { + model + } + })); + + return aiModelLoadingStatus + } + async prompt(taskId: string, prompt: string): Promise { const { aiPrompt } = unwrapApolloResult(await this.#apolloClient.mutate({ mutation: gql` diff --git a/core/src/ai/AIResolver.ts b/core/src/ai/AIResolver.ts index fdd45e0df..c8a71ac5d 100644 --- a/core/src/ai/AIResolver.ts +++ b/core/src/ai/AIResolver.ts @@ -1,5 +1,5 @@ import { Query, Resolver, Mutation, Arg, InputType, Field, Subscription, Float, PubSub} from "type-graphql"; -import { AITask, AITaskInput } from "./Tasks"; +import { AIModelLoadingStatus, AITask, AITaskInput } from "./Tasks"; import pako from "pako"; import base64js from 'base64-js'; import { AI_TRANSCRIPTION_TEXT_TOPIC } from "../PubSub"; @@ -82,6 +82,17 @@ export default class AIResolver { ) } + @Query(() => AIModelLoadingStatus) + aiModelLoadingStatus(@Arg("model") model: string): AIModelLoadingStatus { + return new AIModelLoadingStatus( + model, + "loaded", + 100.0, + true, + true + ) + } + @Mutation(() => String) aiPrompt( @Arg("taskId") taskId: string, diff --git a/core/src/ai/Tasks.ts b/core/src/ai/Tasks.ts index 3e3825573..746ab8abf 100644 --- a/core/src/ai/Tasks.ts +++ b/core/src/ai/Tasks.ts @@ -93,3 +93,29 @@ export class AITask { this.updatedAt = updated_at; } } + +@ObjectType() +export class AIModelLoadingStatus { + @Field() + model: string; + + @Field() + status: string; + + @Field() + progress: number; + + @Field() + downloaded: boolean; + + @Field() + loaded : boolean; + + constructor(model: string, status: string, progress: number, downloaded: boolean, loaded: boolean) { + this.model = model; + this.status = status; + this.progress = progress; + this.downloaded = downloaded; + this.loaded = loaded; + } +} \ No newline at end of file From d143cbf5379e48a5d3cf48a6abd38d64de0e5c68 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 19 Sep 2024 12:51:32 +0530 Subject: [PATCH 146/183] Refactor database module and add model status tracking --- rust-executor/src/db.rs | 63 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 61 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 4fb890d2e..7375b0025 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -1,6 +1,5 @@ use crate::graphql::graphql_types::{ - EntanglementProof, LinkStatus, NotificationInput, PerspectiveExpression, PerspectiveHandle, - SentMessage, + AIModelLoadingStatus, EntanglementProof, LinkStatus, NotificationInput, PerspectiveExpression, PerspectiveHandle, SentMessage }; use crate::types::{ AIPromptExamples, AITask, Expression, ExpressionProof, Link, LinkExpression, Notification, @@ -177,9 +176,69 @@ impl Ad4mDb { [], )?; + conn.execute( + "CREATE TABLE IF NOT EXISTS model_status ( + model TEXT PRIMARY KEY, + progress DOUBLE NOT NULL, + status TEXT NOT NULL + downloaded BOOLEAN NOT NULL + loaded BOOLEAN NOT NULL + )", + [])?; + Ok(Self { conn }) } + pub fn create_or_update_model_status( + &self, + model: &str, + progress: f64, + status: &str, + downloaded: bool, + loaded: bool, + ) -> Result<(), rusqlite::Error> { + let conn = &self.conn; + conn.execute( + "INSERT INTO model_status (model, progress, status, downloaded, loaded) + VALUES (?1, ?2, ?3, ?4, ?5) + ON CONFLICT(model) DO UPDATE SET + progress = excluded.progress, + status = excluded.status, + downloaded = excluded.downloaded, + loaded = excluded.loaded", + params![model, progress, status, downloaded, loaded], + )?; + Ok(()) + } + + pub fn remove_model_status(&self, model: &str) -> Result<(), rusqlite::Error> { + let conn = &self.conn; + conn.execute( + "DELETE FROM model_status WHERE model = ?1", + params![model], + )?; + Ok(()) + } + + pub fn get_model_status(&self, model: &str) -> Result, rusqlite::Error> { + let conn = &self.conn; + let mut stmt = conn.prepare("SELECT model, progress, status, downloaded, loaded FROM model_status WHERE model = ?1")?; + let mut rows = stmt.query(params![model])?; + + if let Some(row) = rows.next()? { + let model = AIModelLoadingStatus { + model: row.get(0)?, + progress: row.get(1)?, + status: row.get(2)?, + downloaded: row.get(3)?, + loaded: row.get(4)?, + }; + Ok(Some(model)) + } else { + Ok(None) + } + } + pub fn add_task( &self, name: String, From 154f4fcc33bb23d51fe8d7f9f08508266bb615b4 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 11:30:19 +0530 Subject: [PATCH 147/183] Refactor database module and add model status tracking --- rust-executor/src/db.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index 7375b0025..be2060c21 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -180,8 +180,8 @@ impl Ad4mDb { "CREATE TABLE IF NOT EXISTS model_status ( model TEXT PRIMARY KEY, progress DOUBLE NOT NULL, - status TEXT NOT NULL - downloaded BOOLEAN NOT NULL + status TEXT NOT NULL, + downloaded BOOLEAN NOT NULL, loaded BOOLEAN NOT NULL )", [])?; From 7cd2b08ccf774adf3fd8cc7b713af51a17231190 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 11:31:22 +0530 Subject: [PATCH 148/183] chore: Add ModelNotFound error variant to AIServiceError enum --- rust-executor/src/ai_service/error.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rust-executor/src/ai_service/error.rs b/rust-executor/src/ai_service/error.rs index 76faa47fe..c8ecca5ef 100644 --- a/rust-executor/src/ai_service/error.rs +++ b/rust-executor/src/ai_service/error.rs @@ -10,6 +10,7 @@ pub enum AIServiceError { #[allow(dead_code)] LockError, CrazyError(String), + ModelNotFound, } impl Error for AIServiceError {} @@ -23,6 +24,7 @@ impl fmt::Display for AIServiceError { AIServiceError::LockError => write!(f, "Lock error"), AIServiceError::StreamNotFound => write!(f, "Transcription stream not found"), AIServiceError::CrazyError(msg) => write!(f, "Something crazy happened: {}", msg), + AIServiceError::ModelNotFound => write!(f, "Model not found"), } } } From 7e54715b073e7382cf47105d53fb2923183aaa17 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 11:31:29 +0530 Subject: [PATCH 149/183] Refactor query_resolvers.rs and add AI model loading status endpoint --- rust-executor/src/graphql/query_resolvers.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/rust-executor/src/graphql/query_resolvers.rs b/rust-executor/src/graphql/query_resolvers.rs index 1c53842a3..0d2b3cedb 100644 --- a/rust-executor/src/graphql/query_resolvers.rs +++ b/rust-executor/src/graphql/query_resolvers.rs @@ -554,4 +554,17 @@ impl Query { Err(e) => Err(FieldError::new(e.to_string(), Value::null())), } } + + async fn ai_model_loading_status( + &self, + context: &RequestContext, + model: String, + ) -> FieldResult { + check_capability(&context.capabilities, &AI_READ_CAPABILITY)?; + + match AIService::model_status(model).await { + Ok(status) => Ok(status), + Err(e) => Err(FieldError::new(e.to_string(), Value::null())), + } + } } From b75af9203bb88f6a4e652400c893d567e19cdd7e Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 11:31:50 +0530 Subject: [PATCH 150/183] Refactor AIService struct to use embedding_models and llm_models collections --- rust-executor/src/ai_service/mod.rs | 116 ++++++++++++++++------------ 1 file changed, 65 insertions(+), 51 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index ac05e6ad6..9786e47b4 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -40,26 +40,22 @@ struct TranscriptionSession { pub struct AIService { embedding_channel: Arc>>>, llm_channel: Arc>>>, - models: Arc>>, transcription_streams: Arc>>, } struct EmbeddingRequest { - pub model_id: String, pub prompt: String, pub result_sender: oneshot::Sender>>, } #[derive(Debug)] struct LLMTaskSpawnRequest { - pub model_id: String, pub task: AITask, pub result_sender: oneshot::Sender>, } #[derive(Debug)] struct LLMTaskPromptRequest { - pub model_id: String, pub task_id: String, pub prompt: String, pub result_sender: oneshot::Sender>, @@ -78,6 +74,35 @@ enum LLMTaskRequest { Remove(LLMTaskRemoveRequest), } +async fn publish_model_status(model_name: String, progress: f32, status: &str) { + let model = AIModelLoadingStatus { + model: model_name.clone(), + progress: progress as f64, + status: status.to_string(), + downloaded: progress == 100.0, + loaded: false, + }; + + let _ = Ad4mDb::with_global_instance(|db| { + let model = model.clone(); + db.create_or_update_model_status( + &model.model, + model.progress, + &model.status, + model.downloaded, + model.loaded, + ) + }); + + get_global_pubsub() + .await + .publish( + &AI_MODEL_LOADING_STATUS, + &serde_json::to_string(&model).expect("AIModelLoading must be serializable"), + ) + .await; +} + async fn handle_progress(model_name: String, progress: ModelLoadingProgress) { match progress { ModelLoadingProgress::Downloading { @@ -88,47 +113,24 @@ async fn handle_progress(model_name: String, progress: ModelLoadingProgress) { let progress = progress * 100.0; let _elapsed = start_time.elapsed().as_secs_f32(); - get_global_pubsub() - .await - .publish( - &AI_MODEL_LOADING_STATUS, - &serde_json::to_string(&AIModelLoadingStatus { - model: model_name, - progress: progress as f64, - status: if progress < 100.0 { - "Downloading".to_string() - } else { - "Downloaded".to_string() - }, - downloaded: progress == 100.0, - loaded: false, - }) - .expect("AIModelLoading must be serializable"), - ) - .await; + let status = if progress < 100.0 { + "Downloading".to_string() + } else { + "Downloaded".to_string() + }; + + publish_model_status(model_name.clone(), progress, &status).await; } ModelLoadingProgress::Loading { progress } => { let progress = progress * 100.0; - println!("Loading model {progress}%"); - - get_global_pubsub() - .await - .publish( - &AI_MODEL_LOADING_STATUS, - &serde_json::to_string(&AIModelLoadingStatus { - model: model_name, - progress: progress as f64, - status: if progress < 100.0 { - "Loading".to_string() - } else { - "Loaded".to_string() - }, - downloaded: true, - loaded: progress == 100.0, - }) - .expect("AIModelLoading must be serializable"), - ) - .await; + + let status = if progress < 100.0 { + "Loading".to_string() + } else { + "Loaded".to_string() + }; + + publish_model_status(model_name.clone(), progress, &status).await; } } } @@ -138,11 +140,10 @@ impl AIService { let service = AIService { embedding_channel: Arc::new(Mutex::new(HashMap::new())), llm_channel: Arc::new(Mutex::new(HashMap::new())), - models: Arc::new(Mutex::new(HashMap::new())), transcription_streams: Arc::new(Mutex::new(HashMap::new())), }; - service.load().await; + let _ = service.load().await; Ok(service) } @@ -164,6 +165,14 @@ impl AIService { Ok(()) } + pub async fn model_status(model_id: String) -> Result { + let status = Ad4mDb::with_global_instance(|db| db.get_model_status(&model_id)) + .map_err(|e| AIServiceError::DatabaseError(e.to_string()))? + .ok_or(AIServiceError::ModelNotFound)?; + + Ok(status) + } + pub async fn init_global_instance() -> Result<()> { let new_service = AIService::new().await?; let mut ai_service = AI_SERVICE.lock().await; @@ -226,14 +235,18 @@ impl AIService { let model = rt .block_on(async { - Bert::builder() + let berd = Bert::builder() .build_with_loading_handler({ let model_id = model_id.clone(); move |progress| { tokio::spawn(handle_progress(model_id.clone(), progress)); } }) - .await + .await; + + publish_model_status(model_id.clone(), 100.0, "Loaded").await; + + berd }) .expect("couldn't build Bert model"); @@ -261,7 +274,7 @@ impl AIService { let rt = tokio::runtime::Runtime::new().unwrap(); let llama = rt .block_on(async { - Llama::builder() + let llama = Llama::builder() .with_source(LlamaSource::tiny_llama_1_1b()) .build_with_loading_handler({ let model_id = model_id.clone(); @@ -269,7 +282,11 @@ impl AIService { tokio::spawn(handle_progress(model_id.clone(), progress)); } }) - .await + .await; + + publish_model_status(model_id.clone(), 100.0, "Loaded").await; + + llama }) .expect("couldn't build Llama model"); @@ -396,7 +413,6 @@ impl AIService { let llm_channel = self.llm_channel.lock().await; if let Some(sender) = llm_channel.get("llama") { sender.send(LLMTaskRequest::Prompt(LLMTaskPromptRequest { - model_id: "llama".into(), task_id, prompt, result_sender, @@ -414,7 +430,6 @@ impl AIService { let embedding_channel = self.embedding_channel.lock().await; if let Some(sender) = embedding_channel.get("bert") { sender.send(EmbeddingRequest { - model_id: "bert".into(), prompt: text, result_sender, })?; @@ -433,7 +448,6 @@ impl AIService { let llm_channel = self.llm_channel.lock().await; if let Some(sender) = llm_channel.get(&task.model_id) { sender.send(LLMTaskRequest::Spawn(LLMTaskSpawnRequest { - model_id: task.model_id.clone(), task: task.clone(), result_sender: tx, }))?; From 2e213a7446bbccfea2780d3761c99c26741dc789 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 11:32:15 +0530 Subject: [PATCH 151/183] Refactor database module and add model status tracking --- rust-executor/src/db.rs | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/rust-executor/src/db.rs b/rust-executor/src/db.rs index be2060c21..0ba595cd7 100644 --- a/rust-executor/src/db.rs +++ b/rust-executor/src/db.rs @@ -1,5 +1,6 @@ use crate::graphql::graphql_types::{ - AIModelLoadingStatus, EntanglementProof, LinkStatus, NotificationInput, PerspectiveExpression, PerspectiveHandle, SentMessage + AIModelLoadingStatus, EntanglementProof, LinkStatus, NotificationInput, PerspectiveExpression, + PerspectiveHandle, SentMessage, }; use crate::types::{ AIPromptExamples, AITask, Expression, ExpressionProof, Link, LinkExpression, Notification, @@ -184,7 +185,8 @@ impl Ad4mDb { downloaded BOOLEAN NOT NULL, loaded BOOLEAN NOT NULL )", - [])?; + [], + )?; Ok(Self { conn }) } @@ -211,18 +213,14 @@ impl Ad4mDb { Ok(()) } - pub fn remove_model_status(&self, model: &str) -> Result<(), rusqlite::Error> { + pub fn get_model_status( + &self, + model: &str, + ) -> Result, rusqlite::Error> { let conn = &self.conn; - conn.execute( - "DELETE FROM model_status WHERE model = ?1", - params![model], + let mut stmt = conn.prepare( + "SELECT model, progress, status, downloaded, loaded FROM model_status WHERE model = ?1", )?; - Ok(()) - } - - pub fn get_model_status(&self, model: &str) -> Result, rusqlite::Error> { - let conn = &self.conn; - let mut stmt = conn.prepare("SELECT model, progress, status, downloaded, loaded FROM model_status WHERE model = ?1")?; let mut rows = stmt.query(params![model])?; if let Some(row) = rows.next()? { From b6a0c1df5fe74a03492edecadf715cfb90a47244 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 11:32:32 +0530 Subject: [PATCH 152/183] Refactor AI tests and add model status check --- tests/js/tests/ai.ts | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 3b23bba13..977eef793 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -4,19 +4,27 @@ import { expect } from "chai"; export default function aiTests(testContext: TestContext) { return () => { describe('AI service', () => { + it ('AI model status', async () => { + const ad4mClient = testContext.ad4mClient! + const status = await ad4mClient.ai.modelLoadingStatus("bert"); + console.log("MODEL STATUS:", status); + expect(status).to.have.property('model'); + expect(status).to.have.property('status'); + }) + it('can do Tasks CRUD', async() => { const ad4mClient = testContext.ad4mClient! // Add a task const newTask = await ad4mClient.ai.addTask( "test-name", - "test-model", + "llama", "This is a test system prompt", [{ input: "Test input", output: "Test output" }] ); expect(newTask).to.have.property('taskId'); expect(newTask.name).to.equal('test-name'); - expect(newTask.modelId).to.equal("test-model"); + expect(newTask.modelId).to.equal("llama"); expect(newTask.systemPrompt).to.equal("This is a test system prompt"); expect(newTask.promptExamples).to.deep.equal([{ input: "Test input", output: "Test output" }]); @@ -51,7 +59,7 @@ export default function aiTests(testContext: TestContext) { // Create a new task const newTask = await ad4mClient.ai.addTask( "test-name", - "test-model", + "llama", "You are inside a test. Please ALWAYS respond with 'works', plus something else.", [ { input: "What's the capital of France?", output: "works. Also that is Paris" }, @@ -80,34 +88,36 @@ export default function aiTests(testContext: TestContext) { it('can prompt several task in a row fast', async () => { const ad4mClient = testContext.ad4mClient! + console.log("test 1"); + // Create a new task const newTask = await ad4mClient.ai.addTask( "test-name", - "test-model", + "llama", "You are inside a test. Please respond with a short, unique message each time.", [ - { input: "Test 1", output: "Short response 1" }, - { input: "Test 2", output: "Short response 2" }, - { input: "Test 3", output: "Short response 3" }, { input: "Test long 1", output: "This is a much longer response that includes various details. It talks about the weather being sunny, the importance of staying hydrated, and even mentions a recipe for chocolate chip cookies. The response goes on to discuss the benefits of regular exercise, the plot of a popular novel, and concludes with a fun fact about the migration patterns of monarch butterflies." }, { input: "Test long 2", output: "This is another much longer response that delves into various topics. It begins by discussing the intricate process of photosynthesis in plants, then transitions to the history of ancient civilizations, touching on the rise and fall of the Roman Empire. The response continues with an explanation of quantum mechanics and its implications for our understanding of the universe. It then explores the evolution of human language, the impact of climate change on global ecosystems, and the potential for artificial intelligence to revolutionize healthcare. The response concludes with a brief overview of the cultural significance of tea ceremonies in different parts of the world." }, { input: "Test long 3", output: "This extensive response covers a wide range of subjects, starting with an in-depth analysis of sustainable urban planning and its impact on modern cities. It then shifts to discuss the evolution of musical instruments throughout history, touching on the development of the piano, guitar, and electronic synthesizers. The text continues with an exploration of the human immune system, detailing how it fights off pathogens and the importance of vaccinations. Next, it delves into the world of astronomy, describing the life cycle of stars and the formation of galaxies. The response also includes a section on the history of cryptography, from ancient ciphers to modern encryption algorithms used in digital security. It concludes with a discussion on the philosophy of ethics, examining various moral frameworks and their applications in contemporary society." }, - { input: "Test a", output: "Short response" }, - { input: "Test b", output: "Short response" }, - { input: "Test c", output: "Short response" }, ] ); + console.log("test 2"); + expect(newTask).to.have.property('taskId'); // Create an array of 10 prompts - const prompts = Array.from({ length: 10 }, (_, i) => `This is a much longer test prompt number ${i + 1}. It includes various details to make it more substantial. For instance, it mentions that the sky is blue, grass is green, and water is essential for life. It also touches on the fact that technology is rapidly advancing, climate change is a global concern, and education is crucial for personal growth. Additionally, it notes that music can evoke powerful emotions, reading broadens the mind, and exercise is important for maintaining good health. Lastly, it states that kindness can make a significant difference in someone's day.`); + const prompts = Array.from({ length: 1 }, (_, i) => `This is a much longer test prompt number ${i + 1}. It includes various details to make it more substantial. For instance, it mentions that the sky is blue, grass is green, and water is essential for life. It also touches on the fact that technology is rapidly advancing, climate change is a global concern, and education is crucial for personal growth. Additionally, it notes that music can evoke powerful emotions, reading broadens the mind, and exercise is important for maintaining good health. Lastly, it states that kindness can make a significant difference in someone's day.`); + + console.log("test 3"); // Run 10 prompts simultaneously const promptResults = await Promise.all( prompts.map(prompt => ad4mClient.ai.prompt(newTask.taskId, prompt)) ); + console.log("test 4", promptResults); + // Check results promptResults.forEach((result, index) => { expect(result).to.be.a('string'); @@ -115,8 +125,12 @@ export default function aiTests(testContext: TestContext) { console.log(`Prompt ${index + 1} result:`, result); }); + console.log("test 5"); + // Clean up: remove the task await ad4mClient.ai.removeTask(newTask.taskId); + + console.log("test 6"); }) it('can embed text to vectors', async () => { @@ -177,7 +191,7 @@ export default function aiTests(testContext: TestContext) { const chunk = audioData.slice(i, i + chunkSize); //@ts-ignore await ad4mClient.ai.feedTranscriptionStream(streamId, Array.from(chunk)); - + // Simulate real-time processing by adding a small delay await new Promise(resolve => setTimeout(resolve, 500)); } From 15fd76a691df092dc5cb194199cd5bc0fc9c76cb Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 12:27:33 +0530 Subject: [PATCH 153/183] Refactor AI service to include model status in publish_model_status function --- rust-executor/src/ai_service/mod.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 9786e47b4..870e4d7a3 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -74,13 +74,13 @@ enum LLMTaskRequest { Remove(LLMTaskRemoveRequest), } -async fn publish_model_status(model_name: String, progress: f32, status: &str) { +async fn publish_model_status(model_name: String, progress: f32, status: &str, downloaded: bool) { let model = AIModelLoadingStatus { model: model_name.clone(), progress: progress as f64, status: status.to_string(), - downloaded: progress == 100.0, - loaded: false, + downloaded: if downlaoded { progress == 100.0 } else { true }, + loaded: if !downloaded { progress == 100.0 } else { true }, }; let _ = Ad4mDb::with_global_instance(|db| { @@ -119,7 +119,7 @@ async fn handle_progress(model_name: String, progress: ModelLoadingProgress) { "Downloaded".to_string() }; - publish_model_status(model_name.clone(), progress, &status).await; + publish_model_status(model_name.clone(), progress, &status, true).await; } ModelLoadingProgress::Loading { progress } => { let progress = progress * 100.0; @@ -130,7 +130,7 @@ async fn handle_progress(model_name: String, progress: ModelLoadingProgress) { "Loaded".to_string() }; - publish_model_status(model_name.clone(), progress, &status).await; + publish_model_status(model_name.clone(), progress, &status, false).await; } } } @@ -235,6 +235,8 @@ impl AIService { let model = rt .block_on(async { + publish_model_status(model_id.clone(), 0.0, "Loading", false).await; + let berd = Bert::builder() .build_with_loading_handler({ let model_id = model_id.clone(); @@ -244,7 +246,7 @@ impl AIService { }) .await; - publish_model_status(model_id.clone(), 100.0, "Loaded").await; + publish_model_status(model_id.clone(), 100.0, "Loaded", false).await; berd }) @@ -274,6 +276,8 @@ impl AIService { let rt = tokio::runtime::Runtime::new().unwrap(); let llama = rt .block_on(async { + publish_model_status(model_id.clone(), 0.0, "Loading", false).await; + let llama = Llama::builder() .with_source(LlamaSource::tiny_llama_1_1b()) .build_with_loading_handler({ @@ -284,7 +288,7 @@ impl AIService { }) .await; - publish_model_status(model_id.clone(), 100.0, "Loaded").await; + publish_model_status(model_id.clone(), 100.0, "Loaded", false).await; llama }) From 725aa5026a12256b592984e80d910ce41f63c315 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 12:28:03 +0530 Subject: [PATCH 154/183] Refactor AI service to fix typo in downloaded variable name --- rust-executor/src/ai_service/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 870e4d7a3..7da87f6c4 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -79,7 +79,7 @@ async fn publish_model_status(model_name: String, progress: f32, status: &str, d model: model_name.clone(), progress: progress as f64, status: status.to_string(), - downloaded: if downlaoded { progress == 100.0 } else { true }, + downloaded: if downloaded { progress == 100.0 } else { true }, loaded: if !downloaded { progress == 100.0 } else { true }, }; From ca242dc158e64bffd8d1052459f23b49a3be2358 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 18:22:56 +0530 Subject: [PATCH 155/183] feat: Add Tasks component for managing AI tasks and models --- ui/src/App.tsx | 4 + ui/src/components/Navigation.tsx | 1 + ui/src/components/Tasks.tsx | 145 +++++++++++++++++++++++++++++++ 3 files changed, 150 insertions(+) create mode 100644 ui/src/components/Tasks.tsx diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 2f5d94c39..2a5af6518 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -16,6 +16,7 @@ import { appWindow } from "@tauri-apps/api/window"; import { Connect } from "./components/Connect"; import Apps from "./components/Apps"; import TrayMessage from "./components/TrayMessage"; +import Tasks from "./components/Tasks"; const App = () => { const [opened, setOpened] = useState(false); @@ -71,6 +72,9 @@ const App = () => { path="perspective" element={} /> + + } /> { {expertMode && ( Perspectives )} + Tasks Settings diff --git a/ui/src/components/Tasks.tsx b/ui/src/components/Tasks.tsx new file mode 100644 index 000000000..57e9836f5 --- /dev/null +++ b/ui/src/components/Tasks.tsx @@ -0,0 +1,145 @@ +import { + AITask, +} from "@coasys/ad4m"; +import { useCallback, useContext, useEffect, useMemo, useState } from "react"; +import { Ad4minContext } from "../context/Ad4minContext"; +import { cardStyle, listStyle } from "./styles"; +import ActionButton from "./ActionButton"; + +const tempModels = { + "bert": { + "name": "BERT TINY", + "status": "", + "progress": 0, + "downloaded": false, + "loaded": false, + }, + "llama": { + "name": "LLAMA", + "status": "", + "progress": 0, + "downloaded": false, + "loaded": false, + }, +} + +const Tasks = (props: {}) => { + const { + state: { client }, + } = useContext(Ad4minContext); + + const [tasks, setTasks] = useState([]); + const [showModels, setShowModels] = useState(false); + const [models, setModels] = useState(tempModels); + + const fetchTasks = useCallback(async () => { + const tasks = await client!.ai.tasks(); + + console.log(tasks); + + setTasks(tasks); + }, [client]); + + + useEffect(() => { + fetchTasks(); + + let interval = setInterval(async () => { + console.log("fetching model status"); + const bert = await client!.ai.modelLoadingStatus("bert"); + const llama = await client!.ai.modelLoadingStatus("llama"); + console.log(bert, llama, (bert.loaded && llama.loaded)); + + if (bert.loaded && llama.loaded) { + clearInterval(interval); + } + + setModels({ + "bert": { + name: "BERT TINY", + status: bert.status, + progress: bert.progress, + downloaded: bert.downloaded, + loaded: bert.loaded, + }, + "llama": { + name: "LLAMA", + status: llama.status, + progress: llama.progress, + downloaded: llama.downloaded, + loaded: llama.loaded, + }, + }); + }, 1000); + + return () => { + clearInterval(interval); + } + }, [fetchTasks, client]); + + + return ( +
+ + + setShowModels(true)} + icon="database" + /> + + +
+ {tasks.map((task) => ( +
+ + {task?.name} + + + {task?.modelId} + {task?.taskId} + {task?.systemPrompt} + +
+ ))} +
+ {showModels && ( + setShowModels(e.target.open)} + > + + + + Models + + +
+ {Object.values(models).map((model) => ( +
+ + {model?.name} + + + {!model?.downloaded ? Downloading: {model?.progress} : null} + {(model?.downloaded && !model?.loaded) ? Loading: {model?.progress} : null} + Model {model.status} + +
+ ))} +
+
+
+ )} +
+ ) +} + +export default Tasks; \ No newline at end of file From 6bb5986d07e55c08e0c39bad0dfe0959dace8965 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 18:32:23 +0530 Subject: [PATCH 156/183] chore: Fix typo in AI service downloaded variable name and update model loading status display in Tasks component --- rust-executor/src/ai_service/mod.rs | 5 +++-- ui/src/components/Tasks.tsx | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 7da87f6c4..cbee82667 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -80,7 +80,7 @@ async fn publish_model_status(model_name: String, progress: f32, status: &str, d progress: progress as f64, status: status.to_string(), downloaded: if downloaded { progress == 100.0 } else { true }, - loaded: if !downloaded { progress == 100.0 } else { true }, + loaded: if !downloaded { progress == 100.0 } else { false }, }; let _ = Ad4mDb::with_global_instance(|db| { @@ -279,10 +279,11 @@ impl AIService { publish_model_status(model_id.clone(), 0.0, "Loading", false).await; let llama = Llama::builder() - .with_source(LlamaSource::tiny_llama_1_1b()) + .with_source(LlamaSource::llama_13b()) .build_with_loading_handler({ let model_id = model_id.clone(); move |progress| { + println!("downloading llma model"); tokio::spawn(handle_progress(model_id.clone(), progress)); } }) diff --git a/ui/src/components/Tasks.tsx b/ui/src/components/Tasks.tsx index 57e9836f5..e0acaa2a6 100644 --- a/ui/src/components/Tasks.tsx +++ b/ui/src/components/Tasks.tsx @@ -128,7 +128,7 @@ const Tasks = (props: {}) => { {model?.name} - {!model?.downloaded ? Downloading: {model?.progress} : null} + {!model?.downloaded ? Downloading: {model?.progress.toFixed(2)}% : null} {(model?.downloaded && !model?.loaded) ? Loading: {model?.progress} : null} Model {model.status} From a8599c345705f3098ae14d61aeee9b4543831097 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 20 Sep 2024 18:32:49 +0530 Subject: [PATCH 157/183] Refactor AI service to fix typo in downloaded variable name and improve model loading status display --- rust-executor/src/ai_service/mod.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index cbee82667..5ba0156e4 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -80,7 +80,11 @@ async fn publish_model_status(model_name: String, progress: f32, status: &str, d progress: progress as f64, status: status.to_string(), downloaded: if downloaded { progress == 100.0 } else { true }, - loaded: if !downloaded { progress == 100.0 } else { false }, + loaded: if !downloaded { + progress == 100.0 + } else { + false + }, }; let _ = Ad4mDb::with_global_instance(|db| { From caa6830770b58789e6114bb643ec2d7e8ed4daa3 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 23 Sep 2024 16:28:07 +0200 Subject: [PATCH 158/183] Use v8-dylib branches on our deno_forks --- Cargo.lock | 69 ++++++++++++++++++++-------------------- rust-executor/Cargo.toml | 4 +-- 2 files changed, 36 insertions(+), 37 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 5afe23b55..d7e1485ba 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3484,7 +3484,7 @@ dependencies = [ [[package]] name = "deno_broadcast_channel" version = "0.148.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "async-trait", "deno_core", @@ -3495,7 +3495,7 @@ dependencies = [ [[package]] name = "deno_cache" version = "0.86.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "async-trait", "deno_core", @@ -3508,7 +3508,7 @@ dependencies = [ [[package]] name = "deno_canvas" version = "0.23.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "deno_webgpu", @@ -3519,7 +3519,7 @@ dependencies = [ [[package]] name = "deno_console" version = "0.154.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", ] @@ -3527,7 +3527,7 @@ dependencies = [ [[package]] name = "deno_core" version = "0.283.0" -source = "git+https://github.com/coasys/deno_core.git?rev=b2bb94e32c2e94b18279cd1b36e4c198b183c826#b2bb94e32c2e94b18279cd1b36e4c198b183c826" +source = "git+https://github.com/coasys/deno_core.git?branch=v8-dylib#4c825881bcb08bcecfd3a890c764257b8d7b33ff" dependencies = [ "anyhow", "bincode", @@ -3563,7 +3563,7 @@ checksum = "a13951ea98c0a4c372f162d669193b4c9d991512de9f2381dd161027f34b26b1" [[package]] name = "deno_cron" version = "0.34.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "anyhow", "async-trait", @@ -3576,7 +3576,7 @@ dependencies = [ [[package]] name = "deno_crypto" version = "0.168.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "aes", "aes-gcm", @@ -3610,7 +3610,7 @@ dependencies = [ [[package]] name = "deno_fetch" version = "0.178.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "bytes", "data-url", @@ -3628,7 +3628,7 @@ dependencies = [ [[package]] name = "deno_ffi" version = "0.141.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "dlopen2", @@ -3645,7 +3645,7 @@ dependencies = [ [[package]] name = "deno_fs" version = "0.64.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "async-trait", "base32", @@ -3664,7 +3664,7 @@ dependencies = [ [[package]] name = "deno_http" version = "0.152.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "async-compression", "async-trait", @@ -3701,7 +3701,7 @@ dependencies = [ [[package]] name = "deno_io" version = "0.64.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "async-trait", "deno_core", @@ -3719,7 +3719,7 @@ dependencies = [ [[package]] name = "deno_kv" version = "0.62.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "anyhow", "async-trait", @@ -3757,7 +3757,7 @@ dependencies = [ [[package]] name = "deno_napi" version = "0.84.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "libloading 0.7.4", @@ -3779,7 +3779,7 @@ dependencies = [ [[package]] name = "deno_net" version = "0.146.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "deno_tls", @@ -3795,7 +3795,7 @@ dependencies = [ [[package]] name = "deno_node" version = "0.91.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "aead-gcm-stream", "aes", @@ -3866,7 +3866,7 @@ dependencies = [ [[package]] name = "deno_ops" version = "0.159.0" -source = "git+https://github.com/coasys/deno_core.git?rev=b2bb94e32c2e94b18279cd1b36e4c198b183c826#b2bb94e32c2e94b18279cd1b36e4c198b183c826" +source = "git+https://github.com/coasys/deno_core.git?branch=v8-dylib#4c825881bcb08bcecfd3a890c764257b8d7b33ff" dependencies = [ "proc-macro-rules", "proc-macro2", @@ -3880,7 +3880,7 @@ dependencies = [ [[package]] name = "deno_permissions" version = "0.14.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "deno_terminal", @@ -3896,7 +3896,7 @@ dependencies = [ [[package]] name = "deno_runtime" version = "0.162.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_ast", "deno_broadcast_channel", @@ -3968,7 +3968,7 @@ dependencies = [ [[package]] name = "deno_tls" version = "0.141.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "deno_native_certs", @@ -3994,7 +3994,7 @@ dependencies = [ [[package]] name = "deno_url" version = "0.154.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "urlpattern", @@ -4003,7 +4003,7 @@ dependencies = [ [[package]] name = "deno_web" version = "0.185.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "async-trait", "base64-simd 0.8.0", @@ -4020,7 +4020,7 @@ dependencies = [ [[package]] name = "deno_webgpu" version = "0.121.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "raw-window-handle 0.6.2", @@ -4033,7 +4033,7 @@ dependencies = [ [[package]] name = "deno_webidl" version = "0.154.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", ] @@ -4041,7 +4041,7 @@ dependencies = [ [[package]] name = "deno_websocket" version = "0.159.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "bytes", "deno_core", @@ -4062,7 +4062,7 @@ dependencies = [ [[package]] name = "deno_webstorage" version = "0.149.0" -source = "git+https://github.com/coasys/deno.git?rev=a90714755623672432d80f3733ec4d8df64a4b64#a90714755623672432d80f3733ec4d8df64a4b64" +source = "git+https://github.com/coasys/deno.git?branch=v8-dylib#f0d0f1276d94d8935bb35e5e2bdd4f6afa496128" dependencies = [ "deno_core", "deno_web", @@ -7839,7 +7839,7 @@ dependencies = [ "httpdate", "itoa 1.0.11", "pin-project-lite", - "socket2 0.5.7", + "socket2 0.4.10", "tokio", "tower-service", "tracing", @@ -14876,7 +14876,7 @@ dependencies = [ [[package]] name = "serde_v8" version = "0.192.0" -source = "git+https://github.com/coasys/deno_core.git?rev=b2bb94e32c2e94b18279cd1b36e4c198b183c826#b2bb94e32c2e94b18279cd1b36e4c198b183c826" +source = "git+https://github.com/coasys/deno_core.git?branch=v8-dylib#4c825881bcb08bcecfd3a890c764257b8d7b33ff" dependencies = [ "num-bigint", "serde", @@ -15271,7 +15271,7 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d1e02fca405f6280643174a50c942219f0bbf4dbf7d480f1dd864d6f211ae5" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.77", @@ -17529,8 +17529,8 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", - "rand 0.8.5", + "cfg-if 0.1.10", + "rand 0.6.5", "static_assertions", ] @@ -18038,8 +18038,7 @@ dependencies = [ [[package]] name = "v8" version = "0.92.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234589219e37a7496cbce73d971586db8369871be2420372c45a579b6a919b15" +source = "git+https://github.com/coasys/rusty_v8.git?branch=v0.92-dll#10f02b6828ae5098a4a53b9ca1fc5ba151d09b95" dependencies = [ "bitflags 2.6.0", "fslock", @@ -18826,7 +18825,7 @@ dependencies = [ "log", "naga", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.11.2", "profiling", "raw-window-handle 0.6.2", "ron", @@ -18868,7 +18867,7 @@ dependencies = [ "ndk-sys 0.5.0+25.2.9519653", "objc", "once_cell", - "parking_lot 0.12.3", + "parking_lot 0.11.2", "profiling", "range-alloc", "raw-window-handle 0.6.2", diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index 8d42b4224..a00fa7f32 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -33,8 +33,8 @@ cuda = ["kalosm/cuda"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -deno_core = {version = "0.283.0", git = "https://github.com/coasys/deno_core.git", rev = "b2bb94e32c2e94b18279cd1b36e4c198b183c826" } -deno_runtime = {version = "0.162.0", git = "https://github.com/coasys/deno.git", rev = "a90714755623672432d80f3733ec4d8df64a4b64"} +deno_core = {version = "0.283.0", git = "https://github.com/coasys/deno_core.git", branch = "v8-dylib" } +deno_runtime = {version = "0.162.0", git = "https://github.com/coasys/deno.git", branch = "v8-dylib" } # deno_runtime = {version = "0.162.0", path = "../../deno/runtime"} tokio = { version = "1.25.0", features = ["full"] } url = "2.3.1" From 891d9ec88f32735035e89170ff75295e8cb2deb7 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Mon, 23 Sep 2024 16:28:45 +0200 Subject: [PATCH 159/183] Revert "Deactivate "sound" feature on kalsom and comment out Whisper code" This reverts commit 2c3426d4f1cf7f45b26e8551940a37c72a031d57. --- rust-executor/Cargo.toml | 2 +- rust-executor/src/ai_service/audio_stream.rs | 18 +++++++++--------- rust-executor/src/ai_service/mod.rs | 16 ++++------------ 3 files changed, 14 insertions(+), 22 deletions(-) diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index a00fa7f32..08cab3343 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -106,7 +106,7 @@ rustls = "0.23" tokio-rustls = "0.26" rustls-pemfile = "2" -kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language"] } +kalosm = { version = "0.3.2", git = "https://github.com/coasys/floneum.git", rev = "44e05c5fe6fc72eaeaf6ccefbf8269cda54aca75", features = ["language", "sound"] } deflate = "1.0.0" futures-core = "0.3.30" futures-util = "0.3.30" diff --git a/rust-executor/src/ai_service/audio_stream.rs b/rust-executor/src/ai_service/audio_stream.rs index 57585fe67..85e89b1e6 100644 --- a/rust-executor/src/ai_service/audio_stream.rs +++ b/rust-executor/src/ai_service/audio_stream.rs @@ -1,7 +1,7 @@ use std::pin::Pin; use futures::StreamExt; -//use kalosm::sound::AsyncSource; +use kalosm::sound::AsyncSource; use tokio_stream::Stream; pub struct AudioStream { @@ -57,12 +57,12 @@ impl Stream for AudioStream { // } // } -// impl AsyncSource for AudioStream { -// fn as_stream(&mut self) -> impl Stream + '_ { -// self -// } +impl AsyncSource for AudioStream { + fn as_stream(&mut self) -> impl Stream + '_ { + self + } -// fn sample_rate(&self) -> u32 { -// 160000 -// } -// } + fn sample_rate(&self) -> u32 { + 160000 + } +} diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 801ee75fb..8324832f9 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -1,19 +1,14 @@ -#[allow(unused_imports)] use self::{audio_stream::AudioStream, error::AIServiceError}; -#[allow(unused_imports)] use crate::graphql::graphql_types::{AITaskInput, TranscriptionTextFilter}; -#[allow(unused_imports)] use crate::pubsub::AI_TRANSCRIPTION_TEXT_TOPIC; -#[allow(unused_imports)] use crate::types::AITask; -#[allow(unused_imports)] use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use anyhow::anyhow; use deno_core::error::AnyError; use futures::SinkExt; use kalosm::{ language::*, - //sound::{AsyncSourceTranscribeExt, Whisper}, + sound::{AsyncSourceTranscribeExt, Whisper}, }; use std::collections::HashMap; use std::panic::catch_unwind; @@ -324,16 +319,14 @@ impl AIService { pub async fn open_transcription_stream(&self, _model_id: String) -> Result { let stream_id = uuid::Uuid::new_v4().to_string(); - let _stream_id_clone = stream_id.clone(); - let (samples_tx, _sampels_rx) = futures_channel::mpsc::unbounded::>(); + let stream_id_clone = stream_id.clone(); + let (samples_tx, sampels_rx) = futures_channel::mpsc::unbounded::>(); //TODO: use drop_rx to exit thread let (drop_tx, _drop_rx) = oneshot::channel(); let (done_tx, done_rx) = oneshot::channel(); thread::spawn(move || { - let _rt = tokio::runtime::Runtime::new().unwrap(); - let _ = done_tx.send(Err(anyhow!("not implemented"))); - /* + let rt = tokio::runtime::Runtime::new().unwrap(); let maybe_model = rt.block_on(Whisper::new()); if let Ok(whisper) = maybe_model { let audio_stream = AudioStream { @@ -364,7 +357,6 @@ impl AIService { } else { let _ = done_tx.send(Err(maybe_model.err().unwrap())); } - */ }); done_rx.await??; From c9e93f7822c6fd7a96fbc52eddba902d6f8f23db Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 25 Sep 2024 15:42:48 +0530 Subject: [PATCH 160/183] chore: Update .circleci/config.yml to include ffmpeg package installation --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d52f125ec..900558d3b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config + command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config ffmpeg - run: name: Install dependencies command: pnpm install --no-frozen-lockfile From de0d87c949d4be2315c5821237d88054cb726064 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 25 Sep 2024 15:43:42 +0530 Subject: [PATCH 161/183] feat: Update fluent-ffmpeg to version 2.1.3 in pnpm-lock.yaml and tests/js/package.json --- pnpm-lock.yaml | 23 ++++++++++++++++++++--- tests/js/package.json | 1 + 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c406ce4ce..d256adb3a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1032,6 +1032,9 @@ importers: tests/js: dependencies: + fluent-ffmpeg: + specifier: ^2.1.3 + version: 2.1.3 uuid: specifier: '*' version: 9.0.1 @@ -5002,6 +5005,9 @@ packages: async-retry@1.3.3: resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + async@0.2.10: + resolution: {integrity: sha512-eAkdoKxU6/LkKDBzLpT+t6Ff5EtfSF4wx1WfJiPEEV7WNLnDaRXk0oVysiEPm262roaachGexwUv94WhSgN5TQ==} + async@3.2.5: resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} @@ -7501,6 +7507,10 @@ packages: flexsearch@0.7.43: resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} + fluent-ffmpeg@2.1.3: + resolution: {integrity: sha512-Be3narBNt2s6bsaqP6Jzq91heDgOEaDCJAXcE3qcma/EJBSy5FB4cvO31XBInuAuKBx8Kptf8dkhjK0IOru39Q==} + engines: {node: '>=18'} + focus-visible@5.2.0: resolution: {integrity: sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==} @@ -14315,7 +14325,7 @@ snapshots: react: 17.0.2 react-dom: 18.2.0(react@17.0.2) - '@apollo/client@3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@apollo/client@3.7.10(graphql-ws@5.14.3)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)) '@wry/context': 0.7.4 @@ -15637,7 +15647,7 @@ snapshots: '@coasys/ad4m@0.8.1(bufferutil@4.0.8)(graphql-ws@5.14.3)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(utf-8-validate@5.0.10)': dependencies: - '@apollo/client': 3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@apollo/client': 3.7.10(graphql-ws@5.14.3)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@holochain/client': 0.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/jest': 26.0.24 class-validator: 0.13.2 @@ -15675,7 +15685,7 @@ snapshots: '@coasys/ad4m@0.8.1(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: - '@apollo/client': 3.7.10(graphql-ws@5.14.3(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q)))(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@apollo/client': 3.7.10(graphql-ws@5.14.3)(graphql@15.7.2(patch_hash=nr4gprddtjag7fz5nm4wirqs4q))(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@holochain/client': 0.16.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@types/jest': 26.0.24 class-validator: 0.13.2 @@ -19234,6 +19244,8 @@ snapshots: dependencies: retry: 0.13.1 + async@0.2.10: {} + async@3.2.5: {} asynciterator.prototype@1.0.0: @@ -22397,6 +22409,11 @@ snapshots: flexsearch@0.7.43: {} + fluent-ffmpeg@2.1.3: + dependencies: + async: 0.2.10 + which: 1.3.1 + focus-visible@5.2.0: {} follow-redirects@1.15.5: {} diff --git a/tests/js/package.json b/tests/js/package.json index 6d9c5abf0..1cb0e9a80 100644 --- a/tests/js/package.json +++ b/tests/js/package.json @@ -62,6 +62,7 @@ "ws": "8.13.0" }, "dependencies": { + "fluent-ffmpeg": "^2.1.3", "uuid": "*" }, "version": "0.10.0-rc7" From 39487c7679d7f781204d97dd8163d3d11e1f2b1a Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Wed, 25 Sep 2024 15:44:21 +0530 Subject: [PATCH 162/183] Refactor AI service to fix typo in downloaded variable name and improve model loading status display --- tests/js/tests/ai.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 977eef793..79de6825c 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -1,5 +1,9 @@ import { TestContext } from './integration.test' import { expect } from "chai"; +import fs from 'fs'; +//@ts-ignore +import ffmpeg from 'fluent-ffmpeg'; +import { Readable } from 'stream'; export default function aiTests(testContext: TestContext) { return () => { @@ -144,15 +148,14 @@ export default function aiTests(testContext: TestContext) { it('can do audio to text transcription', async() => { const ad4mClient = testContext.ad4mClient!; - const fs = require('fs'); - const ffmpeg = require('fluent-ffmpeg'); - const { Readable } = require('stream'); // Load the m4a file const audioBuffer = fs.readFileSync('../transcription_test.m4a'); + console.log("AUDIO BUFFER:", audioBuffer); + // Convert m4a to raw PCM data - const pcmData = await new Promise((resolve, reject) => { + const pcmData: Buffer = await new Promise((resolve, reject) => { const command = ffmpeg() .input(Readable.from(audioBuffer)) .inputFormat('m4a') @@ -170,11 +173,15 @@ export default function aiTests(testContext: TestContext) { command.on('end', () => resolve(Buffer.concat(chunks))); }); + console.log("PCM DATA:", pcmData); + // Convert PCM buffer to Float32Array - //@ts-ignore const result = new Float32Array(pcmData.buffer, pcmData.byteOffset, pcmData.length / 4); + + console.log("RESULT:", result); + //@ts-ignore - const audioData = result.channelData[0]; // Assuming mono audio + const audioData = result// result.channelData[0]; // Assuming mono audio // Open the transcription stream let transcribedText = ''; From bdccbecbc3dad6944689c86b98787c1e2528a844 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 26 Sep 2024 13:11:55 +0530 Subject: [PATCH 163/183] Refactor AI service to fix typo in downloaded variable name and improve model loading status display --- tests/js/tests/ai.ts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/tests/js/tests/ai.ts b/tests/js/tests/ai.ts index 79de6825c..6b30f2c42 100644 --- a/tests/js/tests/ai.ts +++ b/tests/js/tests/ai.ts @@ -163,26 +163,29 @@ export default function aiTests(testContext: TestContext) { .audioFrequency(16000) .audioChannels(1) .on('error', reject) - .pipe(); - - //@ts-ignore - const chunks = []; - //@ts-ignore - command.on('data', chunk => chunks.push(chunk)); - //@ts-ignore - command.on('end', () => resolve(Buffer.concat(chunks))); + .on('end', () => { + resolve(Buffer.concat(chunks)); + }); + + const chunks: Buffer[] = []; + command.pipe() + .on('data', (chunk: any) => chunks.push(chunk)) + .on('end', () => resolve(Buffer.concat(chunks))) + .on('error', reject); }); - console.log("PCM DATA:", pcmData); + console.log("PCM DATA:", pcmData.buffer, pcmData.byteOffset, pcmData.length, pcmData.length / 4); // Convert PCM buffer to Float32Array - const result = new Float32Array(pcmData.buffer, pcmData.byteOffset, pcmData.length / 4); + const result = new Float32Array(audioBuffer.buffer, audioBuffer.byteOffset, audioBuffer.byteLength / Float32Array.BYTES_PER_ELEMENT); console.log("RESULT:", result); //@ts-ignore const audioData = result// result.channelData[0]; // Assuming mono audio + console.log("AUDIO DATA:", audioData.length); + // Open the transcription stream let transcribedText = ''; const streamId = await ad4mClient.ai.openTranscriptionStream("Whisper", (text) => { From 9414dc1afd6aebfce2d1f1c313d692a711120583 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 1 Oct 2024 13:57:42 +0530 Subject: [PATCH 164/183] Refactor AI service to add rodio dependency and enable audio streaming for transcription --- Cargo.lock | 1 + rust-executor/Cargo.toml | 1 + rust-executor/src/ai_service/mod.rs | 134 ++++++++++++++++++++++++---- 3 files changed, 117 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d7e1485ba..7b67145a5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -117,6 +117,7 @@ dependencies = [ "regex", "reqwest", "rocket", + "rodio", "rusqlite", "rust-embed", "rustls 0.23.12", diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index 08cab3343..85b093511 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -111,6 +111,7 @@ deflate = "1.0.0" futures-core = "0.3.30" futures-util = "0.3.30" futures-channel = "0.3.30" +rodio = "*" [dev-dependencies] maplit = "1.0.2" diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 9340e124a..e9cad8e3e 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -8,7 +8,12 @@ use crate::types::AITask; use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use anyhow::anyhow; use deno_core::error::AnyError; +use std::io::Cursor; +use std::time::Duration; use futures::SinkExt; +use rodio::{Decoder, OutputStream, source::Source}; +use std::path::PathBuf; +use kalosm::sound::{DenoisedExt, VoiceActivityDetectorExt, VoiceActivityStreamExt, TranscribeChunkedAudioStreamExt}; use kalosm::{ language::*, sound::{AsyncSourceTranscribeExt, Whisper}, @@ -280,7 +285,7 @@ impl AIService { publish_model_status(model_id.clone(), 0.0, "Loading", false).await; let llama = Llama::builder() - .with_source(LlamaSource::llama_13b()) + .with_source(LlamaSource::llama_8b()) .build_with_loading_handler({ let model_id = model_id.clone(); move |progress| { @@ -495,23 +500,31 @@ impl AIService { thread::spawn(move || { let rt = tokio::runtime::Runtime::new().unwrap(); - let maybe_model = rt.block_on(Whisper::new()); - if let Ok(whisper) = maybe_model { - let audio_stream = AudioStream { - //drop_tx, - read_data: Vec::new(), - receiver: Box::pin(sampels_rx.map(futures_util::stream::iter).flatten()), - }; - let mut word_stream = audio_stream.transcribe(whisper).words(); + rt.block_on(async { + let maybe_model = Whisper::builder().with_source( + kalosm::sound::WhisperSource::BaseEn + ).build().await; + println!("Whisper thread started"); - let pubsub = rt.block_on(get_global_pubsub()); + if let Ok(whisper) = maybe_model { + println!("Whisper model loaded"); - let _ = done_tx.send(Ok(())); + let audio_stream = AudioStream { + read_data: Vec::new(), + receiver: Box::pin(sampels_rx.map(futures_util::stream::iter).flatten()), + }; - while let Some(word) = rt.block_on(word_stream.next()) { - println!("{}", word); - rt.block_on( + println!("Starting transcription"); + let mut word_stream = audio_stream.transcribe(whisper).words(); + println!("Transcription started"); + + let pubsub = get_global_pubsub().await; + + let _ = done_tx.send(Ok(())); + + while let Some(word) = word_stream.next().await { + println!("meow: {}", word); pubsub.publish( &AI_TRANSCRIPTION_TEXT_TOPIC, &serde_json::to_string(&TranscriptionTextFilter { @@ -519,12 +532,14 @@ impl AIService { text: word, }) .expect("TranscriptionTextFilter must be serializable"), - ), - ); + ).await; + } + + println!("Exited the loop"); + } else { + let _ = done_tx.send(Err(maybe_model.err().unwrap())); } - } else { - let _ = done_tx.send(Err(maybe_model.err().unwrap())); - } + }); }); done_rx.await??; @@ -548,13 +563,42 @@ impl AIService { let mut map_lock = self.transcription_streams.lock().await; let maybe_stream = map_lock.get_mut(stream_id); if let Some(stream) = maybe_stream { + println!("Feeding stream"); stream.samples_tx.send(audio_samples).await?; + println!("Feeding stream done"); + + // let (_stream, stream_handle) = OutputStream::try_default().unwrap(); + // let source = Float32Source::new(audio_samples, 16000, 1); + // stream_handle.play_raw(source.convert_samples()); + // std::thread::sleep(std::time::Duration::from_secs(1)); Ok(()) } else { Err(AIServiceError::StreamNotFound.into()) } } + pub async fn mic(&self) { + let mic_input = kalosm::sound::MicInput::default(); + let stream = mic_input.stream().unwrap(); + + println!("Stream created"); + + let vad = stream.voice_activity_stream().rechunk_voice_activity(); + + println!("VAD created"); + + let mut text_stream = vad.transcribe(Whisper::builder().with_source( + kalosm::sound::WhisperSource::BaseEn + ).build().await.unwrap()); + + println!("Text stream created"); + + text_stream.to_std_out().await.unwrap(); + + println!("Text stream printed"); + + } + pub async fn close_transcription_stream(&self, stream_id: &String) -> Result<()> { let mut map_lock = self.transcription_streams.lock().await; @@ -571,6 +615,58 @@ impl AIService { } } +struct Float32Source { + samples: Vec, + sample_rate: u32, + channels: u16, + current_sample: usize, +} + +impl Float32Source { + fn new(samples: Vec, sample_rate: u32, channels: u16) -> Self { + Self { + samples, + sample_rate, + channels, + current_sample: 0, + } + } +} + +impl Iterator for Float32Source { + type Item = f32; + + fn next(&mut self) -> Option { + if self.current_sample < self.samples.len() { + let sample = self.samples[self.current_sample]; + self.current_sample += 1; + Some(sample) + } else { + None + } + } +} + +impl Source for Float32Source { + fn current_frame_len(&self) -> Option { + Some(self.samples.len() - self.current_sample) + } + + fn channels(&self) -> u16 { + self.channels + } + + fn sample_rate(&self) -> u32 { + self.sample_rate + } + + fn total_duration(&self) -> Option { + Some(Duration::from_secs_f32( + self.samples.len() as f32 / self.sample_rate as f32 / self.channels as f32, + )) + } +} + #[cfg(test)] mod tests { use crate::graphql::graphql_types::AIPromptExamplesInput; From ad8e1952d4241ead58117aa30f85149c5893333d Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 1 Oct 2024 13:58:21 +0530 Subject: [PATCH 165/183] Refactor AI service to enable audio streaming for transcription --- rust-executor/src/ai_service/mod.rs | 59 ++++++++++------------------- 1 file changed, 21 insertions(+), 38 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index e9cad8e3e..7c48f95b9 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -8,20 +8,22 @@ use crate::types::AITask; use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use anyhow::anyhow; use deno_core::error::AnyError; -use std::io::Cursor; -use std::time::Duration; use futures::SinkExt; -use rodio::{Decoder, OutputStream, source::Source}; -use std::path::PathBuf; -use kalosm::sound::{DenoisedExt, VoiceActivityDetectorExt, VoiceActivityStreamExt, TranscribeChunkedAudioStreamExt}; +use kalosm::sound::{ + DenoisedExt, TranscribeChunkedAudioStreamExt, VoiceActivityDetectorExt, VoiceActivityStreamExt, +}; use kalosm::{ language::*, sound::{AsyncSourceTranscribeExt, Whisper}, }; +use rodio::{source::Source, Decoder, OutputStream}; use std::collections::HashMap; +use std::io::Cursor; use std::panic::catch_unwind; +use std::path::PathBuf; use std::sync::Arc; use std::thread; +use std::time::Duration; use tokio::sync::{mpsc, oneshot, Mutex}; mod audio_stream; @@ -502,9 +504,10 @@ impl AIService { let rt = tokio::runtime::Runtime::new().unwrap(); rt.block_on(async { - let maybe_model = Whisper::builder().with_source( - kalosm::sound::WhisperSource::BaseEn - ).build().await; + let maybe_model = Whisper::builder() + .with_source(kalosm::sound::WhisperSource::BaseEn) + .build() + .await; println!("Whisper thread started"); if let Ok(whisper) = maybe_model { @@ -525,14 +528,16 @@ impl AIService { while let Some(word) = word_stream.next().await { println!("meow: {}", word); - pubsub.publish( - &AI_TRANSCRIPTION_TEXT_TOPIC, - &serde_json::to_string(&TranscriptionTextFilter { - stream_id: stream_id_clone.clone(), - text: word, - }) - .expect("TranscriptionTextFilter must be serializable"), - ).await; + pubsub + .publish( + &AI_TRANSCRIPTION_TEXT_TOPIC, + &serde_json::to_string(&TranscriptionTextFilter { + stream_id: stream_id_clone.clone(), + text: word, + }) + .expect("TranscriptionTextFilter must be serializable"), + ) + .await; } println!("Exited the loop"); @@ -577,28 +582,6 @@ impl AIService { } } - pub async fn mic(&self) { - let mic_input = kalosm::sound::MicInput::default(); - let stream = mic_input.stream().unwrap(); - - println!("Stream created"); - - let vad = stream.voice_activity_stream().rechunk_voice_activity(); - - println!("VAD created"); - - let mut text_stream = vad.transcribe(Whisper::builder().with_source( - kalosm::sound::WhisperSource::BaseEn - ).build().await.unwrap()); - - println!("Text stream created"); - - text_stream.to_std_out().await.unwrap(); - - println!("Text stream printed"); - - } - pub async fn close_transcription_stream(&self, stream_id: &String) -> Result<()> { let mut map_lock = self.transcription_streams.lock().await; From 4e24ea85a77f89ced0b1695e6424dc199432e95b Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Tue, 1 Oct 2024 14:03:37 +0530 Subject: [PATCH 166/183] Refactor AI service to remove unused code and dependencies --- rust-executor/src/ai_service/mod.rs | 114 ++++++++++++++-------------- 1 file changed, 56 insertions(+), 58 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 7c48f95b9..d059fc7e9 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -9,21 +9,19 @@ use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use anyhow::anyhow; use deno_core::error::AnyError; use futures::SinkExt; -use kalosm::sound::{ - DenoisedExt, TranscribeChunkedAudioStreamExt, VoiceActivityDetectorExt, VoiceActivityStreamExt, -}; +// use kalosm::sound::{DenoisedExt, VoiceActivityDetectorExt, VoiceActivityStreamExt}; use kalosm::{ language::*, sound::{AsyncSourceTranscribeExt, Whisper}, }; -use rodio::{source::Source, Decoder, OutputStream}; +// use rodio::source::Source; use std::collections::HashMap; -use std::io::Cursor; +// use std::io::Cursor; use std::panic::catch_unwind; -use std::path::PathBuf; +// use std::path::PathBuf; use std::sync::Arc; use std::thread; -use std::time::Duration; +// use std::time::Duration; use tokio::sync::{mpsc, oneshot, Mutex}; mod audio_stream; @@ -598,57 +596,57 @@ impl AIService { } } -struct Float32Source { - samples: Vec, - sample_rate: u32, - channels: u16, - current_sample: usize, -} - -impl Float32Source { - fn new(samples: Vec, sample_rate: u32, channels: u16) -> Self { - Self { - samples, - sample_rate, - channels, - current_sample: 0, - } - } -} - -impl Iterator for Float32Source { - type Item = f32; - - fn next(&mut self) -> Option { - if self.current_sample < self.samples.len() { - let sample = self.samples[self.current_sample]; - self.current_sample += 1; - Some(sample) - } else { - None - } - } -} - -impl Source for Float32Source { - fn current_frame_len(&self) -> Option { - Some(self.samples.len() - self.current_sample) - } - - fn channels(&self) -> u16 { - self.channels - } - - fn sample_rate(&self) -> u32 { - self.sample_rate - } - - fn total_duration(&self) -> Option { - Some(Duration::from_secs_f32( - self.samples.len() as f32 / self.sample_rate as f32 / self.channels as f32, - )) - } -} +// struct Float32Source { +// samples: Vec, +// sample_rate: u32, +// channels: u16, +// current_sample: usize, +// } + +// impl Float32Source { +// fn new(samples: Vec, sample_rate: u32, channels: u16) -> Self { +// Self { +// samples, +// sample_rate, +// channels, +// current_sample: 0, +// } +// } +// } + +// impl Iterator for Float32Source { +// type Item = f32; + +// fn next(&mut self) -> Option { +// if self.current_sample < self.samples.len() { +// let sample = self.samples[self.current_sample]; +// self.current_sample += 1; +// Some(sample) +// } else { +// None +// } +// } +// } + +// impl Source for Float32Source { +// fn current_frame_len(&self) -> Option { +// Some(self.samples.len() - self.current_sample) +// } + +// fn channels(&self) -> u16 { +// self.channels +// } + +// fn sample_rate(&self) -> u32 { +// self.sample_rate +// } + +// fn total_duration(&self) -> Option { +// Some(Duration::from_secs_f32( +// self.samples.len() as f32 / self.sample_rate as f32 / self.channels as f32, +// )) +// } +// } #[cfg(test)] mod tests { From a3ccd4525be26d8c2eccdc907f43832661ae1de0 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:37:40 +0530 Subject: [PATCH 167/183] chore: Refactor AI service to fix typo in downloaded variable name and improve model loading status display --- core/src/ai/AIClient.ts | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/core/src/ai/AIClient.ts b/core/src/ai/AIClient.ts index 1bb068f7d..b38034544 100644 --- a/core/src/ai/AIClient.ts +++ b/core/src/ai/AIClient.ts @@ -193,20 +193,15 @@ export class AIClient { } })); - const subscription = await this.#apolloClient.subscribe({ - query: gql` - subscription AiTranscriptionText($streamId: String!) { - aiTranscriptionText(streamId: $streamId) - } - `, - variables: { - streamId: aiOpenTranscriptionStream - } + const subscription = this.#apolloClient.subscribe({ + query: gql` subscription { + aiTranscriptionText(streamId: "${aiOpenTranscriptionStream}") + }` }).subscribe({ next(data) { - streamCallback(data.data.transcriptionText); + streamCallback(data.data.aiTranscriptionText); - return data.data.transcriptionText; + return data.data.aiTranscriptionText; }, error(err) { console.error(err); From fd45285b263fc6b621499f68329b55ea75afb49c Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:38:02 +0530 Subject: [PATCH 168/183] chore: Refactor AudioStream to handle None value from receiver poll --- rust-executor/src/ai_service/audio_stream.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rust-executor/src/ai_service/audio_stream.rs b/rust-executor/src/ai_service/audio_stream.rs index 85e89b1e6..b0fb793f4 100644 --- a/rust-executor/src/ai_service/audio_stream.rs +++ b/rust-executor/src/ai_service/audio_stream.rs @@ -25,10 +25,13 @@ impl Stream for AudioStream { ) -> std::task::Poll> { match self.receiver.as_mut().poll_next_unpin(cx) { std::task::Poll::Ready(Some(data_chunk)) => { + // println!("AudioStream produced item: {}", data_chunk); // Logging self.read_data.push(data_chunk); std::task::Poll::Ready(Some(data_chunk)) } - std::task::Poll::Ready(None) => std::task::Poll::Ready(None), + std::task::Poll::Ready(None) => { + std::task::Poll::Ready(None) + } std::task::Poll::Pending => std::task::Poll::Pending, } } @@ -63,6 +66,6 @@ impl AsyncSource for AudioStream { } fn sample_rate(&self) -> u32 { - 160000 + 16000 } } From 6cd9de706d8575e9d19ce23290ffdbd06b7a4fc5 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:38:35 +0530 Subject: [PATCH 169/183] Refactor AI service to enable audio streaming for transcription --- rust-executor/src/ai_service/mod.rs | 113 +++++++--------------------- 1 file changed, 28 insertions(+), 85 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index d059fc7e9..b1e730e0c 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -9,11 +9,15 @@ use crate::{db::Ad4mDb, pubsub::get_global_pubsub}; use anyhow::anyhow; use deno_core::error::AnyError; use futures::SinkExt; +use kalosm::sound::TextStream; +use kalosm::sound::*; // use kalosm::sound::{DenoisedExt, VoiceActivityDetectorExt, VoiceActivityStreamExt}; use kalosm::{ language::*, sound::{AsyncSourceTranscribeExt, Whisper}, }; +use rodio::{OutputStream, Source}; +use tokio::time::sleep; // use rodio::source::Source; use std::collections::HashMap; // use std::io::Cursor; @@ -21,6 +25,7 @@ use std::panic::catch_unwind; // use std::path::PathBuf; use std::sync::Arc; use std::thread; +use std::time::Duration; // use std::time::Duration; use tokio::sync::{mpsc, oneshot, Mutex}; @@ -502,43 +507,40 @@ impl AIService { let rt = tokio::runtime::Runtime::new().unwrap(); rt.block_on(async { - let maybe_model = Whisper::builder() - .with_source(kalosm::sound::WhisperSource::BaseEn) - .build() - .await; - println!("Whisper thread started"); + let maybe_model = Whisper::new().await; if let Ok(whisper) = maybe_model { - println!("Whisper model loaded"); - - let audio_stream = AudioStream { + let mut audio_stream = AudioStream { read_data: Vec::new(), receiver: Box::pin(sampels_rx.map(futures_util::stream::iter).flatten()), }; - println!("Starting transcription"); - let mut word_stream = audio_stream.transcribe(whisper).words(); - println!("Transcription started"); - - let pubsub = get_global_pubsub().await; + let mut text_stream = audio_stream + .voice_activity_stream() + .rechunk_voice_activity(); + let mut word_stream = text_stream.transcribe(whisper).words(); let _ = done_tx.send(Ok(())); while let Some(word) = word_stream.next().await { - println!("meow: {}", word); - pubsub - .publish( - &AI_TRANSCRIPTION_TEXT_TOPIC, - &serde_json::to_string(&TranscriptionTextFilter { - stream_id: stream_id_clone.clone(), - text: word, - }) - .expect("TranscriptionTextFilter must be serializable"), - ) - .await; - } + let stream_id_clone = stream_id_clone.clone(); + + rt.spawn(async move { + let _ = get_global_pubsub() + .await + .publish( + &AI_TRANSCRIPTION_TEXT_TOPIC, + &serde_json::to_string(&TranscriptionTextFilter { + stream_id: stream_id_clone.clone(), + text: word.clone(), + }) + .expect("TranscriptionTextFilter must be serializable"), + ) + .await; + }); - println!("Exited the loop"); + sleep(Duration::from_millis(50)).await; + } } else { let _ = done_tx.send(Err(maybe_model.err().unwrap())); } @@ -566,14 +568,7 @@ impl AIService { let mut map_lock = self.transcription_streams.lock().await; let maybe_stream = map_lock.get_mut(stream_id); if let Some(stream) = maybe_stream { - println!("Feeding stream"); stream.samples_tx.send(audio_samples).await?; - println!("Feeding stream done"); - - // let (_stream, stream_handle) = OutputStream::try_default().unwrap(); - // let source = Float32Source::new(audio_samples, 16000, 1); - // stream_handle.play_raw(source.convert_samples()); - // std::thread::sleep(std::time::Duration::from_secs(1)); Ok(()) } else { Err(AIServiceError::StreamNotFound.into()) @@ -596,58 +591,6 @@ impl AIService { } } -// struct Float32Source { -// samples: Vec, -// sample_rate: u32, -// channels: u16, -// current_sample: usize, -// } - -// impl Float32Source { -// fn new(samples: Vec, sample_rate: u32, channels: u16) -> Self { -// Self { -// samples, -// sample_rate, -// channels, -// current_sample: 0, -// } -// } -// } - -// impl Iterator for Float32Source { -// type Item = f32; - -// fn next(&mut self) -> Option { -// if self.current_sample < self.samples.len() { -// let sample = self.samples[self.current_sample]; -// self.current_sample += 1; -// Some(sample) -// } else { -// None -// } -// } -// } - -// impl Source for Float32Source { -// fn current_frame_len(&self) -> Option { -// Some(self.samples.len() - self.current_sample) -// } - -// fn channels(&self) -> u16 { -// self.channels -// } - -// fn sample_rate(&self) -> u32 { -// self.sample_rate -// } - -// fn total_duration(&self) -> Option { -// Some(Duration::from_secs_f32( -// self.samples.len() as f32 / self.sample_rate as f32 / self.channels as f32, -// )) -// } -// } - #[cfg(test)] mod tests { use crate::graphql::graphql_types::AIPromptExamplesInput; From 02642d9ead0c5c8e3100516d12ccf608d6a87f03 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:38:52 +0530 Subject: [PATCH 170/183] chore: Add missing dynamic libraries to tauri.conf.json resources --- ui/src-tauri/tauri.conf.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/ui/src-tauri/tauri.conf.json b/ui/src-tauri/tauri.conf.json index 2145370a7..042cf65a6 100644 --- a/ui/src-tauri/tauri.conf.json +++ b/ui/src-tauri/tauri.conf.json @@ -34,7 +34,15 @@ "icons/icon.icns", "icons/icon.ico" ], - "resources": [], + "resources":[ + "lib/libc++_chrome.dylib", + "lib/libicuuc.dylib", + "lib/libthird_party_abseil-cpp_absl.dylib", + "lib/libthird_party_icu_icui18n.dylib", + "lib/libv8_libbase.dylib", + "lib/libv8_libplatform.dylib", + "lib/libv8.dylib" + ], "copyright": "", "category": "DeveloperTool", "shortDescription": "", From 9fe678106e9b3ca9c798e4220bf5103dbcb8bf59 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:40:51 +0530 Subject: [PATCH 171/183] Refactor AudioStream to handle None value from receiver poll --- rust-executor/src/ai_service/audio_stream.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/rust-executor/src/ai_service/audio_stream.rs b/rust-executor/src/ai_service/audio_stream.rs index b0fb793f4..d6e175481 100644 --- a/rust-executor/src/ai_service/audio_stream.rs +++ b/rust-executor/src/ai_service/audio_stream.rs @@ -29,9 +29,7 @@ impl Stream for AudioStream { self.read_data.push(data_chunk); std::task::Poll::Ready(Some(data_chunk)) } - std::task::Poll::Ready(None) => { - std::task::Poll::Ready(None) - } + std::task::Poll::Ready(None) => std::task::Poll::Ready(None), std::task::Poll::Pending => std::task::Poll::Pending, } } From 00003512f9e5c061a3d3a9e382569f5278594522 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:57:57 +0530 Subject: [PATCH 172/183] Refactor AI service to remove unused code and dependencies --- rust-executor/src/ai_service/mod.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index b1e730e0c..d8a4e7ec9 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -14,9 +14,9 @@ use kalosm::sound::*; // use kalosm::sound::{DenoisedExt, VoiceActivityDetectorExt, VoiceActivityStreamExt}; use kalosm::{ language::*, - sound::{AsyncSourceTranscribeExt, Whisper}, + sound:: *, }; -use rodio::{OutputStream, Source}; +// use rodio::{OutputStream, Source}; use tokio::time::sleep; // use rodio::source::Source; use std::collections::HashMap; @@ -510,12 +510,12 @@ impl AIService { let maybe_model = Whisper::new().await; if let Ok(whisper) = maybe_model { - let mut audio_stream = AudioStream { + let audio_stream = AudioStream { read_data: Vec::new(), receiver: Box::pin(sampels_rx.map(futures_util::stream::iter).flatten()), }; - let mut text_stream = audio_stream + let text_stream = audio_stream .voice_activity_stream() .rechunk_voice_activity(); let mut word_stream = text_stream.transcribe(whisper).words(); From 0bbf398ba027772be989e2bb103ed2108095397a Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:58:31 +0530 Subject: [PATCH 173/183] Refactor AI service to optimize imports and formatting --- rust-executor/src/ai_service/mod.rs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index d8a4e7ec9..30519ffaa 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -12,10 +12,7 @@ use futures::SinkExt; use kalosm::sound::TextStream; use kalosm::sound::*; // use kalosm::sound::{DenoisedExt, VoiceActivityDetectorExt, VoiceActivityStreamExt}; -use kalosm::{ - language::*, - sound:: *, -}; +use kalosm::{language::*, sound::*}; // use rodio::{OutputStream, Source}; use tokio::time::sleep; // use rodio::source::Source; From 3613b403dec7480de9a934cb2cf482a54272f012 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Fri, 4 Oct 2024 12:59:19 +0530 Subject: [PATCH 174/183] Refactor AI service to import Whisper for sound processing --- rust-executor/src/ai_service/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust-executor/src/ai_service/mod.rs b/rust-executor/src/ai_service/mod.rs index 30519ffaa..0f6c66ad7 100644 --- a/rust-executor/src/ai_service/mod.rs +++ b/rust-executor/src/ai_service/mod.rs @@ -12,7 +12,7 @@ use futures::SinkExt; use kalosm::sound::TextStream; use kalosm::sound::*; // use kalosm::sound::{DenoisedExt, VoiceActivityDetectorExt, VoiceActivityStreamExt}; -use kalosm::{language::*, sound::*}; +use kalosm::{language::*, sound::Whisper}; // use rodio::{OutputStream, Source}; use tokio::time::sleep; // use rodio::source::Source; From c2141574c46466f1ee9fa41240ef232e7fb23f44 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 17 Oct 2024 09:41:31 +0530 Subject: [PATCH 175/183] Refactor build scripts to add rpath for dynamic libraries --- cli/build.rs | 3 +++ ui/src-tauri/build.rs | 1 + 2 files changed, 4 insertions(+) create mode 100644 cli/build.rs diff --git a/cli/build.rs b/cli/build.rs new file mode 100644 index 000000000..e45a15813 --- /dev/null +++ b/cli/build.rs @@ -0,0 +1,3 @@ +fn main() { + println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN/lib"); +} \ No newline at end of file diff --git a/ui/src-tauri/build.rs b/ui/src-tauri/build.rs index d860e1e6a..512ec6543 100644 --- a/ui/src-tauri/build.rs +++ b/ui/src-tauri/build.rs @@ -1,3 +1,4 @@ fn main() { + println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN/../lib/adam-launcher/_up_/_up_/target/release/lib"); tauri_build::build() } From 7e26985fd19011787e8f68a750c4a77d238482ba Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 17 Oct 2024 12:06:22 +0530 Subject: [PATCH 176/183] Refactor build scripts to add rpath for dynamic libraries --- cli/build.rs | 65 ++++++++++++++++- ui/src-tauri/Cargo.toml | 2 + ui/src-tauri/build.rs | 132 ++++++++++++++++++++++++++++++++++- ui/src-tauri/tauri.conf.json | 18 ++--- 4 files changed, 204 insertions(+), 13 deletions(-) diff --git a/cli/build.rs b/cli/build.rs index e45a15813..b1a486312 100644 --- a/cli/build.rs +++ b/cli/build.rs @@ -1,3 +1,64 @@ +use std::fs; +use std::path::Path; +use std::thread::sleep; +use std::time::Duration; + fn main() { - println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN/lib"); -} \ No newline at end of file + wait_for_dependencies(); + + if cfg!(target_os = "macos") { + println!("cargo:rustc-link-arg=-Wl,-rpath,@loader_path/gn_out"); + } else if cfg!(target_os = "linux") { + println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN/gn_out"); + } else if cfg!(target_os = "windows") { + } else { + panic!("Unsupported target OS"); + } +} + +fn wait_for_dependencies() { + let dependencies = if cfg!(target_os = "macos") { + vec![ + "../target/release/gn_out/libc++_chrome.dylib", + "../target/release/gn_out/libicuuc.dylib", + "../target/release/gn_out/libthird_party_abseil-cpp_absl.dylib", + "../target/release/gn_out/libthird_party_icu_icui18n.dylib", + "../target/release/gn_out/libv8_libbase.dylib", + "../target/release/gn_out/libv8_libplatform.dylib", + "../target/release/gn_out/libv8.dylib", + ] + } else if cfg!(target_os = "linux") { + vec![ + "../target/release/gn_out/libc++.so", + "../target/release/gn_out/libicuuc.so", + "../target/release/gn_out/libthird_party_abseil-cpp_absl.so", + "../target/release/gn_out/libthird_party_icu_icui18n.so", + "../target/release/gn_out/libv8_libbase.so", + "../target/release/gn_out/libv8_libplatform.so", + "../target/release/gn_out/libv8.so", + ] + } else if cfg!(target_os = "windows") { + vec![ + // Add Windows-specific dependencies here if needed + ] + } else { + panic!("Unsupported target OS"); + }; + + let timeout = Duration::from_secs(3600); // 5 minutes timeout + let check_interval = Duration::from_secs(5); // Check every 5 seconds + + let start_time = std::time::Instant::now(); + for dependency in &dependencies { + let dependency_path = Path::new(dependency); + while !dependency_path.exists() { + if start_time.elapsed() > timeout { + panic!("Timeout waiting for dependency {} to be built", dependency); + } + println!("Waiting for dependency {} to be built...", dependency); + sleep(check_interval); + } + } + + println!("All dependencies are built and available"); +} diff --git a/ui/src-tauri/Cargo.toml b/ui/src-tauri/Cargo.toml index 647da0ad5..3a7df95e6 100644 --- a/ui/src-tauri/Cargo.toml +++ b/ui/src-tauri/Cargo.toml @@ -14,6 +14,8 @@ publish = false [build-dependencies] tauri-build = { version = "1.5.1", features = [] } +serde_json = "1.0" +serde = { version = "1.0", features = ["derive"] } [dependencies] serde_json = "1.0" diff --git a/ui/src-tauri/build.rs b/ui/src-tauri/build.rs index 512ec6543..395673d12 100644 --- a/ui/src-tauri/build.rs +++ b/ui/src-tauri/build.rs @@ -1,4 +1,132 @@ +use serde_json::Value; +use std::fs; +use std::path::Path; +use std::thread::sleep; +use std::time::Duration; + fn main() { - println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN/../lib/adam-launcher/_up_/_up_/target/release/lib"); - tauri_build::build() + let config_path = Path::new("./tauri.conf.json"); + let config_str = fs::read_to_string(config_path).expect("Unable to read tauri.conf.json"); + let mut config: Value = + serde_json::from_str(&config_str).expect("Unable to parse tauri.conf.json"); + + if let Some(resources) = config["tauri"]["bundle"]["resources"].as_array_mut() { + resources.clear(); + if cfg!(target_os = "macos") { + resources.push(Value::String( + "../../target/release/gn_out/libc++_chrome.dylib".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libicuuc.dylib".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libthird_party_abseil-cpp_absl.dylib".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libthird_party_icu_icui18n.dylib".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libv8_libbase.dylib".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libv8_libplatform.dylib".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libv8.dylib".to_string(), + )); + } else if cfg!(target_os = "linux") { + resources.push(Value::String( + "../../target/release/gn_out/libc++.so".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libicuuc.so".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libthird_party_abseil-cpp_absl.so".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libthird_party_icu_icui18n.so".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libv8_libbase.so".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libv8_libplatform.so".to_string(), + )); + resources.push(Value::String( + "../../target/release/gn_out/libv8.so".to_string(), + )); + } else if cfg!(target_os = "windows") { + } else { + panic!("Unsupported target OS"); + } + } + + fs::write( + config_path, + serde_json::to_string_pretty(&config).expect("Unable to serialize tauri.conf.json"), + ) + .expect("Unable to write tauri.conf.json"); + + println!("Updated tauri.conf.json"); + + wait_for_dependencies(); + + if cfg!(target_os = "macos") { + println!("cargo:rustc-link-arg=-Wl,-rpath,@loader_path/../Resources/_up_/_up_/target/release/gn_out"); + } else if cfg!(target_os = "linux") { + println!("cargo:rustc-link-arg=-Wl,-rpath,$ORIGIN/../lib/adam-launcher/_up_/_up_/target/release/gn_out"); + } else if cfg!(target_os = "windows") { + } else { + panic!("Unsupported target OS"); + } + + tauri_build::build(); +} + +fn wait_for_dependencies() { + let dependencies = if cfg!(target_os = "macos") { + vec![ + "../../target/release/gn_out/libc++_chrome.dylib", + "../../target/release/gn_out/libicuuc.dylib", + "../../target/release/gn_out/libthird_party_abseil-cpp_absl.dylib", + "../../target/release/gn_out/libthird_party_icu_icui18n.dylib", + "../../target/release/gn_out/libv8_libbase.dylib", + "../../target/release/gn_out/libv8_libplatform.dylib", + "../../target/release/gn_out/libv8.dylib", + ] + } else if cfg!(target_os = "linux") { + vec![ + "../../target/release/gn_out/libc++.so", + "../../target/release/gn_out/libicuuc.so", + "../../target/release/gn_out/libthird_party_abseil-cpp_absl.so", + "../../target/release/gn_out/libthird_party_icu_icui18n.so", + "../../target/release/gn_out/libv8_libbase.so", + "../../target/release/gn_out/libv8_libplatform.so", + "../../target/release/gn_out/libv8.so", + ] + } else if cfg!(target_os = "windows") { + vec![ + // Add Windows-specific dependencies here if needed + ] + } else { + panic!("Unsupported target OS"); + }; + + let timeout = Duration::from_secs(3600); // 5 minutes timeout + let check_interval = Duration::from_secs(5); // Check every 5 seconds + + let start_time = std::time::Instant::now(); + for dependency in &dependencies { + let dependency_path = Path::new(dependency); + while !dependency_path.exists() { + if start_time.elapsed() > timeout { + panic!("Timeout waiting for dependency {} to be built", dependency); + } + println!("Waiting for dependency {} to be built...", dependency); + sleep(check_interval); + } + } + + println!("All dependencies are built and available"); } diff --git a/ui/src-tauri/tauri.conf.json b/ui/src-tauri/tauri.conf.json index 042cf65a6..e5f811186 100644 --- a/ui/src-tauri/tauri.conf.json +++ b/ui/src-tauri/tauri.conf.json @@ -34,14 +34,14 @@ "icons/icon.icns", "icons/icon.ico" ], - "resources":[ - "lib/libc++_chrome.dylib", - "lib/libicuuc.dylib", - "lib/libthird_party_abseil-cpp_absl.dylib", - "lib/libthird_party_icu_icui18n.dylib", - "lib/libv8_libbase.dylib", - "lib/libv8_libplatform.dylib", - "lib/libv8.dylib" + "resources": [ + "../../target/release/gn_out/libc++_chrome.dylib", + "../../target/release/gn_out/libicuuc.dylib", + "../../target/release/gn_out/libthird_party_abseil-cpp_absl.dylib", + "../../target/release/gn_out/libthird_party_icu_icui18n.dylib", + "../../target/release/gn_out/libv8_libbase.dylib", + "../../target/release/gn_out/libv8_libplatform.dylib", + "../../target/release/gn_out/libv8.dylib" ], "copyright": "", "category": "DeveloperTool", @@ -97,4 +97,4 @@ "csp": null } } -} +} \ No newline at end of file From fdba22abbf6c62465cdf12e57e6ba0fa7f17bdff Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 17 Oct 2024 12:06:45 +0530 Subject: [PATCH 177/183] chore: Refactor build scripts to remove unused code and optimize imports --- cli/build.rs | 1 - 1 file changed, 1 deletion(-) diff --git a/cli/build.rs b/cli/build.rs index b1a486312..0e6cb433c 100644 --- a/cli/build.rs +++ b/cli/build.rs @@ -1,4 +1,3 @@ -use std::fs; use std::path::Path; use std::thread::sleep; use std::time::Duration; From c7750de8bca7a7066c345ef776d8b12238bebd75 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 17 Oct 2024 13:24:39 +0530 Subject: [PATCH 178/183] Refactor build scripts to add libfuse2 dependency --- .circleci/config.yml | 2 +- .github/workflows/publish.yml | 6 +++--- .github/workflows/publish_staging.yml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 900558d3b..aab1d0e4c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config ffmpeg + command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config fuse libfuse2 - run: name: Install dependencies command: pnpm install --no-frozen-lockfile diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c88a25b6d..5e853ef43 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -94,7 +94,7 @@ jobs: if: matrix.platform == 'GH-hosted-ubuntu' run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 - name: install dependencies (macos only) if: matrix.platform == 'macos-latest' @@ -356,7 +356,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 - name: Build modules run: pnpm run build-libs @@ -438,7 +438,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 - uses: actions/setup-node@v3 with: diff --git a/.github/workflows/publish_staging.yml b/.github/workflows/publish_staging.yml index 21a6c4fbe..2db2289e4 100644 --- a/.github/workflows/publish_staging.yml +++ b/.github/workflows/publish_staging.yml @@ -78,7 +78,7 @@ jobs: if: matrix.platform == 'GH-hosted-ubuntu' run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 - name: install dependencies (macos only) if: matrix.platform == 'macos-latest' @@ -357,7 +357,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 - name: Install deps run: pnpm install @@ -462,7 +462,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 - uses: actions/setup-node@v3 with: From 612edb0673c14309682ed2f8c5e8509932b6676d Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 17 Oct 2024 13:57:37 +0530 Subject: [PATCH 179/183] Refactor build scripts to add mesa-utils and mesa-vulkan-drivers dependencies --- .circleci/config.yml | 2 +- .github/workflows/publish.yml | 6 +++--- .github/workflows/publish_staging.yml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aab1d0e4c..a72fc0b1a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config fuse libfuse2 + command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers - run: name: Install dependencies command: pnpm install --no-frozen-lockfile diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 5e853ef43..9e5ee28e0 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -94,7 +94,7 @@ jobs: if: matrix.platform == 'GH-hosted-ubuntu' run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-vulkan-drivers mesa-dri-drivers - name: install dependencies (macos only) if: matrix.platform == 'macos-latest' @@ -356,7 +356,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-vulkan-drivers mesa-dri-drivers - name: Build modules run: pnpm run build-libs @@ -438,7 +438,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers - uses: actions/setup-node@v3 with: diff --git a/.github/workflows/publish_staging.yml b/.github/workflows/publish_staging.yml index 2db2289e4..357d74ea8 100644 --- a/.github/workflows/publish_staging.yml +++ b/.github/workflows/publish_staging.yml @@ -78,7 +78,7 @@ jobs: if: matrix.platform == 'GH-hosted-ubuntu' run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers - name: install dependencies (macos only) if: matrix.platform == 'macos-latest' @@ -357,7 +357,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers - name: Install deps run: pnpm install @@ -462,7 +462,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers - uses: actions/setup-node@v3 with: From cfcb7132c8915445ce2a3e205c3332b62cbc0dc3 Mon Sep 17 00:00:00 2001 From: Fayeed Pawaskar Date: Thu, 17 Oct 2024 18:07:01 +0530 Subject: [PATCH 180/183] Refactor build scripts to add mesa-utils and mesa-vulkan-drivers dependencies --- .circleci/config.yml | 2 +- .github/workflows/publish.yml | 6 +++--- .github/workflows/publish_staging.yml | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a72fc0b1a..bffd4fb64 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -54,7 +54,7 @@ jobs: command: cargo fmt --check - run: name: install gobjc - command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers + command: sudo apt-get install gobjc clang gnustep-devel libobjc4 libgnustep-base-dev libasound2-dev pkg-config fuse libfuse2 mesa-utils mesa-vulkan-drivers - run: name: Install dependencies command: pnpm install --no-frozen-lockfile diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9e5ee28e0..5da99eed2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -94,7 +94,7 @@ jobs: if: matrix.platform == 'GH-hosted-ubuntu' run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-vulkan-drivers mesa-dri-drivers + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-vulkan-drivers - name: install dependencies (macos only) if: matrix.platform == 'macos-latest' @@ -356,7 +356,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-vulkan-drivers mesa-dri-drivers + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-vulkan-drivers - name: Build modules run: pnpm run build-libs @@ -438,7 +438,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers - uses: actions/setup-node@v3 with: diff --git a/.github/workflows/publish_staging.yml b/.github/workflows/publish_staging.yml index 357d74ea8..29f9b0ff0 100644 --- a/.github/workflows/publish_staging.yml +++ b/.github/workflows/publish_staging.yml @@ -78,7 +78,7 @@ jobs: if: matrix.platform == 'GH-hosted-ubuntu' run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers - name: install dependencies (macos only) if: matrix.platform == 'macos-latest' @@ -357,7 +357,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers - name: Install deps run: pnpm install @@ -462,7 +462,7 @@ jobs: - name: Install Linux Deps run: | sudo apt-get update - sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers mesa-dri-drivers + sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf protobuf-compiler cmake fuse libfuse2 mesa-utils mesa-vulkan-drivers - uses: actions/setup-node@v3 with: From a37d2027c5e5d9aee3275fa4bc760df88d561123 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Fri, 18 Oct 2024 11:42:38 +0200 Subject: [PATCH 181/183] On Linux, copy libc++.so to libc++_chrome.so --- cli/build.rs | 14 ++++++++++++++ ui/src-tauri/build.rs | 17 +++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/cli/build.rs b/cli/build.rs index 0e6cb433c..1934b6b50 100644 --- a/cli/build.rs +++ b/cli/build.rs @@ -59,5 +59,19 @@ fn wait_for_dependencies() { } } + if cfg!(target_os = "linux") { + let source_path = Path::new("../target/release/gn_out/libc++.so"); + let dest_path = Path::new("../target/release/gn_out/libc++_chrome.so"); + + if source_path.exists() { + match std::fs::copy(source_path, dest_path) { + Ok(_) => println!("Successfully copied libc++.so to libc++_chrome.so"), + Err(e) => eprintln!("Failed to copy libc++.so to libc++_chrome.so: {}", e), + } + } else { + eprintln!("Source file libc++.so not found"); + } + } + println!("All dependencies are built and available"); } diff --git a/ui/src-tauri/build.rs b/ui/src-tauri/build.rs index 395673d12..79a7b31bd 100644 --- a/ui/src-tauri/build.rs +++ b/ui/src-tauri/build.rs @@ -38,6 +38,9 @@ fn main() { resources.push(Value::String( "../../target/release/gn_out/libc++.so".to_string(), )); + resources.push(Value::String( + "../../target/release/gn_out/libc++_chrome.so".to_string(), + )); resources.push(Value::String( "../../target/release/gn_out/libicuuc.so".to_string(), )); @@ -128,5 +131,19 @@ fn wait_for_dependencies() { } } + if cfg!(target_os = "linux") { + let source_path = Path::new("../target/release/gn_out/libc++.so"); + let dest_path = Path::new("../target/release/gn_out/libc++_chrome.so"); + + if source_path.exists() { + match std::fs::copy(source_path, dest_path) { + Ok(_) => println!("Successfully copied libc++.so to libc++_chrome.so"), + Err(e) => eprintln!("Failed to copy libc++.so to libc++_chrome.so: {}", e), + } + } else { + eprintln!("Source file libc++.so not found"); + } + } + println!("All dependencies are built and available"); } From 50e99edb30485facbc081fb1970c63a26ff10534 Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Wed, 23 Oct 2024 20:13:43 +0200 Subject: [PATCH 182/183] Increase clippy timeout in CI --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index bffd4fb64..66c38731a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -81,6 +81,7 @@ jobs: - ./target/release/ad4m-executor - run: name: cargo clippy + no_output_timeout: 30m command: cargo clippy --all --exclude ad4m-launcher - run: name: Remove pnpm patches From fbd95e0bcf7ec7938555af14c0b5134058a3cacb Mon Sep 17 00:00:00 2001 From: Nicolas Luck Date: Thu, 24 Oct 2024 13:32:24 +0200 Subject: [PATCH 183/183] set version to 0.10.0-rc8 --- Cargo.lock | 8 ++++---- ad4m-hooks/helpers/package.json | 2 +- ad4m-hooks/react/package.json | 2 +- ad4m-hooks/vue/package.json | 2 +- bootstrap-languages/agent-language/package.json | 2 +- bootstrap-languages/direct-message-language/package.json | 2 +- bootstrap-languages/neighbourhood-language/package.json | 2 +- bootstrap-languages/p-diff-sync/package.json | 2 +- bootstrap-languages/perspective-language/package.json | 2 +- cli/Cargo.toml | 6 +++--- connect/package.json | 2 +- core/package.json | 2 +- docs/package.json | 2 +- executor/package.json | 2 +- executor/src/core/Config.ts | 2 +- package.json | 2 +- rust-client/Cargo.toml | 2 +- rust-executor/Cargo.toml | 4 ++-- rust-executor/package.json | 2 +- rust-executor/src/globals.rs | 2 +- test-runner/package.json | 2 +- tests/js/package.json | 2 +- ui/package.json | 2 +- ui/src-tauri/Cargo.toml | 2 +- ui/src-tauri/tauri.conf.json | 2 +- 25 files changed, 31 insertions(+), 31 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7b67145a5..8adfce166 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,7 +20,7 @@ checksum = "415ed64958754dbe991900f3940677e6a7eefb4d7367afd70d642677b0c7d19d" [[package]] name = "ad4m" -version = "0.10.0-rc7" +version = "0.10.0-rc8" dependencies = [ "ad4m-client", "ad4m-executor", @@ -46,7 +46,7 @@ dependencies = [ [[package]] name = "ad4m-client" -version = "0.10.0-rc7" +version = "0.10.0-rc8" dependencies = [ "anyhow", "async-tungstenite", @@ -70,7 +70,7 @@ dependencies = [ [[package]] name = "ad4m-executor" -version = "0.10.0-rc7" +version = "0.10.0-rc8" dependencies = [ "ad4m-client", "argon2", @@ -140,7 +140,7 @@ dependencies = [ [[package]] name = "ad4m-launcher" -version = "0.10.0-rc7" +version = "0.10.0-rc8" dependencies = [ "ad4m-client", "ad4m-executor", diff --git a/ad4m-hooks/helpers/package.json b/ad4m-hooks/helpers/package.json index 67c705ebc..eb55b2805 100644 --- a/ad4m-hooks/helpers/package.json +++ b/ad4m-hooks/helpers/package.json @@ -1,6 +1,6 @@ { "name": "@coasys/hooks-helpers", - "version": "0.10.0-rc7", + "version": "0.10.0-rc8", "description": "", "main": "./src/index.ts", "module": "./src/index.ts", diff --git a/ad4m-hooks/react/package.json b/ad4m-hooks/react/package.json index 154e75c61..7c0e7c3b3 100644 --- a/ad4m-hooks/react/package.json +++ b/ad4m-hooks/react/package.json @@ -1,6 +1,6 @@ { "name": "@coasys/ad4m-react-hooks", - "version": "0.10.0-rc7", + "version": "0.10.0-rc8", "description": "", "main": "./src/index.ts", "module": "./src/index.ts", diff --git a/ad4m-hooks/vue/package.json b/ad4m-hooks/vue/package.json index ae2d5afef..3693ec0f6 100644 --- a/ad4m-hooks/vue/package.json +++ b/ad4m-hooks/vue/package.json @@ -1,6 +1,6 @@ { "name": "@coasys/ad4m-vue-hooks", - "version": "0.10.0-rc7", + "version": "0.10.0-rc8", "description": "", "main": "./src/index.ts", "module": "./src/index.ts", diff --git a/bootstrap-languages/agent-language/package.json b/bootstrap-languages/agent-language/package.json index 3bf58634f..e6db5ddbb 100644 --- a/bootstrap-languages/agent-language/package.json +++ b/bootstrap-languages/agent-language/package.json @@ -44,5 +44,5 @@ "md5": "^2.3.0", "postcss": "^8.2.1" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/bootstrap-languages/direct-message-language/package.json b/bootstrap-languages/direct-message-language/package.json index ded8399c8..ca4f98ed7 100644 --- a/bootstrap-languages/direct-message-language/package.json +++ b/bootstrap-languages/direct-message-language/package.json @@ -35,5 +35,5 @@ "dependencies": { "@types/node": "^18.0.0" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/bootstrap-languages/neighbourhood-language/package.json b/bootstrap-languages/neighbourhood-language/package.json index 8f4c501ef..dee30c25d 100644 --- a/bootstrap-languages/neighbourhood-language/package.json +++ b/bootstrap-languages/neighbourhood-language/package.json @@ -8,5 +8,5 @@ }, "author": "joshuadparkin@gmail.com", "license": "ISC", - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/bootstrap-languages/p-diff-sync/package.json b/bootstrap-languages/p-diff-sync/package.json index 672ad9270..e9b5c1a90 100644 --- a/bootstrap-languages/p-diff-sync/package.json +++ b/bootstrap-languages/p-diff-sync/package.json @@ -38,5 +38,5 @@ "devDependencies": { "run-script-os": "^1.1.6" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/bootstrap-languages/perspective-language/package.json b/bootstrap-languages/perspective-language/package.json index 53302289a..0704f7d1d 100644 --- a/bootstrap-languages/perspective-language/package.json +++ b/bootstrap-languages/perspective-language/package.json @@ -30,5 +30,5 @@ "typescript": "^4.5.5", "uint8arrays": "^3.0.0" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/cli/Cargo.toml b/cli/Cargo.toml index be1c597c3..cecede876 100644 --- a/cli/Cargo.toml +++ b/cli/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "ad4m" -version = "0.10.0-rc7" +version = "0.10.0-rc8" edition = "2021" authors = ["Nicolas Luck "] @@ -24,8 +24,8 @@ path = "src/ad4m_executor.rs" [dependencies] -ad4m-client = { path = "../rust-client", version="0.10.0-rc7"} -ad4m-executor = { path = "../rust-executor", version="0.10.0-rc7" } +ad4m-client = { path = "../rust-client", version="0.10.0-rc8"} +ad4m-executor = { path = "../rust-executor", version="0.10.0-rc8" } anyhow = "1.0.65" clap = { version = "4.0.8", features = ["derive"] } futures = "0.3" diff --git a/connect/package.json b/connect/package.json index 6c1545852..7d80c0b95 100644 --- a/connect/package.json +++ b/connect/package.json @@ -66,5 +66,5 @@ "esbuild-plugin-replace": "^1.4.0", "lit": "^2.3.1" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/core/package.json b/core/package.json index f19bb18f6..207a4d460 100644 --- a/core/package.json +++ b/core/package.json @@ -64,7 +64,7 @@ "react-dom": "*" }, "patchedDependencies": {}, - "version": "0.10.0-rc7", + "version": "0.10.0-rc8", "pnpm": { "patchedDependencies": { "graphql@15.7.2": "patches/graphql@15.7.2.patch" diff --git a/docs/package.json b/docs/package.json index e6958fb5a..b8600d84e 100644 --- a/docs/package.json +++ b/docs/package.json @@ -22,5 +22,5 @@ "typedoc-plugin-markdown": "^3.15.2", "typescript": "^4.9.3" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/executor/package.json b/executor/package.json index b6bca0069..47b0556dd 100644 --- a/executor/package.json +++ b/executor/package.json @@ -78,5 +78,5 @@ "tmp": "^0.2.1", "uuid": "*" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/executor/src/core/Config.ts b/executor/src/core/Config.ts index fccebc00b..027b8bdc3 100644 --- a/executor/src/core/Config.ts +++ b/executor/src/core/Config.ts @@ -2,7 +2,7 @@ import * as path from 'node:path'; import * as fs from 'node:fs'; import { Address, Expression } from '@coasys/ad4m'; -export let ad4mExecutorVersion = "0.10.0-rc7"; +export let ad4mExecutorVersion = "0.10.0-rc8"; export let agentLanguageAlias = "did"; export let languageLanguageAlias = "lang"; export let neighbourhoodLanguageAlias = "neighbourhood"; diff --git a/package.json b/package.json index b8b0b7f78..449f9cdc8 100644 --- a/package.json +++ b/package.json @@ -93,5 +93,5 @@ "safer-buffer@2.1.2": "patches/safer-buffer@2.1.2.patch" } }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/rust-client/Cargo.toml b/rust-client/Cargo.toml index e7a509771..82efacc2e 100644 --- a/rust-client/Cargo.toml +++ b/rust-client/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ad4m-client" -version = "0.10.0-rc7" +version = "0.10.0-rc8" edition = "2021" authors = ["Nicolas Luck "] description = "Client library wrapping AD4M's GraphQL interface" diff --git a/rust-executor/Cargo.toml b/rust-executor/Cargo.toml index 85b093511..839ada7bd 100644 --- a/rust-executor/Cargo.toml +++ b/rust-executor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ad4m-executor" -version = "0.10.0-rc7" +version = "0.10.0-rc8" edition = "2021" authors = ["Nicolas Luck "] description = "Runtime implementation of AD4M as library - https://ad4m.dev" @@ -92,7 +92,7 @@ kitsune_p2p_types = { version = "0.3.2-rc.0", git = "https://github.com/coasys/h scryer-prolog = { version = "0.9.4" } # scryer-prolog = { path = "../../scryer-prolog", features = ["multi_thread"] } -ad4m-client = { path = "../rust-client", version="0.10.0-rc7" } +ad4m-client = { path = "../rust-client", version="0.10.0-rc8" } reqwest = { version = "0.11.20", features = ["json", "native-tls"] } rusqlite = { version = "0.29.0", git = "https://github.com/coasys/rusqlite.git", rev = "12ec1330bd4b46411ab9895364da4a3e172d0fbb", features = ["bundled"] } diff --git a/rust-executor/package.json b/rust-executor/package.json index 588a9bb90..a7445ae48 100644 --- a/rust-executor/package.json +++ b/rust-executor/package.json @@ -31,5 +31,5 @@ "@coasys/ad4m-executor": "link:../core" }, "dependencies": {}, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/rust-executor/src/globals.rs b/rust-executor/src/globals.rs index d9ef2e30e..eaf39014a 100644 --- a/rust-executor/src/globals.rs +++ b/rust-executor/src/globals.rs @@ -2,7 +2,7 @@ use lazy_static::lazy_static; lazy_static! { /// The current version of AD4M - pub static ref AD4M_VERSION: String = String::from("0.10.0-rc7"); + pub static ref AD4M_VERSION: String = String::from("0.10.0-rc8"); } /// Struct representing oldest supported version and indicator if state should be cleared if update is required diff --git a/test-runner/package.json b/test-runner/package.json index 7be6ebde8..a176aded8 100644 --- a/test-runner/package.json +++ b/test-runner/package.json @@ -63,5 +63,5 @@ "bugs": { "url": "https://github.com/perspect3vism/ad4m-test/issues" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/tests/js/package.json b/tests/js/package.json index 1cb0e9a80..3c5bc019f 100644 --- a/tests/js/package.json +++ b/tests/js/package.json @@ -65,5 +65,5 @@ "fluent-ffmpeg": "^2.1.3", "uuid": "*" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/ui/package.json b/ui/package.json index f12e01370..aa8813ee4 100644 --- a/ui/package.json +++ b/ui/package.json @@ -71,5 +71,5 @@ "resolutions": { "react-error-overlay": "6.0.9" }, - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" } diff --git a/ui/src-tauri/Cargo.toml b/ui/src-tauri/Cargo.toml index 3a7df95e6..5a3df679a 100644 --- a/ui/src-tauri/Cargo.toml +++ b/ui/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ad4m-launcher" -version = "0.10.0-rc7" +version = "0.10.0-rc8" description = "Administration of ad4m services" authors = ["Kaichao Sun"] license = "" diff --git a/ui/src-tauri/tauri.conf.json b/ui/src-tauri/tauri.conf.json index e5f811186..5892307b4 100644 --- a/ui/src-tauri/tauri.conf.json +++ b/ui/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "package": { "productName": "ADAM Launcher", - "version": "0.10.0-rc7" + "version": "0.10.0-rc8" }, "build": { "distDir": "../dist",